diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e41afcc030..b65ef5faa41 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +### Removed +- Drop deprecated `pointcloud` and `heatmapgl` traces from the API + ### Updated - Updated plotly.py to use base64 encoding of arrays in plotly JSON to improve performance. diff --git a/doc/apidoc/plotly.graph_objects.rst b/doc/apidoc/plotly.graph_objects.rst index 6c57508f6cb..46f246295a6 100644 --- a/doc/apidoc/plotly.graph_objects.rst +++ b/doc/apidoc/plotly.graph_objects.rst @@ -43,7 +43,6 @@ Simple Traces Bar Pie Heatmap - Heatmapgl Image Contour Table diff --git a/doc/python/3d-bubble-charts.md b/doc/python/3d-bubble-charts.md index 0877a6b55e4..403e3dc2031 100644 --- a/doc/python/3d-bubble-charts.md +++ b/doc/python/3d-bubble-charts.md @@ -114,9 +114,9 @@ fig = go.Figure(data=go.Scatter3d( )) fig.update_layout(width=800, height=800, title = 'Planets!', - scene = dict(xaxis=dict(title='Distance from Sun', titlefont_color='white'), - yaxis=dict(title='Density', titlefont_color='white'), - zaxis=dict(title='Gravity', titlefont_color='white'), + scene = dict(xaxis=dict(title='Distance from Sun', title_font_color='white'), + yaxis=dict(title='Density', title_font_color='white'), + zaxis=dict(title='Gravity', title_font_color='white'), bgcolor = 'rgb(20, 24, 54)' )) @@ -155,9 +155,9 @@ fig = go.Figure(go.Scatter3d( )) fig.update_layout(width=800, height=800, title = 'Planets!', - scene = dict(xaxis=dict(title='Distance from Sun', titlefont_color='white'), - yaxis=dict(title='Density', titlefont_color='white'), - zaxis=dict(title='Gravity', titlefont_color='white'), + scene = dict(xaxis=dict(title='Distance from Sun', title_font_color='white'), + yaxis=dict(title='Density', title_font_color='white'), + zaxis=dict(title='Gravity', title_font_color='white'), bgcolor = 'rgb(20, 24, 54)' )) diff --git a/doc/python/bar-charts.md b/doc/python/bar-charts.md index 7134ab2c68f..431a0ce3583 100644 --- a/doc/python/bar-charts.md +++ b/doc/python/bar-charts.md @@ -620,7 +620,7 @@ fig.update_layout( xaxis_tickfont_size=14, yaxis=dict( title='USD (millions)', - titlefont_size=16, + title_font_size=16, tickfont_size=14, ), legend=dict( diff --git a/doc/python/contour-plots.md b/doc/python/contour-plots.md index feb4f3b68a2..ec811c5253b 100644 --- a/doc/python/contour-plots.md +++ b/doc/python/contour-plots.md @@ -283,7 +283,7 @@ fig = go.Figure(data= colorbar=dict( title='Color bar title', # title here titleside='right', - titlefont=dict( + title_font=dict( size=14, family='Arial, sans-serif') ))) diff --git a/doc/python/multiple-axes.md b/doc/python/multiple-axes.md index 5bbdeda3c93..3abbd5797f2 100644 --- a/doc/python/multiple-axes.md +++ b/doc/python/multiple-axes.md @@ -193,7 +193,7 @@ fig.update_layout( ), yaxis=dict( title="yaxis title", - titlefont=dict( + title_font=dict( color="#1f77b4" ), tickfont=dict( @@ -202,7 +202,7 @@ fig.update_layout( ), yaxis2=dict( title="yaxis2 title", - titlefont=dict( + title_font=dict( color="#ff7f0e" ), tickfont=dict( @@ -215,7 +215,7 @@ fig.update_layout( ), yaxis3=dict( title="yaxis3 title", - titlefont=dict( + title_font=dict( color="#d62728" ), tickfont=dict( @@ -227,7 +227,7 @@ fig.update_layout( ), yaxis4=dict( title="yaxis4 title", - titlefont=dict( + title_font=dict( color="#9467bd" ), tickfont=dict( diff --git a/doc/python/network-graphs.md b/doc/python/network-graphs.md index 9d2f3fec2e2..f8037e1c42a 100644 --- a/doc/python/network-graphs.md +++ b/doc/python/network-graphs.md @@ -129,7 +129,7 @@ node_trace.text = node_text fig = go.Figure(data=[edge_trace, node_trace], layout=go.Layout( title='
Network graph made with Python', - titlefont_size=16, + title_font_size=16, showlegend=False, hovermode='closest', margin=dict(b=20,l=5,r=5,t=40), diff --git a/doc/python/range-slider.md b/doc/python/range-slider.md index 9d1bce3bde6..dcbdce385ea 100644 --- a/doc/python/range-slider.md +++ b/doc/python/range-slider.md @@ -252,7 +252,7 @@ fig.update_layout( tickfont={"color": "#673ab7"}, tickmode="auto", ticks="", - titlefont={"color": "#673ab7"}, + title_font={"color": "#673ab7"}, type="linear", zeroline=False ), @@ -268,7 +268,7 @@ fig.update_layout( tickfont={"color": "#E91E63"}, tickmode="auto", ticks="", - titlefont={"color": "#E91E63"}, + title_font={"color": "#E91E63"}, type="linear", zeroline=False ), @@ -285,7 +285,7 @@ fig.update_layout( tickmode="auto", ticks="", title="mg/L", - titlefont={"color": "#795548"}, + title_font={"color": "#795548"}, type="linear", zeroline=False ), @@ -302,7 +302,7 @@ fig.update_layout( tickmode="auto", ticks="", title="mmol/L", - titlefont={"color": "#607d8b"}, + title_font={"color": "#607d8b"}, type="linear", zeroline=False ), @@ -319,7 +319,7 @@ fig.update_layout( tickmode="auto", ticks="", title="mg/Kg", - titlefont={"color": "#2196F3"}, + title_font={"color": "#2196F3"}, type="linear", zeroline=False ) diff --git a/doc/python/setting-graph-size.md b/doc/python/setting-graph-size.md index 611e0e29825..3eacdc259b7 100644 --- a/doc/python/setting-graph-size.md +++ b/doc/python/setting-graph-size.md @@ -122,7 +122,7 @@ fig.update_layout( ticktext=["Very long label", "long label", "3", "label"], tickvals=[1, 2, 3, 4], tickmode="array", - titlefont=dict(size=30), + title_font=dict(size=30), ) ) @@ -157,7 +157,7 @@ fig.update_layout( ticktext=["Very long label", "long label", "3", "label"], tickvals=[1, 2, 3, 4], tickmode="array", - titlefont=dict(size=30), + title_font=dict(size=30), ) ) @@ -194,7 +194,7 @@ fig.update_layout( ticktext=["Label", "Very long label", "Other label", "Very very long label"], tickvals=[1, 2, 3, 4], tickmode="array", - titlefont=dict(size=30), + title_font=dict(size=30), ) ) diff --git a/doc/python/static-image-export.md b/doc/python/static-image-export.md index b0334597694..2b31ba0bdd6 100644 --- a/doc/python/static-image-export.md +++ b/doc/python/static-image-export.md @@ -146,7 +146,7 @@ and **EPS** (requires the poppler library) fig.write_image("images/fig1.eps") ~~~ -**Note:** It is important to note that any figures containing WebGL traces (i.e. of type `scattergl`, `heatmapgl`, `contourgl`, `scatter3d`, `surface`, `mesh3d`, `scatterpolargl`, `cone`, `streamtube`, `splom`, or `parcoords`) that are exported in a vector format will include encapsulated rasters, instead of vectors, for some parts of the image. +**Note:** It is important to note that any figures containing WebGL traces (i.e. of type `scattergl`, `contourgl`, `scatter3d`, `surface`, `mesh3d`, `scatterpolargl`, `cone`, `streamtube`, `splom`, or `parcoords`) that are exported in a vector format will include encapsulated rasters, instead of vectors, for some parts of the image. ### Image Export in Dash diff --git a/doc/python/ternary-plots.md b/doc/python/ternary-plots.md index a389faba417..106ee6f54f8 100644 --- a/doc/python/ternary-plots.md +++ b/doc/python/ternary-plots.md @@ -83,7 +83,7 @@ rawData = [ def makeAxis(title, tickangle): return { 'title': title, - 'titlefont': { 'size': 20 }, + 'title_font': { 'size': 20 }, 'tickangle': tickangle, 'tickfont': { 'size': 15 }, 'tickcolor': 'rgba(0,0,0,0)', diff --git a/doc/python/webgl-vs-svg.md b/doc/python/webgl-vs-svg.md index 386ea40e1cd..1b147cccacc 100644 --- a/doc/python/webgl-vs-svg.md +++ b/doc/python/webgl-vs-svg.md @@ -38,7 +38,7 @@ jupyter: `plotly` figures are rendered by web browsers, which broadly speaking have two families of capabilities for rendering graphics: the SVG API which supports vector rendering, and the Canvas API which supports raster rendering, and can exploit GPU hardware acceleration via a browser technology known as WebGL. Each `plotly` trace type is primarily rendered with either SVG or WebGL, although WebGL-powered traces also use some SVG. The following trace types use WebGL for part or all of the rendering: -* Accelerated versions of SVG trace types: `scattergl`, `scatterpolargl`, `heatmapgl` +* Accelerated versions of SVG trace types: `scattergl`, `scatterpolargl`, * High-performance multidimensional trace types: `splom`, or `parcoords` * 3-d trace types `scatter3d`, `surface`, `mesh3d`, `cone`, `streamtube` * Mapbox Gl JS-powered trace types: `scattermapbox`, `choroplethmapbox`, `densitymapbox` @@ -52,7 +52,7 @@ WebGL is a powerful technology for accelerating computation but comes with some 3. Context limits: browsers impose a strict limit on the number of WebGL "contexts" that any given web document can access. WebGL-powered traces in `plotly` can use multiple contexts in some cases but as a general rule, **it may not be possible to render more than 8 WebGL-involving figures on the same page at the same time.** 4. Size limits: browsers impose hardware-dependent limits on the height and width of figures using WebGL which users may encounter with extremely large plots (e.g. tens of thousands of pixels of height) -In addition to the above limitations, the WebGL-powered version of certain SVG-powered trace types (`scattergl`, `scatterpolargl`, `heatmapgl`) are not complete drop-in replacements for their SVG counterparts yet +In addition to the above limitations, the WebGL-powered version of certain SVG-powered trace types (`scattergl`, `scatterpolargl`) are not complete drop-in replacements for their SVG counterparts yet * Available symbols will differ * Area fills are not yet supported in WebGL * Range breaks on time-series axes are not yet supported diff --git a/doc/unconverted/python/cars-exploration.md b/doc/unconverted/python/cars-exploration.md index 34bb4aad123..7726394919e 100644 --- a/doc/unconverted/python/cars-exploration.md +++ b/doc/unconverted/python/cars-exploration.md @@ -109,19 +109,19 @@ fig.layout.title = 'Torque and Fuel Efficience' Check default font size ```python -fig.layout.titlefont.size +fig.layout.title_font.size ``` Increase the title font size ```python -fig.layout.titlefont.size = 22 +fig.layout.title_font.size = 22 ``` -Set `fig.layout.titlefont.family` to `'Rockwell'` +Set `fig.layout.title_font.family` to `'Rockwell'` ```python -fig.layout.titlefont.family = 'Rockwell' +fig.layout.title_font.family = 'Rockwell' ``` ### Create New View for Figure diff --git a/doc/unconverted/python/heatmap-webgl.md b/doc/unconverted/python/heatmap-webgl.md deleted file mode 100644 index 55232cf9bf0..00000000000 --- a/doc/unconverted/python/heatmap-webgl.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -jupyter: - jupytext: - notebook_metadata_filter: all - text_representation: - extension: .md - format_name: markdown - format_version: '1.1' - jupytext_version: 1.1.1 - kernelspec: - display_name: Python 2 - language: python - name: python2 - plotly: - description: How to make webGL based heatmaps in Python with Plotly. - display_as: scientific - language: python - layout: base - name: WebGL Heatmaps - order: 4 - page_type: u-guide - permalink: python/heatmap-webgl/ - thumbnail: thumbnail/heatmap-webgl.jpg ---- - -#### New to Plotly? -Plotly's Python library is free and open source! [Get started](https://plot.ly/python/getting-started/) by downloading the client and [reading the primer](https://plot.ly/python/getting-started/). -
You can set up Plotly to work in [online](https://plot.ly/python/getting-started/#initialization-for-online-plotting) or [offline](https://plot.ly/python/getting-started/#initialization-for-offline-plotting) mode, or in [jupyter notebooks](https://plot.ly/python/getting-started/#start-plotting-online). -
We also have a quick-reference [cheatsheet](https://images.plot.ly/plotly-documentation/images/python_cheat_sheet.pdf) (new!) to help you get started! -#### Version Check -Plotly's python package is updated frequently. Run pip install plotly --upgrade to use the latest version. - -```python -import plotly -plotly.__version__ -``` - -#### Imports - -```python -import plotly.plotly as py - -import requests -from PIL import Image -from io import BytesIO -``` - -### Create a HeatmapGL from an Image -Process the image for generating heatmap: - -```python -image_url = 'https://images.plot.ly/plotly-documentation/images/heatmap-galaxy.jpg' - -response = requests.get(image_url) -img = Image.open(BytesIO(response.content)) -img -``` - -```python -arr = np.array(img) -z_data = [] - -for i in range(500): - k = [] - for j in range(500): - k.append(sum(arr[i][j])) - z_data.append(k) -``` - -Create the WebGL Heatmap - -```python -trace = dict(type='heatmapgl', z=z_data, colorscale='Picnic') -data = [trace] - -layout = dict(width=700, height=700) -fig = dict(data=data, layout=layout) -py.iplot(fig, filename='basic heatmapgl') -``` - -#### Reference -See https://plot.ly/python/reference/#heatmapgl for more information and chart attribute options! - - -```python -from IPython.display import display, HTML - -display(HTML('')) -display(HTML('')) - -import publisher -publisher.publish( - 'heatmap-webgl.ipynb', 'python/heatmap-webgl/', 'WebGL based Heatmaps | plotly', - 'How to make webGL based heatmaps in Python with Plotly.', - title = 'Python Heatmaps WebGL | plotly', - name = 'WebGL Heatmaps', - has_thumbnail='true', thumbnail='thumbnail/heatmap-webgl.jpg', - language='python', - display_as='scientific', order=4, - ipynb= '~notebook_demo/34') -``` - -```python - -``` diff --git a/packages/javascript/jupyterlab-plotly/package-lock.json b/packages/javascript/jupyterlab-plotly/package-lock.json index 404df20f881..d690d99f643 100644 --- a/packages/javascript/jupyterlab-plotly/package-lock.json +++ b/packages/javascript/jupyterlab-plotly/package-lock.json @@ -14,7 +14,7 @@ "@lumino/messaging": "^1.2.3", "@lumino/widgets": "^1.8.1", "lodash": "^4.17.4", - "plotly.js": "^2.35.2" + "plotly.js": "https://output.circle-artifacts.com/output/job/8cb816cf-7c8e-4c5d-a30a-94b67aa1b352/artifacts/0/plotly.js.tgz" }, "devDependencies": { "@jupyterlab/builder": "^3.0.0", @@ -56,6 +56,22 @@ "node": ">=10.0.0" } }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", @@ -619,9 +635,9 @@ } }, "node_modules/@maplibre/maplibre-gl-style-spec": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-20.3.1.tgz", - "integrity": "sha512-5ueL4UDitzVtceQ8J4kY+Px3WK+eZTsmGwha3MBKHKqiHvKrjWWwBCIl1K8BuJSc5OFh83uI8IFNoFvQxX2uUw==", + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-20.4.0.tgz", + "integrity": "sha512-AzBy3095fTFPjDjmWpR2w6HVRAZJ6hQZUCwk5Plz6EyfnfuQW1odeW5i2Ai47Y6TBA2hQnC+azscjBSALpaWgw==", "dependencies": { "@mapbox/jsonlint-lines-primitives": "~2.0.2", "@mapbox/unitbezier": "^0.0.1", @@ -629,7 +645,6 @@ "minimist": "^1.2.8", "quickselect": "^2.0.0", "rw": "^1.3.3", - "sort-object": "^3.0.3", "tinyqueue": "^3.0.0" }, "bin": { @@ -689,6 +704,275 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@parcel/watcher": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", + "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.4.1", + "@parcel/watcher-darwin-arm64": "2.4.1", + "@parcel/watcher-darwin-x64": "2.4.1", + "@parcel/watcher-freebsd-x64": "2.4.1", + "@parcel/watcher-linux-arm-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-musl": "2.4.1", + "@parcel/watcher-linux-x64-glibc": "2.4.1", + "@parcel/watcher-linux-x64-musl": "2.4.1", + "@parcel/watcher-win32-arm64": "2.4.1", + "@parcel/watcher-win32-ia32": "2.4.1", + "@parcel/watcher-win32-x64": "2.4.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", + "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", + "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", + "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", + "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", + "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", + "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", + "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", + "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", + "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", + "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", + "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", + "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@plotly/d3": { "version": "3.8.2", "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.2.tgz", @@ -914,6 +1198,11 @@ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" }, + "node_modules/@types/less": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/less/-/less-3.0.6.tgz", + "integrity": "sha512-PecSzorDGdabF57OBeQO/xFbAkYWo88g4Xvnsx7LRwqLC17I7OoKtA3bQB9uXkY6UkMWCOsA8HSVpaoitscdXw==" + }, "node_modules/@types/lodash": { "version": "4.14.168", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", @@ -953,6 +1242,15 @@ "@types/d3": "^3" } }, + "node_modules/@types/sass": { + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.45.0.tgz", + "integrity": "sha512-jn7qwGFmJHwUSphV8zZneO3GmtlgLsmhs/LQyVvQbIIa+fzGMUiHI4HXJZL3FT8MJmgXWbLGiVVY7ElvHq6vDA==", + "deprecated": "This is a stub types definition. sass provides its own type definitions, so you do not need this installed.", + "dependencies": { + "sass": "*" + } + }, "node_modules/@types/sizzle": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.2.tgz", @@ -964,6 +1262,14 @@ "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", "dev": true }, + "node_modules/@types/stylus": { + "version": "0.48.43", + "resolved": "https://registry.npmjs.org/@types/stylus/-/stylus-0.48.43.tgz", + "integrity": "sha512-72dv/zdhuyXWVHUXG2VTPEQdOG+oen95/DNFx2aMFFaY6LoITI6PwEqf5x31JF49kp2w9hvUzkNfTGBIeg61LQ==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/supercluster": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-7.1.3.tgz", @@ -1243,6 +1549,17 @@ "node": ">=6" } }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, "node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -1255,14 +1572,6 @@ "node": ">=4" } }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array-bounds": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-bounds/-/array-bounds-1.0.1.tgz", @@ -1294,14 +1603,6 @@ "resolved": "https://registry.npmjs.org/array-rearrange/-/array-rearrange-2.2.2.tgz", "integrity": "sha512-UfobP5N12Qm4Qu4fwLDIi2v6+wZsSf6snYSxAMeKhrh37YGnNWZPRmVEKc/2wfms53TLQnzfpG8wCx2Y/6NG1w==" }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", @@ -1322,8 +1623,7 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base64-arraybuffer": { "version": "1.0.2", @@ -1399,7 +1699,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -1448,23 +1747,6 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, - "node_modules/bytewise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz", - "integrity": "sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ==", - "dependencies": { - "bytewise-core": "^1.2.2", - "typewise": "^1.0.3" - } - }, - "node_modules/bytewise-core": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz", - "integrity": "sha512-nZD//kc78OOxeYtRlVk8/zXqTB4gf/nlguL1ggWA8FuchMyOxcyHR4QPQZMUmA7czC+YnaBrPUCubqAWe50DaA==", - "dependencies": { - "typewise-core": "^1.2" - } - }, "node_modules/cacache": { "version": "15.0.6", "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.6.tgz", @@ -1576,6 +1858,20 @@ "node": ">=4" } }, + "node_modules/chokidar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", @@ -2118,6 +2414,17 @@ "resolved": "https://registry.npmjs.org/detect-kerning/-/detect-kerning-2.1.2.tgz", "integrity": "sha512-I3JIbrnKPAntNLl1I6TpSQQdQ4AutYzv/sKMFKbepawV/hlH0GmYKhUoOEMd4xqaUHT+Bm0f4127lh5qs1m1tw==" }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/draw-svg-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/draw-svg-path/-/draw-svg-path-1.0.0.tgz", @@ -2168,6 +2475,11 @@ "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==" }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, "node_modules/element-size": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/element-size/-/element-size-1.1.1.tgz", @@ -2181,6 +2493,11 @@ "strongly-connected-components": "^1.0.1" } }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", @@ -2353,6 +2670,68 @@ "es6-symbol": "^3.1.1" } }, + "node_modules/esbuild-style-plugin": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/esbuild-style-plugin/-/esbuild-style-plugin-1.6.3.tgz", + "integrity": "sha512-XPEKf4FjLjEVLv/dJH4UxDzXCrFHYpD93DBO8B+izdZARW5b7nNKQbnKv3J+7VDWJbgCU+hzfgIh2AuIZzlmXQ==", + "dependencies": { + "@types/less": "^3.0.3", + "@types/sass": "^1.43.1", + "@types/stylus": "^0.48.38", + "glob": "^10.2.2", + "postcss": "^8.4.31", + "postcss-modules": "^6.0.0" + } + }, + "node_modules/esbuild-style-plugin/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/esbuild-style-plugin/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/esbuild-style-plugin/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/esbuild-style-plugin/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -2553,17 +2932,6 @@ "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/falafel": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.5.tgz", @@ -2648,7 +3016,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2716,6 +3083,86 @@ "css-font": "^1.2.0" } }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/foreground-child/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", @@ -2762,6 +3209,22 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, + "node_modules/generic-names": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-4.0.0.tgz", + "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", + "dependencies": { + "loader-utils": "^3.2.0" + } + }, + "node_modules/generic-names/node_modules/loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "engines": { + "node": ">= 12.13.0" + } + }, "node_modules/geojson-vt": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", @@ -2797,14 +3260,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/gl-mat4": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gl-mat4/-/gl-mat4-1.2.0.tgz", @@ -3221,6 +3676,11 @@ } ] }, + "node_modules/immutable": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==" + }, "node_modules/import-local": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", @@ -3368,10 +3828,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "engines": { "node": ">=0.10.0" } @@ -3395,6 +3855,25 @@ "node": ">=0.10.0" } }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-iexplorer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-iexplorer/-/is-iexplorer-1.0.0.tgz", @@ -3424,7 +3903,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, "engines": { "node": ">=0.12.0" } @@ -3461,6 +3939,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, "dependencies": { "isobject": "^3.0.1" }, @@ -3538,17 +4017,31 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jest-worker": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", @@ -3715,6 +4208,11 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -3806,9 +4304,9 @@ } }, "node_modules/maplibre-gl": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-4.6.0.tgz", - "integrity": "sha512-zobZK+fE+XM+7K81fk5pSBYWZlTGjGT0P96y2fR4DV2ry35ZBfAd0uWNatll69EgYeE+uOhN1MvEk+z1PCuyOQ==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-4.7.1.tgz", + "integrity": "sha512-lgL7XpIwsgICiL82ITplfS7IGwrB1OJIw/pCvprDp2dhmSSEBgmPzYRvwYYYvJGJD7fxUv1Tvpih4nZ6VrLuaA==", "dependencies": { "@mapbox/geojson-rewind": "^0.5.2", "@mapbox/jsonlint-lines-primitives": "^2.0.2", @@ -3932,7 +4430,6 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -4224,6 +4721,11 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==" + }, "node_modules/node-fetch": { "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", @@ -4471,6 +4973,11 @@ "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" + }, "node_modules/parenthesis": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.8.tgz", @@ -4544,6 +5051,34 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", @@ -4587,7 +5122,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, "engines": { "node": ">=8.6" }, @@ -4629,9 +5163,9 @@ } }, "node_modules/plotly.js": { - "version": "2.35.2", - "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.35.2.tgz", - "integrity": "sha512-s0knlWzRvLQXxzf3JQ6qbm8FpwKuMjkr+6r04f8/yCEByAQ+I0jkUzY/hSGRGb+u7iljTh9hgpEiiJP90vjyeQ==", + "version": "2.35.2-256-ga5b202c85", + "resolved": "https://output.circle-artifacts.com/output/job/8cb816cf-7c8e-4c5d-a30a-94b67aa1b352/artifacts/0/plotly.js.tgz", + "integrity": "sha512-VlxKsn3ccMuBCYupmXMPFZstkqZACvTyGOu8BW38cq4PCf5GkWVOk1mMyeMC0gvyRR4kf0Heus777v3hT04l5Q==", "dependencies": { "@plotly/d3": "3.8.2", "@plotly/d3-sankey": "0.7.2", @@ -4656,13 +5190,14 @@ "d3-interpolate": "^3.0.1", "d3-time": "^1.1.0", "d3-time-format": "^2.2.3", + "esbuild-style-plugin": "^1.6.3", "fast-isnumeric": "^1.1.4", "gl-mat4": "^1.2.0", "gl-text": "^1.4.0", "has-hover": "^1.0.1", "has-passive-events": "^1.0.0", "is-mobile": "^4.0.0", - "maplibre-gl": "^4.5.2", + "maplibre-gl": "^4.7.1", "mouse-change": "^1.4.0", "mouse-event-offset": "^3.0.2", "mouse-wheel": "^1.2.0", @@ -4685,6 +5220,9 @@ "topojson-client": "^3.1.0", "webgl-context": "^2.2.0", "world-calendars": "^1.0.3" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/plotly.js/node_modules/color-parse": { @@ -4792,6 +5330,24 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-modules": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-6.0.0.tgz", + "integrity": "sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==", + "dependencies": { + "generic-names": "^4.0.0", + "icss-utils": "^5.1.0", + "lodash.camelcase": "^4.3.0", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "string-hash": "^1.1.1" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, "node_modules/postcss-modules-extract-imports": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", @@ -5051,6 +5607,18 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, + "node_modules/readdirp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/rechoir": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", @@ -5234,6 +5802,23 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "node_modules/sass": { + "version": "1.80.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.3.tgz", + "integrity": "sha512-ptDWyVmDMVielpz/oWy3YP3nfs7LpJTHIJZboMVs8GEC9eUmtZTZhMHlTW98wY4aEorDfjN38+Wr/XjskFWcfA==", + "dependencies": { + "@parcel/watcher": "^2.4.1", + "chokidar": "^4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -5275,20 +5860,6 @@ "randombytes": "^2.1.0" } }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", @@ -5344,38 +5915,6 @@ "resolved": "https://registry.npmjs.org/signum/-/signum-1.0.0.tgz", "integrity": "sha512-yodFGwcyt59XRh7w5W3jPcIQb3Bwi21suEfT7MAWnBX3iCdklJpgDgvGT9o04UonglZN5SNMfJFkHIR/jO8GHw==" }, - "node_modules/sort-asc": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.2.0.tgz", - "integrity": "sha512-umMGhjPeHAI6YjABoSTrFp2zaBtXBej1a0yKkuMUyjjqu6FJsTF+JYwCswWDg+zJfk/5npWUUbd33HH/WLzpaA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sort-desc": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/sort-desc/-/sort-desc-0.2.0.tgz", - "integrity": "sha512-NqZqyvL4VPW+RAxxXnB8gvE1kyikh8+pR+T+CXLksVRN9eiQqkQlPwqWYU0mF9Jm7UnctShlxLyAt1CaBOTL1w==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sort-object": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/sort-object/-/sort-object-3.0.3.tgz", - "integrity": "sha512-nK7WOY8jik6zaG9CRwZTaD5O7ETWDLZYMM12pqY8htll+7dYeqGfEUPcUBHOpSJg2vJOrvFIY2Dl5cX2ih1hAQ==", - "dependencies": { - "bytewise": "^1.1.0", - "get-value": "^2.0.2", - "is-extendable": "^0.1.1", - "sort-asc": "^0.2.0", - "sort-desc": "^0.2.0", - "union-value": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", @@ -5498,40 +6037,6 @@ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", "dev": true }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split-string/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split-string/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ssri": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", @@ -5599,6 +6104,11 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, + "node_modules/string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==" + }, "node_modules/string-split-by": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/string-split-by/-/string-split-by-1.0.0.tgz", @@ -5607,6 +6117,60 @@ "parenthesis": "^3.1.5" } }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/string.prototype.padend": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", @@ -5650,6 +6214,40 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -5962,7 +6560,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -6137,19 +6734,6 @@ "node": ">=4.2.0" } }, - "node_modules/typewise": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz", - "integrity": "sha512-aXofE06xGhaQSPzt8hlTY+/YWQhm9P0jYUp1f2XtmW/3Bk0qzXcyFWAtPoo2uTGQj1ZwbDuSyuxicq+aDo8lCQ==", - "dependencies": { - "typewise-core": "^1.2.0" - } - }, - "node_modules/typewise-core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz", - "integrity": "sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg==" - }, "node_modules/unbox-primitive": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", @@ -6170,20 +6754,6 @@ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/uniq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", @@ -6735,6 +7305,112 @@ "object-assign": "^4.1.0" } }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -6802,6 +7478,19 @@ "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", "dev": true }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + } + }, "@jridgewell/gen-mapping": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", @@ -7293,9 +7982,9 @@ "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==" }, "@maplibre/maplibre-gl-style-spec": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-20.3.1.tgz", - "integrity": "sha512-5ueL4UDitzVtceQ8J4kY+Px3WK+eZTsmGwha3MBKHKqiHvKrjWWwBCIl1K8BuJSc5OFh83uI8IFNoFvQxX2uUw==", + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-20.4.0.tgz", + "integrity": "sha512-AzBy3095fTFPjDjmWpR2w6HVRAZJ6hQZUCwk5Plz6EyfnfuQW1odeW5i2Ai47Y6TBA2hQnC+azscjBSALpaWgw==", "requires": { "@mapbox/jsonlint-lines-primitives": "~2.0.2", "@mapbox/unitbezier": "^0.0.1", @@ -7303,7 +7992,6 @@ "minimist": "^1.2.8", "quickselect": "^2.0.0", "rw": "^1.3.3", - "sort-object": "^3.0.3", "tinyqueue": "^3.0.0" }, "dependencies": { @@ -7346,6 +8034,107 @@ } } }, + "@parcel/watcher": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", + "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", + "requires": { + "@parcel/watcher-android-arm64": "2.4.1", + "@parcel/watcher-darwin-arm64": "2.4.1", + "@parcel/watcher-darwin-x64": "2.4.1", + "@parcel/watcher-freebsd-x64": "2.4.1", + "@parcel/watcher-linux-arm-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-musl": "2.4.1", + "@parcel/watcher-linux-x64-glibc": "2.4.1", + "@parcel/watcher-linux-x64-musl": "2.4.1", + "@parcel/watcher-win32-arm64": "2.4.1", + "@parcel/watcher-win32-ia32": "2.4.1", + "@parcel/watcher-win32-x64": "2.4.1", + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + } + }, + "@parcel/watcher-android-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", + "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", + "optional": true + }, + "@parcel/watcher-darwin-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", + "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", + "optional": true + }, + "@parcel/watcher-darwin-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", + "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", + "optional": true + }, + "@parcel/watcher-freebsd-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", + "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", + "optional": true + }, + "@parcel/watcher-linux-arm-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", + "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", + "optional": true + }, + "@parcel/watcher-linux-arm64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", + "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", + "optional": true + }, + "@parcel/watcher-linux-arm64-musl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", + "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", + "optional": true + }, + "@parcel/watcher-linux-x64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", + "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", + "optional": true + }, + "@parcel/watcher-linux-x64-musl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", + "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", + "optional": true + }, + "@parcel/watcher-win32-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", + "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", + "optional": true + }, + "@parcel/watcher-win32-ia32": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", + "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", + "optional": true + }, + "@parcel/watcher-win32-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", + "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", + "optional": true + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true + }, "@plotly/d3": { "version": "3.8.2", "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.2.tgz", @@ -7561,6 +8350,11 @@ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" }, + "@types/less": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/less/-/less-3.0.6.tgz", + "integrity": "sha512-PecSzorDGdabF57OBeQO/xFbAkYWo88g4Xvnsx7LRwqLC17I7OoKtA3bQB9uXkY6UkMWCOsA8HSVpaoitscdXw==" + }, "@types/lodash": { "version": "4.14.168", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", @@ -7597,7 +8391,15 @@ "integrity": "sha512-38CuUoM5M1jQl5setuGl4yj59+7Cn6WYIQyeGLptJpAJre9/wZLl0EzdnImVB3l+qUBYxkbCH9FIDV/JoPzTXQ==", "dev": true, "requires": { - "@types/d3": "^3" + "@types/d3": "^3" + } + }, + "@types/sass": { + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.45.0.tgz", + "integrity": "sha512-jn7qwGFmJHwUSphV8zZneO3GmtlgLsmhs/LQyVvQbIIa+fzGMUiHI4HXJZL3FT8MJmgXWbLGiVVY7ElvHq6vDA==", + "requires": { + "sass": "*" } }, "@types/sizzle": { @@ -7611,6 +8413,14 @@ "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", "dev": true }, + "@types/stylus": { + "version": "0.48.43", + "resolved": "https://registry.npmjs.org/@types/stylus/-/stylus-0.48.43.tgz", + "integrity": "sha512-72dv/zdhuyXWVHUXG2VTPEQdOG+oen95/DNFx2aMFFaY6LoITI6PwEqf5x31JF49kp2w9hvUzkNfTGBIeg61LQ==", + "requires": { + "@types/node": "*" + } + }, "@types/supercluster": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-7.1.3.tgz", @@ -7859,6 +8669,11 @@ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, + "ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==" + }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -7868,11 +8683,6 @@ "color-convert": "^1.9.0" } }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" - }, "array-bounds": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-bounds/-/array-bounds-1.0.1.tgz", @@ -7901,11 +8711,6 @@ "resolved": "https://registry.npmjs.org/array-rearrange/-/array-rearrange-2.2.2.tgz", "integrity": "sha512-UfobP5N12Qm4Qu4fwLDIi2v6+wZsSf6snYSxAMeKhrh37YGnNWZPRmVEKc/2wfms53TLQnzfpG8wCx2Y/6NG1w==" }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" - }, "at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", @@ -7923,8 +8728,7 @@ "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base64-arraybuffer": { "version": "1.0.2", @@ -7980,7 +8784,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "requires": { "fill-range": "^7.0.1" } @@ -8014,23 +8817,6 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, - "bytewise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz", - "integrity": "sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ==", - "requires": { - "bytewise-core": "^1.2.2", - "typewise": "^1.0.3" - } - }, - "bytewise-core": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz", - "integrity": "sha512-nZD//kc78OOxeYtRlVk8/zXqTB4gf/nlguL1ggWA8FuchMyOxcyHR4QPQZMUmA7czC+YnaBrPUCubqAWe50DaA==", - "requires": { - "typewise-core": "^1.2" - } - }, "cacache": { "version": "15.0.6", "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.6.tgz", @@ -8119,6 +8905,14 @@ } } }, + "chokidar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "requires": { + "readdirp": "^4.0.1" + } + }, "chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", @@ -8585,6 +9379,11 @@ "resolved": "https://registry.npmjs.org/detect-kerning/-/detect-kerning-2.1.2.tgz", "integrity": "sha512-I3JIbrnKPAntNLl1I6TpSQQdQ4AutYzv/sKMFKbepawV/hlH0GmYKhUoOEMd4xqaUHT+Bm0f4127lh5qs1m1tw==" }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==" + }, "draw-svg-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/draw-svg-path/-/draw-svg-path-1.0.0.tgz", @@ -8632,6 +9431,11 @@ "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==" }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, "element-size": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/element-size/-/element-size-1.1.1.tgz", @@ -8645,6 +9449,11 @@ "strongly-connected-components": "^1.0.1" } }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, "emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", @@ -8783,6 +9592,55 @@ "es6-symbol": "^3.1.1" } }, + "esbuild-style-plugin": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/esbuild-style-plugin/-/esbuild-style-plugin-1.6.3.tgz", + "integrity": "sha512-XPEKf4FjLjEVLv/dJH4UxDzXCrFHYpD93DBO8B+izdZARW5b7nNKQbnKv3J+7VDWJbgCU+hzfgIh2AuIZzlmXQ==", + "requires": { + "@types/less": "^3.0.3", + "@types/sass": "^1.43.1", + "@types/stylus": "^0.48.38", + "glob": "^10.2.2", + "postcss": "^8.4.31", + "postcss-modules": "^6.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + } + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" + } + } + }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -8925,14 +9783,6 @@ } } }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, "falafel": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.5.tgz", @@ -9005,7 +9855,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -9061,6 +9910,58 @@ "css-font": "^1.2.0" } }, + "foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", @@ -9101,6 +10002,21 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, + "generic-names": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-4.0.0.tgz", + "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", + "requires": { + "loader-utils": "^3.2.0" + }, + "dependencies": { + "loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==" + } + } + }, "geojson-vt": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", @@ -9127,11 +10043,6 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==" - }, "gl-mat4": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gl-mat4/-/gl-mat4-1.2.0.tgz", @@ -9490,6 +10401,11 @@ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, + "immutable": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==" + }, "import-local": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", @@ -9595,10 +10511,10 @@ "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", "dev": true }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, "is-finite": { "version": "1.1.0", @@ -9610,6 +10526,19 @@ "resolved": "https://registry.npmjs.org/is-firefox/-/is-firefox-1.0.3.tgz", "integrity": "sha512-6Q9ITjvWIm0Xdqv+5U12wgOKEM2KoBw4Y926m0OFkvlCxnbG94HKAsVz8w3fWcfAS5YA2fJORXX1dLrkprCCxA==" }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, "is-iexplorer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-iexplorer/-/is-iexplorer-1.0.0.tgz", @@ -9629,8 +10558,7 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-number-object": { "version": "1.0.4", @@ -9652,6 +10580,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, "requires": { "isobject": "^3.0.1" } @@ -9705,13 +10634,22 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } }, "jest-worker": { "version": "26.6.2", @@ -9846,6 +10784,11 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -9926,9 +10869,9 @@ } }, "maplibre-gl": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-4.6.0.tgz", - "integrity": "sha512-zobZK+fE+XM+7K81fk5pSBYWZlTGjGT0P96y2fR4DV2ry35ZBfAd0uWNatll69EgYeE+uOhN1MvEk+z1PCuyOQ==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-4.7.1.tgz", + "integrity": "sha512-lgL7XpIwsgICiL82ITplfS7IGwrB1OJIw/pCvprDp2dhmSSEBgmPzYRvwYYYvJGJD7fxUv1Tvpih4nZ6VrLuaA==", "requires": { "@mapbox/geojson-rewind": "^0.5.2", "@mapbox/jsonlint-lines-primitives": "^2.0.2", @@ -10038,7 +10981,6 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, "requires": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -10254,6 +11196,11 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==" + }, "node-fetch": { "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", @@ -10429,6 +11376,11 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" + }, "parenthesis": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.8.tgz", @@ -10490,6 +11442,27 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "requires": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" + } + } + }, "path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", @@ -10526,8 +11499,7 @@ "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, "pidtree": { "version": "0.3.1", @@ -10551,9 +11523,8 @@ } }, "plotly.js": { - "version": "2.35.2", - "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.35.2.tgz", - "integrity": "sha512-s0knlWzRvLQXxzf3JQ6qbm8FpwKuMjkr+6r04f8/yCEByAQ+I0jkUzY/hSGRGb+u7iljTh9hgpEiiJP90vjyeQ==", + "version": "https://output.circle-artifacts.com/output/job/8cb816cf-7c8e-4c5d-a30a-94b67aa1b352/artifacts/0/plotly.js.tgz", + "integrity": "sha512-VlxKsn3ccMuBCYupmXMPFZstkqZACvTyGOu8BW38cq4PCf5GkWVOk1mMyeMC0gvyRR4kf0Heus777v3hT04l5Q==", "requires": { "@plotly/d3": "3.8.2", "@plotly/d3-sankey": "0.7.2", @@ -10578,13 +11549,14 @@ "d3-interpolate": "^3.0.1", "d3-time": "^1.1.0", "d3-time-format": "^2.2.3", + "esbuild-style-plugin": "^1.6.3", "fast-isnumeric": "^1.1.4", "gl-mat4": "^1.2.0", "gl-text": "^1.4.0", "has-hover": "^1.0.1", "has-passive-events": "^1.0.0", "is-mobile": "^4.0.0", - "maplibre-gl": "^4.5.2", + "maplibre-gl": "^4.7.1", "mouse-change": "^1.4.0", "mouse-event-offset": "^3.0.2", "mouse-wheel": "^1.2.0", @@ -10665,6 +11637,21 @@ "source-map-js": "^1.2.0" } }, + "postcss-modules": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-6.0.0.tgz", + "integrity": "sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==", + "requires": { + "generic-names": "^4.0.0", + "icss-utils": "^5.1.0", + "lodash.camelcase": "^4.3.0", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "string-hash": "^1.1.1" + } + }, "postcss-modules-extract-imports": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", @@ -10864,6 +11851,11 @@ } } }, + "readdirp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==" + }, "rechoir": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", @@ -11014,6 +12006,17 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "sass": { + "version": "1.80.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.3.tgz", + "integrity": "sha512-ptDWyVmDMVielpz/oWy3YP3nfs7LpJTHIJZboMVs8GEC9eUmtZTZhMHlTW98wY4aEorDfjN38+Wr/XjskFWcfA==", + "requires": { + "@parcel/watcher": "^2.4.1", + "chokidar": "^4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -11045,17 +12048,6 @@ "randombytes": "^2.1.0" } }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - } - }, "shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", @@ -11102,29 +12094,6 @@ "resolved": "https://registry.npmjs.org/signum/-/signum-1.0.0.tgz", "integrity": "sha512-yodFGwcyt59XRh7w5W3jPcIQb3Bwi21suEfT7MAWnBX3iCdklJpgDgvGT9o04UonglZN5SNMfJFkHIR/jO8GHw==" }, - "sort-asc": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.2.0.tgz", - "integrity": "sha512-umMGhjPeHAI6YjABoSTrFp2zaBtXBej1a0yKkuMUyjjqu6FJsTF+JYwCswWDg+zJfk/5npWUUbd33HH/WLzpaA==" - }, - "sort-desc": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/sort-desc/-/sort-desc-0.2.0.tgz", - "integrity": "sha512-NqZqyvL4VPW+RAxxXnB8gvE1kyikh8+pR+T+CXLksVRN9eiQqkQlPwqWYU0mF9Jm7UnctShlxLyAt1CaBOTL1w==" - }, - "sort-object": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/sort-object/-/sort-object-3.0.3.tgz", - "integrity": "sha512-nK7WOY8jik6zaG9CRwZTaD5O7ETWDLZYMM12pqY8htll+7dYeqGfEUPcUBHOpSJg2vJOrvFIY2Dl5cX2ih1hAQ==", - "requires": { - "bytewise": "^1.1.0", - "get-value": "^2.0.2", - "is-extendable": "^0.1.1", - "sort-asc": "^0.2.0", - "sort-desc": "^0.2.0", - "union-value": "^1.0.1" - } - }, "source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", @@ -11220,33 +12189,6 @@ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", "dev": true }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, "ssri": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", @@ -11312,6 +12254,11 @@ } } }, + "string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==" + }, "string-split-by": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/string-split-by/-/string-split-by-1.0.0.tgz", @@ -11320,6 +12267,46 @@ "parenthesis": "^3.1.5" } }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, "string.prototype.padend": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", @@ -11351,6 +12338,29 @@ "define-properties": "^1.1.3" } }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + } + } + }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -11600,7 +12610,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "requires": { "is-number": "^7.0.0" } @@ -11728,19 +12737,6 @@ "integrity": "sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA==", "dev": true }, - "typewise": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz", - "integrity": "sha512-aXofE06xGhaQSPzt8hlTY+/YWQhm9P0jYUp1f2XtmW/3Bk0qzXcyFWAtPoo2uTGQj1ZwbDuSyuxicq+aDo8lCQ==", - "requires": { - "typewise-core": "^1.2.0" - } - }, - "typewise-core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz", - "integrity": "sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg==" - }, "unbox-primitive": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", @@ -11758,17 +12754,6 @@ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, "uniq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", @@ -12169,6 +13154,79 @@ "object-assign": "^4.1.0" } }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" + } + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/packages/javascript/jupyterlab-plotly/package.json b/packages/javascript/jupyterlab-plotly/package.json index 8d3818efeb4..66fb0d2037f 100644 --- a/packages/javascript/jupyterlab-plotly/package.json +++ b/packages/javascript/jupyterlab-plotly/package.json @@ -65,7 +65,7 @@ "@lumino/messaging": "^1.2.3", "@lumino/widgets": "^1.8.1", "lodash": "^4.17.4", - "plotly.js": "^2.35.2" + "plotly.js": "https://output.circle-artifacts.com/output/job/8cb816cf-7c8e-4c5d-a30a-94b67aa1b352/artifacts/0/plotly.js.tgz" }, "jupyterlab": { "extension": "lib/jupyterlab-plugin", @@ -78,4 +78,4 @@ } } } -} +} \ No newline at end of file diff --git a/packages/python/plotly/codegen/resources/plot-schema.json b/packages/python/plotly/codegen/resources/plot-schema.json index 289445a355f..288edc9ad86 100644 --- a/packages/python/plotly/codegen/resources/plot-schema.json +++ b/packages/python/plotly/codegen/resources/plot-schema.json @@ -272,7 +272,7 @@ "valType": "integer" }, "plotGlPixelRatio": { - "description": "Set the pixel ratio during WebGL image export. This config option was formerly named `plot3dPixelRatio` which is now deprecated.", + "description": "Set the pixel ratio during WebGL image export.", "dflt": 2, "max": 4, "min": 1, @@ -596,101 +596,6 @@ }, "layout": { "layoutAttributes": { - "_deprecated": { - "title": { - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the contents of the title, please use `title.text` now.", - "editType": "layoutstyle", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "layoutstyle", - "valType": "color" - }, - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", - "editType": "layoutstyle", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "layoutstyle", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "layoutstyle", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "layoutstyle", - "valType": "string" - }, - "size": { - "editType": "layoutstyle", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "layoutstyle", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "layoutstyle", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "layoutstyle", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "layoutstyle", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - } - }, "activeselection": { "editType": "none", "fillcolor": { @@ -730,13 +635,6 @@ "annotations": { "items": { "annotation": { - "_deprecated": { - "ref": { - "description": "Obsolete. Set `xref` and `yref` separately instead.", - "editType": "calc", - "valType": "string" - } - }, "align": { "description": "Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more
HTML tags) or if an explicit width is set to override the text width.", "dflt": "center", @@ -1326,112 +1224,6 @@ "valType": "number" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -1871,7 +1663,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -1957,7 +1749,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -1967,7 +1759,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -2410,7 +2202,7 @@ }, "editType": "plot", "fitbounds": { - "description": "Determines if this subplot's view settings are auto-computed to fit trace data. On scoped maps, setting `fitbounds` leads to `center.lon` and `center.lat` getting auto-filled. On maps with a non-clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, and `projection.rotation.lon` getting auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lonaxis.range` getting auto-filled. If *locations*, only the trace's visible locations are considered in the `fitbounds` computations. If *geojson*, the entire trace input `geojson` (if provided) is considered in the `fitbounds` computations, Defaults to *false*.", + "description": "Determines if this subplot's view settings are auto-computed to fit trace data. On scoped maps, setting `fitbounds` leads to `center.lon` and `center.lat` getting auto-filled. On maps with a non-clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, and `projection.rotation.lon` getting auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and `lataxis.range` getting auto-filled. If *locations*, only the trace's visible locations are considered in the `fitbounds` computations. If *geojson*, the entire trace input `geojson` (if provided) is considered in the `fitbounds` computations, Defaults to *false*.", "dflt": false, "editType": "plot", "valType": "enumerated", @@ -5840,101 +5632,6 @@ "valType": "number" }, "radialaxis": { - "_deprecated": { - "title": { - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.", - "editType": "ticks", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "ticks", - "valType": "color" - }, - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", - "editType": "ticks", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "ticks", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "ticks", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "ticks", - "valType": "string" - }, - "size": { - "editType": "ticks", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "ticks", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "ticks", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "ticks", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "ticks", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - } - }, "angle": { "description": "Sets the angle (in degrees) from which the radial axis is drawn. Note that by default, radial axis line on the theta=0 line corresponds to a line pointing right (like what mathematicians prefer). Defaults to the first `polar.sector` angle.", "editType": "plot", @@ -6550,7 +6247,7 @@ "editType": "ticks", "valType": "color" }, - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", + "description": "Sets this axis' title font.", "editType": "plot", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -6636,7 +6333,7 @@ }, "role": "object", "text": { - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of this axis.", "dflt": "", "editType": "plot", "valType": "string" @@ -6698,13 +6395,6 @@ "_arrayAttrRegexps": [ {} ], - "_deprecated": { - "cameraposition": { - "description": "Obsolete. Use `camera` instead.", - "editType": "camera", - "valType": "info_array" - } - }, "_isSubplotObj": true, "annotations": { "items": { @@ -7372,101 +7062,6 @@ "valType": "any" }, "xaxis": { - "_deprecated": { - "title": { - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.", - "editType": "plot", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "plot", - "valType": "color" - }, - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "size": { - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - } - }, "autorange": { "description": "Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.", "dflt": true, @@ -8077,7 +7672,7 @@ "editType": "plot", "valType": "color" }, - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", + "description": "Sets this axis' title font.", "editType": "plot", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -8163,7 +7758,7 @@ }, "role": "object", "text": { - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of this axis.", "editType": "plot", "valType": "string" } @@ -8206,101 +7801,6 @@ } }, "yaxis": { - "_deprecated": { - "title": { - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.", - "editType": "plot", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "plot", - "valType": "color" - }, - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "size": { - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - } - }, "autorange": { "description": "Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.", "dflt": true, @@ -8911,7 +8411,7 @@ "editType": "plot", "valType": "color" }, - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", + "description": "Sets this axis' title font.", "editType": "plot", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -8997,7 +8497,7 @@ }, "role": "object", "text": { - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of this axis.", "editType": "plot", "valType": "string" } @@ -9040,101 +8540,6 @@ } }, "zaxis": { - "_deprecated": { - "title": { - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.", - "editType": "plot", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "plot", - "valType": "color" - }, - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "size": { - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - } - }, "autorange": { "description": "Determines whether or not the range of this axis is computed in relation to the input data. See `rangemode` for more info. If `range` is provided and it has a value for both the lower and upper bound, `autorange` is set to *false*. Using *min* applies autorange only to set the minimum. Using *max* applies autorange only to set the maximum. Using *min reversed* applies autorange only to set the minimum on a reversed axis. Using *max reversed* applies autorange only to set the maximum on a reversed axis. Using *reversed* applies autorange on both ends and reverses the axis direction.", "dflt": true, @@ -9745,7 +9150,7 @@ "editType": "plot", "valType": "color" }, - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", + "description": "Sets this axis' title font.", "editType": "plot", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -9831,7 +9236,7 @@ }, "role": "object", "text": { - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of this axis.", "editType": "plot", "valType": "string" } @@ -11680,101 +11085,6 @@ "ternary": { "_isSubplotObj": true, "aaxis": { - "_deprecated": { - "title": { - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.", - "editType": "plot", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "plot", - "valType": "color" - }, - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "size": { - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - } - }, "color": { "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.", "dflt": "#444", @@ -12190,7 +11500,7 @@ "editType": "plot", "valType": "color" }, - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", + "description": "Sets this axis' title font.", "editType": "plot", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -12276,7 +11586,7 @@ }, "role": "object", "text": { - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of this axis.", "editType": "plot", "valType": "string" } @@ -12288,101 +11598,6 @@ } }, "baxis": { - "_deprecated": { - "title": { - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.", - "editType": "plot", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "plot", - "valType": "color" - }, - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "size": { - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - } - }, "color": { "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.", "dflt": "#444", @@ -12798,7 +12013,7 @@ "editType": "plot", "valType": "color" }, - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", + "description": "Sets this axis' title font.", "editType": "plot", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -12884,7 +12099,7 @@ }, "role": "object", "text": { - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of this axis.", "editType": "plot", "valType": "string" } @@ -12902,101 +12117,6 @@ "valType": "color" }, "caxis": { - "_deprecated": { - "title": { - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.", - "editType": "plot", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "plot", - "valType": "color" - }, - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "size": { - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - } - }, "color": { "description": "Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.", "dflt": "#444", @@ -13412,7 +12532,7 @@ "editType": "plot", "valType": "color" }, - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", + "description": "Sets this axis' title font.", "editType": "plot", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -13498,7 +12618,7 @@ }, "role": "object", "text": { - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of this axis.", "editType": "plot", "valType": "string" } @@ -13601,7 +12721,7 @@ "editType": "layoutstyle", "valType": "color" }, - "description": "Sets the title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", + "description": "Sets the title font.", "editType": "layoutstyle", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -13814,7 +12934,7 @@ } }, "text": { - "description": "Sets the plot's title. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the plot's title.", "editType": "layoutstyle", "valType": "string" }, @@ -14307,106 +13427,6 @@ "valType": "number" }, "xaxis": { - "_deprecated": { - "autotick": { - "description": "Obsolete. Set `tickmode` to *auto* for old `autotick` *true* behavior. Set `tickmode` to *linear* for `autotick` *false*.", - "editType": "ticks", - "valType": "boolean" - }, - "title": { - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.", - "editType": "ticks", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "ticks", - "valType": "color" - }, - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", - "editType": "ticks", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "ticks", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "ticks", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "ticks", - "valType": "string" - }, - "size": { - "editType": "ticks", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "ticks", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "ticks", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "ticks", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "ticks", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - } - }, "_isSubplotObj": true, "anchor": { "description": "If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`.", @@ -15811,7 +14831,7 @@ "editType": "ticks", "valType": "color" }, - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", + "description": "Sets this axis' title font.", "editType": "ticks", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -15903,7 +14923,7 @@ "valType": "number" }, "text": { - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of this axis.", "editType": "ticks", "valType": "string" } @@ -15952,106 +14972,6 @@ } }, "yaxis": { - "_deprecated": { - "autotick": { - "description": "Obsolete. Set `tickmode` to *auto* for old `autotick` *true* behavior. Set `tickmode` to *linear* for `autotick` *false*.", - "editType": "ticks", - "valType": "boolean" - }, - "title": { - "description": "Value of `title` is no longer a simple *string* but a set of sub-attributes. To set the axis' title, please use `title.text` now.", - "editType": "ticks", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "ticks", - "valType": "color" - }, - "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", - "editType": "ticks", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "ticks", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "ticks", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "ticks", - "valType": "string" - }, - "size": { - "editType": "ticks", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "ticks", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "ticks", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "ticks", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "ticks", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - } - }, "_isSubplotObj": true, "anchor": { "description": "If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`.", @@ -17145,7 +16065,7 @@ "editType": "ticks", "valType": "color" }, - "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", + "description": "Sets this axis' title font.", "editType": "ticks", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -17237,7 +16157,7 @@ "valType": "number" }, "text": { - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of this axis.", "editType": "ticks", "valType": "string" } @@ -17291,17 +16211,6 @@ "bar": { "animatable": true, "attributes": { - "_deprecated": { - "bardir": { - "description": "Renamed to `orientation`.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "v", - "h" - ] - } - }, "alignmentgroup": { "description": "Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.", "dflt": "", @@ -17363,13 +16272,99 @@ "valType": "number" }, "error_x": { - "_deprecated": { - "opacity": { - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", - "editType": "style", - "valType": "number" - } + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "arrayminussrc": { + "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", + "editType": "none", + "valType": "string" + }, + "arraysrc": { + "description": "Sets the source reference on Chart Studio Cloud for `array`.", + "editType": "none", + "valType": "string" }, + "color": { + "description": "Sets the stroke color of the error bars.", + "editType": "style", + "valType": "color" + }, + "copy_ystyle": { + "editType": "plot", + "valType": "boolean" + }, + "editType": "calc", + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", + "editType": "calc", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "editType": "style", + "min": 0, + "valType": "number" + }, + "traceref": { + "dflt": 0, + "editType": "style", + "min": 0, + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "editType": "style", + "min": 0, + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", + "editType": "calc", + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "editType": "calc", + "min": 0, + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "editType": "calc", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "editType": "plot", + "min": 0, + "valType": "number" + } + }, + "error_y": { "array": { "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", "editType": "calc", @@ -17391,107 +16386,7 @@ "valType": "string" }, "color": { - "description": "Sets the stoke color of the error bars.", - "editType": "style", - "valType": "color" - }, - "copy_ystyle": { - "editType": "plot", - "valType": "boolean" - }, - "editType": "calc", - "role": "object", - "symmetric": { - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", - "editType": "calc", - "valType": "boolean" - }, - "thickness": { - "description": "Sets the thickness (in px) of the error bars.", - "dflt": 2, - "editType": "style", - "min": 0, - "valType": "number" - }, - "traceref": { - "dflt": 0, - "editType": "style", - "min": 0, - "valType": "integer" - }, - "tracerefminus": { - "dflt": 0, - "editType": "style", - "min": 0, - "valType": "integer" - }, - "type": { - "description": "Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ] - }, - "value": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "valueminus": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "visible": { - "description": "Determines whether or not this set of error bars is visible.", - "editType": "calc", - "valType": "boolean" - }, - "width": { - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", - "editType": "plot", - "min": 0, - "valType": "number" - } - }, - "error_y": { - "_deprecated": { - "opacity": { - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", - "editType": "style", - "valType": "number" - } - }, - "array": { - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminus": { - "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminussrc": { - "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", - "editType": "none", - "valType": "string" - }, - "arraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `array`.", - "editType": "none", - "valType": "string" - }, - "color": { - "description": "Sets the stoke color of the error bars.", + "description": "Sets the stroke color of the error bars.", "editType": "style", "valType": "color" }, @@ -18147,112 +17042,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -18692,7 +17481,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -18778,7 +17567,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -18788,7 +17577,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -20296,112 +19085,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -20841,7 +19524,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -20927,7 +19610,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -20937,7 +19620,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -23775,107 +22458,6 @@ "valType": "number" }, "aaxis": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Deprecated in favor of `title.font`.", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleoffset": { - "description": "Deprecated in favor of `title.offset`.", - "dflt": 10, - "editType": "calc", - "valType": "number" - } - }, "arraydtick": { "description": "The stride between grid lines along the axis", "dflt": 1, @@ -24419,7 +23001,7 @@ "editType": "calc", "valType": "color" }, - "description": "Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this axis' title font.", "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -24504,14 +23086,14 @@ } }, "offset": { - "description": "An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute.", + "description": "An additional amount by which to offset the title from the tick labels, given in pixels.", "dflt": 10, "editType": "calc", "valType": "number" }, "role": "object", "text": { - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of this axis.", "dflt": "", "editType": "calc", "valType": "string" @@ -24547,107 +23129,6 @@ "valType": "number" }, "baxis": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Deprecated in favor of `title.font`.", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleoffset": { - "description": "Deprecated in favor of `title.offset`.", - "dflt": 10, - "editType": "calc", - "valType": "number" - } - }, "arraydtick": { "description": "The stride between grid lines along the axis", "dflt": 1, @@ -25191,7 +23672,7 @@ "editType": "calc", "valType": "color" }, - "description": "Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this axis' title font.", "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -25276,14 +23757,14 @@ } }, "offset": { - "description": "An additional amount by which to offset the title from the tick labels, given in pixels. Note that this used to be set by the now deprecated `titleoffset` attribute.", + "description": "An additional amount by which to offset the title from the tick labels, given in pixels.", "dflt": 10, "editType": "calc", "valType": "number" }, "role": "object", "text": { - "description": "Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of this axis.", "dflt": "", "editType": "calc", "valType": "string" @@ -25704,112 +24185,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -26249,7 +24624,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -26335,7 +24710,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -26345,7 +24720,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -27107,112 +25482,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -27652,7 +25921,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -27738,7 +26007,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -27748,7 +26017,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -28500,112 +26769,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -29045,7 +27208,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -29131,7 +27294,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -29141,7 +27304,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -29932,112 +28095,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -30477,7 +28534,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -30563,7 +28620,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -30573,7 +28630,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -31383,112 +29440,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -31928,7 +29879,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -32014,7 +29965,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -32024,7 +29975,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -33316,112 +31267,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -33861,7 +31706,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -33947,7 +31792,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -33957,7 +31802,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -34648,112 +32493,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -35193,7 +32932,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -35279,7 +33018,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -35289,7 +33028,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -35979,112 +33718,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -36524,7 +34157,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -36610,7 +34243,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -36620,7 +34253,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -37972,112 +35605,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -38517,7 +36044,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -38603,7 +36130,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -38613,7 +36140,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -40466,7 +37993,7 @@ "editType": "none", "valType": "string" }, - "description": "Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets the font used for `title`.", "editType": "plot", "family": { "arrayOk": true, @@ -40599,7 +38126,7 @@ } }, "position": { - "description": "Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute.", + "description": "Specifies the location of the `title`.", "dflt": "top center", "editType": "plot", "valType": "enumerated", @@ -40611,7 +38138,7 @@ }, "role": "object", "text": { - "description": "Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the chart. If it is empty, no title is displayed.", "dflt": "", "editType": "plot", "valType": "string" @@ -40711,112 +38238,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -41256,7 +38677,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -41342,7 +38763,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -41352,7 +38773,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -42341,818 +39762,346 @@ }, "type": "heatmap" }, - "heatmapgl": { + "histogram": { "animatable": false, "attributes": { - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": false, + "alignmentgroup": { + "description": "Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "autobinx": { + "description": "Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.", + "dflt": null, "editType": "calc", - "impliedEdits": {}, "valType": "boolean" }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", + "autobiny": { + "description": "Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.", "dflt": null, "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" + "valType": "boolean" }, - "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "calc", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, - "bgcolor": { - "description": "Sets the color of padded area.", - "dflt": "rgba(0,0,0,0)", - "editType": "calc", - "valType": "color" - }, - "bordercolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "calc", - "valType": "color" - }, - "borderwidth": { - "description": "Sets the width (in px) or the border enclosing this color bar.", - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "dtick": { - "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", + "bingroup": { + "description": "Set a group of histogram traces which will have compatible bin settings. Note that traces on the same subplot and with the same *orientation* under `barmode` *stack*, *relative* and *group* are forced into the same bingroup, Using `bingroup`, traces under `barmode` *overlay* and on different axes (of the same axis type) can have compatible bin settings. Note that histogram and histogram2d* trace can share the same `bingroup`", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "cliponaxis": { + "description": "Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.", + "dflt": true, + "editType": "plot", + "valType": "boolean" + }, + "constraintext": { + "description": "Constrain the size of text inside or outside a bar to be no larger than the bar itself.", + "dflt": "both", + "editType": "calc", + "valType": "enumerated", + "values": [ + "inside", + "outside", + "both", + "none" + ] + }, + "cumulative": { + "currentbin": { + "description": "Only applies if cumulative is enabled. Sets whether the current bin is included, excluded, or has half of its value included in the current cumulative value. *include* is the default for compatibility with various other tools, however it introduces a half-bin bias to the results. *exclude* makes the opposite half-bin bias, and *half* removes it.", + "dflt": "include", "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" + "valType": "enumerated", + "values": [ + "include", + "exclude", + "half" + ] }, - "editType": "calc", - "exponentformat": { - "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.", - "dflt": "B", + "direction": { + "description": "Only applies if cumulative is enabled. If *increasing* (default) we sum all prior bins, so the result increases from left to right. If *decreasing* we sum later bins so the result decreases from left to right.", + "dflt": "increasing", "editType": "calc", "valType": "enumerated", "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" + "increasing", + "decreasing" ] }, - "labelalias": { - "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", + "editType": "calc", + "enabled": { + "description": "If true, display the cumulative distribution by summing the binned values. Use the `direction` and `centralbin` attributes to tune the accumulation method. Note: in this mode, the *density* `histnorm` settings behave the same as their equivalents without *density*: ** and *density* both rise to the number of data points, and *probability* and *probability density* both rise to the number of sample points.", "dflt": false, "editType": "calc", - "valType": "any" + "valType": "boolean" }, - "len": { - "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", - "dflt": 1, + "role": "object" + }, + "customdata": { + "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", + "editType": "calc", + "valType": "data_array" + }, + "customdatasrc": { + "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", + "editType": "none", + "valType": "string" + }, + "error_x": { + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", "editType": "calc", - "min": 0, - "valType": "number" + "valType": "data_array" }, - "lenmode": { - "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", - "dflt": "fraction", + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", "editType": "calc", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] + "valType": "data_array" }, - "minexponent": { - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", - "dflt": 3, + "arrayminussrc": { + "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", + "editType": "none", + "valType": "string" + }, + "arraysrc": { + "description": "Sets the source reference on Chart Studio Cloud for `array`.", + "editType": "none", + "valType": "string" + }, + "color": { + "description": "Sets the stroke color of the error bars.", + "editType": "style", + "valType": "color" + }, + "copy_ystyle": { + "editType": "plot", + "valType": "boolean" + }, + "editType": "calc", + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", "editType": "calc", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "editType": "style", "min": 0, "valType": "number" }, - "nticks": { - "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", + "traceref": { "dflt": 0, - "editType": "calc", + "editType": "style", "min": 0, "valType": "integer" }, - "orientation": { - "description": "Sets the orientation of the colorbar.", - "dflt": "v", + "tracerefminus": { + "dflt": 0, + "editType": "style", + "min": 0, + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", "editType": "calc", "valType": "enumerated", "values": [ - "h", - "v" + "percent", + "constant", + "sqrt", + "data" ] }, - "outlinecolor": { - "description": "Sets the axis line color.", - "dflt": "#444", + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, "editType": "calc", - "valType": "color" + "min": 0, + "valType": "number" }, - "outlinewidth": { - "description": "Sets the width (in px) of the axis line.", - "dflt": 1, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, "editType": "calc", "min": 0, "valType": "number" }, - "role": "object", - "separatethousands": { - "description": "If \"true\", even 4-digit integers are separated", - "dflt": false, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", "editType": "calc", "valType": "boolean" }, - "showexponent": { - "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", - "dflt": "all", + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "editType": "plot", + "min": 0, + "valType": "number" + } + }, + "error_y": { + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", "editType": "calc", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] + "valType": "data_array" }, - "showticklabels": { - "description": "Determines whether or not the tick labels are drawn.", - "dflt": true, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "editType": "calc", + "valType": "data_array" + }, + "arrayminussrc": { + "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", + "editType": "none", + "valType": "string" + }, + "arraysrc": { + "description": "Sets the source reference on Chart Studio Cloud for `array`.", + "editType": "none", + "valType": "string" + }, + "color": { + "description": "Sets the stroke color of the error bars.", + "editType": "style", + "valType": "color" + }, + "editType": "calc", + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", "editType": "calc", "valType": "boolean" }, - "showtickprefix": { - "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", - "dflt": "all", + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "editType": "style", + "min": 0, + "valType": "number" + }, + "traceref": { + "dflt": 0, + "editType": "style", + "min": 0, + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "editType": "style", + "min": 0, + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", "editType": "calc", "valType": "enumerated", "values": [ - "all", - "first", - "last", - "none" + "percent", + "constant", + "sqrt", + "data" ] }, - "showticksuffix": { - "description": "Same as `showtickprefix` but for tick suffixes.", - "dflt": "all", + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, "editType": "calc", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] + "min": 0, + "valType": "number" }, - "thickness": { - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "dflt": 30, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, "editType": "calc", "min": 0, "valType": "number" }, - "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "dflt": "pixels", + "visible": { + "description": "Determines whether or not this set of error bars is visible.", "editType": "calc", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "editType": "plot", + "min": 0, + "valType": "number" + } + }, + "histfunc": { + "description": "Specifies the binning function used for this histogram trace. If *count*, the histogram values are computed by counting the number of values lying inside each bin. If *sum*, *avg*, *min*, *max*, the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.", + "dflt": "count", + "editType": "calc", + "valType": "enumerated", + "values": [ + "count", + "sum", + "avg", + "min", + "max" + ] + }, + "histnorm": { + "description": "Specifies the type of normalization used for this histogram trace. If **, the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If *percent* / *probability*, the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If *density*, the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If *probability density*, the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).", + "dflt": "", + "editType": "calc", + "valType": "enumerated", + "values": [ + "", + "percent", + "probability", + "density", + "probability density" + ] + }, + "hoverinfo": { + "arrayOk": true, + "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "dflt": "all", + "editType": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "valType": "flaglist" + }, + "hoverinfosrc": { + "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", + "editType": "none", + "valType": "string" + }, + "hoverlabel": { + "align": { + "arrayOk": true, + "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", + "dflt": "auto", + "editType": "none", "valType": "enumerated", "values": [ - "fraction", - "pixels" + "left", + "right", + "auto" ] }, - "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "calc", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "tickangle": { - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", - "dflt": "auto", - "editType": "calc", - "valType": "angle" + "alignsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `align`.", + "editType": "none", + "valType": "string" }, - "tickcolor": { - "description": "Sets the tick color.", - "dflt": "#444", - "editType": "calc", - "valType": "color" - }, - "tickfont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Sets the color bar's tick label font", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "tickformat": { - "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "tickformatstops": { - "items": { - "tickformatstop": { - "dtickrange": { - "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "calc", - "items": [ - { - "editType": "calc", - "valType": "any" - }, - { - "editType": "calc", - "valType": "any" - } - ], - "valType": "info_array" - }, - "editType": "calc", - "enabled": { - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "calc", - "valType": "string" - }, - "role": "object", - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "calc", - "valType": "string" - }, - "value": { - "description": "string - dtickformat for described zoom level, the same as *tickformat*", - "dflt": "", - "editType": "calc", - "valType": "string" - } - } - }, - "role": "object" - }, - "ticklabeloverflow": { - "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] - }, - "ticklabelposition": { - "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", - "dflt": "outside", - "editType": "calc", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" - ] - }, - "ticklabelstep": { - "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", - "dflt": 1, - "editType": "calc", - "min": 1, - "valType": "integer" - }, - "ticklen": { - "description": "Sets the tick length (in px).", - "dflt": 5, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "tickmode": { - "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "calc", - "impliedEdits": {}, - "valType": "enumerated", - "values": [ - "auto", - "linear", - "array" - ] - }, - "tickprefix": { - "description": "Sets a tick label prefix.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "ticks": { - "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", - "dflt": "", - "editType": "calc", - "valType": "enumerated", - "values": [ - "outside", - "inside", - "" - ] - }, - "ticksuffix": { - "description": "Sets a tick label suffix.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "ticktext": { - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "calc", - "valType": "data_array" - }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, - "tickvals": { - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "calc", - "valType": "data_array" - }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, - "tickwidth": { - "description": "Sets the tick width (in px).", - "dflt": 1, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "title": { - "editType": "calc", - "font": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - }, - "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "calc", - "valType": "string" - } - }, - "x": { - "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", - "editType": "calc", - "valType": "number" - }, - "xanchor": { - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ] - }, - "xpad": { - "description": "Sets the amount of padding (in px) along the x direction.", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "xref": { - "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", - "dflt": "paper", - "editType": "calc", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] - }, - "y": { - "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", - "editType": "calc", - "valType": "number" - }, - "yanchor": { - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "top", - "middle", - "bottom" - ] - }, - "ypad": { - "description": "Sets the amount of padding (in px) along the y direction.", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "yref": { - "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", - "dflt": "paper", - "editType": "calc", - "valType": "enumerated", - "values": [ - "container", - "paper" - ] - } - }, - "colorscale": { - "description": "Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `zmin` and `zmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "autocolorscale": false - }, - "valType": "colorscale" - }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", - "editType": "calc", - "valType": "data_array" - }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "dx": { - "description": "Sets the x coordinate step. See `x0` for more info.", - "dflt": 1, - "editType": "calc", - "impliedEdits": { - "xtype": "scaled" - }, - "valType": "number" - }, - "dy": { - "description": "Sets the y coordinate step. See `y0` for more info.", - "dflt": 1, - "editType": "calc", - "impliedEdits": { - "ytype": "scaled" - }, - "valType": "number" - }, - "hoverinfo": { - "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "valType": "flaglist" - }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "none", - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ] - }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "none", + "bgcolor": { + "arrayOk": true, + "description": "Sets the background color of the hover labels for this trace", + "editType": "none", "valType": "color" }, "bgcolorsrc": { @@ -43330,22 +40279,152 @@ }, "role": "object" }, - "ids": { - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", - "editType": "calc", - "valType": "data_array" + "hovertemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `binNumber` Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", + "dflt": "", + "editType": "none", + "valType": "string" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", + "hovertemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", "editType": "none", "valType": "string" }, - "legend": { - "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", + "hovertext": { + "arrayOk": true, + "description": "Same as `text`.", + "dflt": "", + "editType": "style", + "valType": "string" + }, + "hovertextsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", + "editType": "none", + "valType": "string" + }, + "ids": { + "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", + "editType": "calc", + "valType": "data_array" + }, + "idssrc": { + "description": "Sets the source reference on Chart Studio Cloud for `ids`.", + "editType": "none", + "valType": "string" + }, + "insidetextanchor": { + "description": "Determines if texts are kept at center or start/end points in `textposition` *inside* mode.", + "dflt": "end", + "editType": "plot", + "valType": "enumerated", + "values": [ + "end", + "middle", + "start" + ] + }, + "insidetextfont": { + "color": { + "editType": "style", + "valType": "color" + }, + "description": "Sets the font used for `text` lying inside the bar.", + "editType": "plot", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "size": { + "editType": "plot", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "legend": { + "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", "dflt": "legend", "editType": "style", "valType": "subplotid" }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "editType": "style", + "valType": "string" + }, "legendgrouptitle": { "editType": "style", "font": { @@ -43457,1487 +40536,342 @@ "min": 0, "valType": "number" }, - "meta": { - "arrayOk": true, - "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", - "editType": "plot", - "valType": "any" - }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, - "name": { - "description": "Sets the trace name. The trace name appears as the legend item and on hover.", - "editType": "style", - "valType": "string" - }, - "opacity": { - "description": "Sets the opacity of the trace.", - "dflt": 1, - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "reversescale": { - "description": "Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - }, - "showscale": { - "description": "Determines whether or not a colorbar is displayed for this trace.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, - "text": { - "description": "Sets the text elements associated with each z value.", - "editType": "calc", - "valType": "data_array" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, - "transforms": { - "items": { - "transform": { - "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "editType": "calc", - "role": "object" - } - }, - "role": "object" - }, - "transpose": { - "description": "Transposes the z data.", - "dflt": false, - "editType": "calc", - "valType": "boolean" - }, - "type": "heatmapgl", - "uid": { - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", - "editType": "plot", - "valType": "string" - }, - "uirevision": { - "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", - "editType": "none", - "valType": "any" - }, - "visible": { - "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", - "dflt": true, - "editType": "calc", - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ] - }, - "x": { - "description": "Sets the x coordinates.", - "editType": "calc", - "impliedEdits": { - "xtype": "array" - }, - "valType": "data_array" - }, - "x0": { - "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", - "dflt": 0, - "editType": "calc", - "impliedEdits": { - "xtype": "scaled" - }, - "valType": "any" - }, - "xaxis": { - "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, - "xtype": { - "description": "If *array*, the heatmap's x coordinates are given by *x* (the default behavior when `x` is provided). If *scaled*, the heatmap's x coordinates are given by *x0* and *dx* (the default behavior when `x` is not provided).", - "editType": "calc", - "valType": "enumerated", - "values": [ - "array", - "scaled" - ] - }, - "y": { - "description": "Sets the y coordinates.", - "editType": "calc", - "impliedEdits": { - "ytype": "array" - }, - "valType": "data_array" - }, - "y0": { - "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", - "dflt": 0, - "editType": "calc", - "impliedEdits": { - "ytype": "scaled" - }, - "valType": "any" - }, - "yaxis": { - "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" - }, - "ytype": { - "description": "If *array*, the heatmap's y coordinates are given by *y* (the default behavior when `y` is provided) If *scaled*, the heatmap's y coordinates are given by *y0* and *dy* (the default behavior when `y` is not provided)", - "editType": "calc", - "valType": "enumerated", - "values": [ - "array", - "scaled" - ] - }, - "z": { - "description": "Sets the z data.", - "editType": "calc", - "valType": "data_array" - }, - "zauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "zmax": { - "description": "Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "valType": "number" - }, - "zmid": { - "description": "Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "valType": "number" - }, - "zmin": { - "description": "Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "zauto": false - }, - "valType": "number" - }, - "zsmooth": { - "description": "Picks a smoothing algorithm use to smooth `z` data.", - "dflt": "fast", - "editType": "calc", - "valType": "enumerated", - "values": [ - "fast", - false - ] - }, - "zsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `z`.", - "editType": "none", - "valType": "string" - } - }, - "categories": [ - "gl", - "gl2d", - "2dMap" - ], - "meta": { - "description": "*heatmapgl* trace is deprecated! Please consider switching to the *heatmap* or *image* trace types. Alternatively you could contribute/sponsor rewriting this trace type based on cartesian features and using regl framework. WebGL version of the heatmap trace type." - }, - "type": "heatmapgl" - }, - "histogram": { - "animatable": false, - "attributes": { - "_deprecated": { - "bardir": { - "description": "Renamed to `orientation`.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "v", - "h" - ] - } - }, - "alignmentgroup": { - "description": "Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "autobinx": { - "description": "Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.", - "dflt": null, - "editType": "calc", - "valType": "boolean" - }, - "autobiny": { - "description": "Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.", - "dflt": null, - "editType": "calc", - "valType": "boolean" - }, - "bingroup": { - "description": "Set a group of histogram traces which will have compatible bin settings. Note that traces on the same subplot and with the same *orientation* under `barmode` *stack*, *relative* and *group* are forced into the same bingroup, Using `bingroup`, traces under `barmode` *overlay* and on different axes (of the same axis type) can have compatible bin settings. Note that histogram and histogram2d* trace can share the same `bingroup`", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "cliponaxis": { - "description": "Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.", - "dflt": true, - "editType": "plot", - "valType": "boolean" - }, - "constraintext": { - "description": "Constrain the size of text inside or outside a bar to be no larger than the bar itself.", - "dflt": "both", - "editType": "calc", - "valType": "enumerated", - "values": [ - "inside", - "outside", - "both", - "none" - ] - }, - "cumulative": { - "currentbin": { - "description": "Only applies if cumulative is enabled. Sets whether the current bin is included, excluded, or has half of its value included in the current cumulative value. *include* is the default for compatibility with various other tools, however it introduces a half-bin bias to the results. *exclude* makes the opposite half-bin bias, and *half* removes it.", - "dflt": "include", - "editType": "calc", - "valType": "enumerated", - "values": [ - "include", - "exclude", - "half" - ] - }, - "direction": { - "description": "Only applies if cumulative is enabled. If *increasing* (default) we sum all prior bins, so the result increases from left to right. If *decreasing* we sum later bins so the result decreases from left to right.", - "dflt": "increasing", + "marker": { + "autocolorscale": { + "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", + "dflt": true, "editType": "calc", - "valType": "enumerated", - "values": [ - "increasing", - "decreasing" - ] + "impliedEdits": {}, + "valType": "boolean" }, - "editType": "calc", - "enabled": { - "description": "If true, display the cumulative distribution by summing the binned values. Use the `direction` and `centralbin` attributes to tune the accumulation method. Note: in this mode, the *density* `histnorm` settings behave the same as their equivalents without *density*: ** and *density* both rise to the number of data points, and *probability* and *probability density* both rise to the number of sample points.", - "dflt": false, + "cauto": { + "description": "Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.", + "dflt": true, "editType": "calc", + "impliedEdits": {}, "valType": "boolean" }, - "role": "object" - }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", - "editType": "calc", - "valType": "data_array" - }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "error_x": { - "_deprecated": { - "opacity": { - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", - "editType": "style", - "valType": "number" - } - }, - "array": { - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" + "cmax": { + "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "cauto": false + }, + "valType": "number" }, - "arrayminus": { - "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "cmid": { + "description": "Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.", + "dflt": null, "editType": "calc", - "valType": "data_array" - }, - "arrayminussrc": { - "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", - "editType": "none", - "valType": "string" + "impliedEdits": {}, + "valType": "number" }, - "arraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `array`.", - "editType": "none", - "valType": "string" + "cmin": { + "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.", + "dflt": null, + "editType": "plot", + "impliedEdits": { + "cauto": false + }, + "valType": "number" }, "color": { - "description": "Sets the stoke color of the error bars.", + "arrayOk": true, + "description": "Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.", "editType": "style", "valType": "color" }, - "copy_ystyle": { - "editType": "plot", - "valType": "boolean" - }, - "editType": "calc", - "role": "object", - "symmetric": { - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", - "editType": "calc", - "valType": "boolean" - }, - "thickness": { - "description": "Sets the thickness (in px) of the error bars.", - "dflt": 2, - "editType": "style", - "min": 0, - "valType": "number" - }, - "traceref": { - "dflt": 0, - "editType": "style", - "min": 0, - "valType": "integer" - }, - "tracerefminus": { - "dflt": 0, - "editType": "style", - "min": 0, - "valType": "integer" - }, - "type": { - "description": "Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ] - }, - "value": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "valueminus": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "visible": { - "description": "Determines whether or not this set of error bars is visible.", - "editType": "calc", - "valType": "boolean" - }, - "width": { - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", - "editType": "plot", - "min": 0, - "valType": "number" - } - }, - "error_y": { - "_deprecated": { - "opacity": { - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", - "editType": "style", - "valType": "number" - } - }, - "array": { - "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminus": { - "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", - "editType": "calc", - "valType": "data_array" - }, - "arrayminussrc": { - "description": "Sets the source reference on Chart Studio Cloud for `arrayminus`.", - "editType": "none", - "valType": "string" - }, - "arraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `array`.", - "editType": "none", - "valType": "string" - }, - "color": { - "description": "Sets the stoke color of the error bars.", - "editType": "style", - "valType": "color" - }, - "editType": "calc", - "role": "object", - "symmetric": { - "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", - "editType": "calc", - "valType": "boolean" - }, - "thickness": { - "description": "Sets the thickness (in px) of the error bars.", - "dflt": 2, - "editType": "style", - "min": 0, - "valType": "number" - }, - "traceref": { - "dflt": 0, - "editType": "style", - "min": 0, - "valType": "integer" - }, - "tracerefminus": { - "dflt": 0, - "editType": "style", - "min": 0, - "valType": "integer" - }, - "type": { - "description": "Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the square of the underlying data. If *data*, the bar lengths are set with data set `array`.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "percent", - "constant", - "sqrt", - "data" - ] - }, - "value": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "valueminus": { - "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", - "dflt": 10, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "visible": { - "description": "Determines whether or not this set of error bars is visible.", + "coloraxis": { + "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", + "dflt": null, "editType": "calc", - "valType": "boolean" - }, - "width": { - "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", - "editType": "plot", - "min": 0, - "valType": "number" - } - }, - "histfunc": { - "description": "Specifies the binning function used for this histogram trace. If *count*, the histogram values are computed by counting the number of values lying inside each bin. If *sum*, *avg*, *min*, *max*, the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.", - "dflt": "count", - "editType": "calc", - "valType": "enumerated", - "values": [ - "count", - "sum", - "avg", - "min", - "max" - ] - }, - "histnorm": { - "description": "Specifies the type of normalization used for this histogram trace. If **, the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If *percent* / *probability*, the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If *density*, the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If *probability density*, the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).", - "dflt": "", - "editType": "calc", - "valType": "enumerated", - "values": [ - "", - "percent", - "probability", - "density", - "probability density" - ] - }, - "hoverinfo": { - "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "valType": "flaglist" - }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "none", - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ] - }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "none", - "valType": "color" - }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "bordercolor": { - "arrayOk": true, - "description": "Sets the border color of the hover labels for this trace.", - "editType": "none", - "valType": "color" - }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", + "valType": "subplotid" }, - "editType": "none", - "font": { - "color": { - "arrayOk": true, - "editType": "none", + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "editType": "colorbars", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" }, - "description": "Sets the font used in hover labels.", - "editType": "none", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "none", - "noBlank": true, - "strict": true, - "valType": "string" + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "editType": "colorbars", + "min": 0, + "valType": "number" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" + "dtick": { + "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" + "editType": "colorbars", + "exponentformat": { + "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.", + "dflt": "B", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" + "labelalias": { + "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", + "dflt": false, + "editType": "colorbars", + "valType": "any" }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "none", - "valType": "string" + "len": { + "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", + "dflt": 1, + "editType": "colorbars", + "min": 0, + "valType": "number" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" + "lenmode": { + "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", + "dflt": "fraction", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] }, - "size": { - "arrayOk": true, - "editType": "none", - "min": 1, + "minexponent": { + "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", + "dflt": 3, + "editType": "colorbars", + "min": 0, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" + "nticks": { + "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "editType": "colorbars", + "min": 0, + "valType": "integer" }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "none", + "orientation": { + "description": "Sets the orientation of the colorbar.", + "dflt": "v", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "italic" + "h", + "v" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "none", + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "role": "object", + "separatethousands": { + "description": "If \"true\", even 4-digit integers are separated", + "dflt": false, + "editType": "colorbars", + "valType": "boolean" + }, + "showexponent": { + "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", + "dflt": "all", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "word caps", - "upper", - "lower" + "all", + "first", + "last", + "none" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "editType": "colorbars", + "valType": "boolean" }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "none", + "showtickprefix": { + "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", + "dflt": "all", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "all", + "first", + "last", + "none" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "editType": "colorbars", + "min": 0, + "valType": "number" }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "none", - "min": -1, - "valType": "integer" - }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, - "role": "object" - }, - "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variable `binNumber` Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, - "hovertext": { - "arrayOk": true, - "description": "Same as `text`.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, - "ids": { - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", - "editType": "calc", - "valType": "data_array" - }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "insidetextanchor": { - "description": "Determines if texts are kept at center or start/end points in `textposition` *inside* mode.", - "dflt": "end", - "editType": "plot", - "valType": "enumerated", - "values": [ - "end", - "middle", - "start" - ] - }, - "insidetextfont": { - "color": { - "editType": "style", - "valType": "color" - }, - "description": "Sets the font used for `text` lying inside the bar.", - "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "size": { - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "legend": { - "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", - "dflt": "legend", - "editType": "style", - "valType": "subplotid" - }, - "legendgroup": { - "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "legendgrouptitle": { - "editType": "style", - "font": { - "color": { - "editType": "style", - "valType": "color" - }, - "description": "Sets this legend group's title font.", - "editType": "style", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "style", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "style", - "valType": "string" - }, - "size": { - "editType": "style", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "style", + "thicknessmode": { + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", + "dflt": "pixels", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "word caps", - "upper", - "lower" + "fraction", + "pixels" ] }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "text": { - "description": "Sets the title of the legend group.", - "dflt": "", - "editType": "style", - "valType": "string" - } - }, - "legendrank": { - "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", - "dflt": 1000, - "editType": "style", - "valType": "number" - }, - "legendwidth": { - "description": "Sets the width (in px or fraction) of the legend for this trace.", - "editType": "style", - "min": 0, - "valType": "number" - }, - "marker": { - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `marker.colorscale`. Has an effect only if in `marker.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here in `marker.color`) or the bounds set in `marker.cmin` and `marker.cmax` Has an effect only if in `marker.color` is set to a numerical array. Defaults to `false` when `marker.cmin` and `marker.cmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cmax": { - "description": "Sets the upper bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmin` must be set as well.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "editType": "colorbars", + "valType": "angle" }, - "valType": "number" - }, - "cmid": { - "description": "Sets the mid-point of the color domain by scaling `marker.cmin` and/or `marker.cmax` to be equidistant to this point. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color`. Has no effect when `marker.cauto` is `false`.", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "valType": "number" - }, - "cmin": { - "description": "Sets the lower bound of the color domain. Has an effect only if in `marker.color` is set to a numerical array. Value should have the same units as in `marker.color` and if set, `marker.cmax` must be set as well.", - "dflt": null, - "editType": "plot", - "impliedEdits": { - "cauto": false + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" }, - "valType": "number" - }, - "color": { - "arrayOk": true, - "description": "Sets the marker color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `marker.cmin` and `marker.cmax` if set.", - "editType": "style", - "valType": "color" - }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", - "dflt": null, - "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" - }, - "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", + "tickfont": { + "color": { "editType": "colorbars", + "valType": "color" + }, + "description": "Sets the color bar's tick label font", + "editType": "colorbars", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "colorbars", + "noBlank": true, + "strict": true, "valType": "string" }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, + "size": { + "editType": "colorbars", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", "editType": "colorbars", "valType": "enumerated", "values": [ - "right", - "top", - "bottom" + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "colorbars", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, - "bgcolor": { - "description": "Sets the color of padded area.", - "dflt": "rgba(0,0,0,0)", - "editType": "colorbars", - "valType": "color" - }, - "bordercolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "borderwidth": { - "description": "Sets the width (in px) or the border enclosing this color bar.", - "dflt": 0, + "tickformat": { + "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", + "dflt": "", "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "dtick": { - "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "editType": "colorbars", - "exponentformat": { - "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.", - "dflt": "B", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ] - }, - "labelalias": { - "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", - "dflt": false, - "editType": "colorbars", - "valType": "any" - }, - "len": { - "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "lenmode": { - "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", - "dflt": "fraction", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "minexponent": { - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", - "dflt": 3, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "nticks": { - "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", - "dflt": 0, - "editType": "colorbars", - "min": 0, - "valType": "integer" - }, - "orientation": { - "description": "Sets the orientation of the colorbar.", - "dflt": "v", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "h", - "v" - ] - }, - "outlinecolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "outlinewidth": { - "description": "Sets the width (in px) of the axis line.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "role": "object", - "separatethousands": { - "description": "If \"true\", even 4-digit integers are separated", - "dflt": false, - "editType": "colorbars", - "valType": "boolean" - }, - "showexponent": { - "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticklabels": { - "description": "Determines whether or not the tick labels are drawn.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" - }, - "showtickprefix": { - "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "showticksuffix": { - "description": "Same as `showtickprefix` but for tick suffixes.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] - }, - "thickness": { - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "dflt": 30, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "dflt": "pixels", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "tickangle": { - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", - "dflt": "auto", - "editType": "colorbars", - "valType": "angle" - }, - "tickcolor": { - "description": "Sets the tick color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "tickfont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "tickformat": { - "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", - "dflt": "", - "editType": "colorbars", - "valType": "string" + "valType": "string" }, "tickformatstops": { "items": { @@ -45095,7 +41029,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -45181,7 +41115,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -45191,7 +41125,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -46112,112 +42046,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -46657,7 +42485,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -46743,7 +42571,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -46753,7 +42581,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -47726,112 +43554,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -48271,7 +43993,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -48357,7 +44079,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -48367,7 +44089,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -50203,112 +45925,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -50748,7 +46364,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -50834,7 +46450,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -50844,7 +46460,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -53683,112 +49299,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "calc", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -54228,7 +49738,7 @@ "editType": "calc", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -54314,7 +49824,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "calc", "valType": "enumerated", "values": [ @@ -54324,7 +49834,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "calc", "valType": "string" } @@ -55309,112 +50819,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -55854,7 +51258,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -55940,7 +51344,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -55950,7 +51354,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -56859,1924 +52263,508 @@ }, "closesrc": { "description": "Sets the source reference on Chart Studio Cloud for `close`.", - "editType": "none", - "valType": "string" - }, - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", - "editType": "calc", - "valType": "data_array" - }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", - "editType": "none", - "valType": "string" - }, - "decreasing": { - "editType": "style", - "line": { - "color": { - "description": "Sets the line color.", - "dflt": "#FF4136", - "editType": "style", - "valType": "color" - }, - "dash": { - "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", - "dflt": "solid", - "editType": "style", - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] - }, - "editType": "style", - "role": "object", - "width": { - "description": "Sets the line width (in px).", - "dflt": 2, - "editType": "style", - "min": 0, - "valType": "number" - } - }, - "role": "object" - }, - "high": { - "description": "Sets the high values.", - "editType": "calc", - "valType": "data_array" - }, - "highsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `high`.", - "editType": "none", - "valType": "string" - }, - "hoverinfo": { - "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "x", - "y", - "z", - "text", - "name" - ], - "valType": "flaglist" - }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "none", - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ] - }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "none", - "valType": "color" - }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "bordercolor": { - "arrayOk": true, - "description": "Sets the border color of the hover labels for this trace.", - "editType": "none", - "valType": "color" - }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, - "editType": "none", - "font": { - "color": { - "arrayOk": true, - "editType": "none", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used in hover labels.", - "editType": "none", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "none", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "none", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "none", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "none", - "min": -1, - "valType": "integer" - }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "split": { - "description": "Show hover information (open, close, high, low) in separate labels.", - "dflt": false, - "editType": "style", - "valType": "boolean" - } - }, - "hovertext": { - "arrayOk": true, - "description": "Same as `text`.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, - "ids": { - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", - "editType": "calc", - "valType": "data_array" - }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" - }, - "increasing": { - "editType": "style", - "line": { - "color": { - "description": "Sets the line color.", - "dflt": "#3D9970", - "editType": "style", - "valType": "color" - }, - "dash": { - "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", - "dflt": "solid", - "editType": "style", - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] - }, - "editType": "style", - "role": "object", - "width": { - "description": "Sets the line width (in px).", - "dflt": 2, - "editType": "style", - "min": 0, - "valType": "number" - } - }, - "role": "object" - }, - "legend": { - "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", - "dflt": "legend", - "editType": "style", - "valType": "subplotid" - }, - "legendgroup": { - "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "legendgrouptitle": { - "editType": "style", - "font": { - "color": { - "editType": "style", - "valType": "color" - }, - "description": "Sets this legend group's title font.", - "editType": "style", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "style", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "style", - "valType": "string" - }, - "size": { - "editType": "style", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "text": { - "description": "Sets the title of the legend group.", - "dflt": "", - "editType": "style", - "valType": "string" - } - }, - "legendrank": { - "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", - "dflt": 1000, - "editType": "style", - "valType": "number" - }, - "legendwidth": { - "description": "Sets the width (in px or fraction) of the legend for this trace.", - "editType": "style", - "min": 0, - "valType": "number" - }, - "line": { - "dash": { - "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*). Note that this style setting can also be set per direction via `increasing.line.dash` and `decreasing.line.dash`.", - "dflt": "solid", - "editType": "style", - "valType": "string", - "values": [ - "solid", - "dot", - "dash", - "longdash", - "dashdot", - "longdashdot" - ] - }, - "editType": "style", - "role": "object", - "width": { - "description": "[object Object] Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`.", - "dflt": 2, - "editType": "style", - "min": 0, - "valType": "number" - } - }, - "low": { - "description": "Sets the low values.", - "editType": "calc", - "valType": "data_array" - }, - "lowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `low`.", - "editType": "none", - "valType": "string" - }, - "meta": { - "arrayOk": true, - "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", - "editType": "plot", - "valType": "any" - }, - "metasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `meta`.", - "editType": "none", - "valType": "string" - }, - "name": { - "description": "Sets the trace name. The trace name appears as the legend item and on hover.", - "editType": "style", - "valType": "string" - }, - "opacity": { - "description": "Sets the opacity of the trace.", - "dflt": 1, - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "open": { - "description": "Sets the open values.", - "editType": "calc", - "valType": "data_array" - }, - "opensrc": { - "description": "Sets the source reference on Chart Studio Cloud for `open`.", - "editType": "none", - "valType": "string" - }, - "selectedpoints": { - "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", - "editType": "calc", - "valType": "any" - }, - "showlegend": { - "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", - "dflt": true, - "editType": "style", - "valType": "boolean" - }, - "stream": { - "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } - }, - "text": { - "arrayOk": true, - "description": "Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, - "tickwidth": { - "description": "Sets the width of the open/close tick marks relative to the *x* minimal interval.", - "dflt": 0.3, - "editType": "calc", - "max": 0.5, - "min": 0, - "valType": "number" - }, - "transforms": { - "items": { - "transform": { - "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", - "editType": "calc", - "role": "object" - } - }, - "role": "object" - }, - "type": "ohlc", - "uid": { - "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", - "editType": "plot", - "valType": "string" - }, - "uirevision": { - "description": "Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves.", - "editType": "none", - "valType": "any" - }, - "visible": { - "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", - "dflt": true, - "editType": "calc", - "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ] - }, - "x": { - "description": "Sets the x coordinates. If absent, linear coordinate will be generated.", - "editType": "calc+clearAxisTypes", - "valType": "data_array" - }, - "xaxis": { - "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "xcalendar": { - "description": "Sets the calendar system to use with `x` date data.", - "dflt": "gregorian", - "editType": "calc", - "valType": "enumerated", - "values": [ - "chinese", - "coptic", - "discworld", - "ethiopian", - "gregorian", - "hebrew", - "islamic", - "jalali", - "julian", - "mayan", - "nanakshahi", - "nepali", - "persian", - "taiwan", - "thai", - "ummalqura" - ] - }, - "xhoverformat": { - "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "xperiod": { - "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", - "dflt": 0, - "editType": "calc", - "valType": "any" - }, - "xperiod0": { - "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", - "editType": "calc", - "valType": "any" - }, - "xperiodalignment": { - "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.", - "dflt": "middle", - "editType": "calc", - "valType": "enumerated", - "values": [ - "start", - "middle", - "end" - ] - }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" - }, - "yaxis": { - "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "yhoverformat": { - "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "zorder": { - "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", - "dflt": 0, - "editType": "plot", - "valType": "integer" - } - }, - "categories": [ - "cartesian", - "svg", - "showLegend" - ], - "meta": { - "description": "The ohlc (short for Open-High-Low-Close) is a style of financial chart describing open, high, low and close for a given `x` coordinate (most likely time). The tip of the lines represent the `low` and `high` values and the horizontal segments represent the `open` and `close` values. Sample points where the close value is higher (lower) then the open value are called increasing (decreasing). By default, increasing items are drawn in green whereas decreasing are drawn in red." - }, - "type": "ohlc" - }, - "parcats": { - "animatable": false, - "attributes": { - "arrangement": { - "description": "Sets the drag interaction mode for categories and dimensions. If `perpendicular`, the categories can only move along a line perpendicular to the paths. If `freeform`, the categories can freely move on the plane. If `fixed`, the categories and dimensions are stationary.", - "dflt": "perpendicular", - "editType": "plot", - "valType": "enumerated", - "values": [ - "perpendicular", - "freeform", - "fixed" - ] - }, - "bundlecolors": { - "description": "Sort paths so that like colors are bundled together within each category.", - "dflt": true, - "editType": "plot", - "valType": "boolean" - }, - "counts": { - "arrayOk": true, - "description": "The number of observations represented by each state. Defaults to 1 so that each state represents one observation", - "dflt": 1, - "editType": "calc", - "min": 0, - "valType": "number" - }, - "countssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `counts`.", - "editType": "none", - "valType": "string" - }, - "dimensions": { - "items": { - "dimension": { - "categoryarray": { - "description": "Sets the order in which categories in this dimension appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.", - "editType": "calc", - "valType": "data_array" - }, - "categoryarraysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `categoryarray`.", - "editType": "none", - "valType": "string" - }, - "categoryorder": { - "description": "Specifies the ordering logic for the categories in the dimension. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`.", - "dflt": "trace", - "editType": "calc", - "valType": "enumerated", - "values": [ - "trace", - "category ascending", - "category descending", - "array" - ] - }, - "description": "The dimensions (variables) of the parallel categories diagram.", - "displayindex": { - "description": "The display index of dimension, from left to right, zero indexed, defaults to dimension index.", - "editType": "calc", - "valType": "integer" - }, - "editType": "calc", - "label": { - "description": "The shown name of the dimension.", - "editType": "calc", - "valType": "string" - }, - "role": "object", - "ticktext": { - "description": "Sets alternative tick labels for the categories in this dimension. Only has an effect if `categoryorder` is set to *array*. Should be an array the same length as `categoryarray` Used with `categoryorder`.", - "editType": "calc", - "valType": "data_array" - }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", - "editType": "none", - "valType": "string" - }, - "values": { - "description": "Dimension values. `values[n]` represents the category value of the `n`th point in the dataset, therefore the `values` vector for all dimensions must be the same (longer vectors will be truncated).", - "dflt": [], - "editType": "calc", - "valType": "data_array" - }, - "valuessrc": { - "description": "Sets the source reference on Chart Studio Cloud for `values`.", - "editType": "none", - "valType": "string" - }, - "visible": { - "description": "Shows the dimension when set to `true` (the default). Hides the dimension for `false`.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - } - } - }, - "role": "object" - }, - "domain": { - "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this parcats trace .", - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" - }, - "editType": "calc", - "role": "object", - "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this parcats trace .", - "dflt": 0, - "editType": "calc", - "min": 0, - "valType": "integer" - }, - "x": { - "description": "Sets the horizontal domain of this parcats trace (in plot fraction).", - "dflt": [ - 0, - 1 - ], - "editType": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ], - "valType": "info_array" - }, - "y": { - "description": "Sets the vertical domain of this parcats trace (in plot fraction).", - "dflt": [ - 0, - 1 - ], - "editType": "calc", - "items": [ - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - { - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - } - ], - "valType": "info_array" - } - }, - "hoverinfo": { - "arrayOk": false, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "plot", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "count", - "probability" - ], - "valType": "flaglist" - }, - "hoveron": { - "description": "Sets the hover interaction mode for the parcats diagram. If `category`, hover interaction take place per category. If `color`, hover interactions take place per color per category. If `dimension`, hover interactions take place across all categories per dimension.", - "dflt": "category", - "editType": "plot", - "valType": "enumerated", - "values": [ - "category", - "color", - "dimension" - ] - }, - "hovertemplate": { - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. This value here applies when hovering over dimensions. Note that `*categorycount`, *colorcount* and *bandcolorcount* are only available when `hoveron` contains the *color* flagFinally, the template string has access to variables `count`, `probability`, `category`, `categorycount`, `colorcount` and `bandcolorcount`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "labelfont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Sets the font for the `dimension` labels.", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "legendgrouptitle": { - "editType": "style", - "font": { - "color": { - "editType": "style", - "valType": "color" - }, - "description": "Sets this legend group's title font.", - "editType": "style", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "style", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "style", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "style", - "valType": "string" - }, - "size": { - "editType": "style", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "text": { - "description": "Sets the title of the legend group.", - "dflt": "", - "editType": "style", - "valType": "string" - } - }, - "legendwidth": { - "description": "Sets the width (in px or fraction) of the legend for this trace.", - "editType": "style", - "min": 0, - "valType": "number" - }, - "line": { - "autocolorscale": { - "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cauto": { - "description": "Determines whether or not the color domain is computed with respect to the input data (here in `line.color`) or the bounds set in `line.cmin` and `line.cmax` Has an effect only if in `line.color` is set to a numerical array. Defaults to `false` when `line.cmin` and `line.cmax` are set by the user.", - "dflt": true, - "editType": "calc", - "impliedEdits": {}, - "valType": "boolean" - }, - "cmax": { - "description": "Sets the upper bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmin` must be set as well.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "valType": "number" - }, - "cmid": { - "description": "Sets the mid-point of the color domain by scaling `line.cmin` and/or `line.cmax` to be equidistant to this point. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color`. Has no effect when `line.cauto` is `false`.", - "dflt": null, - "editType": "calc", - "impliedEdits": {}, - "valType": "number" - }, - "cmin": { - "description": "Sets the lower bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmax` must be set as well.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "cauto": false - }, - "valType": "number" - }, - "color": { - "arrayOk": true, - "description": "Sets the line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `line.cmin` and `line.cmax` if set.", - "editType": "calc", - "valType": "color" - }, - "coloraxis": { - "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", - "dflt": null, - "editType": "calc", - "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", - "valType": "subplotid" - }, - "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, - "bgcolor": { - "description": "Sets the color of padded area.", - "dflt": "rgba(0,0,0,0)", - "editType": "colorbars", - "valType": "color" - }, - "bordercolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "borderwidth": { - "description": "Sets the width (in px) or the border enclosing this color bar.", - "dflt": 0, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "dtick": { - "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "editType": "colorbars", - "exponentformat": { - "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.", - "dflt": "B", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "none", - "e", - "E", - "power", - "SI", - "B" - ] - }, - "labelalias": { - "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", - "dflt": false, - "editType": "colorbars", - "valType": "any" - }, - "len": { - "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", - "dflt": 1, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "lenmode": { - "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", - "dflt": "fraction", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "minexponent": { - "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", - "dflt": 3, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "nticks": { - "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", - "dflt": 0, - "editType": "colorbars", - "min": 0, - "valType": "integer" + "editType": "none", + "valType": "string" + }, + "customdata": { + "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", + "editType": "calc", + "valType": "data_array" + }, + "customdatasrc": { + "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", + "editType": "none", + "valType": "string" + }, + "decreasing": { + "editType": "style", + "line": { + "color": { + "description": "Sets the line color.", + "dflt": "#FF4136", + "editType": "style", + "valType": "color" }, - "orientation": { - "description": "Sets the orientation of the colorbar.", - "dflt": "v", - "editType": "colorbars", - "valType": "enumerated", + "dash": { + "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", + "dflt": "solid", + "editType": "style", + "valType": "string", "values": [ - "h", - "v" + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" ] }, - "outlinecolor": { - "description": "Sets the axis line color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" - }, - "outlinewidth": { - "description": "Sets the width (in px) of the axis line.", - "dflt": 1, - "editType": "colorbars", + "editType": "style", + "role": "object", + "width": { + "description": "Sets the line width (in px).", + "dflt": 2, + "editType": "style", "min": 0, "valType": "number" + } + }, + "role": "object" + }, + "high": { + "description": "Sets the high values.", + "editType": "calc", + "valType": "data_array" + }, + "highsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `high`.", + "editType": "none", + "valType": "string" + }, + "hoverinfo": { + "arrayOk": true, + "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "dflt": "all", + "editType": "none", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "valType": "flaglist" + }, + "hoverinfosrc": { + "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", + "editType": "none", + "valType": "string" + }, + "hoverlabel": { + "align": { + "arrayOk": true, + "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", + "dflt": "auto", + "editType": "none", + "valType": "enumerated", + "values": [ + "left", + "right", + "auto" + ] + }, + "alignsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `align`.", + "editType": "none", + "valType": "string" + }, + "bgcolor": { + "arrayOk": true, + "description": "Sets the background color of the hover labels for this trace", + "editType": "none", + "valType": "color" + }, + "bgcolorsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", + "editType": "none", + "valType": "string" + }, + "bordercolor": { + "arrayOk": true, + "description": "Sets the border color of the hover labels for this trace.", + "editType": "none", + "valType": "color" + }, + "bordercolorsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", + "editType": "none", + "valType": "string" + }, + "editType": "none", + "font": { + "color": { + "arrayOk": true, + "editType": "none", + "valType": "color" }, - "role": "object", - "separatethousands": { - "description": "If \"true\", even 4-digit integers are separated", - "dflt": false, - "editType": "colorbars", - "valType": "boolean" - }, - "showexponent": { - "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] + "colorsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `color`.", + "editType": "none", + "valType": "string" }, - "showticklabels": { - "description": "Determines whether or not the tick labels are drawn.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" + "description": "Sets the font used in hover labels.", + "editType": "none", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "none", + "noBlank": true, + "strict": true, + "valType": "string" }, - "showtickprefix": { - "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", - "none" - ] + "familysrc": { + "description": "Sets the source reference on Chart Studio Cloud for `family`.", + "editType": "none", + "valType": "string" }, - "showticksuffix": { - "description": "Same as `showtickprefix` but for tick suffixes.", - "dflt": "all", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "all", - "first", - "last", + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ "none" - ] - }, - "thickness": { - "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", - "dflt": 30, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "thicknessmode": { - "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", - "dflt": "pixels", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "fraction", - "pixels" - ] - }, - "tick0": { - "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", - "editType": "colorbars", - "impliedEdits": { - "tickmode": "linear" - }, - "valType": "any" - }, - "tickangle": { - "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", - "dflt": "auto", - "editType": "colorbars", - "valType": "angle" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, - "tickcolor": { - "description": "Sets the tick color.", - "dflt": "#444", - "editType": "colorbars", - "valType": "color" + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" }, - "tickfont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Sets the color bar's tick label font", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" }, - "tickformat": { - "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", - "dflt": "", - "editType": "colorbars", + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", "valType": "string" }, - "tickformatstops": { - "items": { - "tickformatstop": { - "dtickrange": { - "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", - "editType": "colorbars", - "items": [ - { - "editType": "colorbars", - "valType": "any" - }, - { - "editType": "colorbars", - "valType": "any" - } - ], - "valType": "info_array" - }, - "editType": "colorbars", - "enabled": { - "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", - "dflt": true, - "editType": "colorbars", - "valType": "boolean" - }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", - "editType": "colorbars", - "valType": "string" - }, - "role": "object", - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", - "editType": "colorbars", - "valType": "string" - }, - "value": { - "description": "string - dtickformat for described zoom level, the same as *tickformat*", - "dflt": "", - "editType": "colorbars", - "valType": "string" - } - } - }, - "role": "object" + "size": { + "arrayOk": true, + "editType": "none", + "min": 1, + "valType": "number" }, - "ticklabeloverflow": { - "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "allow", - "hide past div", - "hide past domain" - ] + "sizesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `size`.", + "editType": "none", + "valType": "string" }, - "ticklabelposition": { - "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", - "dflt": "outside", - "editType": "colorbars", + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "none", "valType": "enumerated", "values": [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom" + "normal", + "italic" ] }, - "ticklabelstep": { - "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", - "dflt": 1, - "editType": "colorbars", - "min": 1, - "valType": "integer" - }, - "ticklen": { - "description": "Sets the tick length (in px).", - "dflt": 5, - "editType": "colorbars", - "min": 0, - "valType": "number" + "stylesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `style`.", + "editType": "none", + "valType": "string" }, - "tickmode": { - "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", - "editType": "colorbars", - "impliedEdits": {}, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", "valType": "enumerated", "values": [ - "auto", - "linear", - "array" + "normal", + "word caps", + "upper", + "lower" ] }, - "tickprefix": { - "description": "Sets a tick label prefix.", - "dflt": "", - "editType": "colorbars", + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", "valType": "string" }, - "ticks": { - "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", - "dflt": "", - "editType": "colorbars", + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "none", "valType": "enumerated", "values": [ - "outside", - "inside", - "" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] }, - "ticksuffix": { - "description": "Sets a tick label suffix.", - "dflt": "", - "editType": "colorbars", - "valType": "string" - }, - "ticktext": { - "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", - "editType": "colorbars", - "valType": "data_array" - }, - "ticktextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", + "variantsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `variant`.", "editType": "none", "valType": "string" }, - "tickvals": { - "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", - "editType": "colorbars", - "valType": "data_array" + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "none", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", + "weightsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `weight`.", "editType": "none", "valType": "string" + } + }, + "namelength": { + "arrayOk": true, + "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", + "dflt": 15, + "editType": "none", + "min": -1, + "valType": "integer" + }, + "namelengthsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", + "editType": "none", + "valType": "string" + }, + "role": "object", + "split": { + "description": "Show hover information (open, close, high, low) in separate labels.", + "dflt": false, + "editType": "style", + "valType": "boolean" + } + }, + "hovertext": { + "arrayOk": true, + "description": "Same as `text`.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "hovertextsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", + "editType": "none", + "valType": "string" + }, + "ids": { + "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", + "editType": "calc", + "valType": "data_array" + }, + "idssrc": { + "description": "Sets the source reference on Chart Studio Cloud for `ids`.", + "editType": "none", + "valType": "string" + }, + "increasing": { + "editType": "style", + "line": { + "color": { + "description": "Sets the line color.", + "dflt": "#3D9970", + "editType": "style", + "valType": "color" }, - "tickwidth": { - "description": "Sets the tick width (in px).", - "dflt": 1, - "editType": "colorbars", + "dash": { + "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*).", + "dflt": "solid", + "editType": "style", + "valType": "string", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] + }, + "editType": "style", + "role": "object", + "width": { + "description": "Sets the line width (in px).", + "dflt": 2, + "editType": "style", "min": 0, "valType": "number" + } + }, + "role": "object" + }, + "legend": { + "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", + "dflt": "legend", + "editType": "style", + "valType": "subplotid" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "editType": "style", + "valType": "string" + }, + "legendgrouptitle": { + "editType": "style", + "font": { + "color": { + "editType": "style", + "valType": "color" }, - "title": { - "editType": "colorbars", - "font": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - }, - "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "editType": "colorbars", - "valType": "string" - } + "description": "Sets this legend group's title font.", + "editType": "style", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "style", + "noBlank": true, + "strict": true, + "valType": "string" }, - "x": { - "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", - "editType": "colorbars", - "valType": "number" + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" }, - "xanchor": { - "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "left", - "center", - "right" - ] + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" }, - "xpad": { - "description": "Sets the amount of padding (in px) along the x direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, + "size": { + "editType": "style", + "min": 1, "valType": "number" }, - "xref": { - "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "style", "valType": "enumerated", "values": [ - "container", - "paper" + "normal", + "italic" ] }, - "y": { - "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", - "editType": "colorbars", - "valType": "number" - }, - "yanchor": { - "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", - "editType": "colorbars", + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", "valType": "enumerated", "values": [ - "top", - "middle", - "bottom" + "normal", + "word caps", + "upper", + "lower" ] }, - "ypad": { - "description": "Sets the amount of padding (in px) along the y direction.", - "dflt": 10, - "editType": "colorbars", - "min": 0, - "valType": "number" - }, - "yref": { - "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", - "dflt": "paper", - "editType": "colorbars", + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "style", "valType": "enumerated", "values": [ - "container", - "paper" + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" ] - } - }, - "colorscale": { - "description": "Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": null, - "editType": "calc", - "impliedEdits": { - "autocolorscale": false }, - "valType": "colorscale" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "style", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } }, - "editType": "calc", - "hovertemplate": { - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. This value here applies when hovering over lines.Finally, the template string has access to variables `count` and `probability`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", + "role": "object", + "text": { + "description": "Sets the title of the legend group.", "dflt": "", - "editType": "plot", + "editType": "style", "valType": "string" - }, - "reversescale": { - "description": "Reverses the color mapping if true. Has an effect only if in `line.color` is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, - "role": "object", - "shape": { - "description": "Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines", - "dflt": "linear", - "editType": "plot", - "valType": "enumerated", + } + }, + "legendrank": { + "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", + "dflt": 1000, + "editType": "style", + "valType": "number" + }, + "legendwidth": { + "description": "Sets the width (in px or fraction) of the legend for this trace.", + "editType": "style", + "min": 0, + "valType": "number" + }, + "line": { + "dash": { + "description": "Sets the dash style of lines. Set to a dash type string (*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*) or a dash length list in px (eg *5px,10px,2px,2px*). Note that this style setting can also be set per direction via `increasing.line.dash` and `decreasing.line.dash`.", + "dflt": "solid", + "editType": "style", + "valType": "string", "values": [ - "linear", - "hspline" + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" ] }, - "showscale": { - "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color` is set to a numerical array.", - "dflt": false, - "editType": "calc", - "valType": "boolean" + "editType": "style", + "role": "object", + "width": { + "description": "[object Object] Note that this style setting can also be set per direction via `increasing.line.width` and `decreasing.line.width`.", + "dflt": 2, + "editType": "style", + "min": 0, + "valType": "number" } }, + "low": { + "description": "Sets the low values.", + "editType": "calc", + "valType": "data_array" + }, + "lowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `low`.", + "editType": "none", + "valType": "string" + }, "meta": { "arrayOk": true, "description": "Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text` `rangeselector`, `updatemenues` and `sliders` `label` text all support `meta`. To access the trace `meta` values in an attribute in the same trace, simply use `%{meta[i]}` where `i` is the index or key of the `meta` item in question. To access trace `meta` in layout attributes, use `%{data[n[.meta[i]}` where `i` is the index or key of the `meta` and `n` is the trace index.", @@ -58793,124 +52781,74 @@ "editType": "style", "valType": "string" }, - "sortpaths": { - "description": "Sets the path sorting algorithm. If `forward`, sort paths based on dimension categories from left to right. If `backward`, sort paths based on dimensions categories from right to left.", - "dflt": "forward", - "editType": "plot", - "valType": "enumerated", - "values": [ - "forward", - "backward" - ] + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" }, - "stream": { + "open": { + "description": "Sets the open values.", "editType": "calc", - "maxpoints": { - "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", - "dflt": 500, - "editType": "calc", - "max": 10000, - "min": 0, - "valType": "number" - }, - "role": "object", - "token": { - "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - } + "valType": "data_array" }, - "tickfont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Sets the font for the `category` labels.", + "opensrc": { + "description": "Sets the source reference on Chart Studio Cloud for `open`.", + "editType": "none", + "valType": "string" + }, + "selectedpoints": { + "description": "Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.", "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "auto", - "editType": "calc", - "valType": "string" - }, - "size": { + "valType": "any" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "editType": "style", + "valType": "boolean" + }, + "stream": { + "editType": "calc", + "maxpoints": { + "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", + "dflt": 500, "editType": "calc", - "min": 1, + "max": 10000, + "min": 0, "valType": "number" }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", + "role": "object", + "token": { + "description": "The stream id number links a data trace on a plot with a stream. See https://chart-studio.plotly.com/settings for more details.", "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" + "noBlank": true, + "strict": true, + "valType": "string" } }, + "text": { + "arrayOk": true, + "description": "Sets hover text elements associated with each sample point. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace's sample points.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, + "textsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `text`.", + "editType": "none", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the width of the open/close tick marks relative to the *x* minimal interval.", + "dflt": 0.3, + "editType": "calc", + "max": 0.5, + "min": 0, + "valType": "number" + }, "transforms": { "items": { "transform": { @@ -58921,7 +52859,7 @@ }, "role": "object" }, - "type": "parcats", + "type": "ohlc", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -58942,97 +52880,178 @@ false, "legendonly" ] + }, + "x": { + "description": "Sets the x coordinates. If absent, linear coordinate will be generated.", + "editType": "calc+clearAxisTypes", + "valType": "data_array" + }, + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, + "xcalendar": { + "description": "Sets the calendar system to use with `x` date data.", + "dflt": "gregorian", + "editType": "calc", + "valType": "enumerated", + "values": [ + "chinese", + "coptic", + "discworld", + "ethiopian", + "gregorian", + "hebrew", + "islamic", + "jalali", + "julian", + "mayan", + "nanakshahi", + "nepali", + "persian", + "taiwan", + "thai", + "ummalqura" + ] + }, + "xhoverformat": { + "description": "Sets the hover text formatting rulefor `x` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `xaxis.hoverformat`.", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "xperiod": { + "description": "Only relevant when the axis `type` is *date*. Sets the period positioning in milliseconds or *M* on the x axis. Special values in the form of *M* could be used to declare the number of months. In this case `n` must be a positive integer.", + "dflt": 0, + "editType": "calc", + "valType": "any" + }, + "xperiod0": { + "description": "Only relevant when the axis `type` is *date*. Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.", + "editType": "calc", + "valType": "any" + }, + "xperiodalignment": { + "description": "Only relevant when the axis `type` is *date*. Sets the alignment of data points on the x axis.", + "dflt": "middle", + "editType": "calc", + "valType": "enumerated", + "values": [ + "start", + "middle", + "end" + ] + }, + "xsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `x`.", + "editType": "none", + "valType": "string" + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", + "dflt": "y", + "editType": "calc+clearAxisTypes", + "valType": "subplotid" + }, + "yhoverformat": { + "description": "Sets the hover text formatting rulefor `y` using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*By default the values are formatted using `yaxis.hoverformat`.", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "zorder": { + "description": "Sets the layer on which this trace is displayed, relative to other SVG traces on the same subplot. SVG traces with higher `zorder` appear in front of those with lower `zorder`.", + "dflt": 0, + "editType": "plot", + "valType": "integer" } }, "categories": [ - "noOpacity" + "cartesian", + "svg", + "showLegend" ], "meta": { - "description": "Parallel categories diagram for multidimensional categorical data." + "description": "The ohlc (short for Open-High-Low-Close) is a style of financial chart describing open, high, low and close for a given `x` coordinate (most likely time). The tip of the lines represent the `low` and `high` values and the horizontal segments represent the `open` and `close` values. Sample points where the close value is higher (lower) then the open value are called increasing (decreasing). By default, increasing items are drawn in green whereas decreasing are drawn in red." }, - "type": "parcats" + "type": "ohlc" }, - "parcoords": { + "parcats": { "animatable": false, "attributes": { - "customdata": { - "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", + "arrangement": { + "description": "Sets the drag interaction mode for categories and dimensions. If `perpendicular`, the categories can only move along a line perpendicular to the paths. If `freeform`, the categories can freely move on the plane. If `fixed`, the categories and dimensions are stationary.", + "dflt": "perpendicular", + "editType": "plot", + "valType": "enumerated", + "values": [ + "perpendicular", + "freeform", + "fixed" + ] + }, + "bundlecolors": { + "description": "Sort paths so that like colors are bundled together within each category.", + "dflt": true, + "editType": "plot", + "valType": "boolean" + }, + "counts": { + "arrayOk": true, + "description": "The number of observations represented by each state. Defaults to 1 so that each state represents one observation", + "dflt": 1, "editType": "calc", - "valType": "data_array" + "min": 0, + "valType": "number" }, - "customdatasrc": { - "description": "Sets the source reference on Chart Studio Cloud for `customdata`.", + "countssrc": { + "description": "Sets the source reference on Chart Studio Cloud for `counts`.", "editType": "none", "valType": "string" }, "dimensions": { "items": { "dimension": { - "constraintrange": { - "description": "The domain range to which the filter on the dimension is constrained. Must be an array of `[fromValue, toValue]` with `fromValue <= toValue`, or if `multiselect` is not disabled, you may give an array of arrays, where each inner array is `[fromValue, toValue]`.", - "dimensions": "1-2", - "editType": "plot", - "freeLength": true, - "items": [ - { - "editType": "plot", - "valType": "any" - }, - { - "editType": "plot", - "valType": "any" - } - ], - "valType": "info_array" - }, - "description": "The dimensions (variables) of the parallel coordinates chart. 2..60 dimensions are supported.", - "editType": "calc", - "label": { - "description": "The shown name of the dimension.", - "editType": "plot", - "valType": "string" - }, - "multiselect": { - "description": "Do we allow multiple selection ranges or just a single range?", - "dflt": true, - "editType": "plot", - "valType": "boolean" + "categoryarray": { + "description": "Sets the order in which categories in this dimension appear. Only has an effect if `categoryorder` is set to *array*. Used with `categoryorder`.", + "editType": "calc", + "valType": "data_array" }, - "name": { - "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "categoryarraysrc": { + "description": "Sets the source reference on Chart Studio Cloud for `categoryarray`.", "editType": "none", "valType": "string" }, - "range": { - "description": "The domain range that represents the full, shown axis extent. Defaults to the `values` extent. Must be an array of `[fromValue, toValue]` with finite numbers as elements.", - "editType": "plot", - "items": [ - { - "editType": "plot", - "valType": "number" - }, - { - "editType": "plot", - "valType": "number" - } - ], - "valType": "info_array" + "categoryorder": { + "description": "Specifies the ordering logic for the categories in the dimension. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`.", + "dflt": "trace", + "editType": "calc", + "valType": "enumerated", + "values": [ + "trace", + "category ascending", + "category descending", + "array" + ] }, - "role": "object", - "templateitemname": { - "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "description": "The dimensions (variables) of the parallel categories diagram.", + "displayindex": { + "description": "The display index of dimension, from left to right, zero indexed, defaults to dimension index.", "editType": "calc", - "valType": "string" + "valType": "integer" }, - "tickformat": { - "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", - "dflt": "", - "editType": "plot", + "editType": "calc", + "label": { + "description": "The shown name of the dimension.", + "editType": "calc", "valType": "string" }, + "role": "object", "ticktext": { - "description": "Sets the text displayed at the ticks position via `tickvals`.", - "editType": "plot", + "description": "Sets alternative tick labels for the categories in this dimension. Only has an effect if `categoryorder` is set to *array*. Should be an array the same length as `categoryarray` Used with `categoryorder`.", + "editType": "calc", "valType": "data_array" }, "ticktextsrc": { @@ -59040,18 +53059,9 @@ "editType": "none", "valType": "string" }, - "tickvals": { - "description": "Sets the values at which ticks on this axis appear.", - "editType": "plot", - "valType": "data_array" - }, - "tickvalssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", - "editType": "none", - "valType": "string" - }, "values": { - "description": "Dimension values. `values[n]` represents the value of the `n`th point in the dataset, therefore the `values` vector for all dimensions must be the same (longer vectors will be truncated). Each value must be a finite number.", + "description": "Dimension values. `values[n]` represents the category value of the `n`th point in the dataset, therefore the `values` vector for all dimensions must be the same (longer vectors will be truncated).", + "dflt": [], "editType": "calc", "valType": "data_array" }, @@ -59063,7 +53073,7 @@ "visible": { "description": "Shows the dimension when set to `true` (the default). Hides the dimension for `false`.", "dflt": true, - "editType": "plot", + "editType": "calc", "valType": "boolean" } } @@ -59072,37 +53082,37 @@ }, "domain": { "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this parcoords trace .", + "description": "If there is a layout grid, use the domain for this column in the grid for this parcats trace .", "dflt": 0, - "editType": "plot", + "editType": "calc", "min": 0, "valType": "integer" }, - "editType": "plot", + "editType": "calc", "role": "object", "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this parcoords trace .", + "description": "If there is a layout grid, use the domain for this row in the grid for this parcats trace .", "dflt": 0, - "editType": "plot", + "editType": "calc", "min": 0, "valType": "integer" }, "x": { - "description": "Sets the horizontal domain of this parcoords trace (in plot fraction).", + "description": "Sets the horizontal domain of this parcats trace (in plot fraction).", "dflt": [ 0, 1 ], - "editType": "plot", + "editType": "calc", "items": [ { - "editType": "plot", + "editType": "calc", "max": 1, "min": 0, "valType": "number" }, { - "editType": "plot", + "editType": "calc", "max": 1, "min": 0, "valType": "number" @@ -59111,21 +53121,21 @@ "valType": "info_array" }, "y": { - "description": "Sets the vertical domain of this parcoords trace (in plot fraction).", + "description": "Sets the vertical domain of this parcats trace (in plot fraction).", "dflt": [ 0, 1 ], - "editType": "plot", + "editType": "calc", "items": [ { - "editType": "plot", + "editType": "calc", "max": 1, "min": 0, "valType": "number" }, { - "editType": "plot", + "editType": "calc", "max": 1, "min": 0, "valType": "number" @@ -59134,32 +53144,49 @@ "valType": "info_array" } }, - "ids": { - "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", - "editType": "calc", - "valType": "data_array" + "hoverinfo": { + "arrayOk": false, + "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", + "dflt": "all", + "editType": "plot", + "extras": [ + "all", + "none", + "skip" + ], + "flags": [ + "count", + "probability" + ], + "valType": "flaglist" }, - "idssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ids`.", - "editType": "none", - "valType": "string" + "hoveron": { + "description": "Sets the hover interaction mode for the parcats diagram. If `category`, hover interaction take place per category. If `color`, hover interactions take place per color per category. If `dimension`, hover interactions take place across all categories per dimension.", + "dflt": "category", + "editType": "plot", + "valType": "enumerated", + "values": [ + "category", + "color", + "dimension" + ] }, - "labelangle": { - "description": "Sets the angle of the labels with respect to the horizontal. For example, a `tickangle` of -90 draws the labels vertically. Tilted labels with *labelangle* may be positioned better inside margins when `labelposition` is set to *bottom*.", - "dflt": 0, + "hovertemplate": { + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. This value here applies when hovering over dimensions. Note that `*categorycount`, *colorcount* and *bandcolorcount* are only available when `hoveron` contains the *color* flagFinally, the template string has access to variables `count`, `probability`, `category`, `categorycount`, `colorcount` and `bandcolorcount`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", + "dflt": "", "editType": "plot", - "valType": "angle" + "valType": "string" }, "labelfont": { "color": { - "editType": "plot", + "editType": "calc", "valType": "color" }, "description": "Sets the font for the `dimension` labels.", - "editType": "plot", + "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "plot", + "editType": "calc", "noBlank": true, "strict": true, "valType": "string" @@ -59167,7 +53194,7 @@ "lineposition": { "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "plot", + "editType": "calc", "extras": [ "none" ], @@ -59182,18 +53209,18 @@ "shadow": { "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", - "editType": "plot", + "editType": "calc", "valType": "string" }, "size": { - "editType": "plot", + "editType": "calc", "min": 1, "valType": "number" }, "style": { "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "plot", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -59203,7 +53230,7 @@ "textcase": { "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "plot", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -59215,7 +53242,7 @@ "variant": { "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "plot", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -59229,7 +53256,7 @@ "weight": { "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "plot", + "editType": "calc", "extras": [ "normal", "bold" @@ -59239,22 +53266,6 @@ "valType": "integer" } }, - "labelside": { - "description": "Specifies the location of the `label`. *top* positions labels above, next to the title *bottom* positions labels below the graph Tilted labels with *labelangle* may be positioned better inside margins when `labelposition` is set to *bottom*.", - "dflt": "top", - "editType": "plot", - "valType": "enumerated", - "values": [ - "top", - "bottom" - ] - }, - "legend": { - "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", - "dflt": "legend", - "editType": "style", - "valType": "subplotid" - }, "legendgrouptitle": { "editType": "style", "font": { @@ -59354,12 +53365,6 @@ "valType": "string" } }, - "legendrank": { - "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", - "dflt": 1000, - "editType": "style", - "valType": "number" - }, "legendwidth": { "description": "Sets the width (in px or fraction) of the legend for this trace.", "editType": "style", @@ -59369,7 +53374,7 @@ "line": { "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", - "dflt": false, + "dflt": true, "editType": "calc", "impliedEdits": {}, "valType": "boolean" @@ -59420,112 +53425,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -59965,7 +53864,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -60051,7 +53950,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -60061,7 +53960,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -60133,76 +54032,7 @@ }, "colorscale": { "description": "Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", - "dflt": [ - [ - 0, - "#440154" - ], - [ - 0.06274509803921569, - "#48186a" - ], - [ - 0.12549019607843137, - "#472d7b" - ], - [ - 0.18823529411764706, - "#424086" - ], - [ - 0.25098039215686274, - "#3b528b" - ], - [ - 0.3137254901960784, - "#33638d" - ], - [ - 0.3764705882352941, - "#2c728e" - ], - [ - 0.4392156862745098, - "#26828e" - ], - [ - 0.5019607843137255, - "#21918c" - ], - [ - 0.5647058823529412, - "#1fa088" - ], - [ - 0.6274509803921569, - "#28ae80" - ], - [ - 0.6901960784313725, - "#3fbc73" - ], - [ - 0.7529411764705882, - "#5ec962" - ], - [ - 0.8156862745098039, - "#84d44b" - ], - [ - 0.8784313725490196, - "#addc30" - ], - [ - 0.9411764705882353, - "#d8e219" - ], - [ - 1, - "#fde725" - ] - ], + "dflt": null, "editType": "calc", "impliedEdits": { "autocolorscale": false @@ -60215,6 +54045,12 @@ "valType": "string" }, "editType": "calc", + "hovertemplate": { + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. This value here applies when hovering over lines.Finally, the template string has access to variables `count` and `probability`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", + "dflt": "", + "editType": "plot", + "valType": "string" + }, "reversescale": { "description": "Reverses the color mapping if true. Has an effect only if in `line.color` is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.", "dflt": false, @@ -60222,6 +54058,16 @@ "valType": "boolean" }, "role": "object", + "shape": { + "description": "Sets the shape of the paths. If `linear`, paths are composed of straight lines. If `hspline`, paths are composed of horizontal curved splines", + "dflt": "linear", + "editType": "plot", + "valType": "enumerated", + "values": [ + "linear", + "hspline" + ] + }, "showscale": { "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color` is set to a numerical array.", "dflt": false, @@ -60245,94 +54091,15 @@ "editType": "style", "valType": "string" }, - "rangefont": { - "color": { - "editType": "plot", - "valType": "color" - }, - "description": "Sets the font for the `dimension` range values.", + "sortpaths": { + "description": "Sets the path sorting algorithm. If `forward`, sort paths based on dimension categories from left to right. If `backward`, sort paths based on dimensions categories from right to left.", + "dflt": "forward", "editType": "plot", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "role": "object", - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "size": { - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } + "valType": "enumerated", + "values": [ + "forward", + "backward" + ] }, "stream": { "editType": "calc", @@ -60355,14 +54122,14 @@ }, "tickfont": { "color": { - "editType": "plot", + "editType": "calc", "valType": "color" }, - "description": "Sets the font for the `dimension` tick values.", - "editType": "plot", + "description": "Sets the font for the `category` labels.", + "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "plot", + "editType": "calc", "noBlank": true, "strict": true, "valType": "string" @@ -60370,7 +54137,7 @@ "lineposition": { "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", - "editType": "plot", + "editType": "calc", "extras": [ "none" ], @@ -60385,18 +54152,18 @@ "shadow": { "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "auto", - "editType": "plot", + "editType": "calc", "valType": "string" }, "size": { - "editType": "plot", + "editType": "calc", "min": 1, "valType": "number" }, "style": { "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", - "editType": "plot", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -60406,7 +54173,7 @@ "textcase": { "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", - "editType": "plot", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -60418,7 +54185,7 @@ "variant": { "description": "Sets the variant of the font.", "dflt": "normal", - "editType": "plot", + "editType": "calc", "valType": "enumerated", "values": [ "normal", @@ -60432,7 +54199,7 @@ "weight": { "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", - "editType": "plot", + "editType": "calc", "extras": [ "normal", "bold" @@ -60452,7 +54219,7 @@ }, "role": "object" }, - "type": "parcoords", + "type": "parcats", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -60463,179 +54230,29 @@ "editType": "none", "valType": "any" }, - "unselected": { - "editType": "plot", - "line": { - "color": { - "description": "Sets the base color of unselected lines. in connection with `unselected.line.opacity`.", - "dflt": "#7f7f7f", - "editType": "plot", - "valType": "color" - }, - "editType": "plot", - "opacity": { - "description": "Sets the opacity of unselected lines. The default *auto* decreases the opacity smoothly as the number of lines increases. Use *1* to achieve exact `unselected.line.color`.", - "dflt": "auto", - "editType": "plot", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object" - }, - "role": "object" - }, "visible": { "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", "dflt": true, "editType": "calc", "valType": "enumerated", - "values": [ - true, - false, - "legendonly" - ] - } - }, - "categories": [ - "gl", - "regl", - "noOpacity", - "noHover" - ], - "meta": { - "description": "Parallel coordinates for multidimensional exploratory data analysis. The samples are specified in `dimensions`. The colors are set in `line.color`." - }, - "type": "parcoords" - }, - "pie": { - "animatable": false, - "attributes": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of `title.text`. Note that value of `title` is no longer a simple *string* but a set of sub-attributes.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "titlefont": { - "color": { - "arrayOk": true, - "editType": "plot", - "valType": "color" - }, - "description": "Deprecated in favor of `title.font`.", - "editType": "plot", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "plot", - "min": 1, - "valType": "number" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleposition": { - "description": "Deprecated in favor of `title.position`.", - "editType": "calc", - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle center", - "bottom left", - "bottom center", - "bottom right" - ] - } - }, - "automargin": { - "description": "Determines whether outside text labels can push the margins.", - "dflt": false, - "editType": "plot", - "valType": "boolean" - }, + "values": [ + true, + false, + "legendonly" + ] + } + }, + "categories": [ + "noOpacity" + ], + "meta": { + "description": "Parallel categories diagram for multidimensional categorical data." + }, + "type": "parcats" + }, + "parcoords": { + "animatable": false, + "attributes": { "customdata": { "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", "editType": "calc", @@ -60646,55 +54263,144 @@ "editType": "none", "valType": "string" }, - "direction": { - "description": "Specifies the direction at which succeeding sectors follow one another.", - "dflt": "counterclockwise", - "editType": "calc", - "valType": "enumerated", - "values": [ - "clockwise", - "counterclockwise" - ] - }, - "dlabel": { - "description": "Sets the label step. See `label0` for more info.", - "dflt": 1, - "editType": "calc", - "valType": "number" + "dimensions": { + "items": { + "dimension": { + "constraintrange": { + "description": "The domain range to which the filter on the dimension is constrained. Must be an array of `[fromValue, toValue]` with `fromValue <= toValue`, or if `multiselect` is not disabled, you may give an array of arrays, where each inner array is `[fromValue, toValue]`.", + "dimensions": "1-2", + "editType": "plot", + "freeLength": true, + "items": [ + { + "editType": "plot", + "valType": "any" + }, + { + "editType": "plot", + "valType": "any" + } + ], + "valType": "info_array" + }, + "description": "The dimensions (variables) of the parallel coordinates chart. 2..60 dimensions are supported.", + "editType": "calc", + "label": { + "description": "The shown name of the dimension.", + "editType": "plot", + "valType": "string" + }, + "multiselect": { + "description": "Do we allow multiple selection ranges or just a single range?", + "dflt": true, + "editType": "plot", + "valType": "boolean" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "none", + "valType": "string" + }, + "range": { + "description": "The domain range that represents the full, shown axis extent. Defaults to the `values` extent. Must be an array of `[fromValue, toValue]` with finite numbers as elements.", + "editType": "plot", + "items": [ + { + "editType": "plot", + "valType": "number" + }, + { + "editType": "plot", + "valType": "number" + } + ], + "valType": "info_array" + }, + "role": "object", + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "calc", + "valType": "string" + }, + "tickformat": { + "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", + "dflt": "", + "editType": "plot", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`.", + "editType": "plot", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", + "editType": "none", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear.", + "editType": "plot", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", + "editType": "none", + "valType": "string" + }, + "values": { + "description": "Dimension values. `values[n]` represents the value of the `n`th point in the dataset, therefore the `values` vector for all dimensions must be the same (longer vectors will be truncated). Each value must be a finite number.", + "editType": "calc", + "valType": "data_array" + }, + "valuessrc": { + "description": "Sets the source reference on Chart Studio Cloud for `values`.", + "editType": "none", + "valType": "string" + }, + "visible": { + "description": "Shows the dimension when set to `true` (the default). Hides the dimension for `false`.", + "dflt": true, + "editType": "plot", + "valType": "boolean" + } + } + }, + "role": "object" }, "domain": { "column": { - "description": "If there is a layout grid, use the domain for this column in the grid for this pie trace .", + "description": "If there is a layout grid, use the domain for this column in the grid for this parcoords trace .", "dflt": 0, - "editType": "calc", + "editType": "plot", "min": 0, "valType": "integer" }, - "editType": "calc", + "editType": "plot", "role": "object", "row": { - "description": "If there is a layout grid, use the domain for this row in the grid for this pie trace .", + "description": "If there is a layout grid, use the domain for this row in the grid for this parcoords trace .", "dflt": 0, - "editType": "calc", + "editType": "plot", "min": 0, "valType": "integer" }, "x": { - "description": "Sets the horizontal domain of this pie trace (in plot fraction).", + "description": "Sets the horizontal domain of this parcoords trace (in plot fraction).", "dflt": [ 0, 1 ], - "editType": "calc", + "editType": "plot", "items": [ { - "editType": "calc", + "editType": "plot", "max": 1, "min": 0, "valType": "number" }, { - "editType": "calc", + "editType": "plot", "max": 1, "min": 0, "valType": "number" @@ -60703,21 +54409,21 @@ "valType": "info_array" }, "y": { - "description": "Sets the vertical domain of this pie trace (in plot fraction).", + "description": "Sets the vertical domain of this parcoords trace (in plot fraction).", "dflt": [ 0, 1 ], - "editType": "calc", + "editType": "plot", "items": [ { - "editType": "calc", + "editType": "plot", "max": 1, "min": 0, "valType": "number" }, { - "editType": "calc", + "editType": "plot", "max": 1, "min": 0, "valType": "number" @@ -60726,261 +54432,6 @@ "valType": "info_array" } }, - "hole": { - "description": "Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart.", - "dflt": 0, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "hoverinfo": { - "arrayOk": true, - "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", - "dflt": "all", - "editType": "none", - "extras": [ - "all", - "none", - "skip" - ], - "flags": [ - "label", - "text", - "value", - "percent", - "name" - ], - "valType": "flaglist" - }, - "hoverinfosrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hoverinfo`.", - "editType": "none", - "valType": "string" - }, - "hoverlabel": { - "align": { - "arrayOk": true, - "description": "Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines", - "dflt": "auto", - "editType": "none", - "valType": "enumerated", - "values": [ - "left", - "right", - "auto" - ] - }, - "alignsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `align`.", - "editType": "none", - "valType": "string" - }, - "bgcolor": { - "arrayOk": true, - "description": "Sets the background color of the hover labels for this trace", - "editType": "none", - "valType": "color" - }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", - "editType": "none", - "valType": "string" - }, - "bordercolor": { - "arrayOk": true, - "description": "Sets the border color of the hover labels for this trace.", - "editType": "none", - "valType": "color" - }, - "bordercolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bordercolor`.", - "editType": "none", - "valType": "string" - }, - "editType": "none", - "font": { - "color": { - "arrayOk": true, - "editType": "none", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used in hover labels.", - "editType": "none", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "none", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "none", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "none", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "none", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "none", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "none", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "namelength": { - "arrayOk": true, - "description": "Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to `namelength - 3` characters and add an ellipsis.", - "dflt": 15, - "editType": "none", - "min": -1, - "valType": "integer" - }, - "namelengthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `namelength`.", - "editType": "none", - "valType": "string" - }, - "role": "object" - }, - "hovertemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `percent` and `text`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", - "dflt": "", - "editType": "none", - "valType": "string" - }, - "hovertemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", - "editType": "none", - "valType": "string" - }, - "hovertext": { - "arrayOk": true, - "description": "Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a *text* flag.", - "dflt": "", - "editType": "style", - "valType": "string" - }, - "hovertextsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", - "editType": "none", - "valType": "string" - }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", @@ -60991,34 +54442,27 @@ "editType": "none", "valType": "string" }, - "insidetextfont": { + "labelangle": { + "description": "Sets the angle of the labels with respect to the horizontal. For example, a `tickangle` of -90 draws the labels vertically. Tilted labels with *labelangle* may be positioned better inside margins when `labelposition` is set to *bottom*.", + "dflt": 0, + "editType": "plot", + "valType": "angle" + }, + "labelfont": { "color": { - "arrayOk": true, "editType": "plot", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `textinfo` lying inside the sector.", + "description": "Sets the font for the `dimension` labels.", "editType": "plot", "family": { - "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { - "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", "editType": "plot", @@ -61032,37 +54476,19 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { - "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", "editType": "plot", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { - "arrayOk": true, "editType": "plot", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { - "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", "editType": "plot", @@ -61072,13 +54498,7 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { - "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", "editType": "plot", @@ -61090,13 +54510,7 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { - "arrayOk": true, "description": "Sets the variant of the font.", "dflt": "normal", "editType": "plot", @@ -61110,57 +54524,28 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { - "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "insidetextorientation": { - "description": "Controls the orientation of the text inside chart sectors. When set to *auto*, text may be oriented in any direction in order to be as big as possible in the middle of a sector. The *horizontal* option orients text to be parallel with the bottom of the chart, and may make text smaller in order to achieve that goal. The *radial* option orients text along the radius of the sector. The *tangential* option orients text perpendicular to the radius of the sector.", - "dflt": "auto", - "editType": "plot", - "valType": "enumerated", - "values": [ - "horizontal", - "radial", - "tangential", - "auto" - ] - }, - "label0": { - "description": "Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.", - "dflt": 0, - "editType": "calc", - "valType": "number" - }, - "labels": { - "description": "Sets the sector labels. If `labels` entries are duplicated, we sum associated `values` or simply count occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label.", - "editType": "calc", - "valType": "data_array" + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } }, - "labelssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `labels`.", - "editType": "none", - "valType": "string" + "labelside": { + "description": "Specifies the location of the `label`. *top* positions labels above, next to the title *bottom* positions labels below the graph Tilted labels with *labelangle* may be positioned better inside margins when `labelposition` is set to *bottom*.", + "dflt": "top", + "editType": "plot", + "valType": "enumerated", + "values": [ + "top", + "bottom" + ] }, "legend": { "description": "Sets the reference to a legend to show this trace in. References to these legends are *legend*, *legend2*, *legend3*, etc. Settings for these legends are set in the layout, under `layout.legend`, `layout.legend2`, etc.", @@ -61168,12 +54553,6 @@ "editType": "style", "valType": "subplotid" }, - "legendgroup": { - "description": "Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.", - "dflt": "", - "editType": "style", - "valType": "string" - }, "legendgrouptitle": { "editType": "style", "font": { @@ -61216,210 +54595,831 @@ "min": 1, "valType": "number" }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "style", + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "style", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "role": "object", + "text": { + "description": "Sets the title of the legend group.", + "dflt": "", + "editType": "style", + "valType": "string" + } + }, + "legendrank": { + "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", + "dflt": 1000, + "editType": "style", + "valType": "number" + }, + "legendwidth": { + "description": "Sets the width (in px or fraction) of the legend for this trace.", + "editType": "style", + "min": 0, + "valType": "number" + }, + "line": { + "autocolorscale": { + "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `line.colorscale`. Has an effect only if in `line.color` is set to a numerical array. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", + "dflt": false, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, + "cauto": { + "description": "Determines whether or not the color domain is computed with respect to the input data (here in `line.color`) or the bounds set in `line.cmin` and `line.cmax` Has an effect only if in `line.color` is set to a numerical array. Defaults to `false` when `line.cmin` and `line.cmax` are set by the user.", + "dflt": true, + "editType": "calc", + "impliedEdits": {}, + "valType": "boolean" + }, + "cmax": { + "description": "Sets the upper bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmin` must be set as well.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "cauto": false + }, + "valType": "number" + }, + "cmid": { + "description": "Sets the mid-point of the color domain by scaling `line.cmin` and/or `line.cmax` to be equidistant to this point. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color`. Has no effect when `line.cauto` is `false`.", + "dflt": null, + "editType": "calc", + "impliedEdits": {}, + "valType": "number" + }, + "cmin": { + "description": "Sets the lower bound of the color domain. Has an effect only if in `line.color` is set to a numerical array. Value should have the same units as in `line.color` and if set, `line.cmax` must be set as well.", + "dflt": null, + "editType": "calc", + "impliedEdits": { + "cauto": false + }, + "valType": "number" + }, + "color": { + "arrayOk": true, + "description": "Sets the line color. It accepts either a specific color or an array of numbers that are mapped to the colorscale relative to the max and min values of the array or relative to `line.cmin` and `line.cmax` if set.", + "editType": "calc", + "valType": "color" + }, + "coloraxis": { + "description": "Sets a reference to a shared color axis. References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc. Settings for these shared color axes are set in the layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. Note that multiple color scales can be linked to the same color axis.", + "dflt": null, + "editType": "calc", + "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/", + "valType": "subplotid" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "editType": "colorbars", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *M* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" + }, + "editType": "colorbars", + "exponentformat": { + "description": "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.", + "dflt": "B", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "labelalias": { + "description": "Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.", + "dflt": false, + "editType": "colorbars", + "valType": "any" + }, + "len": { + "description": "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.", + "dflt": 1, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "lenmode": { + "description": "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.", + "dflt": "fraction", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "minexponent": { + "description": "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.", + "dflt": 3, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "nticks": { + "description": "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "editType": "colorbars", + "min": 0, + "valType": "integer" + }, + "orientation": { + "description": "Sets the orientation of the colorbar.", + "dflt": "v", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "h", + "v" + ] + }, + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "role": "object", + "separatethousands": { + "description": "If \"true\", even 4-digit integers are separated", + "dflt": false, + "editType": "colorbars", + "valType": "boolean" + }, + "showexponent": { + "description": "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.", + "dflt": "all", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "editType": "colorbars", + "valType": "boolean" + }, + "showtickprefix": { + "description": "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.", + "dflt": "all", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "thicknessmode": { + "description": "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.", + "dflt": "pixels", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.", + "editType": "colorbars", + "impliedEdits": { + "tickmode": "linear" + }, + "valType": "any" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "editType": "colorbars", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "editType": "colorbars", + "valType": "color" + }, + "tickfont": { + "color": { + "editType": "colorbars", + "valType": "color" + }, + "description": "Sets the color bar's tick label font", + "editType": "colorbars", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "colorbars", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, + "size": { + "editType": "colorbars", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "colorbars", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*", + "dflt": "", + "editType": "colorbars", + "valType": "string" + }, + "tickformatstops": { + "items": { + "tickformatstop": { + "dtickrange": { + "description": "range [*min*, *max*], where *min*, *max* - dtick values which describe some zoom level, it is possible to omit *min* or *max* value by passing *null*", + "editType": "colorbars", + "items": [ + { + "editType": "colorbars", + "valType": "any" + }, + { + "editType": "colorbars", + "valType": "any" + } + ], + "valType": "info_array" + }, + "editType": "colorbars", + "enabled": { + "description": "Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.", + "dflt": true, + "editType": "colorbars", + "valType": "boolean" + }, + "name": { + "description": "When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.", + "editType": "colorbars", + "valType": "string" + }, + "role": "object", + "templateitemname": { + "description": "Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.", + "editType": "colorbars", + "valType": "string" + }, + "value": { + "description": "string - dtickformat for described zoom level, the same as *tickformat*", + "dflt": "", + "editType": "colorbars", + "valType": "string" + } + } + }, + "role": "object" + }, + "ticklabeloverflow": { + "description": "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "allow", + "hide past div", + "hide past domain" + ] + }, + "ticklabelposition": { + "description": "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.", + "dflt": "outside", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "outside top", + "inside top", + "outside left", + "inside left", + "outside right", + "inside right", + "outside bottom", + "inside bottom" + ] + }, + "ticklabelstep": { + "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", + "dflt": 1, + "editType": "colorbars", + "min": 1, + "valType": "integer" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "tickmode": { + "description": "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).", + "editType": "colorbars", + "impliedEdits": {}, "valType": "enumerated", "values": [ - "normal", - "italic" + "auto", + "linear", + "array" ] }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "style", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "editType": "colorbars", + "valType": "string" }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "style", + "ticks": { + "description": "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.", + "dflt": "", + "editType": "colorbars", "valType": "enumerated", "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" + "outside", + "inside", + "" ] }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "style", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "role": "object", - "text": { - "description": "Sets the title of the legend group.", - "dflt": "", - "editType": "style", - "valType": "string" - } - }, - "legendrank": { - "description": "Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with *reversed* `legend.traceorder` they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.", - "dflt": 1000, - "editType": "style", - "valType": "number" - }, - "legendwidth": { - "description": "Sets the width (in px or fraction) of the legend for this trace.", - "editType": "style", - "min": 0, - "valType": "number" - }, - "marker": { - "colors": { - "description": "Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.", - "editType": "calc", - "valType": "data_array" - }, - "colorssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `colors`.", - "editType": "none", - "valType": "string" - }, - "editType": "calc", - "line": { - "color": { - "arrayOk": true, - "description": "Sets the color of the line enclosing each sector.", - "dflt": "#444", - "editType": "style", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "editType": "colorbars", "valType": "string" }, - "editType": "calc", - "role": "object", - "width": { - "arrayOk": true, - "description": "Sets the width (in px) of the line enclosing each sector.", - "dflt": 0, - "editType": "style", - "min": 0, - "valType": "number" - }, - "widthsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `width`.", - "editType": "none", - "valType": "string" - } - }, - "pattern": { - "bgcolor": { - "arrayOk": true, - "description": "When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is *overlay*. Otherwise, defaults to a transparent background.", - "editType": "style", - "valType": "color" + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.", + "editType": "colorbars", + "valType": "data_array" }, - "bgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", + "ticktextsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `ticktext`.", "editType": "none", "valType": "string" }, - "description": "Sets the pattern within the marker.", - "editType": "style", - "fgcolor": { - "arrayOk": true, - "description": "When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is *replace*. Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.", - "editType": "style", - "valType": "color" + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "editType": "colorbars", + "valType": "data_array" }, - "fgcolorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `fgcolor`.", + "tickvalssrc": { + "description": "Sets the source reference on Chart Studio Cloud for `tickvals`.", "editType": "none", "valType": "string" }, - "fgopacity": { - "description": "Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.", - "editType": "style", - "max": 1, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "editType": "colorbars", "min": 0, "valType": "number" }, - "fillmode": { - "description": "Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.", - "dflt": "replace", - "editType": "style", + "title": { + "editType": "colorbars", + "font": { + "color": { + "editType": "colorbars", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "editType": "colorbars", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "colorbars", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, + "size": { + "editType": "colorbars", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "colorbars", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "role": "object", + "side": { + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "text": { + "description": "Sets the title of the color bar.", + "editType": "colorbars", + "valType": "string" + } + }, + "x": { + "description": "Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*. When `xref` is *container*, defaults to *1* when `orientation` is *v* and 0.5 when `orientation` is *h*. Must be between *0* and *1* if `xref` is *container* and between *-2* and *3* if `xref` is *paper*.", + "editType": "colorbars", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.", + "editType": "colorbars", "valType": "enumerated", "values": [ - "replace", - "overlay" + "left", + "center", + "right" ] }, - "role": "object", - "shape": { - "arrayOk": true, - "description": "Sets the shape of the pattern fill. By default, no pattern is used for filling the area.", - "dflt": "", - "editType": "style", + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "editType": "colorbars", + "min": 0, + "valType": "number" + }, + "xref": { + "description": "Sets the container `x` refers to. *container* spans the entire `width` of the plot. *paper* refers to the width of the plotting area only.", + "dflt": "paper", + "editType": "colorbars", "valType": "enumerated", "values": [ - "", - "/", - "\\", - "x", - "-", - "|", - "+", - "." + "container", + "paper" ] }, - "shapesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shape`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "description": "Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.", - "dflt": 8, - "editType": "style", - "min": 0, + "y": { + "description": "Sets the y position with respect to `yref` of the color bar (in plot fraction). When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*. When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and 1 when `orientation` is *h*. Must be between *0* and *1* if `yref` is *container* and between *-2* and *3* if `yref` is *paper*.", + "editType": "colorbars", "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] }, - "solidity": { - "arrayOk": true, - "description": "Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.", - "dflt": 0.3, - "editType": "style", - "max": 1, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "editType": "colorbars", "min": 0, "valType": "number" }, - "soliditysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `solidity`.", - "editType": "none", - "valType": "string" + "yref": { + "description": "Sets the container `y` refers to. *container* spans the entire `height` of the plot. *paper* refers to the height of the plotting area only.", + "dflt": "paper", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "container", + "paper" + ] } }, - "role": "object" + "colorscale": { + "description": "Sets the colorscale. Has an effect only if in `line.color` is set to a numerical array. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the bounds of the colorscale in color space, use `line.cmin` and `line.cmax`. Alternatively, `colorscale` may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.", + "dflt": [ + [ + 0, + "#440154" + ], + [ + 0.06274509803921569, + "#48186a" + ], + [ + 0.12549019607843137, + "#472d7b" + ], + [ + 0.18823529411764706, + "#424086" + ], + [ + 0.25098039215686274, + "#3b528b" + ], + [ + 0.3137254901960784, + "#33638d" + ], + [ + 0.3764705882352941, + "#2c728e" + ], + [ + 0.4392156862745098, + "#26828e" + ], + [ + 0.5019607843137255, + "#21918c" + ], + [ + 0.5647058823529412, + "#1fa088" + ], + [ + 0.6274509803921569, + "#28ae80" + ], + [ + 0.6901960784313725, + "#3fbc73" + ], + [ + 0.7529411764705882, + "#5ec962" + ], + [ + 0.8156862745098039, + "#84d44b" + ], + [ + 0.8784313725490196, + "#addc30" + ], + [ + 0.9411764705882353, + "#d8e219" + ], + [ + 1, + "#fde725" + ] + ], + "editType": "calc", + "impliedEdits": { + "autocolorscale": false + }, + "valType": "colorscale" + }, + "colorsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `color`.", + "editType": "none", + "valType": "string" + }, + "editType": "calc", + "reversescale": { + "description": "Reverses the color mapping if true. Has an effect only if in `line.color` is set to a numerical array. If true, `line.cmin` will correspond to the last color in the array and `line.cmax` will correspond to the first color.", + "dflt": false, + "editType": "plot", + "valType": "boolean" + }, + "role": "object", + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace. Has an effect only if in `line.color` is set to a numerical array.", + "dflt": false, + "editType": "calc", + "valType": "boolean" + } }, "meta": { "arrayOk": true, @@ -61437,42 +55437,21 @@ "editType": "style", "valType": "string" }, - "opacity": { - "description": "Sets the opacity of the trace.", - "dflt": 1, - "editType": "style", - "max": 1, - "min": 0, - "valType": "number" - }, - "outsidetextfont": { + "rangefont": { "color": { - "arrayOk": true, "editType": "plot", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `textinfo` lying outside the sector.", + "description": "Sets the font for the `dimension` range values.", "editType": "plot", "family": { - "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { - "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", "editType": "plot", @@ -61486,37 +55465,19 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { - "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", "dflt": "none", "editType": "plot", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { - "arrayOk": true, "editType": "plot", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { - "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", "editType": "plot", @@ -61526,13 +55487,7 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { - "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", "editType": "plot", @@ -61544,13 +55499,7 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { - "arrayOk": true, "description": "Sets the variant of the font.", "dflt": "normal", "editType": "plot", @@ -61564,13 +55513,7 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { - "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", @@ -61581,51 +55524,8 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" } }, - "pull": { - "arrayOk": true, - "description": "Sets the fraction of larger radius to pull the sectors out from the center. This can be a constant to pull all slices apart from each other equally or an array to highlight one or more slices.", - "dflt": 0, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "pullsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `pull`.", - "editType": "none", - "valType": "string" - }, - "rotation": { - "description": "Instead of the first slice starting at 12 o'clock, rotate to some other angle.", - "dflt": 0, - "editType": "calc", - "valType": "angle" - }, - "scalegroup": { - "description": "If there are multiple pie charts that should be sized according to their totals, link them by providing a non-empty group id here shared by every trace in the same group.", - "dflt": "", - "editType": "calc", - "valType": "string" - }, - "showlegend": { - "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", - "dflt": true, - "editType": "style", - "valType": "boolean" - }, - "sort": { - "description": "Determines whether or not the sectors are reordered from largest to smallest.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - }, "stream": { "editType": "calc", "maxpoints": { @@ -61645,39 +55545,21 @@ "valType": "string" } }, - "text": { - "description": "Sets text elements associated with each sector. If trace `textinfo` contains a *text* flag, these elements will be seen on the chart. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", - "editType": "plot", - "valType": "data_array" - }, - "textfont": { + "tickfont": { "color": { - "arrayOk": true, "editType": "plot", "valType": "color" }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `textinfo`.", + "description": "Sets the font for the `dimension` tick values.", "editType": "plot", "family": { - "arrayOk": true, "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, "valType": "string" }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, "lineposition": { - "arrayOk": true, "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", "dflt": "none", "editType": "plot", @@ -61691,37 +55573,19 @@ ], "valType": "flaglist" }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, "role": "object", "shadow": { - "arrayOk": true, "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", + "dflt": "auto", "editType": "plot", "valType": "string" }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, "size": { - "arrayOk": true, "editType": "plot", "min": 1, "valType": "number" }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, "style": { - "arrayOk": true, "description": "Sets whether a font should be styled with a normal or italic face from its family.", "dflt": "normal", "editType": "plot", @@ -61731,13 +55595,7 @@ "italic" ] }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, "textcase": { - "arrayOk": true, "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", "dflt": "normal", "editType": "plot", @@ -61749,13 +55607,7 @@ "lower" ] }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, "variant": { - "arrayOk": true, "description": "Sets the variant of the font.", "dflt": "normal", "editType": "plot", @@ -61769,13 +55621,7 @@ "unicase" ] }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, "weight": { - "arrayOk": true, "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", @@ -61786,227 +55632,6 @@ "max": 1000, "min": 1, "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "textinfo": { - "description": "Determines which trace information appear on the graph.", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "label", - "text", - "value", - "percent" - ], - "valType": "flaglist" - }, - "textposition": { - "arrayOk": true, - "description": "Specifies the location of the `textinfo`.", - "dflt": "auto", - "editType": "plot", - "valType": "enumerated", - "values": [ - "inside", - "outside", - "auto", - "none" - ] - }, - "textpositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textposition`.", - "editType": "none", - "valType": "string" - }, - "textsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `text`.", - "editType": "none", - "valType": "string" - }, - "texttemplate": { - "arrayOk": true, - "description": "Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `percent` and `text`.", - "dflt": "", - "editType": "plot", - "valType": "string" - }, - "texttemplatesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", - "editType": "none", - "valType": "string" - }, - "title": { - "editType": "plot", - "font": { - "color": { - "arrayOk": true, - "editType": "plot", - "valType": "color" - }, - "colorsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `color`.", - "editType": "none", - "valType": "string" - }, - "description": "Sets the font used for `title`. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", - "editType": "plot", - "family": { - "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "plot", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "familysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `family`.", - "editType": "none", - "valType": "string" - }, - "lineposition": { - "arrayOk": true, - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "plot", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "linepositionsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", - "editType": "none", - "valType": "string" - }, - "role": "object", - "shadow": { - "arrayOk": true, - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "plot", - "valType": "string" - }, - "shadowsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", - "editType": "none", - "valType": "string" - }, - "size": { - "arrayOk": true, - "editType": "plot", - "min": 1, - "valType": "number" - }, - "sizesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `size`.", - "editType": "none", - "valType": "string" - }, - "style": { - "arrayOk": true, - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "stylesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `style`.", - "editType": "none", - "valType": "string" - }, - "textcase": { - "arrayOk": true, - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "textcasesrc": { - "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", - "editType": "none", - "valType": "string" - }, - "variant": { - "arrayOk": true, - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "plot", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "variantsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `variant`.", - "editType": "none", - "valType": "string" - }, - "weight": { - "arrayOk": true, - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "plot", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - }, - "weightsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `weight`.", - "editType": "none", - "valType": "string" - } - }, - "position": { - "description": "Specifies the location of the `title`. Note that the title's position used to be set by the now deprecated `titleposition` attribute.", - "editType": "plot", - "valType": "enumerated", - "values": [ - "top left", - "top center", - "top right", - "middle center", - "bottom left", - "bottom center", - "bottom right" - ] - }, - "role": "object", - "text": { - "description": "Sets the title of the chart. If it is empty, no title is displayed. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", - "dflt": "", - "editType": "plot", - "valType": "string" } }, "transforms": { @@ -62019,7 +55644,7 @@ }, "role": "object" }, - "type": "pie", + "type": "parcoords", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -62030,15 +55655,27 @@ "editType": "none", "valType": "any" }, - "values": { - "description": "Sets the values of the sectors. If omitted, we count occurrences of each label.", - "editType": "calc", - "valType": "data_array" - }, - "valuessrc": { - "description": "Sets the source reference on Chart Studio Cloud for `values`.", - "editType": "none", - "valType": "string" + "unselected": { + "editType": "plot", + "line": { + "color": { + "description": "Sets the base color of unselected lines. in connection with `unselected.line.opacity`.", + "dflt": "#7f7f7f", + "editType": "plot", + "valType": "color" + }, + "editType": "plot", + "opacity": { + "description": "Sets the opacity of unselected lines. The default *auto* decreases the opacity smoothly as the number of lines increases. Use *1* to achieve exact `unselected.line.color`.", + "dflt": "auto", + "editType": "plot", + "max": 1, + "min": 0, + "valType": "number" + }, + "role": "object" + }, + "role": "object" }, "visible": { "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", @@ -62053,41 +55690,25 @@ } }, "categories": [ - "pie-like", - "pie", - "showLegend" + "gl", + "regl", + "noOpacity", + "noHover" ], - "layoutAttributes": { - "extendpiecolors": { - "description": "If `true`, the pie slice colors (whether given by `piecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.", - "dflt": true, - "editType": "calc", - "valType": "boolean" - }, - "hiddenlabels": { - "description": "hiddenlabels is the funnelarea & pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts", - "editType": "calc", - "valType": "data_array" - }, - "hiddenlabelssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `hiddenlabels`.", - "editType": "none", - "valType": "string" - }, - "piecolorway": { - "description": "Sets the default pie slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendpiecolors`.", - "editType": "calc", - "valType": "colorlist" - } - }, "meta": { - "description": "A data visualized by the sectors of the pie is set in `values`. The sector labels are set in `labels`. The sector colors are set in `marker.colors`" + "description": "Parallel coordinates for multidimensional exploratory data analysis. The samples are specified in `dimensions`. The colors are set in `line.color`." }, - "type": "pie" + "type": "parcoords" }, - "pointcloud": { + "pie": { "animatable": false, "attributes": { + "automargin": { + "description": "Determines whether outside text labels can push the margins.", + "dflt": false, + "editType": "plot", + "valType": "boolean" + }, "customdata": { "description": "Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, *scatter* traces also appends customdata items in the markers DOM elements", "editType": "calc", @@ -62098,6 +55719,94 @@ "editType": "none", "valType": "string" }, + "direction": { + "description": "Specifies the direction at which succeeding sectors follow one another.", + "dflt": "counterclockwise", + "editType": "calc", + "valType": "enumerated", + "values": [ + "clockwise", + "counterclockwise" + ] + }, + "dlabel": { + "description": "Sets the label step. See `label0` for more info.", + "dflt": 1, + "editType": "calc", + "valType": "number" + }, + "domain": { + "column": { + "description": "If there is a layout grid, use the domain for this column in the grid for this pie trace .", + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" + }, + "editType": "calc", + "role": "object", + "row": { + "description": "If there is a layout grid, use the domain for this row in the grid for this pie trace .", + "dflt": 0, + "editType": "calc", + "min": 0, + "valType": "integer" + }, + "x": { + "description": "Sets the horizontal domain of this pie trace (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "editType": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + ], + "valType": "info_array" + }, + "y": { + "description": "Sets the vertical domain of this pie trace (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "editType": "calc", + "items": [ + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + { + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + } + ], + "valType": "info_array" + } + }, + "hole": { + "description": "Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart.", + "dflt": 0, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, "hoverinfo": { "arrayOk": true, "description": "Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired.", @@ -62109,10 +55818,10 @@ "skip" ], "flags": [ - "x", - "y", - "z", + "label", "text", + "value", + "percent", "name" ], "valType": "flaglist" @@ -62321,6 +56030,30 @@ }, "role": "object" }, + "hovertemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information that appear on hover box. Note that this will override `hoverinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `percent` and `text`. Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\". To hide the secondary box completely, use an empty tag ``.", + "dflt": "", + "editType": "none", + "valType": "string" + }, + "hovertemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `hovertemplate`.", + "editType": "none", + "valType": "string" + }, + "hovertext": { + "arrayOk": true, + "description": "Sets hover text elements associated with each sector. If a single string, the same string appears for all data points. If an array of string, the items are mapped in order of this trace's sectors. To be seen, trace `hoverinfo` must contain a *text* flag.", + "dflt": "", + "editType": "style", + "valType": "string" + }, + "hovertextsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `hovertext`.", + "editType": "none", + "valType": "string" + }, "ids": { "description": "Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.", "editType": "calc", @@ -62331,13 +56064,174 @@ "editType": "none", "valType": "string" }, - "indices": { - "description": "A sequential value, 0..n, supply it to avoid creating this array inside plotting. If specified, it must be a typed `Int32Array` array. Its length must be equal to or greater than the number of points. For the best performance and memory use, create one large `indices` typed array that is guaranteed to be at least as long as the largest number of points during use, and reuse it on each `Plotly.restyle()` call.", + "insidetextfont": { + "color": { + "arrayOk": true, + "editType": "plot", + "valType": "color" + }, + "colorsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `color`.", + "editType": "none", + "valType": "string" + }, + "description": "Sets the font used for `textinfo` lying inside the sector.", + "editType": "plot", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "familysrc": { + "description": "Sets the source reference on Chart Studio Cloud for `family`.", + "editType": "none", + "valType": "string" + }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, + "size": { + "arrayOk": true, + "editType": "plot", + "min": 1, + "valType": "number" + }, + "sizesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `size`.", + "editType": "none", + "valType": "string" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "stylesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `style`.", + "editType": "none", + "valType": "string" + }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "variantsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `variant`.", + "editType": "none", + "valType": "string" + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + }, + "weightsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `weight`.", + "editType": "none", + "valType": "string" + } + }, + "insidetextorientation": { + "description": "Controls the orientation of the text inside chart sectors. When set to *auto*, text may be oriented in any direction in order to be as big as possible in the middle of a sector. The *horizontal* option orients text to be parallel with the bottom of the chart, and may make text smaller in order to achieve that goal. The *radial* option orients text along the radius of the sector. The *tangential* option orients text perpendicular to the radius of the sector.", + "dflt": "auto", + "editType": "plot", + "valType": "enumerated", + "values": [ + "horizontal", + "radial", + "tangential", + "auto" + ] + }, + "label0": { + "description": "Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.", + "dflt": 0, + "editType": "calc", + "valType": "number" + }, + "labels": { + "description": "Sets the sector labels. If `labels` entries are duplicated, we sum associated `values` or simply count occurrences if `values` is not provided. For other array attributes (including color) we use the first non-empty entry among all occurrences of the label.", "editType": "calc", "valType": "data_array" }, - "indicessrc": { - "description": "Sets the source reference on Chart Studio Cloud for `indices`.", + "labelssrc": { + "description": "Sets the source reference on Chart Studio Cloud for `labels`.", "editType": "none", "valType": "string" }, @@ -62465,62 +56359,140 @@ "valType": "number" }, "marker": { - "blend": { - "description": "Determines if colors are blended together for a translucency effect in case `opacity` is specified as a value less then `1`. Setting `blend` to `true` reduces zoom/pan speed if used with large numbers of points.", - "dflt": null, + "colors": { + "description": "Sets the color of each sector. If not specified, the default trace color set is used to pick the sector colors.", "editType": "calc", - "valType": "boolean" + "valType": "data_array" + }, + "colorssrc": { + "description": "Sets the source reference on Chart Studio Cloud for `colors`.", + "editType": "none", + "valType": "string" }, - "border": { - "arearatio": { - "description": "Specifies what fraction of the marker area is covered with the border.", + "editType": "calc", + "line": { + "color": { + "arrayOk": true, + "description": "Sets the color of the line enclosing each sector.", + "dflt": "#444", + "editType": "style", + "valType": "color" + }, + "colorsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `color`.", + "editType": "none", + "valType": "string" + }, + "editType": "calc", + "role": "object", + "width": { + "arrayOk": true, + "description": "Sets the width (in px) of the line enclosing each sector.", "dflt": 0, - "editType": "calc", - "max": 1, + "editType": "style", "min": 0, "valType": "number" }, - "color": { - "arrayOk": false, - "description": "Sets the stroke color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning.", - "editType": "calc", + "widthsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `width`.", + "editType": "none", + "valType": "string" + } + }, + "pattern": { + "bgcolor": { + "arrayOk": true, + "description": "When there is no colorscale sets the color of background pattern fill. Defaults to a `marker.color` background when `fillmode` is *overlay*. Otherwise, defaults to a transparent background.", + "editType": "style", "valType": "color" }, - "editType": "calc", - "role": "object" - }, - "color": { - "arrayOk": false, - "description": "Sets the marker fill color. It accepts a specific color. If the color is not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning.", - "editType": "calc", - "valType": "color" - }, - "editType": "calc", - "opacity": { - "arrayOk": false, - "description": "Sets the marker opacity. The default value is `1` (fully opaque). If the markers are not fully opaque and there are hundreds of thousands of points, it may cause slower zooming and panning. Opacity fades the color even if `blend` is left on `false` even if there is no translucency effect in that case.", - "dflt": 1, - "editType": "calc", - "max": 1, - "min": 0, - "valType": "number" - }, - "role": "object", - "sizemax": { - "description": "Sets the maximum size (in px) of the rendered marker points. Effective when the `pointcloud` shows only few points.", - "dflt": 20, - "editType": "calc", - "min": 0.1, - "valType": "number" + "bgcolorsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `bgcolor`.", + "editType": "none", + "valType": "string" + }, + "description": "Sets the pattern within the marker.", + "editType": "style", + "fgcolor": { + "arrayOk": true, + "description": "When there is no colorscale sets the color of foreground pattern fill. Defaults to a `marker.color` background when `fillmode` is *replace*. Otherwise, defaults to dark grey or white to increase contrast with the `bgcolor`.", + "editType": "style", + "valType": "color" + }, + "fgcolorsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `fgcolor`.", + "editType": "none", + "valType": "string" + }, + "fgopacity": { + "description": "Sets the opacity of the foreground pattern fill. Defaults to a 0.5 when `fillmode` is *overlay*. Otherwise, defaults to 1.", + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" + }, + "fillmode": { + "description": "Determines whether `marker.color` should be used as a default to `bgcolor` or a `fgcolor`.", + "dflt": "replace", + "editType": "style", + "valType": "enumerated", + "values": [ + "replace", + "overlay" + ] + }, + "role": "object", + "shape": { + "arrayOk": true, + "description": "Sets the shape of the pattern fill. By default, no pattern is used for filling the area.", + "dflt": "", + "editType": "style", + "valType": "enumerated", + "values": [ + "", + "/", + "\\", + "x", + "-", + "|", + "+", + "." + ] + }, + "shapesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shape`.", + "editType": "none", + "valType": "string" + }, + "size": { + "arrayOk": true, + "description": "Sets the size of unit squares of the pattern fill in pixels, which corresponds to the interval of repetition of the pattern.", + "dflt": 8, + "editType": "style", + "min": 0, + "valType": "number" + }, + "sizesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `size`.", + "editType": "none", + "valType": "string" + }, + "solidity": { + "arrayOk": true, + "description": "Sets the solidity of the pattern fill. Solidity is roughly the fraction of the area filled by the pattern. Solidity of 0 shows only the background color without pattern and solidty of 1 shows only the foreground color without pattern.", + "dflt": 0.3, + "editType": "style", + "max": 1, + "min": 0, + "valType": "number" + }, + "soliditysrc": { + "description": "Sets the source reference on Chart Studio Cloud for `solidity`.", + "editType": "none", + "valType": "string" + } }, - "sizemin": { - "description": "Sets the minimum size (in px) of the rendered marker points, effective when the `pointcloud` shows a million or more points.", - "dflt": 0.5, - "editType": "calc", - "max": 2, - "min": 0.1, - "valType": "number" - } + "role": "object" }, "meta": { "arrayOk": true, @@ -62546,12 +56518,187 @@ "min": 0, "valType": "number" }, + "outsidetextfont": { + "color": { + "arrayOk": true, + "editType": "plot", + "valType": "color" + }, + "colorsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `color`.", + "editType": "none", + "valType": "string" + }, + "description": "Sets the font used for `textinfo` lying outside the sector.", + "editType": "plot", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "familysrc": { + "description": "Sets the source reference on Chart Studio Cloud for `family`.", + "editType": "none", + "valType": "string" + }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, + "size": { + "arrayOk": true, + "editType": "plot", + "min": 1, + "valType": "number" + }, + "sizesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `size`.", + "editType": "none", + "valType": "string" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "stylesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `style`.", + "editType": "none", + "valType": "string" + }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "variantsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `variant`.", + "editType": "none", + "valType": "string" + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + }, + "weightsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `weight`.", + "editType": "none", + "valType": "string" + } + }, + "pull": { + "arrayOk": true, + "description": "Sets the fraction of larger radius to pull the sectors out from the center. This can be a constant to pull all slices apart from each other equally or an array to highlight one or more slices.", + "dflt": 0, + "editType": "calc", + "max": 1, + "min": 0, + "valType": "number" + }, + "pullsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `pull`.", + "editType": "none", + "valType": "string" + }, + "rotation": { + "description": "Instead of the first slice starting at 12 o'clock, rotate to some other angle.", + "dflt": 0, + "editType": "calc", + "valType": "angle" + }, + "scalegroup": { + "description": "If there are multiple pie charts that should be sized according to their totals, link them by providing a non-empty group id here shared by every trace in the same group.", + "dflt": "", + "editType": "calc", + "valType": "string" + }, "showlegend": { "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", "dflt": true, "editType": "style", "valType": "boolean" }, + "sort": { + "description": "Determines whether or not the sectors are reordered from largest to smallest.", + "dflt": true, + "editType": "calc", + "valType": "boolean" + }, "stream": { "editType": "calc", "maxpoints": { @@ -62572,10 +56719,183 @@ } }, "text": { - "arrayOk": true, - "description": "Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", - "dflt": "", + "description": "Sets text elements associated with each sector. If trace `textinfo` contains a *text* flag, these elements will be seen on the chart. If trace `hoverinfo` contains a *text* flag and *hovertext* is not set, these elements will be seen in the hover labels.", + "editType": "plot", + "valType": "data_array" + }, + "textfont": { + "color": { + "arrayOk": true, + "editType": "plot", + "valType": "color" + }, + "colorsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `color`.", + "editType": "none", + "valType": "string" + }, + "description": "Sets the font used for `textinfo`.", + "editType": "plot", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "familysrc": { + "description": "Sets the source reference on Chart Studio Cloud for `family`.", + "editType": "none", + "valType": "string" + }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, + "size": { + "arrayOk": true, + "editType": "plot", + "min": 1, + "valType": "number" + }, + "sizesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `size`.", + "editType": "none", + "valType": "string" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "stylesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `style`.", + "editType": "none", + "valType": "string" + }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "variantsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `variant`.", + "editType": "none", + "valType": "string" + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + }, + "weightsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `weight`.", + "editType": "none", + "valType": "string" + } + }, + "textinfo": { + "description": "Determines which trace information appear on the graph.", "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "label", + "text", + "value", + "percent" + ], + "valType": "flaglist" + }, + "textposition": { + "arrayOk": true, + "description": "Specifies the location of the `textinfo`.", + "dflt": "auto", + "editType": "plot", + "valType": "enumerated", + "values": [ + "inside", + "outside", + "auto", + "none" + ] + }, + "textpositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textposition`.", + "editType": "none", "valType": "string" }, "textsrc": { @@ -62583,7 +56903,196 @@ "editType": "none", "valType": "string" }, - "type": "pointcloud", + "texttemplate": { + "arrayOk": true, + "description": "Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example \"y: %{y}\". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. Finally, the template string has access to variables `label`, `color`, `value`, `percent` and `text`.", + "dflt": "", + "editType": "plot", + "valType": "string" + }, + "texttemplatesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `texttemplate`.", + "editType": "none", + "valType": "string" + }, + "title": { + "editType": "plot", + "font": { + "color": { + "arrayOk": true, + "editType": "plot", + "valType": "color" + }, + "colorsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `color`.", + "editType": "none", + "valType": "string" + }, + "description": "Sets the font used for `title`.", + "editType": "plot", + "family": { + "arrayOk": true, + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "plot", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "familysrc": { + "description": "Sets the source reference on Chart Studio Cloud for `family`.", + "editType": "none", + "valType": "string" + }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, + "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, + "size": { + "arrayOk": true, + "editType": "plot", + "min": 1, + "valType": "number" + }, + "sizesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `size`.", + "editType": "none", + "valType": "string" + }, + "style": { + "arrayOk": true, + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "stylesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `style`.", + "editType": "none", + "valType": "string" + }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, + "variant": { + "arrayOk": true, + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "variantsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `variant`.", + "editType": "none", + "valType": "string" + }, + "weight": { + "arrayOk": true, + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "plot", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + }, + "weightsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `weight`.", + "editType": "none", + "valType": "string" + } + }, + "position": { + "description": "Specifies the location of the `title`.", + "editType": "plot", + "valType": "enumerated", + "values": [ + "top left", + "top center", + "top right", + "middle center", + "bottom left", + "bottom center", + "bottom right" + ] + }, + "role": "object", + "text": { + "description": "Sets the title of the chart. If it is empty, no title is displayed.", + "dflt": "", + "editType": "plot", + "valType": "string" + } + }, + "transforms": { + "items": { + "transform": { + "description": "WARNING: All transforms are deprecated and may be removed from the API in next major version. An array of operations that manipulate the trace data, for example filtering or sorting the data arrays.", + "editType": "calc", + "role": "object" + } + }, + "role": "object" + }, + "type": "pie", "uid": { "description": "Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.", "editType": "plot", @@ -62594,6 +57103,16 @@ "editType": "none", "valType": "any" }, + "values": { + "description": "Sets the values of the sectors. If omitted, we count occurrences of each label.", + "editType": "calc", + "valType": "data_array" + }, + "valuessrc": { + "description": "Sets the source reference on Chart Studio Cloud for `values`.", + "editType": "none", + "valType": "string" + }, "visible": { "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", "dflt": true, @@ -62604,79 +57123,40 @@ false, "legendonly" ] - }, - "x": { - "description": "Sets the x coordinates.", - "editType": "calc+clearAxisTypes", - "valType": "data_array" - }, - "xaxis": { - "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", - "dflt": "x", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "xbounds": { - "description": "Specify `xbounds` in the shape of `[xMin, xMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `ybounds` for the performance benefits.", + } + }, + "categories": [ + "pie-like", + "pie", + "showLegend" + ], + "layoutAttributes": { + "extendpiecolors": { + "description": "If `true`, the pie slice colors (whether given by `piecolorway` or inherited from `colorway`) will be extended to three times its original length by first repeating every color 20% lighter then each color 20% darker. This is intended to reduce the likelihood of reusing the same color when you have many slices, but you can set `false` to disable. Colors provided in the trace, using `marker.colors`, are never extended.", + "dflt": true, "editType": "calc", - "valType": "data_array" - }, - "xboundssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `xbounds`.", - "editType": "none", - "valType": "string" - }, - "xsrc": { - "description": "Sets the source reference on Chart Studio Cloud for `x`.", - "editType": "none", - "valType": "string" + "valType": "boolean" }, - "xy": { - "description": "Faster alternative to specifying `x` and `y` separately. If supplied, it must be a typed `Float32Array` array that represents points such that `xy[i * 2] = x[i]` and `xy[i * 2 + 1] = y[i]`", + "hiddenlabels": { + "description": "hiddenlabels is the funnelarea & pie chart analog of visible:'legendonly' but it can contain many labels, and can simultaneously hide slices from several pies/funnelarea charts", "editType": "calc", "valType": "data_array" }, - "xysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `xy`.", + "hiddenlabelssrc": { + "description": "Sets the source reference on Chart Studio Cloud for `hiddenlabels`.", "editType": "none", "valType": "string" }, - "y": { - "description": "Sets the y coordinates.", - "editType": "calc+clearAxisTypes", - "valType": "data_array" - }, - "yaxis": { - "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.", - "dflt": "y", - "editType": "calc+clearAxisTypes", - "valType": "subplotid" - }, - "ybounds": { - "description": "Specify `ybounds` in the shape of `[yMin, yMax] to avoid looping through the `xy` typed array. Use it in conjunction with `xy` and `xbounds` for the performance benefits.", + "piecolorway": { + "description": "Sets the default pie slice colors. Defaults to the main `colorway` used for trace colors. If you specify a new list here it can still be extended with lighter and darker colors, see `extendpiecolors`.", "editType": "calc", - "valType": "data_array" - }, - "yboundssrc": { - "description": "Sets the source reference on Chart Studio Cloud for `ybounds`.", - "editType": "none", - "valType": "string" - }, - "ysrc": { - "description": "Sets the source reference on Chart Studio Cloud for `y`.", - "editType": "none", - "valType": "string" + "valType": "colorlist" } }, - "categories": [ - "gl", - "gl2d", - "showLegend" - ], "meta": { - "description": "*pointcloud* trace is deprecated! Please consider switching to the *scattergl* trace type. The data visualized as a point cloud set in `x` and `y` using the WebGl plotting engine." + "description": "A data visualized by the sectors of the pie is set in `values`. The sector labels are set in `labels`. The sector colors are set in `marker.colors`" }, - "type": "pointcloud" + "type": "pie" }, "sankey": { "animatable": false, @@ -64082,13 +58562,6 @@ "valType": "number" }, "error_x": { - "_deprecated": { - "opacity": { - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", - "editType": "style", - "valType": "number" - } - }, "array": { "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", "editType": "calc", @@ -64110,7 +58583,7 @@ "valType": "string" }, "color": { - "description": "Sets the stoke color of the error bars.", + "description": "Sets the stroke color of the error bars.", "editType": "style", "valType": "color" }, @@ -64182,13 +58655,6 @@ } }, "error_y": { - "_deprecated": { - "opacity": { - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", - "editType": "style", - "valType": "number" - } - }, "array": { "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", "editType": "calc", @@ -64210,7 +58676,7 @@ "valType": "string" }, "color": { - "description": "Sets the stoke color of the error bars.", + "description": "Sets the stroke color of the error bars.", "editType": "style", "valType": "color" }, @@ -64975,112 +59441,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -65520,7 +59880,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -65606,7 +59966,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -65616,7 +59976,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -67013,13 +61373,6 @@ "valType": "string" }, "error_x": { - "_deprecated": { - "opacity": { - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", - "editType": "calc", - "valType": "number" - } - }, "array": { "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", "editType": "calc", @@ -67041,7 +61394,7 @@ "valType": "string" }, "color": { - "description": "Sets the stoke color of the error bars.", + "description": "Sets the stroke color of the error bars.", "editType": "calc", "valType": "color" }, @@ -67113,13 +61466,6 @@ } }, "error_y": { - "_deprecated": { - "opacity": { - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", - "editType": "calc", - "valType": "number" - } - }, "array": { "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", "editType": "calc", @@ -67141,7 +61487,7 @@ "valType": "string" }, "color": { - "description": "Sets the stoke color of the error bars.", + "description": "Sets the stroke color of the error bars.", "editType": "calc", "valType": "color" }, @@ -67213,13 +61559,6 @@ } }, "error_z": { - "_deprecated": { - "opacity": { - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", - "editType": "calc", - "valType": "number" - } - }, "array": { "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", "editType": "calc", @@ -67241,7 +61580,7 @@ "valType": "string" }, "color": { - "description": "Sets the stoke color of the error bars.", + "description": "Sets the stroke color of the error bars.", "editType": "calc", "valType": "color" }, @@ -67742,112 +62081,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "calc", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -68287,7 +62520,7 @@ "editType": "calc", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -68373,7 +62606,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "calc", "valType": "enumerated", "values": [ @@ -68383,7 +62616,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "calc", "valType": "string" } @@ -68557,112 +62790,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "calc", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -69102,7 +63229,7 @@ "editType": "calc", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -69188,7 +63315,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "calc", "valType": "enumerated", "values": [ @@ -69198,7 +63325,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "calc", "valType": "string" } @@ -70500,112 +64627,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -71045,7 +65066,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -71131,7 +65152,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -71141,7 +65162,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -72903,112 +66924,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "calc", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -73448,7 +67363,7 @@ "editType": "calc", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -73534,7 +67449,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "calc", "valType": "enumerated", "values": [ @@ -73544,7 +67459,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "calc", "valType": "string" } @@ -74731,13 +68646,6 @@ "valType": "number" }, "error_x": { - "_deprecated": { - "opacity": { - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", - "editType": "calc", - "valType": "number" - } - }, "array": { "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", "editType": "calc", @@ -74759,7 +68667,7 @@ "valType": "string" }, "color": { - "description": "Sets the stoke color of the error bars.", + "description": "Sets the stroke color of the error bars.", "editType": "calc", "valType": "color" }, @@ -74831,13 +68739,6 @@ } }, "error_y": { - "_deprecated": { - "opacity": { - "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", - "editType": "calc", - "valType": "number" - } - }, "array": { "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", "editType": "calc", @@ -74859,7 +68760,7 @@ "valType": "string" }, "color": { - "description": "Sets the stoke color of the error bars.", + "description": "Sets the stroke color of the error bars.", "editType": "calc", "valType": "color" }, @@ -75435,112 +69336,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "calc", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -75980,7 +69775,7 @@ "editType": "calc", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -76066,7 +69861,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "calc", "valType": "enumerated", "values": [ @@ -76076,7 +69871,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "calc", "valType": "string" } @@ -77873,112 +71668,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "calc", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -78418,7 +72107,7 @@ "editType": "calc", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -78504,7 +72193,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "calc", "valType": "enumerated", "values": [ @@ -78514,7 +72203,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "calc", "valType": "string" } @@ -79526,112 +73215,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "calc", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -80071,7 +73654,7 @@ "editType": "calc", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -80157,7 +73740,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "calc", "valType": "enumerated", "values": [ @@ -80167,7 +73750,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "calc", "valType": "string" } @@ -81162,112 +74745,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -81707,7 +75184,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -81793,7 +75270,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -81803,7 +75280,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -83538,112 +77015,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "calc", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -84083,7 +77454,7 @@ "editType": "calc", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -84169,7 +77540,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "calc", "valType": "enumerated", "values": [ @@ -84179,7 +77550,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "calc", "valType": "string" } @@ -85858,112 +79229,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -86403,7 +79668,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -86489,7 +79754,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -86499,7 +79764,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -88273,112 +81538,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -88818,7 +81977,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -88904,7 +82063,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -88914,7 +82073,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -90619,112 +83778,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -91164,7 +84217,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -91250,7 +84303,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -91260,7 +84313,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -92256,112 +85309,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -92801,7 +85748,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -92887,7 +85834,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -92897,7 +85844,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -94407,112 +87354,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -94952,7 +87793,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -95038,7 +87879,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -95048,7 +87889,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -95746,20 +88587,6 @@ "surface": { "animatable": false, "attributes": { - "_deprecated": { - "zauto": { - "description": "Obsolete. Use `cauto` instead.", - "editType": "calc" - }, - "zmax": { - "description": "Obsolete. Use `cmax` instead.", - "editType": "calc" - }, - "zmin": { - "description": "Obsolete. Use `cmin` instead.", - "editType": "calc" - } - }, "autocolorscale": { "description": "Determines whether the colorscale is a default palette (`autocolorscale: true`) or the palette determined by `colorscale`. In case `colorscale` is unspecified or `autocolorscale` is true, the default palette will be chosen according to whether numbers in the `color` array are all positive, all negative or mixed.", "dflt": false, @@ -95807,112 +88634,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "calc", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -96352,7 +89073,7 @@ "editType": "calc", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -96438,7 +89159,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "calc", "valType": "enumerated", "values": [ @@ -96448,7 +89169,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "calc", "valType": "string" } @@ -99239,112 +91960,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "colorbars", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "colorbars", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "colorbars", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "colorbars", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "colorbars", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "colorbars", - "valType": "string" - }, - "size": { - "editType": "colorbars", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "colorbars", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "colorbars", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -99784,7 +92399,7 @@ "editType": "colorbars", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "colorbars", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -99870,7 +92485,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "colorbars", "valType": "enumerated", "values": [ @@ -99880,7 +92495,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "colorbars", "valType": "string" } @@ -102393,112 +95008,6 @@ "valType": "subplotid" }, "colorbar": { - "_deprecated": { - "title": { - "description": "Deprecated in favor of color bar's `title.text`. Note that value of color bar's `title` is no longer a simple *string* but a set of sub-attributes.", - "editType": "calc", - "valType": "string" - }, - "titlefont": { - "color": { - "editType": "calc", - "valType": "color" - }, - "description": "Deprecated in favor of color bar's `title.font`.", - "editType": "calc", - "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", - "editType": "calc", - "noBlank": true, - "strict": true, - "valType": "string" - }, - "lineposition": { - "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", - "dflt": "none", - "editType": "calc", - "extras": [ - "none" - ], - "flags": [ - "under", - "over", - "through" - ], - "valType": "flaglist" - }, - "shadow": { - "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", - "dflt": "none", - "editType": "calc", - "valType": "string" - }, - "size": { - "editType": "calc", - "min": 1, - "valType": "number" - }, - "style": { - "description": "Sets whether a font should be styled with a normal or italic face from its family.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "italic" - ] - }, - "textcase": { - "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "word caps", - "upper", - "lower" - ] - }, - "variant": { - "description": "Sets the variant of the font.", - "dflt": "normal", - "editType": "calc", - "valType": "enumerated", - "values": [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase" - ] - }, - "weight": { - "description": "Sets the weight (or boldness) of the font.", - "dflt": "normal", - "editType": "calc", - "extras": [ - "normal", - "bold" - ], - "max": 1000, - "min": 1, - "valType": "integer" - } - }, - "titleside": { - "description": "Deprecated in favor of color bar's `title.side`.", - "dflt": "top", - "editType": "calc", - "valType": "enumerated", - "values": [ - "right", - "top", - "bottom" - ] - } - }, "bgcolor": { "description": "Sets the color of padded area.", "dflt": "rgba(0,0,0,0)", @@ -102938,7 +95447,7 @@ "editType": "calc", "valType": "color" }, - "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", + "description": "Sets this color bar's title font.", "editType": "calc", "family": { "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", @@ -103024,7 +95533,7 @@ }, "role": "object", "side": { - "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*. Note that the title's location used to be set by the now deprecated `titleside` attribute.", + "description": "Determines the location of color bar's title with respect to the color bar. Defaults to *top* when `orientation` if *v* and defaults to *right* when `orientation` if *h*.", "editType": "calc", "valType": "enumerated", "values": [ @@ -103034,7 +95543,7 @@ ] }, "text": { - "description": "Sets the title of the color bar. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", + "description": "Sets the title of the color bar.", "editType": "calc", "valType": "string" } diff --git a/packages/python/plotly/codegen/utils.py b/packages/python/plotly/codegen/utils.py index 5bdf3d05c18..087e3d683b6 100644 --- a/packages/python/plotly/codegen/utils.py +++ b/packages/python/plotly/codegen/utils.py @@ -1277,7 +1277,7 @@ class MappedPropNode(PlotlyNode): def __init__(self, mapped_prop_node, parent, prop_name, plotly_schema): """ Create node that represents a legacy title property. - e.g. layout.titlefont. These properties are now subproperties under + e.g. layout.title_font. These properties are now subproperties under the sibling `title` property. e.g. layout.title.font. Parameters @@ -1285,7 +1285,7 @@ def __init__(self, mapped_prop_node, parent, prop_name, plotly_schema): title_node: PlotlyNode prop_name: str The name of the propery (without the title prefix) - e.g. 'font' to represent the layout.titlefont property. + e.g. 'font' to represent the layout.title_font property. """ node_path = parent.node_path + (prop_name,) super().__init__(plotly_schema, node_path=node_path, parent=parent) diff --git a/packages/python/plotly/codegen/validators.py b/packages/python/plotly/codegen/validators.py index 5a433603fb5..6867e2fd3a4 100644 --- a/packages/python/plotly/codegen/validators.py +++ b/packages/python/plotly/codegen/validators.py @@ -97,7 +97,7 @@ def write_validator_py(outdir, node: PlotlyNode): """ if node.is_mapped: # No validator written for mapped nodes - # e.g. no validator for layout.titlefont since ths is mapped to + # e.g. no validator for layout.title_font since ths is mapped to # layout.title.font return diff --git a/packages/python/plotly/plotly/basedatatypes.py b/packages/python/plotly/plotly/basedatatypes.py index 1ec7d1b5b11..a3044f6763a 100644 --- a/packages/python/plotly/plotly/basedatatypes.py +++ b/packages/python/plotly/plotly/basedatatypes.py @@ -4251,7 +4251,7 @@ class BasePlotlyType(object): """ # ### Mapped (deprecated) properties ### - # dict for deprecated property name (e.g. 'titlefont') to tuple + # dict for deprecated property name (e.g. 'title_font') to tuple # of relative path to new property (e.g. ('title', 'font') _mapped_properties = {} diff --git a/packages/python/plotly/plotly/graph_objects/__init__.py b/packages/python/plotly/plotly/graph_objects/__init__.py index a2215ba362f..49b56ca06df 100644 --- a/packages/python/plotly/plotly/graph_objects/__init__.py +++ b/packages/python/plotly/plotly/graph_objects/__init__.py @@ -23,7 +23,6 @@ from ..graph_objs import Scatter3d from ..graph_objs import Scatter from ..graph_objs import Sankey - from ..graph_objs import Pointcloud from ..graph_objs import Pie from ..graph_objs import Parcoords from ..graph_objs import Parcats @@ -36,7 +35,6 @@ from ..graph_objs import Histogram2dContour from ..graph_objs import Histogram2d from ..graph_objs import Histogram - from ..graph_objs import Heatmapgl from ..graph_objs import Heatmap from ..graph_objs import Funnelarea from ..graph_objs import Funnel @@ -102,7 +100,6 @@ from ..graph_objs import scatter3d from ..graph_objs import scatter from ..graph_objs import sankey - from ..graph_objs import pointcloud from ..graph_objs import pie from ..graph_objs import parcoords from ..graph_objs import parcats @@ -115,7 +112,6 @@ from ..graph_objs import histogram2dcontour from ..graph_objs import histogram2d from ..graph_objs import histogram - from ..graph_objs import heatmapgl from ..graph_objs import heatmap from ..graph_objs import funnelarea from ..graph_objs import funnel @@ -160,7 +156,6 @@ "..graph_objs.scatter3d", "..graph_objs.scatter", "..graph_objs.sankey", - "..graph_objs.pointcloud", "..graph_objs.pie", "..graph_objs.parcoords", "..graph_objs.parcats", @@ -173,7 +168,6 @@ "..graph_objs.histogram2dcontour", "..graph_objs.histogram2d", "..graph_objs.histogram", - "..graph_objs.heatmapgl", "..graph_objs.heatmap", "..graph_objs.funnelarea", "..graph_objs.funnel", @@ -214,7 +208,6 @@ "..graph_objs.Scatter3d", "..graph_objs.Scatter", "..graph_objs.Sankey", - "..graph_objs.Pointcloud", "..graph_objs.Pie", "..graph_objs.Parcoords", "..graph_objs.Parcats", @@ -227,7 +220,6 @@ "..graph_objs.Histogram2dContour", "..graph_objs.Histogram2d", "..graph_objs.Histogram", - "..graph_objs.Heatmapgl", "..graph_objs.Heatmap", "..graph_objs.Funnelarea", "..graph_objs.Funnel", diff --git a/packages/python/plotly/plotly/graph_objs/__init__.py b/packages/python/plotly/plotly/graph_objs/__init__.py index 0563dbcd236..f35ed87eb5a 100644 --- a/packages/python/plotly/plotly/graph_objs/__init__.py +++ b/packages/python/plotly/plotly/graph_objs/__init__.py @@ -45,7 +45,6 @@ from ._funnel import Funnel from ._funnelarea import Funnelarea from ._heatmap import Heatmap - from ._heatmapgl import Heatmapgl from ._histogram import Histogram from ._histogram2d import Histogram2d from ._histogram2dcontour import Histogram2dContour @@ -59,7 +58,6 @@ from ._parcats import Parcats from ._parcoords import Parcoords from ._pie import Pie - from ._pointcloud import Pointcloud from ._sankey import Sankey from ._scatter import Scatter from ._scatter3d import Scatter3d @@ -97,7 +95,6 @@ from . import funnel from . import funnelarea from . import heatmap - from . import heatmapgl from . import histogram from . import histogram2d from . import histogram2dcontour @@ -111,7 +108,6 @@ from . import parcats from . import parcoords from . import pie - from . import pointcloud from . import sankey from . import scatter from . import scatter3d @@ -155,7 +151,6 @@ ".funnel", ".funnelarea", ".heatmap", - ".heatmapgl", ".histogram", ".histogram2d", ".histogram2dcontour", @@ -169,7 +164,6 @@ ".parcats", ".parcoords", ".pie", - ".pointcloud", ".sankey", ".scatter", ".scatter3d", @@ -236,7 +230,6 @@ "._funnel.Funnel", "._funnelarea.Funnelarea", "._heatmap.Heatmap", - "._heatmapgl.Heatmapgl", "._histogram.Histogram", "._histogram2d.Histogram2d", "._histogram2dcontour.Histogram2dContour", @@ -250,7 +243,6 @@ "._parcats.Parcats", "._parcoords.Parcoords", "._pie.Pie", - "._pointcloud.Pointcloud", "._sankey.Sankey", "._scatter.Scatter", "._scatter3d.Scatter3d", diff --git a/packages/python/plotly/plotly/graph_objs/_bar.py b/packages/python/plotly/plotly/graph_objs/_bar.py index ecec82885b7..0b5e5a96716 100644 --- a/packages/python/plotly/plotly/graph_objs/_bar.py +++ b/packages/python/plotly/plotly/graph_objs/_bar.py @@ -308,7 +308,7 @@ def error_x(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_ystyle symmetric @@ -389,7 +389,7 @@ def error_y(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom diff --git a/packages/python/plotly/plotly/graph_objs/_carpet.py b/packages/python/plotly/plotly/graph_objs/_carpet.py index b0d8fba78f7..71a5c950190 100644 --- a/packages/python/plotly/plotly/graph_objs/_carpet.py +++ b/packages/python/plotly/plotly/graph_objs/_carpet.py @@ -334,18 +334,6 @@ def aaxis(self): title :class:`plotly.graph_objects.carpet.aaxis.Title ` instance or dict with compatible properties - titlefont - Deprecated: Please use carpet.aaxis.title.font - instead. Sets this axis' title font. Note that - the title's font used to be set by the now - deprecated `titlefont` attribute. - titleoffset - Deprecated: Please use - carpet.aaxis.title.offset instead. An - additional amount by which to offset the title - from the tick labels, given in pixels. Note - that this used to be set by the now deprecated - `titleoffset` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the @@ -667,18 +655,6 @@ def baxis(self): title :class:`plotly.graph_objects.carpet.baxis.Title ` instance or dict with compatible properties - titlefont - Deprecated: Please use carpet.baxis.title.font - instead. Sets this axis' title font. Note that - the title's font used to be set by the now - deprecated `titlefont` attribute. - titleoffset - Deprecated: Please use - carpet.baxis.title.offset instead. An - additional amount by which to offset the title - from the tick labels, given in pixels. Note - that this used to be set by the now deprecated - `titleoffset` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the diff --git a/packages/python/plotly/plotly/graph_objs/_choropleth.py b/packages/python/plotly/plotly/graph_objs/_choropleth.py index 7e193d07ce5..bad982915b4 100644 --- a/packages/python/plotly/plotly/graph_objs/_choropleth.py +++ b/packages/python/plotly/plotly/graph_objs/_choropleth.py @@ -342,21 +342,6 @@ def colorbar(self): :class:`plotly.graph_objects.choropleth.colorba r.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - choropleth.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - choropleth.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/_choroplethmap.py b/packages/python/plotly/plotly/graph_objs/_choroplethmap.py index 66640989bb4..86edbf5362d 100644 --- a/packages/python/plotly/plotly/graph_objs/_choroplethmap.py +++ b/packages/python/plotly/plotly/graph_objs/_choroplethmap.py @@ -367,21 +367,6 @@ def colorbar(self): :class:`plotly.graph_objects.choroplethmap.colo rbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - choroplethmap.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - choroplethmap.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/_choroplethmapbox.py b/packages/python/plotly/plotly/graph_objs/_choroplethmapbox.py index 06595081769..263e7f436c4 100644 --- a/packages/python/plotly/plotly/graph_objs/_choroplethmapbox.py +++ b/packages/python/plotly/plotly/graph_objs/_choroplethmapbox.py @@ -367,21 +367,6 @@ def colorbar(self): :class:`plotly.graph_objects.choroplethmapbox.c olorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - choroplethmapbox.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - choroplethmapbox.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/_cone.py b/packages/python/plotly/plotly/graph_objs/_cone.py index d7364c1d143..1c902d71835 100644 --- a/packages/python/plotly/plotly/graph_objs/_cone.py +++ b/packages/python/plotly/plotly/graph_objs/_cone.py @@ -467,19 +467,6 @@ def colorbar(self): title :class:`plotly.graph_objects.cone.colorbar.Titl e` instance or dict with compatible properties - titlefont - Deprecated: Please use cone.colorbar.title.font - instead. Sets this color bar's title font. Note - that the title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use cone.colorbar.title.side - instead. Determines the location of color bar's - title with respect to the color bar. Defaults - to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". - Note that the title's location used to be set - by the now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/_contour.py b/packages/python/plotly/plotly/graph_objs/_contour.py index 3a2256f8ac9..889a1aa7dc2 100644 --- a/packages/python/plotly/plotly/graph_objs/_contour.py +++ b/packages/python/plotly/plotly/graph_objs/_contour.py @@ -390,21 +390,6 @@ def colorbar(self): :class:`plotly.graph_objects.contour.colorbar.T itle` instance or dict with compatible properties - titlefont - Deprecated: Please use - contour.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's - font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use - contour.colorbar.title.side instead. Determines - the location of color bar's title with respect - to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" - when `orientation` if "h". Note that the - title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/_contourcarpet.py b/packages/python/plotly/plotly/graph_objs/_contourcarpet.py index 9fff237a235..02dd7d60409 100644 --- a/packages/python/plotly/plotly/graph_objs/_contourcarpet.py +++ b/packages/python/plotly/plotly/graph_objs/_contourcarpet.py @@ -564,21 +564,6 @@ def colorbar(self): :class:`plotly.graph_objects.contourcarpet.colo rbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - contourcarpet.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - contourcarpet.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/_densitymap.py b/packages/python/plotly/plotly/graph_objs/_densitymap.py index 615b65e636a..5fc0b4bd1de 100644 --- a/packages/python/plotly/plotly/graph_objs/_densitymap.py +++ b/packages/python/plotly/plotly/graph_objs/_densitymap.py @@ -365,21 +365,6 @@ def colorbar(self): :class:`plotly.graph_objects.densitymap.colorba r.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - densitymap.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - densitymap.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/_densitymapbox.py b/packages/python/plotly/plotly/graph_objs/_densitymapbox.py index 10af98c67fe..ad09dea9300 100644 --- a/packages/python/plotly/plotly/graph_objs/_densitymapbox.py +++ b/packages/python/plotly/plotly/graph_objs/_densitymapbox.py @@ -366,21 +366,6 @@ def colorbar(self): :class:`plotly.graph_objects.densitymapbox.colo rbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - densitymapbox.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - densitymapbox.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/_figure.py b/packages/python/plotly/plotly/graph_objs/_figure.py index 28ae8bc999b..d14e7c40453 100644 --- a/packages/python/plotly/plotly/graph_objs/_figure.py +++ b/packages/python/plotly/plotly/graph_objs/_figure.py @@ -24,17 +24,17 @@ def __init__( 'choroplethmapbox', 'cone', 'contour', 'contourcarpet', 'densitymap', 'densitymapbox', 'funnel', 'funnelarea', - 'heatmap', 'heatmapgl', 'histogram', - 'histogram2d', 'histogram2dcontour', 'icicle', - 'image', 'indicator', 'isosurface', 'mesh3d', - 'ohlc', 'parcats', 'parcoords', 'pie', - 'pointcloud', 'sankey', 'scatter', - 'scatter3d', 'scattercarpet', 'scattergeo', - 'scattergl', 'scattermap', 'scattermapbox', - 'scatterpolar', 'scatterpolargl', - 'scattersmith', 'scatterternary', 'splom', - 'streamtube', 'sunburst', 'surface', 'table', - 'treemap', 'violin', 'volume', 'waterfall'] + 'heatmap', 'histogram', 'histogram2d', + 'histogram2dcontour', 'icicle', 'image', + 'indicator', 'isosurface', 'mesh3d', 'ohlc', + 'parcats', 'parcoords', 'pie', 'sankey', + 'scatter', 'scatter3d', 'scattercarpet', + 'scattergeo', 'scattergl', 'scattermap', + 'scattermapbox', 'scatterpolar', + 'scatterpolargl', 'scattersmith', + 'scatterternary', 'splom', 'streamtube', + 'sunburst', 'surface', 'table', 'treemap', + 'violin', 'volume', 'waterfall'] - All remaining properties are passed to the constructor of the specified trace type @@ -510,11 +510,6 @@ def __init__( title :class:`plotly.graph_objects.layout.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.title.font - instead. Sets the title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. transition Sets transition options used during Plotly.react updates. @@ -8345,362 +8340,6 @@ def add_heatmap( ) return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_heatmapgl( - self, - autocolorscale=None, - coloraxis=None, - colorbar=None, - colorscale=None, - customdata=None, - customdatasrc=None, - dx=None, - dy=None, - hoverinfo=None, - hoverinfosrc=None, - hoverlabel=None, - ids=None, - idssrc=None, - legend=None, - legendgrouptitle=None, - legendrank=None, - legendwidth=None, - meta=None, - metasrc=None, - name=None, - opacity=None, - reversescale=None, - showscale=None, - stream=None, - text=None, - textsrc=None, - transpose=None, - uid=None, - uirevision=None, - visible=None, - x=None, - x0=None, - xaxis=None, - xsrc=None, - xtype=None, - y=None, - y0=None, - yaxis=None, - ysrc=None, - ytype=None, - z=None, - zauto=None, - zmax=None, - zmid=None, - zmin=None, - zsmooth=None, - zsrc=None, - row=None, - col=None, - secondary_y=None, - **kwargs, - ) -> "Figure": - """ - Add a new Heatmapgl trace - - "heatmapgl" trace is deprecated! Please consider switching to - the "heatmap" or "image" trace types. Alternatively you could - contribute/sponsor rewriting this trace type based on cartesian - features and using regl framework. WebGL version of the heatmap - trace type. - - Parameters - ---------- - autocolorscale - Determines whether the colorscale is a default palette - (`autocolorscale: true`) or the palette determined by - `colorscale`. In case `colorscale` is unspecified or - `autocolorscale` is true, the default palette will be - chosen according to whether numbers in the `color` - array are all positive, all negative or mixed. - coloraxis - Sets a reference to a shared color axis. References to - these shared color axes are "coloraxis", "coloraxis2", - "coloraxis3", etc. Settings for these shared color axes - are set in the layout, under `layout.coloraxis`, - `layout.coloraxis2`, etc. Note that multiple color - scales can be linked to the same color axis. - colorbar - :class:`plotly.graph_objects.heatmapgl.ColorBar` - instance or dict with compatible properties - colorscale - Sets the colorscale. The colorscale must be an array - containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - customdata - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note - that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - dx - Sets the x coordinate step. See `x0` for more info. - dy - Sets the y coordinate step. See `y0` for more info. - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.heatmapgl.Hoverlabel` - instance or dict with compatible properties - ids - Assigns id labels to each datum. These ids for object - constancy of data points during animation. Should be an - array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - legend - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", - "legend3", etc. Settings for these legends are set in - the layout, under `layout.legend`, `layout.legend2`, - etc. - legendgrouptitle - :class:`plotly.graph_objects.heatmapgl.Legendgrouptitle - ` instance or dict with compatible properties - legendrank - Sets the legend rank for this trace. Items and groups - with smaller ranks are presented on top/left side while - with "reversed" `legend.traceorder` they are on - bottom/right side. The default legendrank is 1000, so - that you can use ranks less than 1000 to place certain - items before all unranked items, and ranks greater than - 1000 to go after all unranked items. When having - unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and - layout. - legendwidth - Sets the width (in px or fraction) of the legend for - this trace. - meta - Assigns extra meta information associated with this - trace that can be used in various text attributes. - Attributes such as trace `name`, graph, axis and - colorbar `title.text`, annotation `text` - `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - name - Sets the trace name. The trace name appears as the - legend item and on hover. - opacity - Sets the opacity of the trace. - reversescale - Reverses the color mapping if true. If true, `zmin` - will correspond to the last color in the array and - `zmax` will correspond to the first color. - showscale - Determines whether or not a colorbar is displayed for - this trace. - stream - :class:`plotly.graph_objects.heatmapgl.Stream` instance - or dict with compatible properties - text - Sets the text elements associated with each z value. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - transpose - Transposes the z data. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - x - Sets the x coordinates. - x0 - Alternate to `x`. Builds a linear space of x - coordinates. Use with `dx` where `x0` is the starting - coordinate and `dx` the step. - xaxis - Sets a reference between this trace's x coordinates and - a 2D cartesian x axis. If "x" (the default value), the - x coordinates refer to `layout.xaxis`. If "x2", the x - coordinates refer to `layout.xaxis2`, and so on. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. - xtype - If "array", the heatmap's x coordinates are given by - "x" (the default behavior when `x` is provided). If - "scaled", the heatmap's x coordinates are given by "x0" - and "dx" (the default behavior when `x` is not - provided). - y - Sets the y coordinates. - y0 - Alternate to `y`. Builds a linear space of y - coordinates. Use with `dy` where `y0` is the starting - coordinate and `dy` the step. - yaxis - Sets a reference between this trace's y coordinates and - a 2D cartesian y axis. If "y" (the default value), the - y coordinates refer to `layout.yaxis`. If "y2", the y - coordinates refer to `layout.yaxis2`, and so on. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. - ytype - If "array", the heatmap's y coordinates are given by - "y" (the default behavior when `y` is provided) If - "scaled", the heatmap's y coordinates are given by "y0" - and "dy" (the default behavior when `y` is not - provided) - z - Sets the z data. - zauto - Determines whether or not the color domain is computed - with respect to the input data (here in `z`) or the - bounds set in `zmin` and `zmax` Defaults to `false` - when `zmin` and `zmax` are set by the user. - zmax - Sets the upper bound of the color domain. Value should - have the same units as in `z` and if set, `zmin` must - be set as well. - zmid - Sets the mid-point of the color domain by scaling - `zmin` and/or `zmax` to be equidistant to this point. - Value should have the same units as in `z`. Has no - effect when `zauto` is `false`. - zmin - Sets the lower bound of the color domain. Value should - have the same units as in `z` and if set, `zmax` must - be set as well. - zsmooth - Picks a smoothing algorithm use to smooth `z` data. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. - row : 'all', int or None (default) - Subplot row index (starting from 1) for the trace to be - added. Only valid if figure was created using - `plotly.tools.make_subplots`.If 'all', addresses all - rows in the specified column(s). - col : 'all', int or None (default) - Subplot col index (starting from 1) for the trace to be - added. Only valid if figure was created using - `plotly.tools.make_subplots`.If 'all', addresses all - columns in the specified row(s). - secondary_y: boolean or None (default None) - If True, associate this trace with the secondary y-axis of the - subplot at the specified row and col. Only valid if all of the - following conditions are satisfied: - * The figure was created using `plotly.subplots.make_subplots`. - * The row and col arguments are not None - * The subplot at the specified row and col has type xy - (which is the default) and secondary_y True. These - properties are specified in the specs argument to - make_subplots. See the make_subplots docstring for more info. - - Returns - ------- - Figure - """ - from plotly.graph_objs import Heatmapgl - - new_trace = Heatmapgl( - autocolorscale=autocolorscale, - coloraxis=coloraxis, - colorbar=colorbar, - colorscale=colorscale, - customdata=customdata, - customdatasrc=customdatasrc, - dx=dx, - dy=dy, - hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, - hoverlabel=hoverlabel, - ids=ids, - idssrc=idssrc, - legend=legend, - legendgrouptitle=legendgrouptitle, - legendrank=legendrank, - legendwidth=legendwidth, - meta=meta, - metasrc=metasrc, - name=name, - opacity=opacity, - reversescale=reversescale, - showscale=showscale, - stream=stream, - text=text, - textsrc=textsrc, - transpose=transpose, - uid=uid, - uirevision=uirevision, - visible=visible, - x=x, - x0=x0, - xaxis=xaxis, - xsrc=xsrc, - xtype=xtype, - y=y, - y0=y0, - yaxis=yaxis, - ysrc=ysrc, - ytype=ytype, - z=z, - zauto=zauto, - zmax=zmax, - zmid=zmid, - zmin=zmin, - zsmooth=zsmooth, - zsrc=zsrc, - **kwargs, - ) - return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_histogram( self, alignmentgroup=None, @@ -13143,8 +12782,6 @@ def add_pie( texttemplate=None, texttemplatesrc=None, title=None, - titlefont=None, - titleposition=None, uid=None, uirevision=None, values=None, @@ -13392,15 +13029,6 @@ def add_pie( title :class:`plotly.graph_objects.pie.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use pie.title.font instead. Sets the - font used for `title`. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleposition - Deprecated: Please use pie.title.position instead. - Specifies the location of the `title`. Note that the - title's position used to be set by the now deprecated - `titleposition` attribute. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -13500,8 +13128,6 @@ def add_pie( texttemplate=texttemplate, texttemplatesrc=texttemplatesrc, title=title, - titlefont=titlefont, - titleposition=titleposition, uid=uid, uirevision=uirevision, values=values, @@ -13511,307 +13137,6 @@ def add_pie( ) return self.add_trace(new_trace, row=row, col=col) - def add_pointcloud( - self, - customdata=None, - customdatasrc=None, - hoverinfo=None, - hoverinfosrc=None, - hoverlabel=None, - ids=None, - idssrc=None, - indices=None, - indicessrc=None, - legend=None, - legendgroup=None, - legendgrouptitle=None, - legendrank=None, - legendwidth=None, - marker=None, - meta=None, - metasrc=None, - name=None, - opacity=None, - showlegend=None, - stream=None, - text=None, - textsrc=None, - uid=None, - uirevision=None, - visible=None, - x=None, - xaxis=None, - xbounds=None, - xboundssrc=None, - xsrc=None, - xy=None, - xysrc=None, - y=None, - yaxis=None, - ybounds=None, - yboundssrc=None, - ysrc=None, - row=None, - col=None, - secondary_y=None, - **kwargs, - ) -> "Figure": - """ - Add a new Pointcloud trace - - "pointcloud" trace is deprecated! Please consider switching to - the "scattergl" trace type. The data visualized as a point - cloud set in `x` and `y` using the WebGl plotting engine. - - Parameters - ---------- - customdata - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note - that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.pointcloud.Hoverlabel` - instance or dict with compatible properties - ids - Assigns id labels to each datum. These ids for object - constancy of data points during animation. Should be an - array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - indices - A sequential value, 0..n, supply it to avoid creating - this array inside plotting. If specified, it must be a - typed `Int32Array` array. Its length must be equal to - or greater than the number of points. For the best - performance and memory use, create one large `indices` - typed array that is guaranteed to be at least as long - as the largest number of points during use, and reuse - it on each `Plotly.restyle()` call. - indicessrc - Sets the source reference on Chart Studio Cloud for - `indices`. - legend - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", - "legend3", etc. Settings for these legends are set in - the layout, under `layout.legend`, `layout.legend2`, - etc. - legendgroup - Sets the legend group for this trace. Traces and shapes - part of the same legend group hide/show at the same - time when toggling legend items. - legendgrouptitle - :class:`plotly.graph_objects.pointcloud.Legendgrouptitl - e` instance or dict with compatible properties - legendrank - Sets the legend rank for this trace. Items and groups - with smaller ranks are presented on top/left side while - with "reversed" `legend.traceorder` they are on - bottom/right side. The default legendrank is 1000, so - that you can use ranks less than 1000 to place certain - items before all unranked items, and ranks greater than - 1000 to go after all unranked items. When having - unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and - layout. - legendwidth - Sets the width (in px or fraction) of the legend for - this trace. - marker - :class:`plotly.graph_objects.pointcloud.Marker` - instance or dict with compatible properties - meta - Assigns extra meta information associated with this - trace that can be used in various text attributes. - Attributes such as trace `name`, graph, axis and - colorbar `title.text`, annotation `text` - `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - name - Sets the trace name. The trace name appears as the - legend item and on hover. - opacity - Sets the opacity of the trace. - showlegend - Determines whether or not an item corresponding to this - trace is shown in the legend. - stream - :class:`plotly.graph_objects.pointcloud.Stream` - instance or dict with compatible properties - text - Sets text elements associated with each (x,y) pair. If - a single string, the same string appears over all the - data points. If an array of string, the items are - mapped in order to the this trace's (x,y) coordinates. - If trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - x - Sets the x coordinates. - xaxis - Sets a reference between this trace's x coordinates and - a 2D cartesian x axis. If "x" (the default value), the - x coordinates refer to `layout.xaxis`. If "x2", the x - coordinates refer to `layout.xaxis2`, and so on. - xbounds - Specify `xbounds` in the shape of `[xMin, xMax] to - avoid looping through the `xy` typed array. Use it in - conjunction with `xy` and `ybounds` for the performance - benefits. - xboundssrc - Sets the source reference on Chart Studio Cloud for - `xbounds`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. - xy - Faster alternative to specifying `x` and `y` - separately. If supplied, it must be a typed - `Float32Array` array that represents points such that - `xy[i * 2] = x[i]` and `xy[i * 2 + 1] = y[i]` - xysrc - Sets the source reference on Chart Studio Cloud for - `xy`. - y - Sets the y coordinates. - yaxis - Sets a reference between this trace's y coordinates and - a 2D cartesian y axis. If "y" (the default value), the - y coordinates refer to `layout.yaxis`. If "y2", the y - coordinates refer to `layout.yaxis2`, and so on. - ybounds - Specify `ybounds` in the shape of `[yMin, yMax] to - avoid looping through the `xy` typed array. Use it in - conjunction with `xy` and `xbounds` for the performance - benefits. - yboundssrc - Sets the source reference on Chart Studio Cloud for - `ybounds`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. - row : 'all', int or None (default) - Subplot row index (starting from 1) for the trace to be - added. Only valid if figure was created using - `plotly.tools.make_subplots`.If 'all', addresses all - rows in the specified column(s). - col : 'all', int or None (default) - Subplot col index (starting from 1) for the trace to be - added. Only valid if figure was created using - `plotly.tools.make_subplots`.If 'all', addresses all - columns in the specified row(s). - secondary_y: boolean or None (default None) - If True, associate this trace with the secondary y-axis of the - subplot at the specified row and col. Only valid if all of the - following conditions are satisfied: - * The figure was created using `plotly.subplots.make_subplots`. - * The row and col arguments are not None - * The subplot at the specified row and col has type xy - (which is the default) and secondary_y True. These - properties are specified in the specs argument to - make_subplots. See the make_subplots docstring for more info. - - Returns - ------- - Figure - """ - from plotly.graph_objs import Pointcloud - - new_trace = Pointcloud( - customdata=customdata, - customdatasrc=customdatasrc, - hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, - hoverlabel=hoverlabel, - ids=ids, - idssrc=idssrc, - indices=indices, - indicessrc=indicessrc, - legend=legend, - legendgroup=legendgroup, - legendgrouptitle=legendgrouptitle, - legendrank=legendrank, - legendwidth=legendwidth, - marker=marker, - meta=meta, - metasrc=metasrc, - name=name, - opacity=opacity, - showlegend=showlegend, - stream=stream, - text=text, - textsrc=textsrc, - uid=uid, - uirevision=uirevision, - visible=visible, - x=x, - xaxis=xaxis, - xbounds=xbounds, - xboundssrc=xboundssrc, - xsrc=xsrc, - xy=xy, - xysrc=xysrc, - y=y, - yaxis=yaxis, - ybounds=ybounds, - yboundssrc=yboundssrc, - ysrc=ysrc, - **kwargs, - ) - return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_sankey( self, arrangement=None, diff --git a/packages/python/plotly/plotly/graph_objs/_figurewidget.py b/packages/python/plotly/plotly/graph_objs/_figurewidget.py index 5b7d7996c97..ff196f3be2a 100644 --- a/packages/python/plotly/plotly/graph_objs/_figurewidget.py +++ b/packages/python/plotly/plotly/graph_objs/_figurewidget.py @@ -24,17 +24,17 @@ def __init__( 'choroplethmapbox', 'cone', 'contour', 'contourcarpet', 'densitymap', 'densitymapbox', 'funnel', 'funnelarea', - 'heatmap', 'heatmapgl', 'histogram', - 'histogram2d', 'histogram2dcontour', 'icicle', - 'image', 'indicator', 'isosurface', 'mesh3d', - 'ohlc', 'parcats', 'parcoords', 'pie', - 'pointcloud', 'sankey', 'scatter', - 'scatter3d', 'scattercarpet', 'scattergeo', - 'scattergl', 'scattermap', 'scattermapbox', - 'scatterpolar', 'scatterpolargl', - 'scattersmith', 'scatterternary', 'splom', - 'streamtube', 'sunburst', 'surface', 'table', - 'treemap', 'violin', 'volume', 'waterfall'] + 'heatmap', 'histogram', 'histogram2d', + 'histogram2dcontour', 'icicle', 'image', + 'indicator', 'isosurface', 'mesh3d', 'ohlc', + 'parcats', 'parcoords', 'pie', 'sankey', + 'scatter', 'scatter3d', 'scattercarpet', + 'scattergeo', 'scattergl', 'scattermap', + 'scattermapbox', 'scatterpolar', + 'scatterpolargl', 'scattersmith', + 'scatterternary', 'splom', 'streamtube', + 'sunburst', 'surface', 'table', 'treemap', + 'violin', 'volume', 'waterfall'] - All remaining properties are passed to the constructor of the specified trace type @@ -510,11 +510,6 @@ def __init__( title :class:`plotly.graph_objects.layout.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.title.font - instead. Sets the title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. transition Sets transition options used during Plotly.react updates. @@ -8349,362 +8344,6 @@ def add_heatmap( ) return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_heatmapgl( - self, - autocolorscale=None, - coloraxis=None, - colorbar=None, - colorscale=None, - customdata=None, - customdatasrc=None, - dx=None, - dy=None, - hoverinfo=None, - hoverinfosrc=None, - hoverlabel=None, - ids=None, - idssrc=None, - legend=None, - legendgrouptitle=None, - legendrank=None, - legendwidth=None, - meta=None, - metasrc=None, - name=None, - opacity=None, - reversescale=None, - showscale=None, - stream=None, - text=None, - textsrc=None, - transpose=None, - uid=None, - uirevision=None, - visible=None, - x=None, - x0=None, - xaxis=None, - xsrc=None, - xtype=None, - y=None, - y0=None, - yaxis=None, - ysrc=None, - ytype=None, - z=None, - zauto=None, - zmax=None, - zmid=None, - zmin=None, - zsmooth=None, - zsrc=None, - row=None, - col=None, - secondary_y=None, - **kwargs, - ) -> "FigureWidget": - """ - Add a new Heatmapgl trace - - "heatmapgl" trace is deprecated! Please consider switching to - the "heatmap" or "image" trace types. Alternatively you could - contribute/sponsor rewriting this trace type based on cartesian - features and using regl framework. WebGL version of the heatmap - trace type. - - Parameters - ---------- - autocolorscale - Determines whether the colorscale is a default palette - (`autocolorscale: true`) or the palette determined by - `colorscale`. In case `colorscale` is unspecified or - `autocolorscale` is true, the default palette will be - chosen according to whether numbers in the `color` - array are all positive, all negative or mixed. - coloraxis - Sets a reference to a shared color axis. References to - these shared color axes are "coloraxis", "coloraxis2", - "coloraxis3", etc. Settings for these shared color axes - are set in the layout, under `layout.coloraxis`, - `layout.coloraxis2`, etc. Note that multiple color - scales can be linked to the same color axis. - colorbar - :class:`plotly.graph_objects.heatmapgl.ColorBar` - instance or dict with compatible properties - colorscale - Sets the colorscale. The colorscale must be an array - containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - customdata - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note - that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - dx - Sets the x coordinate step. See `x0` for more info. - dy - Sets the y coordinate step. See `y0` for more info. - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.heatmapgl.Hoverlabel` - instance or dict with compatible properties - ids - Assigns id labels to each datum. These ids for object - constancy of data points during animation. Should be an - array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - legend - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", - "legend3", etc. Settings for these legends are set in - the layout, under `layout.legend`, `layout.legend2`, - etc. - legendgrouptitle - :class:`plotly.graph_objects.heatmapgl.Legendgrouptitle - ` instance or dict with compatible properties - legendrank - Sets the legend rank for this trace. Items and groups - with smaller ranks are presented on top/left side while - with "reversed" `legend.traceorder` they are on - bottom/right side. The default legendrank is 1000, so - that you can use ranks less than 1000 to place certain - items before all unranked items, and ranks greater than - 1000 to go after all unranked items. When having - unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and - layout. - legendwidth - Sets the width (in px or fraction) of the legend for - this trace. - meta - Assigns extra meta information associated with this - trace that can be used in various text attributes. - Attributes such as trace `name`, graph, axis and - colorbar `title.text`, annotation `text` - `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - name - Sets the trace name. The trace name appears as the - legend item and on hover. - opacity - Sets the opacity of the trace. - reversescale - Reverses the color mapping if true. If true, `zmin` - will correspond to the last color in the array and - `zmax` will correspond to the first color. - showscale - Determines whether or not a colorbar is displayed for - this trace. - stream - :class:`plotly.graph_objects.heatmapgl.Stream` instance - or dict with compatible properties - text - Sets the text elements associated with each z value. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - transpose - Transposes the z data. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - x - Sets the x coordinates. - x0 - Alternate to `x`. Builds a linear space of x - coordinates. Use with `dx` where `x0` is the starting - coordinate and `dx` the step. - xaxis - Sets a reference between this trace's x coordinates and - a 2D cartesian x axis. If "x" (the default value), the - x coordinates refer to `layout.xaxis`. If "x2", the x - coordinates refer to `layout.xaxis2`, and so on. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. - xtype - If "array", the heatmap's x coordinates are given by - "x" (the default behavior when `x` is provided). If - "scaled", the heatmap's x coordinates are given by "x0" - and "dx" (the default behavior when `x` is not - provided). - y - Sets the y coordinates. - y0 - Alternate to `y`. Builds a linear space of y - coordinates. Use with `dy` where `y0` is the starting - coordinate and `dy` the step. - yaxis - Sets a reference between this trace's y coordinates and - a 2D cartesian y axis. If "y" (the default value), the - y coordinates refer to `layout.yaxis`. If "y2", the y - coordinates refer to `layout.yaxis2`, and so on. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. - ytype - If "array", the heatmap's y coordinates are given by - "y" (the default behavior when `y` is provided) If - "scaled", the heatmap's y coordinates are given by "y0" - and "dy" (the default behavior when `y` is not - provided) - z - Sets the z data. - zauto - Determines whether or not the color domain is computed - with respect to the input data (here in `z`) or the - bounds set in `zmin` and `zmax` Defaults to `false` - when `zmin` and `zmax` are set by the user. - zmax - Sets the upper bound of the color domain. Value should - have the same units as in `z` and if set, `zmin` must - be set as well. - zmid - Sets the mid-point of the color domain by scaling - `zmin` and/or `zmax` to be equidistant to this point. - Value should have the same units as in `z`. Has no - effect when `zauto` is `false`. - zmin - Sets the lower bound of the color domain. Value should - have the same units as in `z` and if set, `zmax` must - be set as well. - zsmooth - Picks a smoothing algorithm use to smooth `z` data. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. - row : 'all', int or None (default) - Subplot row index (starting from 1) for the trace to be - added. Only valid if figure was created using - `plotly.tools.make_subplots`.If 'all', addresses all - rows in the specified column(s). - col : 'all', int or None (default) - Subplot col index (starting from 1) for the trace to be - added. Only valid if figure was created using - `plotly.tools.make_subplots`.If 'all', addresses all - columns in the specified row(s). - secondary_y: boolean or None (default None) - If True, associate this trace with the secondary y-axis of the - subplot at the specified row and col. Only valid if all of the - following conditions are satisfied: - * The figure was created using `plotly.subplots.make_subplots`. - * The row and col arguments are not None - * The subplot at the specified row and col has type xy - (which is the default) and secondary_y True. These - properties are specified in the specs argument to - make_subplots. See the make_subplots docstring for more info. - - Returns - ------- - FigureWidget - """ - from plotly.graph_objs import Heatmapgl - - new_trace = Heatmapgl( - autocolorscale=autocolorscale, - coloraxis=coloraxis, - colorbar=colorbar, - colorscale=colorscale, - customdata=customdata, - customdatasrc=customdatasrc, - dx=dx, - dy=dy, - hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, - hoverlabel=hoverlabel, - ids=ids, - idssrc=idssrc, - legend=legend, - legendgrouptitle=legendgrouptitle, - legendrank=legendrank, - legendwidth=legendwidth, - meta=meta, - metasrc=metasrc, - name=name, - opacity=opacity, - reversescale=reversescale, - showscale=showscale, - stream=stream, - text=text, - textsrc=textsrc, - transpose=transpose, - uid=uid, - uirevision=uirevision, - visible=visible, - x=x, - x0=x0, - xaxis=xaxis, - xsrc=xsrc, - xtype=xtype, - y=y, - y0=y0, - yaxis=yaxis, - ysrc=ysrc, - ytype=ytype, - z=z, - zauto=zauto, - zmax=zmax, - zmid=zmid, - zmin=zmin, - zsmooth=zsmooth, - zsrc=zsrc, - **kwargs, - ) - return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_histogram( self, alignmentgroup=None, @@ -13147,8 +12786,6 @@ def add_pie( texttemplate=None, texttemplatesrc=None, title=None, - titlefont=None, - titleposition=None, uid=None, uirevision=None, values=None, @@ -13396,15 +13033,6 @@ def add_pie( title :class:`plotly.graph_objects.pie.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use pie.title.font instead. Sets the - font used for `title`. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleposition - Deprecated: Please use pie.title.position instead. - Specifies the location of the `title`. Note that the - title's position used to be set by the now deprecated - `titleposition` attribute. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -13504,8 +13132,6 @@ def add_pie( texttemplate=texttemplate, texttemplatesrc=texttemplatesrc, title=title, - titlefont=titlefont, - titleposition=titleposition, uid=uid, uirevision=uirevision, values=values, @@ -13515,307 +13141,6 @@ def add_pie( ) return self.add_trace(new_trace, row=row, col=col) - def add_pointcloud( - self, - customdata=None, - customdatasrc=None, - hoverinfo=None, - hoverinfosrc=None, - hoverlabel=None, - ids=None, - idssrc=None, - indices=None, - indicessrc=None, - legend=None, - legendgroup=None, - legendgrouptitle=None, - legendrank=None, - legendwidth=None, - marker=None, - meta=None, - metasrc=None, - name=None, - opacity=None, - showlegend=None, - stream=None, - text=None, - textsrc=None, - uid=None, - uirevision=None, - visible=None, - x=None, - xaxis=None, - xbounds=None, - xboundssrc=None, - xsrc=None, - xy=None, - xysrc=None, - y=None, - yaxis=None, - ybounds=None, - yboundssrc=None, - ysrc=None, - row=None, - col=None, - secondary_y=None, - **kwargs, - ) -> "FigureWidget": - """ - Add a new Pointcloud trace - - "pointcloud" trace is deprecated! Please consider switching to - the "scattergl" trace type. The data visualized as a point - cloud set in `x` and `y` using the WebGl plotting engine. - - Parameters - ---------- - customdata - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note - that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.pointcloud.Hoverlabel` - instance or dict with compatible properties - ids - Assigns id labels to each datum. These ids for object - constancy of data points during animation. Should be an - array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - indices - A sequential value, 0..n, supply it to avoid creating - this array inside plotting. If specified, it must be a - typed `Int32Array` array. Its length must be equal to - or greater than the number of points. For the best - performance and memory use, create one large `indices` - typed array that is guaranteed to be at least as long - as the largest number of points during use, and reuse - it on each `Plotly.restyle()` call. - indicessrc - Sets the source reference on Chart Studio Cloud for - `indices`. - legend - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", - "legend3", etc. Settings for these legends are set in - the layout, under `layout.legend`, `layout.legend2`, - etc. - legendgroup - Sets the legend group for this trace. Traces and shapes - part of the same legend group hide/show at the same - time when toggling legend items. - legendgrouptitle - :class:`plotly.graph_objects.pointcloud.Legendgrouptitl - e` instance or dict with compatible properties - legendrank - Sets the legend rank for this trace. Items and groups - with smaller ranks are presented on top/left side while - with "reversed" `legend.traceorder` they are on - bottom/right side. The default legendrank is 1000, so - that you can use ranks less than 1000 to place certain - items before all unranked items, and ranks greater than - 1000 to go after all unranked items. When having - unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and - layout. - legendwidth - Sets the width (in px or fraction) of the legend for - this trace. - marker - :class:`plotly.graph_objects.pointcloud.Marker` - instance or dict with compatible properties - meta - Assigns extra meta information associated with this - trace that can be used in various text attributes. - Attributes such as trace `name`, graph, axis and - colorbar `title.text`, annotation `text` - `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - name - Sets the trace name. The trace name appears as the - legend item and on hover. - opacity - Sets the opacity of the trace. - showlegend - Determines whether or not an item corresponding to this - trace is shown in the legend. - stream - :class:`plotly.graph_objects.pointcloud.Stream` - instance or dict with compatible properties - text - Sets text elements associated with each (x,y) pair. If - a single string, the same string appears over all the - data points. If an array of string, the items are - mapped in order to the this trace's (x,y) coordinates. - If trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - x - Sets the x coordinates. - xaxis - Sets a reference between this trace's x coordinates and - a 2D cartesian x axis. If "x" (the default value), the - x coordinates refer to `layout.xaxis`. If "x2", the x - coordinates refer to `layout.xaxis2`, and so on. - xbounds - Specify `xbounds` in the shape of `[xMin, xMax] to - avoid looping through the `xy` typed array. Use it in - conjunction with `xy` and `ybounds` for the performance - benefits. - xboundssrc - Sets the source reference on Chart Studio Cloud for - `xbounds`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. - xy - Faster alternative to specifying `x` and `y` - separately. If supplied, it must be a typed - `Float32Array` array that represents points such that - `xy[i * 2] = x[i]` and `xy[i * 2 + 1] = y[i]` - xysrc - Sets the source reference on Chart Studio Cloud for - `xy`. - y - Sets the y coordinates. - yaxis - Sets a reference between this trace's y coordinates and - a 2D cartesian y axis. If "y" (the default value), the - y coordinates refer to `layout.yaxis`. If "y2", the y - coordinates refer to `layout.yaxis2`, and so on. - ybounds - Specify `ybounds` in the shape of `[yMin, yMax] to - avoid looping through the `xy` typed array. Use it in - conjunction with `xy` and `xbounds` for the performance - benefits. - yboundssrc - Sets the source reference on Chart Studio Cloud for - `ybounds`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. - row : 'all', int or None (default) - Subplot row index (starting from 1) for the trace to be - added. Only valid if figure was created using - `plotly.tools.make_subplots`.If 'all', addresses all - rows in the specified column(s). - col : 'all', int or None (default) - Subplot col index (starting from 1) for the trace to be - added. Only valid if figure was created using - `plotly.tools.make_subplots`.If 'all', addresses all - columns in the specified row(s). - secondary_y: boolean or None (default None) - If True, associate this trace with the secondary y-axis of the - subplot at the specified row and col. Only valid if all of the - following conditions are satisfied: - * The figure was created using `plotly.subplots.make_subplots`. - * The row and col arguments are not None - * The subplot at the specified row and col has type xy - (which is the default) and secondary_y True. These - properties are specified in the specs argument to - make_subplots. See the make_subplots docstring for more info. - - Returns - ------- - FigureWidget - """ - from plotly.graph_objs import Pointcloud - - new_trace = Pointcloud( - customdata=customdata, - customdatasrc=customdatasrc, - hoverinfo=hoverinfo, - hoverinfosrc=hoverinfosrc, - hoverlabel=hoverlabel, - ids=ids, - idssrc=idssrc, - indices=indices, - indicessrc=indicessrc, - legend=legend, - legendgroup=legendgroup, - legendgrouptitle=legendgrouptitle, - legendrank=legendrank, - legendwidth=legendwidth, - marker=marker, - meta=meta, - metasrc=metasrc, - name=name, - opacity=opacity, - showlegend=showlegend, - stream=stream, - text=text, - textsrc=textsrc, - uid=uid, - uirevision=uirevision, - visible=visible, - x=x, - xaxis=xaxis, - xbounds=xbounds, - xboundssrc=xboundssrc, - xsrc=xsrc, - xy=xy, - xysrc=xysrc, - y=y, - yaxis=yaxis, - ybounds=ybounds, - yboundssrc=yboundssrc, - ysrc=ysrc, - **kwargs, - ) - return self.add_trace(new_trace, row=row, col=col, secondary_y=secondary_y) - def add_sankey( self, arrangement=None, diff --git a/packages/python/plotly/plotly/graph_objs/_funnelarea.py b/packages/python/plotly/plotly/graph_objs/_funnelarea.py index 98cb63442b4..9397fde43df 100644 --- a/packages/python/plotly/plotly/graph_objs/_funnelarea.py +++ b/packages/python/plotly/plotly/graph_objs/_funnelarea.py @@ -1228,19 +1228,12 @@ def title(self): Supported dict properties: font - Sets the font used for `title`. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets the font used for `title`. position - Specifies the location of the `title`. Note - that the title's position used to be set by the - now deprecated `titleposition` attribute. + Specifies the location of the `title`. text Sets the title of the chart. If it is empty, no - title is displayed. Note that before the - existence of `title.text`, the title's contents - used to be defined as the `title` attribute - itself. This behavior has been deprecated. + title is displayed. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/_heatmap.py b/packages/python/plotly/plotly/graph_objs/_heatmap.py index 0ac88309659..cd1b72c1e19 100644 --- a/packages/python/plotly/plotly/graph_objs/_heatmap.py +++ b/packages/python/plotly/plotly/graph_objs/_heatmap.py @@ -365,21 +365,6 @@ def colorbar(self): :class:`plotly.graph_objects.heatmap.colorbar.T itle` instance or dict with compatible properties - titlefont - Deprecated: Please use - heatmap.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's - font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use - heatmap.colorbar.title.side instead. Determines - the location of color bar's title with respect - to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" - when `orientation` if "h". Note that the - title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/_heatmapgl.py b/packages/python/plotly/plotly/graph_objs/_heatmapgl.py deleted file mode 100644 index 79085cdf0b9..00000000000 --- a/packages/python/plotly/plotly/graph_objs/_heatmapgl.py +++ /dev/null @@ -1,2212 +0,0 @@ -from plotly.basedatatypes import BaseTraceType as _BaseTraceType -import copy as _copy - - -class Heatmapgl(_BaseTraceType): - - # class properties - # -------------------- - _parent_path_str = "" - _path_str = "heatmapgl" - _valid_props = { - "autocolorscale", - "coloraxis", - "colorbar", - "colorscale", - "customdata", - "customdatasrc", - "dx", - "dy", - "hoverinfo", - "hoverinfosrc", - "hoverlabel", - "ids", - "idssrc", - "legend", - "legendgrouptitle", - "legendrank", - "legendwidth", - "meta", - "metasrc", - "name", - "opacity", - "reversescale", - "showscale", - "stream", - "text", - "textsrc", - "transpose", - "type", - "uid", - "uirevision", - "visible", - "x", - "x0", - "xaxis", - "xsrc", - "xtype", - "y", - "y0", - "yaxis", - "ysrc", - "ytype", - "z", - "zauto", - "zmax", - "zmid", - "zmin", - "zsmooth", - "zsrc", - } - - # autocolorscale - # -------------- - @property - def autocolorscale(self): - """ - Determines whether the colorscale is a default palette - (`autocolorscale: true`) or the palette determined by - `colorscale`. In case `colorscale` is unspecified or - `autocolorscale` is true, the default palette will be chosen - according to whether numbers in the `color` array are all - positive, all negative or mixed. - - The 'autocolorscale' property must be specified as a bool - (either True, or False) - - Returns - ------- - bool - """ - return self["autocolorscale"] - - @autocolorscale.setter - def autocolorscale(self, val): - self["autocolorscale"] = val - - # coloraxis - # --------- - @property - def coloraxis(self): - """ - Sets a reference to a shared color axis. References to these - shared color axes are "coloraxis", "coloraxis2", "coloraxis3", - etc. Settings for these shared color axes are set in the - layout, under `layout.coloraxis`, `layout.coloraxis2`, etc. - Note that multiple color scales can be linked to the same color - axis. - - The 'coloraxis' property is an identifier of a particular - subplot, of type 'coloraxis', that may be specified as the string 'coloraxis' - optionally followed by an integer >= 1 - (e.g. 'coloraxis', 'coloraxis1', 'coloraxis2', 'coloraxis3', etc.) - - Returns - ------- - str - """ - return self["coloraxis"] - - @coloraxis.setter - def coloraxis(self, val): - self["coloraxis"] = val - - # colorbar - # -------- - @property - def colorbar(self): - """ - The 'colorbar' property is an instance of ColorBar - that may be specified as: - - An instance of :class:`plotly.graph_objs.heatmapgl.ColorBar` - - A dict of string/value properties that will be passed - to the ColorBar constructor - - Supported dict properties: - - bgcolor - Sets the color of padded area. - bordercolor - Sets the axis line color. - borderwidth - Sets the width (in px) or the border enclosing - this color bar. - dtick - Sets the step in-between ticks on this axis. - Use with `tick0`. Must be a positive number, or - special strings available to "log" and "date" - axes. If the axis `type` is "log", then ticks - are set every 10^(n*dtick) where n is the tick - number. For example, to set a tick mark at 1, - 10, 100, 1000, ... set dtick to 1. To set tick - marks at 1, 100, 10000, ... set dtick to 2. To - set tick marks at 1, 5, 25, 125, 625, 3125, ... - set dtick to log_10(5), or 0.69897000433. "log" - has several special values; "L", where `f` - is a positive number, gives ticks linearly - spaced in value (but not position). For example - `tick0` = 0.1, `dtick` = "L0.5" will put ticks - at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 - plus small digits between, use "D1" (all - digits) or "D2" (only 2 and 5). `tick0` is - ignored for "D1" and "D2". If the axis `type` - is "date", then you must convert the time to - milliseconds. For example, to set the interval - between ticks to one day, set `dtick` to - 86400000.0. "date" also has special values - "M" gives ticks spaced by a number of - months. `n` must be a positive integer. To set - ticks on the 15th of every third month, set - `tick0` to "2000-01-15" and `dtick` to "M3". To - set ticks every 4 years, set `dtick` to "M48" - exponentformat - Determines a formatting rule for the tick - exponents. For example, consider the number - 1,000,000,000. If "none", it appears as - 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If - "power", 1x10^9 (with 9 in a super script). If - "SI", 1G. If "B", 1B. - labelalias - Replacement text for specific tick or hover - labels. For example using {US: 'USA', CA: - 'Canada'} changes US to USA and CA to Canada. - The labels we would have shown must match the - keys exactly, after adding any tickprefix or - ticksuffix. For negative numbers the minus sign - symbol used (U+2212) is wider than the regular - ascii dash. That means you need to use −1 - instead of -1. labelalias can be used with any - axis type, and both keys (if needed) and values - (if desired) can include html-like tags or - MathJax. - len - Sets the length of the color bar This measure - excludes the padding of both ends. That is, the - color bar length is this length minus the - padding on both ends. - lenmode - Determines whether this color bar's length - (i.e. the measure in the color variation - direction) is set in units of plot "fraction" - or in *pixels. Use `len` to set the value. - minexponent - Hide SI prefix for 10^n if |n| is below this - number. This only has an effect when - `tickformat` is "SI" or "B". - nticks - Specifies the maximum number of ticks for the - particular axis. The actual number of ticks - will be chosen automatically to be less than or - equal to `nticks`. Has an effect only if - `tickmode` is set to "auto". - orientation - Sets the orientation of the colorbar. - outlinecolor - Sets the axis line color. - outlinewidth - Sets the width (in px) of the axis line. - separatethousands - If "true", even 4-digit integers are separated - showexponent - If "all", all exponents are shown besides their - significands. If "first", only the exponent of - the first tick is shown. If "last", only the - exponent of the last tick is shown. If "none", - no exponents appear. - showticklabels - Determines whether or not the tick labels are - drawn. - showtickprefix - If "all", all tick labels are displayed with a - prefix. If "first", only the first tick is - displayed with a prefix. If "last", only the - last tick is displayed with a suffix. If - "none", tick prefixes are hidden. - showticksuffix - Same as `showtickprefix` but for tick suffixes. - thickness - Sets the thickness of the color bar This - measure excludes the size of the padding, ticks - and labels. - thicknessmode - Determines whether this color bar's thickness - (i.e. the measure in the constant color - direction) is set in units of plot "fraction" - or in "pixels". Use `thickness` to set the - value. - tick0 - Sets the placement of the first tick on this - axis. Use with `dtick`. If the axis `type` is - "log", then you must take the log of your - starting tick (e.g. to set the starting tick to - 100, set the `tick0` to 2) except when - `dtick`=*L* (see `dtick` for more info). If - the axis `type` is "date", it should be a date - string, like date data. If the axis `type` is - "category", it should be a number, using the - scale where each category is assigned a serial - number from zero in the order it appears. - tickangle - Sets the angle of the tick labels with respect - to the horizontal. For example, a `tickangle` - of -90 draws the tick labels vertically. - tickcolor - Sets the tick color. - tickfont - Sets the color bar's tick label font - tickformat - Sets the tick label formatting rule using d3 - formatting mini-languages which are very - similar to those in Python. For numbers, see: h - ttps://github.com/d3/d3-format/tree/v1.4.5#d3- - format. And for dates see: - https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two - items to d3's date formatter: "%h" for half of - the year as a decimal number as well as "%{n}f" - for fractional seconds with n digits. For - example, *2016-10-13 09:15:23.456* with - tickformat "%H~%M~%S.%2f" would display - "09~15~23.46" - tickformatstops - A tuple of :class:`plotly.graph_objects.heatmap - gl.colorbar.Tickformatstop` instances or dicts - with compatible properties - tickformatstopdefaults - When used in a template (as layout.template.dat - a.heatmapgl.colorbar.tickformatstopdefaults), - sets the default property values to use for - elements of heatmapgl.colorbar.tickformatstops - ticklabeloverflow - Determines how we handle tick labels that would - overflow either the graph div or the domain of - the axis. The default value for inside tick - labels is *hide past domain*. In other cases - the default is *hide past div*. - ticklabelposition - Determines where tick labels are drawn relative - to the ticks. Left and right options are used - when `orientation` is "h", top and bottom when - `orientation` is "v". - ticklabelstep - Sets the spacing between tick labels as - compared to the spacing between ticks. A value - of 1 (default) means each tick gets a label. A - value of 2 means shows every 2nd label. A - larger value n means only every nth tick is - labeled. `tick0` determines which labels are - shown. Not implemented for axes with `type` - "log" or "multicategory", or when `tickmode` is - "array". - ticklen - Sets the tick length (in px). - tickmode - Sets the tick mode for this axis. If "auto", - the number of ticks is set via `nticks`. If - "linear", the placement of the ticks is - determined by a starting position `tick0` and a - tick step `dtick` ("linear" is the default - value if `tick0` and `dtick` are provided). If - "array", the placement of the ticks is set via - `tickvals` and the tick text is `ticktext`. - ("array" is the default value if `tickvals` is - provided). - tickprefix - Sets a tick label prefix. - ticks - Determines whether ticks are drawn or not. If - "", this axis' ticks are not drawn. If - "outside" ("inside"), this axis' are drawn - outside (inside) the axis lines. - ticksuffix - Sets a tick label suffix. - ticktext - Sets the text displayed at the ticks position - via `tickvals`. Only has an effect if - `tickmode` is set to "array". Used with - `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud - for `ticktext`. - tickvals - Sets the values at which ticks on this axis - appear. Only has an effect if `tickmode` is set - to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud - for `tickvals`. - tickwidth - Sets the tick width (in px). - title - :class:`plotly.graph_objects.heatmapgl.colorbar - .Title` instance or dict with compatible - properties - titlefont - Deprecated: Please use - heatmapgl.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - heatmapgl.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. - x - Sets the x position with respect to `xref` of - the color bar (in plot fraction). When `xref` - is "paper", defaults to 1.02 when `orientation` - is "v" and 0.5 when `orientation` is "h". When - `xref` is "container", defaults to 1 when - `orientation` is "v" and 0.5 when `orientation` - is "h". Must be between 0 and 1 if `xref` is - "container" and between "-2" and 3 if `xref` is - "paper". - xanchor - Sets this color bar's horizontal position - anchor. This anchor binds the `x` position to - the "left", "center" or "right" of the color - bar. Defaults to "left" when `orientation` is - "v" and "center" when `orientation` is "h". - xpad - Sets the amount of padding (in px) along the x - direction. - xref - Sets the container `x` refers to. "container" - spans the entire `width` of the plot. "paper" - refers to the width of the plotting area only. - y - Sets the y position with respect to `yref` of - the color bar (in plot fraction). When `yref` - is "paper", defaults to 0.5 when `orientation` - is "v" and 1.02 when `orientation` is "h". When - `yref` is "container", defaults to 0.5 when - `orientation` is "v" and 1 when `orientation` - is "h". Must be between 0 and 1 if `yref` is - "container" and between "-2" and 3 if `yref` is - "paper". - yanchor - Sets this color bar's vertical position anchor - This anchor binds the `y` position to the - "top", "middle" or "bottom" of the color bar. - Defaults to "middle" when `orientation` is "v" - and "bottom" when `orientation` is "h". - ypad - Sets the amount of padding (in px) along the y - direction. - yref - Sets the container `y` refers to. "container" - spans the entire `height` of the plot. "paper" - refers to the height of the plotting area only. - - Returns - ------- - plotly.graph_objs.heatmapgl.ColorBar - """ - return self["colorbar"] - - @colorbar.setter - def colorbar(self, val): - self["colorbar"] = val - - # colorscale - # ---------- - @property - def colorscale(self): - """ - Sets the colorscale. The colorscale must be an array containing - arrays mapping a normalized value to an rgb, rgba, hex, hsl, - hsv, or named color string. At minimum, a mapping for the - lowest (0) and highest (1) values are required. For example, - `[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`. To control the - bounds of the colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name string of the - following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric, - Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis, - YlGnBu,YlOrRd. - - The 'colorscale' property is a colorscale and may be - specified as: - - A list of colors that will be spaced evenly to create the colorscale. - Many predefined colorscale lists are included in the sequential, diverging, - and cyclical modules in the plotly.colors package. - - A list of 2-element lists where the first element is the - normalized color level value (starting at 0 and ending at 1), - and the second item is a valid color string. - (e.g. [[0, 'green'], [0.5, 'red'], [1.0, 'rgb(0, 0, 255)']]) - - One of the following named colorscales: - ['aggrnyl', 'agsunset', 'algae', 'amp', 'armyrose', 'balance', - 'blackbody', 'bluered', 'blues', 'blugrn', 'bluyl', 'brbg', - 'brwnyl', 'bugn', 'bupu', 'burg', 'burgyl', 'cividis', 'curl', - 'darkmint', 'deep', 'delta', 'dense', 'earth', 'edge', 'electric', - 'emrld', 'fall', 'geyser', 'gnbu', 'gray', 'greens', 'greys', - 'haline', 'hot', 'hsv', 'ice', 'icefire', 'inferno', 'jet', - 'magenta', 'magma', 'matter', 'mint', 'mrybm', 'mygbm', 'oranges', - 'orrd', 'oryel', 'oxy', 'peach', 'phase', 'picnic', 'pinkyl', - 'piyg', 'plasma', 'plotly3', 'portland', 'prgn', 'pubu', 'pubugn', - 'puor', 'purd', 'purp', 'purples', 'purpor', 'rainbow', 'rdbu', - 'rdgy', 'rdpu', 'rdylbu', 'rdylgn', 'redor', 'reds', 'solar', - 'spectral', 'speed', 'sunset', 'sunsetdark', 'teal', 'tealgrn', - 'tealrose', 'tempo', 'temps', 'thermal', 'tropic', 'turbid', - 'turbo', 'twilight', 'viridis', 'ylgn', 'ylgnbu', 'ylorbr', - 'ylorrd']. - Appending '_r' to a named colorscale reverses it. - - Returns - ------- - str - """ - return self["colorscale"] - - @colorscale.setter - def colorscale(self, val): - self["colorscale"] = val - - # customdata - # ---------- - @property - def customdata(self): - """ - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note that, - "scatter" traces also appends customdata items in the markers - DOM elements - - The 'customdata' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["customdata"] - - @customdata.setter - def customdata(self, val): - self["customdata"] = val - - # customdatasrc - # ------------- - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - - # dx - # -- - @property - def dx(self): - """ - Sets the x coordinate step. See `x0` for more info. - - The 'dx' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["dx"] - - @dx.setter - def dx(self, val): - self["dx"] = val - - # dy - # -- - @property - def dy(self): - """ - Sets the y coordinate step. See `y0` for more info. - - The 'dy' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["dy"] - - @dy.setter - def dy(self, val): - self["dy"] = val - - # hoverinfo - # --------- - @property - def hoverinfo(self): - """ - Determines which trace information appear on hover. If `none` - or `skip` are set, no information is displayed upon hovering. - But, if `none` is set, click and hover events are still fired. - - The 'hoverinfo' property is a flaglist and may be specified - as a string containing: - - Any combination of ['x', 'y', 'z', 'text', 'name'] joined with '+' characters - (e.g. 'x+y') - OR exactly one of ['all', 'none', 'skip'] (e.g. 'skip') - - A list or array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["hoverinfo"] - - @hoverinfo.setter - def hoverinfo(self, val): - self["hoverinfo"] = val - - # hoverinfosrc - # ------------ - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - - # hoverlabel - # ---------- - @property - def hoverlabel(self): - """ - The 'hoverlabel' property is an instance of Hoverlabel - that may be specified as: - - An instance of :class:`plotly.graph_objs.heatmapgl.Hoverlabel` - - A dict of string/value properties that will be passed - to the Hoverlabel constructor - - Supported dict properties: - - align - Sets the horizontal alignment of the text - content within hover label box. Has an effect - only if the hover label text spans more two or - more lines - alignsrc - Sets the source reference on Chart Studio Cloud - for `align`. - bgcolor - Sets the background color of the hover labels - for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud - for `bgcolor`. - bordercolor - Sets the border color of the hover labels for - this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud - for `bordercolor`. - font - Sets the font used in hover labels. - namelength - Sets the default length (in number of - characters) of the trace name in the hover - labels for all traces. -1 shows the whole name - regardless of length. 0-3 shows the first 0-3 - characters, and an integer >3 will show the - whole name if it is less than that many - characters, but if it is longer, will truncate - to `namelength - 3` characters and add an - ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud - for `namelength`. - - Returns - ------- - plotly.graph_objs.heatmapgl.Hoverlabel - """ - return self["hoverlabel"] - - @hoverlabel.setter - def hoverlabel(self, val): - self["hoverlabel"] = val - - # ids - # --- - @property - def ids(self): - """ - Assigns id labels to each datum. These ids for object constancy - of data points during animation. Should be an array of strings, - not numbers or any other type. - - The 'ids' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["ids"] - - @ids.setter - def ids(self, val): - self["ids"] = val - - # idssrc - # ------ - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - - # legend - # ------ - @property - def legend(self): - """ - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", "legend3", - etc. Settings for these legends are set in the layout, under - `layout.legend`, `layout.legend2`, etc. - - The 'legend' property is an identifier of a particular - subplot, of type 'legend', that may be specified as the string 'legend' - optionally followed by an integer >= 1 - (e.g. 'legend', 'legend1', 'legend2', 'legend3', etc.) - - Returns - ------- - str - """ - return self["legend"] - - @legend.setter - def legend(self, val): - self["legend"] = val - - # legendgrouptitle - # ---------------- - @property - def legendgrouptitle(self): - """ - The 'legendgrouptitle' property is an instance of Legendgrouptitle - that may be specified as: - - An instance of :class:`plotly.graph_objs.heatmapgl.Legendgrouptitle` - - A dict of string/value properties that will be passed - to the Legendgrouptitle constructor - - Supported dict properties: - - font - Sets this legend group's title font. - text - Sets the title of the legend group. - - Returns - ------- - plotly.graph_objs.heatmapgl.Legendgrouptitle - """ - return self["legendgrouptitle"] - - @legendgrouptitle.setter - def legendgrouptitle(self, val): - self["legendgrouptitle"] = val - - # legendrank - # ---------- - @property - def legendrank(self): - """ - Sets the legend rank for this trace. Items and groups with - smaller ranks are presented on top/left side while with - "reversed" `legend.traceorder` they are on bottom/right side. - The default legendrank is 1000, so that you can use ranks less - than 1000 to place certain items before all unranked items, and - ranks greater than 1000 to go after all unranked items. When - having unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and layout. - - The 'legendrank' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["legendrank"] - - @legendrank.setter - def legendrank(self, val): - self["legendrank"] = val - - # legendwidth - # ----------- - @property - def legendwidth(self): - """ - Sets the width (in px or fraction) of the legend for this - trace. - - The 'legendwidth' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["legendwidth"] - - @legendwidth.setter - def legendwidth(self, val): - self["legendwidth"] = val - - # meta - # ---- - @property - def meta(self): - """ - Assigns extra meta information associated with this trace that - can be used in various text attributes. Attributes such as - trace `name`, graph, axis and colorbar `title.text`, annotation - `text` `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` values in - an attribute in the same trace, simply use `%{meta[i]}` where - `i` is the index or key of the `meta` item in question. To - access trace `meta` in layout attributes, use - `%{data[n[.meta[i]}` where `i` is the index or key of the - `meta` and `n` is the trace index. - - The 'meta' property accepts values of any type - - Returns - ------- - Any|numpy.ndarray - """ - return self["meta"] - - @meta.setter - def meta(self, val): - self["meta"] = val - - # metasrc - # ------- - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - - # name - # ---- - @property - def name(self): - """ - Sets the trace name. The trace name appears as the legend item - and on hover. - - The 'name' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["name"] - - @name.setter - def name(self, val): - self["name"] = val - - # opacity - # ------- - @property - def opacity(self): - """ - Sets the opacity of the trace. - - The 'opacity' property is a number and may be specified as: - - An int or float in the interval [0, 1] - - Returns - ------- - int|float - """ - return self["opacity"] - - @opacity.setter - def opacity(self, val): - self["opacity"] = val - - # reversescale - # ------------ - @property - def reversescale(self): - """ - Reverses the color mapping if true. If true, `zmin` will - correspond to the last color in the array and `zmax` will - correspond to the first color. - - The 'reversescale' property must be specified as a bool - (either True, or False) - - Returns - ------- - bool - """ - return self["reversescale"] - - @reversescale.setter - def reversescale(self, val): - self["reversescale"] = val - - # showscale - # --------- - @property - def showscale(self): - """ - Determines whether or not a colorbar is displayed for this - trace. - - The 'showscale' property must be specified as a bool - (either True, or False) - - Returns - ------- - bool - """ - return self["showscale"] - - @showscale.setter - def showscale(self, val): - self["showscale"] = val - - # stream - # ------ - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.heatmapgl.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Supported dict properties: - - maxpoints - Sets the maximum number of points to keep on - the plots from an incoming stream. If - `maxpoints` is set to 50, only the newest 50 - points will be displayed on the plot. - token - The stream id number links a data trace on a - plot with a stream. See https://chart- - studio.plotly.com/settings for more details. - - Returns - ------- - plotly.graph_objs.heatmapgl.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - - # text - # ---- - @property - def text(self): - """ - Sets the text elements associated with each z value. - - The 'text' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["text"] - - @text.setter - def text(self, val): - self["text"] = val - - # textsrc - # ------- - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - - # transpose - # --------- - @property - def transpose(self): - """ - Transposes the z data. - - The 'transpose' property must be specified as a bool - (either True, or False) - - Returns - ------- - bool - """ - return self["transpose"] - - @transpose.setter - def transpose(self, val): - self["transpose"] = val - - # uid - # --- - @property - def uid(self): - """ - Assign an id to this trace, Use this to provide object - constancy between traces during animations and transitions. - - The 'uid' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["uid"] - - @uid.setter - def uid(self, val): - self["uid"] = val - - # uirevision - # ---------- - @property - def uirevision(self): - """ - Controls persistence of some user-driven changes to the trace: - `constraintrange` in `parcoords` traces, as well as some - `editable: true` modifications such as `name` and - `colorbar.title`. Defaults to `layout.uirevision`. Note that - other user-driven trace attribute changes are controlled by - `layout` attributes: `trace.visible` is controlled by - `layout.legend.uirevision`, `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` (accessible - with `config: {editable: true}`) is controlled by - `layout.editrevision`. Trace changes are tracked by `uid`, - which only falls back on trace index if no `uid` is provided. - So if your app can add/remove traces before the end of the - `data` array, such that the same trace has a different index, - you can still preserve user-driven changes if you give each - trace a `uid` that stays with it as it moves. - - The 'uirevision' property accepts values of any type - - Returns - ------- - Any - """ - return self["uirevision"] - - @uirevision.setter - def uirevision(self, val): - self["uirevision"] = val - - # visible - # ------- - @property - def visible(self): - """ - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as a - legend item (provided that the legend itself is visible). - - The 'visible' property is an enumeration that may be specified as: - - One of the following enumeration values: - [True, False, 'legendonly'] - - Returns - ------- - Any - """ - return self["visible"] - - @visible.setter - def visible(self, val): - self["visible"] = val - - # x - # - - @property - def x(self): - """ - Sets the x coordinates. - - The 'x' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["x"] - - @x.setter - def x(self, val): - self["x"] = val - - # x0 - # -- - @property - def x0(self): - """ - Alternate to `x`. Builds a linear space of x coordinates. Use - with `dx` where `x0` is the starting coordinate and `dx` the - step. - - The 'x0' property accepts values of any type - - Returns - ------- - Any - """ - return self["x0"] - - @x0.setter - def x0(self, val): - self["x0"] = val - - # xaxis - # ----- - @property - def xaxis(self): - """ - Sets a reference between this trace's x coordinates and a 2D - cartesian x axis. If "x" (the default value), the x coordinates - refer to `layout.xaxis`. If "x2", the x coordinates refer to - `layout.xaxis2`, and so on. - - The 'xaxis' property is an identifier of a particular - subplot, of type 'x', that may be specified as the string 'x' - optionally followed by an integer >= 1 - (e.g. 'x', 'x1', 'x2', 'x3', etc.) - - Returns - ------- - str - """ - return self["xaxis"] - - @xaxis.setter - def xaxis(self, val): - self["xaxis"] = val - - # xsrc - # ---- - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - - # xtype - # ----- - @property - def xtype(self): - """ - If "array", the heatmap's x coordinates are given by "x" (the - default behavior when `x` is provided). If "scaled", the - heatmap's x coordinates are given by "x0" and "dx" (the default - behavior when `x` is not provided). - - The 'xtype' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['array', 'scaled'] - - Returns - ------- - Any - """ - return self["xtype"] - - @xtype.setter - def xtype(self, val): - self["xtype"] = val - - # y - # - - @property - def y(self): - """ - Sets the y coordinates. - - The 'y' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["y"] - - @y.setter - def y(self, val): - self["y"] = val - - # y0 - # -- - @property - def y0(self): - """ - Alternate to `y`. Builds a linear space of y coordinates. Use - with `dy` where `y0` is the starting coordinate and `dy` the - step. - - The 'y0' property accepts values of any type - - Returns - ------- - Any - """ - return self["y0"] - - @y0.setter - def y0(self, val): - self["y0"] = val - - # yaxis - # ----- - @property - def yaxis(self): - """ - Sets a reference between this trace's y coordinates and a 2D - cartesian y axis. If "y" (the default value), the y coordinates - refer to `layout.yaxis`. If "y2", the y coordinates refer to - `layout.yaxis2`, and so on. - - The 'yaxis' property is an identifier of a particular - subplot, of type 'y', that may be specified as the string 'y' - optionally followed by an integer >= 1 - (e.g. 'y', 'y1', 'y2', 'y3', etc.) - - Returns - ------- - str - """ - return self["yaxis"] - - @yaxis.setter - def yaxis(self, val): - self["yaxis"] = val - - # ysrc - # ---- - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - - # ytype - # ----- - @property - def ytype(self): - """ - If "array", the heatmap's y coordinates are given by "y" (the - default behavior when `y` is provided) If "scaled", the - heatmap's y coordinates are given by "y0" and "dy" (the default - behavior when `y` is not provided) - - The 'ytype' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['array', 'scaled'] - - Returns - ------- - Any - """ - return self["ytype"] - - @ytype.setter - def ytype(self, val): - self["ytype"] = val - - # z - # - - @property - def z(self): - """ - Sets the z data. - - The 'z' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["z"] - - @z.setter - def z(self, val): - self["z"] = val - - # zauto - # ----- - @property - def zauto(self): - """ - Determines whether or not the color domain is computed with - respect to the input data (here in `z`) or the bounds set in - `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` - are set by the user. - - The 'zauto' property must be specified as a bool - (either True, or False) - - Returns - ------- - bool - """ - return self["zauto"] - - @zauto.setter - def zauto(self, val): - self["zauto"] = val - - # zmax - # ---- - @property - def zmax(self): - """ - Sets the upper bound of the color domain. Value should have the - same units as in `z` and if set, `zmin` must be set as well. - - The 'zmax' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["zmax"] - - @zmax.setter - def zmax(self, val): - self["zmax"] = val - - # zmid - # ---- - @property - def zmid(self): - """ - Sets the mid-point of the color domain by scaling `zmin` and/or - `zmax` to be equidistant to this point. Value should have the - same units as in `z`. Has no effect when `zauto` is `false`. - - The 'zmid' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["zmid"] - - @zmid.setter - def zmid(self, val): - self["zmid"] = val - - # zmin - # ---- - @property - def zmin(self): - """ - Sets the lower bound of the color domain. Value should have the - same units as in `z` and if set, `zmax` must be set as well. - - The 'zmin' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["zmin"] - - @zmin.setter - def zmin(self, val): - self["zmin"] = val - - # zsmooth - # ------- - @property - def zsmooth(self): - """ - Picks a smoothing algorithm use to smooth `z` data. - - The 'zsmooth' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['fast', False] - - Returns - ------- - Any - """ - return self["zsmooth"] - - @zsmooth.setter - def zsmooth(self, val): - self["zsmooth"] = val - - # zsrc - # ---- - @property - def zsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `z`. - - The 'zsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["zsrc"] - - @zsrc.setter - def zsrc(self, val): - self["zsrc"] = val - - # type - # ---- - @property - def type(self): - return self._props["type"] - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - autocolorscale - Determines whether the colorscale is a default palette - (`autocolorscale: true`) or the palette determined by - `colorscale`. In case `colorscale` is unspecified or - `autocolorscale` is true, the default palette will be - chosen according to whether numbers in the `color` - array are all positive, all negative or mixed. - coloraxis - Sets a reference to a shared color axis. References to - these shared color axes are "coloraxis", "coloraxis2", - "coloraxis3", etc. Settings for these shared color axes - are set in the layout, under `layout.coloraxis`, - `layout.coloraxis2`, etc. Note that multiple color - scales can be linked to the same color axis. - colorbar - :class:`plotly.graph_objects.heatmapgl.ColorBar` - instance or dict with compatible properties - colorscale - Sets the colorscale. The colorscale must be an array - containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - customdata - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note - that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - dx - Sets the x coordinate step. See `x0` for more info. - dy - Sets the y coordinate step. See `y0` for more info. - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.heatmapgl.Hoverlabel` - instance or dict with compatible properties - ids - Assigns id labels to each datum. These ids for object - constancy of data points during animation. Should be an - array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - legend - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", - "legend3", etc. Settings for these legends are set in - the layout, under `layout.legend`, `layout.legend2`, - etc. - legendgrouptitle - :class:`plotly.graph_objects.heatmapgl.Legendgrouptitle - ` instance or dict with compatible properties - legendrank - Sets the legend rank for this trace. Items and groups - with smaller ranks are presented on top/left side while - with "reversed" `legend.traceorder` they are on - bottom/right side. The default legendrank is 1000, so - that you can use ranks less than 1000 to place certain - items before all unranked items, and ranks greater than - 1000 to go after all unranked items. When having - unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and - layout. - legendwidth - Sets the width (in px or fraction) of the legend for - this trace. - meta - Assigns extra meta information associated with this - trace that can be used in various text attributes. - Attributes such as trace `name`, graph, axis and - colorbar `title.text`, annotation `text` - `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - name - Sets the trace name. The trace name appears as the - legend item and on hover. - opacity - Sets the opacity of the trace. - reversescale - Reverses the color mapping if true. If true, `zmin` - will correspond to the last color in the array and - `zmax` will correspond to the first color. - showscale - Determines whether or not a colorbar is displayed for - this trace. - stream - :class:`plotly.graph_objects.heatmapgl.Stream` instance - or dict with compatible properties - text - Sets the text elements associated with each z value. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - transpose - Transposes the z data. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - x - Sets the x coordinates. - x0 - Alternate to `x`. Builds a linear space of x - coordinates. Use with `dx` where `x0` is the starting - coordinate and `dx` the step. - xaxis - Sets a reference between this trace's x coordinates and - a 2D cartesian x axis. If "x" (the default value), the - x coordinates refer to `layout.xaxis`. If "x2", the x - coordinates refer to `layout.xaxis2`, and so on. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. - xtype - If "array", the heatmap's x coordinates are given by - "x" (the default behavior when `x` is provided). If - "scaled", the heatmap's x coordinates are given by "x0" - and "dx" (the default behavior when `x` is not - provided). - y - Sets the y coordinates. - y0 - Alternate to `y`. Builds a linear space of y - coordinates. Use with `dy` where `y0` is the starting - coordinate and `dy` the step. - yaxis - Sets a reference between this trace's y coordinates and - a 2D cartesian y axis. If "y" (the default value), the - y coordinates refer to `layout.yaxis`. If "y2", the y - coordinates refer to `layout.yaxis2`, and so on. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. - ytype - If "array", the heatmap's y coordinates are given by - "y" (the default behavior when `y` is provided) If - "scaled", the heatmap's y coordinates are given by "y0" - and "dy" (the default behavior when `y` is not - provided) - z - Sets the z data. - zauto - Determines whether or not the color domain is computed - with respect to the input data (here in `z`) or the - bounds set in `zmin` and `zmax` Defaults to `false` - when `zmin` and `zmax` are set by the user. - zmax - Sets the upper bound of the color domain. Value should - have the same units as in `z` and if set, `zmin` must - be set as well. - zmid - Sets the mid-point of the color domain by scaling - `zmin` and/or `zmax` to be equidistant to this point. - Value should have the same units as in `z`. Has no - effect when `zauto` is `false`. - zmin - Sets the lower bound of the color domain. Value should - have the same units as in `z` and if set, `zmax` must - be set as well. - zsmooth - Picks a smoothing algorithm use to smooth `z` data. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. - """ - - def __init__( - self, - arg=None, - autocolorscale=None, - coloraxis=None, - colorbar=None, - colorscale=None, - customdata=None, - customdatasrc=None, - dx=None, - dy=None, - hoverinfo=None, - hoverinfosrc=None, - hoverlabel=None, - ids=None, - idssrc=None, - legend=None, - legendgrouptitle=None, - legendrank=None, - legendwidth=None, - meta=None, - metasrc=None, - name=None, - opacity=None, - reversescale=None, - showscale=None, - stream=None, - text=None, - textsrc=None, - transpose=None, - uid=None, - uirevision=None, - visible=None, - x=None, - x0=None, - xaxis=None, - xsrc=None, - xtype=None, - y=None, - y0=None, - yaxis=None, - ysrc=None, - ytype=None, - z=None, - zauto=None, - zmax=None, - zmid=None, - zmin=None, - zsmooth=None, - zsrc=None, - **kwargs, - ): - """ - Construct a new Heatmapgl object - - "heatmapgl" trace is deprecated! Please consider switching to - the "heatmap" or "image" trace types. Alternatively you could - contribute/sponsor rewriting this trace type based on cartesian - features and using regl framework. WebGL version of the heatmap - trace type. - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.Heatmapgl` - autocolorscale - Determines whether the colorscale is a default palette - (`autocolorscale: true`) or the palette determined by - `colorscale`. In case `colorscale` is unspecified or - `autocolorscale` is true, the default palette will be - chosen according to whether numbers in the `color` - array are all positive, all negative or mixed. - coloraxis - Sets a reference to a shared color axis. References to - these shared color axes are "coloraxis", "coloraxis2", - "coloraxis3", etc. Settings for these shared color axes - are set in the layout, under `layout.coloraxis`, - `layout.coloraxis2`, etc. Note that multiple color - scales can be linked to the same color axis. - colorbar - :class:`plotly.graph_objects.heatmapgl.ColorBar` - instance or dict with compatible properties - colorscale - Sets the colorscale. The colorscale must be an array - containing arrays mapping a normalized value to an rgb, - rgba, hex, hsl, hsv, or named color string. At minimum, - a mapping for the lowest (0) and highest (1) values are - required. For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and `zmax`. - Alternatively, `colorscale` may be a palette name - string of the following list: Blackbody,Bluered,Blues,C - ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl - and,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd. - customdata - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note - that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - dx - Sets the x coordinate step. See `x0` for more info. - dy - Sets the y coordinate step. See `y0` for more info. - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.heatmapgl.Hoverlabel` - instance or dict with compatible properties - ids - Assigns id labels to each datum. These ids for object - constancy of data points during animation. Should be an - array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - legend - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", - "legend3", etc. Settings for these legends are set in - the layout, under `layout.legend`, `layout.legend2`, - etc. - legendgrouptitle - :class:`plotly.graph_objects.heatmapgl.Legendgrouptitle - ` instance or dict with compatible properties - legendrank - Sets the legend rank for this trace. Items and groups - with smaller ranks are presented on top/left side while - with "reversed" `legend.traceorder` they are on - bottom/right side. The default legendrank is 1000, so - that you can use ranks less than 1000 to place certain - items before all unranked items, and ranks greater than - 1000 to go after all unranked items. When having - unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and - layout. - legendwidth - Sets the width (in px or fraction) of the legend for - this trace. - meta - Assigns extra meta information associated with this - trace that can be used in various text attributes. - Attributes such as trace `name`, graph, axis and - colorbar `title.text`, annotation `text` - `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - name - Sets the trace name. The trace name appears as the - legend item and on hover. - opacity - Sets the opacity of the trace. - reversescale - Reverses the color mapping if true. If true, `zmin` - will correspond to the last color in the array and - `zmax` will correspond to the first color. - showscale - Determines whether or not a colorbar is displayed for - this trace. - stream - :class:`plotly.graph_objects.heatmapgl.Stream` instance - or dict with compatible properties - text - Sets the text elements associated with each z value. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - transpose - Transposes the z data. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - x - Sets the x coordinates. - x0 - Alternate to `x`. Builds a linear space of x - coordinates. Use with `dx` where `x0` is the starting - coordinate and `dx` the step. - xaxis - Sets a reference between this trace's x coordinates and - a 2D cartesian x axis. If "x" (the default value), the - x coordinates refer to `layout.xaxis`. If "x2", the x - coordinates refer to `layout.xaxis2`, and so on. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. - xtype - If "array", the heatmap's x coordinates are given by - "x" (the default behavior when `x` is provided). If - "scaled", the heatmap's x coordinates are given by "x0" - and "dx" (the default behavior when `x` is not - provided). - y - Sets the y coordinates. - y0 - Alternate to `y`. Builds a linear space of y - coordinates. Use with `dy` where `y0` is the starting - coordinate and `dy` the step. - yaxis - Sets a reference between this trace's y coordinates and - a 2D cartesian y axis. If "y" (the default value), the - y coordinates refer to `layout.yaxis`. If "y2", the y - coordinates refer to `layout.yaxis2`, and so on. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. - ytype - If "array", the heatmap's y coordinates are given by - "y" (the default behavior when `y` is provided) If - "scaled", the heatmap's y coordinates are given by "y0" - and "dy" (the default behavior when `y` is not - provided) - z - Sets the z data. - zauto - Determines whether or not the color domain is computed - with respect to the input data (here in `z`) or the - bounds set in `zmin` and `zmax` Defaults to `false` - when `zmin` and `zmax` are set by the user. - zmax - Sets the upper bound of the color domain. Value should - have the same units as in `z` and if set, `zmin` must - be set as well. - zmid - Sets the mid-point of the color domain by scaling - `zmin` and/or `zmax` to be equidistant to this point. - Value should have the same units as in `z`. Has no - effect when `zauto` is `false`. - zmin - Sets the lower bound of the color domain. Value should - have the same units as in `z` and if set, `zmax` must - be set as well. - zsmooth - Picks a smoothing algorithm use to smooth `z` data. - zsrc - Sets the source reference on Chart Studio Cloud for - `z`. - - Returns - ------- - Heatmapgl - """ - super(Heatmapgl, self).__init__("heatmapgl") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.Heatmapgl -constructor must be a dict or -an instance of :class:`plotly.graph_objs.Heatmapgl`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("autocolorscale", None) - _v = autocolorscale if autocolorscale is not None else _v - if _v is not None: - self["autocolorscale"] = _v - _v = arg.pop("coloraxis", None) - _v = coloraxis if coloraxis is not None else _v - if _v is not None: - self["coloraxis"] = _v - _v = arg.pop("colorbar", None) - _v = colorbar if colorbar is not None else _v - if _v is not None: - self["colorbar"] = _v - _v = arg.pop("colorscale", None) - _v = colorscale if colorscale is not None else _v - if _v is not None: - self["colorscale"] = _v - _v = arg.pop("customdata", None) - _v = customdata if customdata is not None else _v - if _v is not None: - self["customdata"] = _v - _v = arg.pop("customdatasrc", None) - _v = customdatasrc if customdatasrc is not None else _v - if _v is not None: - self["customdatasrc"] = _v - _v = arg.pop("dx", None) - _v = dx if dx is not None else _v - if _v is not None: - self["dx"] = _v - _v = arg.pop("dy", None) - _v = dy if dy is not None else _v - if _v is not None: - self["dy"] = _v - _v = arg.pop("hoverinfo", None) - _v = hoverinfo if hoverinfo is not None else _v - if _v is not None: - self["hoverinfo"] = _v - _v = arg.pop("hoverinfosrc", None) - _v = hoverinfosrc if hoverinfosrc is not None else _v - if _v is not None: - self["hoverinfosrc"] = _v - _v = arg.pop("hoverlabel", None) - _v = hoverlabel if hoverlabel is not None else _v - if _v is not None: - self["hoverlabel"] = _v - _v = arg.pop("ids", None) - _v = ids if ids is not None else _v - if _v is not None: - self["ids"] = _v - _v = arg.pop("idssrc", None) - _v = idssrc if idssrc is not None else _v - if _v is not None: - self["idssrc"] = _v - _v = arg.pop("legend", None) - _v = legend if legend is not None else _v - if _v is not None: - self["legend"] = _v - _v = arg.pop("legendgrouptitle", None) - _v = legendgrouptitle if legendgrouptitle is not None else _v - if _v is not None: - self["legendgrouptitle"] = _v - _v = arg.pop("legendrank", None) - _v = legendrank if legendrank is not None else _v - if _v is not None: - self["legendrank"] = _v - _v = arg.pop("legendwidth", None) - _v = legendwidth if legendwidth is not None else _v - if _v is not None: - self["legendwidth"] = _v - _v = arg.pop("meta", None) - _v = meta if meta is not None else _v - if _v is not None: - self["meta"] = _v - _v = arg.pop("metasrc", None) - _v = metasrc if metasrc is not None else _v - if _v is not None: - self["metasrc"] = _v - _v = arg.pop("name", None) - _v = name if name is not None else _v - if _v is not None: - self["name"] = _v - _v = arg.pop("opacity", None) - _v = opacity if opacity is not None else _v - if _v is not None: - self["opacity"] = _v - _v = arg.pop("reversescale", None) - _v = reversescale if reversescale is not None else _v - if _v is not None: - self["reversescale"] = _v - _v = arg.pop("showscale", None) - _v = showscale if showscale is not None else _v - if _v is not None: - self["showscale"] = _v - _v = arg.pop("stream", None) - _v = stream if stream is not None else _v - if _v is not None: - self["stream"] = _v - _v = arg.pop("text", None) - _v = text if text is not None else _v - if _v is not None: - self["text"] = _v - _v = arg.pop("textsrc", None) - _v = textsrc if textsrc is not None else _v - if _v is not None: - self["textsrc"] = _v - _v = arg.pop("transpose", None) - _v = transpose if transpose is not None else _v - if _v is not None: - self["transpose"] = _v - _v = arg.pop("uid", None) - _v = uid if uid is not None else _v - if _v is not None: - self["uid"] = _v - _v = arg.pop("uirevision", None) - _v = uirevision if uirevision is not None else _v - if _v is not None: - self["uirevision"] = _v - _v = arg.pop("visible", None) - _v = visible if visible is not None else _v - if _v is not None: - self["visible"] = _v - _v = arg.pop("x", None) - _v = x if x is not None else _v - if _v is not None: - self["x"] = _v - _v = arg.pop("x0", None) - _v = x0 if x0 is not None else _v - if _v is not None: - self["x0"] = _v - _v = arg.pop("xaxis", None) - _v = xaxis if xaxis is not None else _v - if _v is not None: - self["xaxis"] = _v - _v = arg.pop("xsrc", None) - _v = xsrc if xsrc is not None else _v - if _v is not None: - self["xsrc"] = _v - _v = arg.pop("xtype", None) - _v = xtype if xtype is not None else _v - if _v is not None: - self["xtype"] = _v - _v = arg.pop("y", None) - _v = y if y is not None else _v - if _v is not None: - self["y"] = _v - _v = arg.pop("y0", None) - _v = y0 if y0 is not None else _v - if _v is not None: - self["y0"] = _v - _v = arg.pop("yaxis", None) - _v = yaxis if yaxis is not None else _v - if _v is not None: - self["yaxis"] = _v - _v = arg.pop("ysrc", None) - _v = ysrc if ysrc is not None else _v - if _v is not None: - self["ysrc"] = _v - _v = arg.pop("ytype", None) - _v = ytype if ytype is not None else _v - if _v is not None: - self["ytype"] = _v - _v = arg.pop("z", None) - _v = z if z is not None else _v - if _v is not None: - self["z"] = _v - _v = arg.pop("zauto", None) - _v = zauto if zauto is not None else _v - if _v is not None: - self["zauto"] = _v - _v = arg.pop("zmax", None) - _v = zmax if zmax is not None else _v - if _v is not None: - self["zmax"] = _v - _v = arg.pop("zmid", None) - _v = zmid if zmid is not None else _v - if _v is not None: - self["zmid"] = _v - _v = arg.pop("zmin", None) - _v = zmin if zmin is not None else _v - if _v is not None: - self["zmin"] = _v - _v = arg.pop("zsmooth", None) - _v = zsmooth if zsmooth is not None else _v - if _v is not None: - self["zsmooth"] = _v - _v = arg.pop("zsrc", None) - _v = zsrc if zsrc is not None else _v - if _v is not None: - self["zsrc"] = _v - - # Read-only literals - # ------------------ - - self._props["type"] = "heatmapgl" - arg.pop("type", None) - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/_histogram.py b/packages/python/plotly/plotly/graph_objs/_histogram.py index 9be69878b71..19fc25e00ce 100644 --- a/packages/python/plotly/plotly/graph_objs/_histogram.py +++ b/packages/python/plotly/plotly/graph_objs/_histogram.py @@ -342,7 +342,7 @@ def error_x(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_ystyle symmetric @@ -423,7 +423,7 @@ def error_y(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom diff --git a/packages/python/plotly/plotly/graph_objs/_histogram2d.py b/packages/python/plotly/plotly/graph_objs/_histogram2d.py index 2bf04120f52..16b64a1fbc5 100644 --- a/packages/python/plotly/plotly/graph_objs/_histogram2d.py +++ b/packages/python/plotly/plotly/graph_objs/_histogram2d.py @@ -427,21 +427,6 @@ def colorbar(self): :class:`plotly.graph_objects.histogram2d.colorb ar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - histogram2d.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - histogram2d.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/_histogram2dcontour.py b/packages/python/plotly/plotly/graph_objs/_histogram2dcontour.py index ea00eb8bcb0..aedd85a1cbc 100644 --- a/packages/python/plotly/plotly/graph_objs/_histogram2dcontour.py +++ b/packages/python/plotly/plotly/graph_objs/_histogram2dcontour.py @@ -451,21 +451,6 @@ def colorbar(self): :class:`plotly.graph_objects.histogram2dcontour .colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - histogram2dcontour.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - histogram2dcontour.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/_isosurface.py b/packages/python/plotly/plotly/graph_objs/_isosurface.py index 512861eb11c..0d74e1ecd18 100644 --- a/packages/python/plotly/plotly/graph_objs/_isosurface.py +++ b/packages/python/plotly/plotly/graph_objs/_isosurface.py @@ -474,21 +474,6 @@ def colorbar(self): :class:`plotly.graph_objects.isosurface.colorba r.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - isosurface.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - isosurface.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/_layout.py b/packages/python/plotly/plotly/graph_objs/_layout.py index ca1704877e8..c6e98879546 100644 --- a/packages/python/plotly/plotly/graph_objs/_layout.py +++ b/packages/python/plotly/plotly/graph_objs/_layout.py @@ -147,7 +147,6 @@ def _subplot_re_match(self, prop): "template", "ternary", "title", - "titlefont", "transition", "treemapcolorway", "uirevision", @@ -1453,7 +1452,7 @@ def geo(self): `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and - `lonaxis.range` getting auto-filled. If + `lataxis.range` getting auto-filled. If "locations", only the trace's visible locations are considered in the `fitbounds` computations. If "geojson", the entire trace input `geojson` @@ -3905,9 +3904,7 @@ def title(self): values. Invalid values will be reset to the default 1. font - Sets the title font. Note that the title's font - used to be customized by the now deprecated - `titlefont` attribute. + Sets the title font. pad Sets the padding of the title. Each padding value only applies when the corresponding @@ -3922,10 +3919,7 @@ def title(self): tle` instance or dict with compatible properties text - Sets the plot's title. Note that before the - existence of `title.text`, the title's contents - used to be defined as the `title` attribute - itself. This behavior has been deprecated. + Sets the plot's title. x Sets the x position with respect to `xref` in normalized coordinates from 0 (left) to 1 @@ -3971,77 +3965,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use layout.title.font instead. Sets the - title font. Note that the title's font used to be customized by - the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - # transition # ---------- @property @@ -5020,11 +4943,6 @@ def xaxis(self): title :class:`plotly.graph_objects.layout.xaxis.Title ` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.xaxis.title.font - instead. Sets this axis' title font. Note that - the title's font used to be customized by the - now deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the @@ -5629,11 +5547,6 @@ def yaxis(self): title :class:`plotly.graph_objects.layout.yaxis.Title ` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.yaxis.title.font - instead. Sets this axis' title font. Note that - the title's font used to be customized by the - now deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the @@ -6087,10 +6000,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.layout.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.title.font instead. Sets - the title font. Note that the title's font used to be - customized by the now deprecated `titlefont` attribute. transition Sets transition options used during Plotly.react updates. @@ -6169,8 +6078,6 @@ def _prop_descriptions(self): dict with compatible properties """ - _mapped_properties = {"titlefont": ("title", "font")} - def __init__( self, arg=None, @@ -6254,7 +6161,6 @@ def __init__( template=None, ternary=None, title=None, - titlefont=None, transition=None, treemapcolorway=None, uirevision=None, @@ -6694,10 +6600,6 @@ def __init__( title :class:`plotly.graph_objects.layout.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.title.font instead. Sets - the title font. Note that the title's font used to be - customized by the now deprecated `titlefont` attribute. transition Sets transition options used during Plotly.react updates. @@ -6868,7 +6770,6 @@ def __init__( "template", "ternary", "title", - "titlefont", "transition", "treemapcolorway", "uirevision", @@ -7229,10 +7130,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v _v = arg.pop("transition", None) _v = transition if transition is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/_mesh3d.py b/packages/python/plotly/plotly/graph_objs/_mesh3d.py index 9c7d8a0960b..a23756902a8 100644 --- a/packages/python/plotly/plotly/graph_objs/_mesh3d.py +++ b/packages/python/plotly/plotly/graph_objs/_mesh3d.py @@ -550,21 +550,6 @@ def colorbar(self): :class:`plotly.graph_objects.mesh3d.colorbar.Ti tle` instance or dict with compatible properties - titlefont - Deprecated: Please use - mesh3d.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's - font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use - mesh3d.colorbar.title.side instead. Determines - the location of color bar's title with respect - to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" - when `orientation` if "h". Note that the - title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/_pie.py b/packages/python/plotly/plotly/graph_objs/_pie.py index 0225572dcb0..199af139f8d 100644 --- a/packages/python/plotly/plotly/graph_objs/_pie.py +++ b/packages/python/plotly/plotly/graph_objs/_pie.py @@ -57,8 +57,6 @@ class Pie(_BaseTraceType): "texttemplate", "texttemplatesrc", "title", - "titlefont", - "titleposition", "type", "uid", "uirevision", @@ -1469,19 +1467,12 @@ def title(self): Supported dict properties: font - Sets the font used for `title`. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets the font used for `title`. position - Specifies the location of the `title`. Note - that the title's position used to be set by the - now deprecated `titleposition` attribute. + Specifies the location of the `title`. text Sets the title of the chart. If it is empty, no - title is displayed. Note that before the - existence of `title.text`, the title's contents - used to be defined as the `title` attribute - itself. This behavior has been deprecated. + title is displayed. Returns ------- @@ -1493,128 +1484,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use pie.title.font instead. Sets the font - used for `title`. Note that the title's font used to be set by - the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.pie.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - colorsrc - Sets the source reference on Chart Studio Cloud - for `color`. - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - familysrc - Sets the source reference on Chart Studio Cloud - for `family`. - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud - for `lineposition`. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - shadowsrc - Sets the source reference on Chart Studio Cloud - for `shadow`. - size - - sizesrc - Sets the source reference on Chart Studio Cloud - for `size`. - style - Sets whether a font should be styled with a - normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud - for `style`. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud - for `textcase`. - variant - Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud - for `variant`. - weight - Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud - for `weight`. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleposition - # ------------- - @property - def titleposition(self): - """ - Deprecated: Please use pie.title.position instead. Specifies - the location of the `title`. Note that the title's position - used to be set by the now deprecated `titleposition` attribute. - - The 'position' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['top left', 'top center', 'top right', 'middle center', - 'bottom left', 'bottom center', 'bottom right'] - - Returns - ------- - - """ - return self["titleposition"] - - @titleposition.setter - def titleposition(self, val): - self["titleposition"] = val - # uid # --- @property @@ -1974,15 +1843,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.pie.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use pie.title.font instead. Sets the - font used for `title`. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleposition - Deprecated: Please use pie.title.position instead. - Specifies the location of the `title`. Note that the - title's position used to be set by the now deprecated - `titleposition` attribute. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2018,11 +1878,6 @@ def _prop_descriptions(self): visible). """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleposition": ("title", "position"), - } - def __init__( self, arg=None, @@ -2074,8 +1929,6 @@ def __init__( texttemplate=None, texttemplatesrc=None, title=None, - titlefont=None, - titleposition=None, uid=None, uirevision=None, values=None, @@ -2324,15 +2177,6 @@ def __init__( title :class:`plotly.graph_objects.pie.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use pie.title.font instead. Sets the - font used for `title`. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleposition - Deprecated: Please use pie.title.position instead. - Specifies the location of the `title`. Note that the - title's position used to be set by the now deprecated - `titleposition` attribute. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and @@ -2592,14 +2436,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleposition", None) - _v = titleposition if titleposition is not None else _v - if _v is not None: - self["titleposition"] = _v _v = arg.pop("uid", None) _v = uid if uid is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/_pointcloud.py b/packages/python/plotly/plotly/graph_objs/_pointcloud.py deleted file mode 100644 index e6d7b1a2dd8..00000000000 --- a/packages/python/plotly/plotly/graph_objs/_pointcloud.py +++ /dev/null @@ -1,1618 +0,0 @@ -from plotly.basedatatypes import BaseTraceType as _BaseTraceType -import copy as _copy - - -class Pointcloud(_BaseTraceType): - - # class properties - # -------------------- - _parent_path_str = "" - _path_str = "pointcloud" - _valid_props = { - "customdata", - "customdatasrc", - "hoverinfo", - "hoverinfosrc", - "hoverlabel", - "ids", - "idssrc", - "indices", - "indicessrc", - "legend", - "legendgroup", - "legendgrouptitle", - "legendrank", - "legendwidth", - "marker", - "meta", - "metasrc", - "name", - "opacity", - "showlegend", - "stream", - "text", - "textsrc", - "type", - "uid", - "uirevision", - "visible", - "x", - "xaxis", - "xbounds", - "xboundssrc", - "xsrc", - "xy", - "xysrc", - "y", - "yaxis", - "ybounds", - "yboundssrc", - "ysrc", - } - - # customdata - # ---------- - @property - def customdata(self): - """ - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note that, - "scatter" traces also appends customdata items in the markers - DOM elements - - The 'customdata' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["customdata"] - - @customdata.setter - def customdata(self, val): - self["customdata"] = val - - # customdatasrc - # ------------- - @property - def customdatasrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `customdata`. - - The 'customdatasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["customdatasrc"] - - @customdatasrc.setter - def customdatasrc(self, val): - self["customdatasrc"] = val - - # hoverinfo - # --------- - @property - def hoverinfo(self): - """ - Determines which trace information appear on hover. If `none` - or `skip` are set, no information is displayed upon hovering. - But, if `none` is set, click and hover events are still fired. - - The 'hoverinfo' property is a flaglist and may be specified - as a string containing: - - Any combination of ['x', 'y', 'z', 'text', 'name'] joined with '+' characters - (e.g. 'x+y') - OR exactly one of ['all', 'none', 'skip'] (e.g. 'skip') - - A list or array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["hoverinfo"] - - @hoverinfo.setter - def hoverinfo(self, val): - self["hoverinfo"] = val - - # hoverinfosrc - # ------------ - @property - def hoverinfosrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - - The 'hoverinfosrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["hoverinfosrc"] - - @hoverinfosrc.setter - def hoverinfosrc(self, val): - self["hoverinfosrc"] = val - - # hoverlabel - # ---------- - @property - def hoverlabel(self): - """ - The 'hoverlabel' property is an instance of Hoverlabel - that may be specified as: - - An instance of :class:`plotly.graph_objs.pointcloud.Hoverlabel` - - A dict of string/value properties that will be passed - to the Hoverlabel constructor - - Supported dict properties: - - align - Sets the horizontal alignment of the text - content within hover label box. Has an effect - only if the hover label text spans more two or - more lines - alignsrc - Sets the source reference on Chart Studio Cloud - for `align`. - bgcolor - Sets the background color of the hover labels - for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud - for `bgcolor`. - bordercolor - Sets the border color of the hover labels for - this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud - for `bordercolor`. - font - Sets the font used in hover labels. - namelength - Sets the default length (in number of - characters) of the trace name in the hover - labels for all traces. -1 shows the whole name - regardless of length. 0-3 shows the first 0-3 - characters, and an integer >3 will show the - whole name if it is less than that many - characters, but if it is longer, will truncate - to `namelength - 3` characters and add an - ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud - for `namelength`. - - Returns - ------- - plotly.graph_objs.pointcloud.Hoverlabel - """ - return self["hoverlabel"] - - @hoverlabel.setter - def hoverlabel(self, val): - self["hoverlabel"] = val - - # ids - # --- - @property - def ids(self): - """ - Assigns id labels to each datum. These ids for object constancy - of data points during animation. Should be an array of strings, - not numbers or any other type. - - The 'ids' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["ids"] - - @ids.setter - def ids(self, val): - self["ids"] = val - - # idssrc - # ------ - @property - def idssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ids`. - - The 'idssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["idssrc"] - - @idssrc.setter - def idssrc(self, val): - self["idssrc"] = val - - # indices - # ------- - @property - def indices(self): - """ - A sequential value, 0..n, supply it to avoid creating this - array inside plotting. If specified, it must be a typed - `Int32Array` array. Its length must be equal to or greater than - the number of points. For the best performance and memory use, - create one large `indices` typed array that is guaranteed to be - at least as long as the largest number of points during use, - and reuse it on each `Plotly.restyle()` call. - - The 'indices' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["indices"] - - @indices.setter - def indices(self, val): - self["indices"] = val - - # indicessrc - # ---------- - @property - def indicessrc(self): - """ - Sets the source reference on Chart Studio Cloud for `indices`. - - The 'indicessrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["indicessrc"] - - @indicessrc.setter - def indicessrc(self, val): - self["indicessrc"] = val - - # legend - # ------ - @property - def legend(self): - """ - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", "legend3", - etc. Settings for these legends are set in the layout, under - `layout.legend`, `layout.legend2`, etc. - - The 'legend' property is an identifier of a particular - subplot, of type 'legend', that may be specified as the string 'legend' - optionally followed by an integer >= 1 - (e.g. 'legend', 'legend1', 'legend2', 'legend3', etc.) - - Returns - ------- - str - """ - return self["legend"] - - @legend.setter - def legend(self, val): - self["legend"] = val - - # legendgroup - # ----------- - @property - def legendgroup(self): - """ - Sets the legend group for this trace. Traces and shapes part of - the same legend group hide/show at the same time when toggling - legend items. - - The 'legendgroup' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["legendgroup"] - - @legendgroup.setter - def legendgroup(self, val): - self["legendgroup"] = val - - # legendgrouptitle - # ---------------- - @property - def legendgrouptitle(self): - """ - The 'legendgrouptitle' property is an instance of Legendgrouptitle - that may be specified as: - - An instance of :class:`plotly.graph_objs.pointcloud.Legendgrouptitle` - - A dict of string/value properties that will be passed - to the Legendgrouptitle constructor - - Supported dict properties: - - font - Sets this legend group's title font. - text - Sets the title of the legend group. - - Returns - ------- - plotly.graph_objs.pointcloud.Legendgrouptitle - """ - return self["legendgrouptitle"] - - @legendgrouptitle.setter - def legendgrouptitle(self, val): - self["legendgrouptitle"] = val - - # legendrank - # ---------- - @property - def legendrank(self): - """ - Sets the legend rank for this trace. Items and groups with - smaller ranks are presented on top/left side while with - "reversed" `legend.traceorder` they are on bottom/right side. - The default legendrank is 1000, so that you can use ranks less - than 1000 to place certain items before all unranked items, and - ranks greater than 1000 to go after all unranked items. When - having unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and layout. - - The 'legendrank' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["legendrank"] - - @legendrank.setter - def legendrank(self, val): - self["legendrank"] = val - - # legendwidth - # ----------- - @property - def legendwidth(self): - """ - Sets the width (in px or fraction) of the legend for this - trace. - - The 'legendwidth' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["legendwidth"] - - @legendwidth.setter - def legendwidth(self, val): - self["legendwidth"] = val - - # marker - # ------ - @property - def marker(self): - """ - The 'marker' property is an instance of Marker - that may be specified as: - - An instance of :class:`plotly.graph_objs.pointcloud.Marker` - - A dict of string/value properties that will be passed - to the Marker constructor - - Supported dict properties: - - blend - Determines if colors are blended together for a - translucency effect in case `opacity` is - specified as a value less then `1`. Setting - `blend` to `true` reduces zoom/pan speed if - used with large numbers of points. - border - :class:`plotly.graph_objects.pointcloud.marker. - Border` instance or dict with compatible - properties - color - Sets the marker fill color. It accepts a - specific color. If the color is not fully - opaque and there are hundreds of thousands of - points, it may cause slower zooming and - panning. - opacity - Sets the marker opacity. The default value is - `1` (fully opaque). If the markers are not - fully opaque and there are hundreds of - thousands of points, it may cause slower - zooming and panning. Opacity fades the color - even if `blend` is left on `false` even if - there is no translucency effect in that case. - sizemax - Sets the maximum size (in px) of the rendered - marker points. Effective when the `pointcloud` - shows only few points. - sizemin - Sets the minimum size (in px) of the rendered - marker points, effective when the `pointcloud` - shows a million or more points. - - Returns - ------- - plotly.graph_objs.pointcloud.Marker - """ - return self["marker"] - - @marker.setter - def marker(self, val): - self["marker"] = val - - # meta - # ---- - @property - def meta(self): - """ - Assigns extra meta information associated with this trace that - can be used in various text attributes. Attributes such as - trace `name`, graph, axis and colorbar `title.text`, annotation - `text` `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` values in - an attribute in the same trace, simply use `%{meta[i]}` where - `i` is the index or key of the `meta` item in question. To - access trace `meta` in layout attributes, use - `%{data[n[.meta[i]}` where `i` is the index or key of the - `meta` and `n` is the trace index. - - The 'meta' property accepts values of any type - - Returns - ------- - Any|numpy.ndarray - """ - return self["meta"] - - @meta.setter - def meta(self, val): - self["meta"] = val - - # metasrc - # ------- - @property - def metasrc(self): - """ - Sets the source reference on Chart Studio Cloud for `meta`. - - The 'metasrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["metasrc"] - - @metasrc.setter - def metasrc(self, val): - self["metasrc"] = val - - # name - # ---- - @property - def name(self): - """ - Sets the trace name. The trace name appears as the legend item - and on hover. - - The 'name' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["name"] - - @name.setter - def name(self, val): - self["name"] = val - - # opacity - # ------- - @property - def opacity(self): - """ - Sets the opacity of the trace. - - The 'opacity' property is a number and may be specified as: - - An int or float in the interval [0, 1] - - Returns - ------- - int|float - """ - return self["opacity"] - - @opacity.setter - def opacity(self, val): - self["opacity"] = val - - # showlegend - # ---------- - @property - def showlegend(self): - """ - Determines whether or not an item corresponding to this trace - is shown in the legend. - - The 'showlegend' property must be specified as a bool - (either True, or False) - - Returns - ------- - bool - """ - return self["showlegend"] - - @showlegend.setter - def showlegend(self, val): - self["showlegend"] = val - - # stream - # ------ - @property - def stream(self): - """ - The 'stream' property is an instance of Stream - that may be specified as: - - An instance of :class:`plotly.graph_objs.pointcloud.Stream` - - A dict of string/value properties that will be passed - to the Stream constructor - - Supported dict properties: - - maxpoints - Sets the maximum number of points to keep on - the plots from an incoming stream. If - `maxpoints` is set to 50, only the newest 50 - points will be displayed on the plot. - token - The stream id number links a data trace on a - plot with a stream. See https://chart- - studio.plotly.com/settings for more details. - - Returns - ------- - plotly.graph_objs.pointcloud.Stream - """ - return self["stream"] - - @stream.setter - def stream(self, val): - self["stream"] = val - - # text - # ---- - @property - def text(self): - """ - Sets text elements associated with each (x,y) pair. If a single - string, the same string appears over all the data points. If an - array of string, the items are mapped in order to the this - trace's (x,y) coordinates. If trace `hoverinfo` contains a - "text" flag and "hovertext" is not set, these elements will be - seen in the hover labels. - - The 'text' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["text"] - - @text.setter - def text(self, val): - self["text"] = val - - # textsrc - # ------- - @property - def textsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `text`. - - The 'textsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textsrc"] - - @textsrc.setter - def textsrc(self, val): - self["textsrc"] = val - - # uid - # --- - @property - def uid(self): - """ - Assign an id to this trace, Use this to provide object - constancy between traces during animations and transitions. - - The 'uid' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["uid"] - - @uid.setter - def uid(self, val): - self["uid"] = val - - # uirevision - # ---------- - @property - def uirevision(self): - """ - Controls persistence of some user-driven changes to the trace: - `constraintrange` in `parcoords` traces, as well as some - `editable: true` modifications such as `name` and - `colorbar.title`. Defaults to `layout.uirevision`. Note that - other user-driven trace attribute changes are controlled by - `layout` attributes: `trace.visible` is controlled by - `layout.legend.uirevision`, `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` (accessible - with `config: {editable: true}`) is controlled by - `layout.editrevision`. Trace changes are tracked by `uid`, - which only falls back on trace index if no `uid` is provided. - So if your app can add/remove traces before the end of the - `data` array, such that the same trace has a different index, - you can still preserve user-driven changes if you give each - trace a `uid` that stays with it as it moves. - - The 'uirevision' property accepts values of any type - - Returns - ------- - Any - """ - return self["uirevision"] - - @uirevision.setter - def uirevision(self, val): - self["uirevision"] = val - - # visible - # ------- - @property - def visible(self): - """ - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as a - legend item (provided that the legend itself is visible). - - The 'visible' property is an enumeration that may be specified as: - - One of the following enumeration values: - [True, False, 'legendonly'] - - Returns - ------- - Any - """ - return self["visible"] - - @visible.setter - def visible(self, val): - self["visible"] = val - - # x - # - - @property - def x(self): - """ - Sets the x coordinates. - - The 'x' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["x"] - - @x.setter - def x(self, val): - self["x"] = val - - # xaxis - # ----- - @property - def xaxis(self): - """ - Sets a reference between this trace's x coordinates and a 2D - cartesian x axis. If "x" (the default value), the x coordinates - refer to `layout.xaxis`. If "x2", the x coordinates refer to - `layout.xaxis2`, and so on. - - The 'xaxis' property is an identifier of a particular - subplot, of type 'x', that may be specified as the string 'x' - optionally followed by an integer >= 1 - (e.g. 'x', 'x1', 'x2', 'x3', etc.) - - Returns - ------- - str - """ - return self["xaxis"] - - @xaxis.setter - def xaxis(self, val): - self["xaxis"] = val - - # xbounds - # ------- - @property - def xbounds(self): - """ - Specify `xbounds` in the shape of `[xMin, xMax] to avoid - looping through the `xy` typed array. Use it in conjunction - with `xy` and `ybounds` for the performance benefits. - - The 'xbounds' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["xbounds"] - - @xbounds.setter - def xbounds(self, val): - self["xbounds"] = val - - # xboundssrc - # ---------- - @property - def xboundssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `xbounds`. - - The 'xboundssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xboundssrc"] - - @xboundssrc.setter - def xboundssrc(self, val): - self["xboundssrc"] = val - - # xsrc - # ---- - @property - def xsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `x`. - - The 'xsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xsrc"] - - @xsrc.setter - def xsrc(self, val): - self["xsrc"] = val - - # xy - # -- - @property - def xy(self): - """ - Faster alternative to specifying `x` and `y` separately. If - supplied, it must be a typed `Float32Array` array that - represents points such that `xy[i * 2] = x[i]` and `xy[i * 2 + - 1] = y[i]` - - The 'xy' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["xy"] - - @xy.setter - def xy(self, val): - self["xy"] = val - - # xysrc - # ----- - @property - def xysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `xy`. - - The 'xysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["xysrc"] - - @xysrc.setter - def xysrc(self, val): - self["xysrc"] = val - - # y - # - - @property - def y(self): - """ - Sets the y coordinates. - - The 'y' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["y"] - - @y.setter - def y(self, val): - self["y"] = val - - # yaxis - # ----- - @property - def yaxis(self): - """ - Sets a reference between this trace's y coordinates and a 2D - cartesian y axis. If "y" (the default value), the y coordinates - refer to `layout.yaxis`. If "y2", the y coordinates refer to - `layout.yaxis2`, and so on. - - The 'yaxis' property is an identifier of a particular - subplot, of type 'y', that may be specified as the string 'y' - optionally followed by an integer >= 1 - (e.g. 'y', 'y1', 'y2', 'y3', etc.) - - Returns - ------- - str - """ - return self["yaxis"] - - @yaxis.setter - def yaxis(self, val): - self["yaxis"] = val - - # ybounds - # ------- - @property - def ybounds(self): - """ - Specify `ybounds` in the shape of `[yMin, yMax] to avoid - looping through the `xy` typed array. Use it in conjunction - with `xy` and `xbounds` for the performance benefits. - - The 'ybounds' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["ybounds"] - - @ybounds.setter - def ybounds(self, val): - self["ybounds"] = val - - # yboundssrc - # ---------- - @property - def yboundssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ybounds`. - - The 'yboundssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["yboundssrc"] - - @yboundssrc.setter - def yboundssrc(self, val): - self["yboundssrc"] = val - - # ysrc - # ---- - @property - def ysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `y`. - - The 'ysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ysrc"] - - @ysrc.setter - def ysrc(self, val): - self["ysrc"] = val - - # type - # ---- - @property - def type(self): - return self._props["type"] - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - customdata - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note - that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.pointcloud.Hoverlabel` - instance or dict with compatible properties - ids - Assigns id labels to each datum. These ids for object - constancy of data points during animation. Should be an - array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - indices - A sequential value, 0..n, supply it to avoid creating - this array inside plotting. If specified, it must be a - typed `Int32Array` array. Its length must be equal to - or greater than the number of points. For the best - performance and memory use, create one large `indices` - typed array that is guaranteed to be at least as long - as the largest number of points during use, and reuse - it on each `Plotly.restyle()` call. - indicessrc - Sets the source reference on Chart Studio Cloud for - `indices`. - legend - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", - "legend3", etc. Settings for these legends are set in - the layout, under `layout.legend`, `layout.legend2`, - etc. - legendgroup - Sets the legend group for this trace. Traces and shapes - part of the same legend group hide/show at the same - time when toggling legend items. - legendgrouptitle - :class:`plotly.graph_objects.pointcloud.Legendgrouptitl - e` instance or dict with compatible properties - legendrank - Sets the legend rank for this trace. Items and groups - with smaller ranks are presented on top/left side while - with "reversed" `legend.traceorder` they are on - bottom/right side. The default legendrank is 1000, so - that you can use ranks less than 1000 to place certain - items before all unranked items, and ranks greater than - 1000 to go after all unranked items. When having - unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and - layout. - legendwidth - Sets the width (in px or fraction) of the legend for - this trace. - marker - :class:`plotly.graph_objects.pointcloud.Marker` - instance or dict with compatible properties - meta - Assigns extra meta information associated with this - trace that can be used in various text attributes. - Attributes such as trace `name`, graph, axis and - colorbar `title.text`, annotation `text` - `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - name - Sets the trace name. The trace name appears as the - legend item and on hover. - opacity - Sets the opacity of the trace. - showlegend - Determines whether or not an item corresponding to this - trace is shown in the legend. - stream - :class:`plotly.graph_objects.pointcloud.Stream` - instance or dict with compatible properties - text - Sets text elements associated with each (x,y) pair. If - a single string, the same string appears over all the - data points. If an array of string, the items are - mapped in order to the this trace's (x,y) coordinates. - If trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - x - Sets the x coordinates. - xaxis - Sets a reference between this trace's x coordinates and - a 2D cartesian x axis. If "x" (the default value), the - x coordinates refer to `layout.xaxis`. If "x2", the x - coordinates refer to `layout.xaxis2`, and so on. - xbounds - Specify `xbounds` in the shape of `[xMin, xMax] to - avoid looping through the `xy` typed array. Use it in - conjunction with `xy` and `ybounds` for the performance - benefits. - xboundssrc - Sets the source reference on Chart Studio Cloud for - `xbounds`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. - xy - Faster alternative to specifying `x` and `y` - separately. If supplied, it must be a typed - `Float32Array` array that represents points such that - `xy[i * 2] = x[i]` and `xy[i * 2 + 1] = y[i]` - xysrc - Sets the source reference on Chart Studio Cloud for - `xy`. - y - Sets the y coordinates. - yaxis - Sets a reference between this trace's y coordinates and - a 2D cartesian y axis. If "y" (the default value), the - y coordinates refer to `layout.yaxis`. If "y2", the y - coordinates refer to `layout.yaxis2`, and so on. - ybounds - Specify `ybounds` in the shape of `[yMin, yMax] to - avoid looping through the `xy` typed array. Use it in - conjunction with `xy` and `xbounds` for the performance - benefits. - yboundssrc - Sets the source reference on Chart Studio Cloud for - `ybounds`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. - """ - - def __init__( - self, - arg=None, - customdata=None, - customdatasrc=None, - hoverinfo=None, - hoverinfosrc=None, - hoverlabel=None, - ids=None, - idssrc=None, - indices=None, - indicessrc=None, - legend=None, - legendgroup=None, - legendgrouptitle=None, - legendrank=None, - legendwidth=None, - marker=None, - meta=None, - metasrc=None, - name=None, - opacity=None, - showlegend=None, - stream=None, - text=None, - textsrc=None, - uid=None, - uirevision=None, - visible=None, - x=None, - xaxis=None, - xbounds=None, - xboundssrc=None, - xsrc=None, - xy=None, - xysrc=None, - y=None, - yaxis=None, - ybounds=None, - yboundssrc=None, - ysrc=None, - **kwargs, - ): - """ - Construct a new Pointcloud object - - "pointcloud" trace is deprecated! Please consider switching to - the "scattergl" trace type. The data visualized as a point - cloud set in `x` and `y` using the WebGl plotting engine. - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.Pointcloud` - customdata - Assigns extra data each datum. This may be useful when - listening to hover, click and selection events. Note - that, "scatter" traces also appends customdata items in - the markers DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud for - `customdata`. - hoverinfo - Determines which trace information appear on hover. If - `none` or `skip` are set, no information is displayed - upon hovering. But, if `none` is set, click and hover - events are still fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud for - `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.pointcloud.Hoverlabel` - instance or dict with compatible properties - ids - Assigns id labels to each datum. These ids for object - constancy of data points during animation. Should be an - array of strings, not numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud for - `ids`. - indices - A sequential value, 0..n, supply it to avoid creating - this array inside plotting. If specified, it must be a - typed `Int32Array` array. Its length must be equal to - or greater than the number of points. For the best - performance and memory use, create one large `indices` - typed array that is guaranteed to be at least as long - as the largest number of points during use, and reuse - it on each `Plotly.restyle()` call. - indicessrc - Sets the source reference on Chart Studio Cloud for - `indices`. - legend - Sets the reference to a legend to show this trace in. - References to these legends are "legend", "legend2", - "legend3", etc. Settings for these legends are set in - the layout, under `layout.legend`, `layout.legend2`, - etc. - legendgroup - Sets the legend group for this trace. Traces and shapes - part of the same legend group hide/show at the same - time when toggling legend items. - legendgrouptitle - :class:`plotly.graph_objects.pointcloud.Legendgrouptitl - e` instance or dict with compatible properties - legendrank - Sets the legend rank for this trace. Items and groups - with smaller ranks are presented on top/left side while - with "reversed" `legend.traceorder` they are on - bottom/right side. The default legendrank is 1000, so - that you can use ranks less than 1000 to place certain - items before all unranked items, and ranks greater than - 1000 to go after all unranked items. When having - unranked or equal rank items shapes would be displayed - after traces i.e. according to their order in data and - layout. - legendwidth - Sets the width (in px or fraction) of the legend for - this trace. - marker - :class:`plotly.graph_objects.pointcloud.Marker` - instance or dict with compatible properties - meta - Assigns extra meta information associated with this - trace that can be used in various text attributes. - Attributes such as trace `name`, graph, axis and - colorbar `title.text`, annotation `text` - `rangeselector`, `updatemenues` and `sliders` `label` - text all support `meta`. To access the trace `meta` - values in an attribute in the same trace, simply use - `%{meta[i]}` where `i` is the index or key of the - `meta` item in question. To access trace `meta` in - layout attributes, use `%{data[n[.meta[i]}` where `i` - is the index or key of the `meta` and `n` is the trace - index. - metasrc - Sets the source reference on Chart Studio Cloud for - `meta`. - name - Sets the trace name. The trace name appears as the - legend item and on hover. - opacity - Sets the opacity of the trace. - showlegend - Determines whether or not an item corresponding to this - trace is shown in the legend. - stream - :class:`plotly.graph_objects.pointcloud.Stream` - instance or dict with compatible properties - text - Sets text elements associated with each (x,y) pair. If - a single string, the same string appears over all the - data points. If an array of string, the items are - mapped in order to the this trace's (x,y) coordinates. - If trace `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be seen in - the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud for - `text`. - uid - Assign an id to this trace, Use this to provide object - constancy between traces during animations and - transitions. - uirevision - Controls persistence of some user-driven changes to the - trace: `constraintrange` in `parcoords` traces, as well - as some `editable: true` modifications such as `name` - and `colorbar.title`. Defaults to `layout.uirevision`. - Note that other user-driven trace attribute changes are - controlled by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and `colorbar.(x|y)` - (accessible with `config: {editable: true}`) is - controlled by `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on trace index - if no `uid` is provided. So if your app can add/remove - traces before the end of the `data` array, such that - the same trace has a different index, you can still - preserve user-driven changes if you give each trace a - `uid` that stays with it as it moves. - visible - Determines whether or not this trace is visible. If - "legendonly", the trace is not drawn, but can appear as - a legend item (provided that the legend itself is - visible). - x - Sets the x coordinates. - xaxis - Sets a reference between this trace's x coordinates and - a 2D cartesian x axis. If "x" (the default value), the - x coordinates refer to `layout.xaxis`. If "x2", the x - coordinates refer to `layout.xaxis2`, and so on. - xbounds - Specify `xbounds` in the shape of `[xMin, xMax] to - avoid looping through the `xy` typed array. Use it in - conjunction with `xy` and `ybounds` for the performance - benefits. - xboundssrc - Sets the source reference on Chart Studio Cloud for - `xbounds`. - xsrc - Sets the source reference on Chart Studio Cloud for - `x`. - xy - Faster alternative to specifying `x` and `y` - separately. If supplied, it must be a typed - `Float32Array` array that represents points such that - `xy[i * 2] = x[i]` and `xy[i * 2 + 1] = y[i]` - xysrc - Sets the source reference on Chart Studio Cloud for - `xy`. - y - Sets the y coordinates. - yaxis - Sets a reference between this trace's y coordinates and - a 2D cartesian y axis. If "y" (the default value), the - y coordinates refer to `layout.yaxis`. If "y2", the y - coordinates refer to `layout.yaxis2`, and so on. - ybounds - Specify `ybounds` in the shape of `[yMin, yMax] to - avoid looping through the `xy` typed array. Use it in - conjunction with `xy` and `xbounds` for the performance - benefits. - yboundssrc - Sets the source reference on Chart Studio Cloud for - `ybounds`. - ysrc - Sets the source reference on Chart Studio Cloud for - `y`. - - Returns - ------- - Pointcloud - """ - super(Pointcloud, self).__init__("pointcloud") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.Pointcloud -constructor must be a dict or -an instance of :class:`plotly.graph_objs.Pointcloud`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("customdata", None) - _v = customdata if customdata is not None else _v - if _v is not None: - self["customdata"] = _v - _v = arg.pop("customdatasrc", None) - _v = customdatasrc if customdatasrc is not None else _v - if _v is not None: - self["customdatasrc"] = _v - _v = arg.pop("hoverinfo", None) - _v = hoverinfo if hoverinfo is not None else _v - if _v is not None: - self["hoverinfo"] = _v - _v = arg.pop("hoverinfosrc", None) - _v = hoverinfosrc if hoverinfosrc is not None else _v - if _v is not None: - self["hoverinfosrc"] = _v - _v = arg.pop("hoverlabel", None) - _v = hoverlabel if hoverlabel is not None else _v - if _v is not None: - self["hoverlabel"] = _v - _v = arg.pop("ids", None) - _v = ids if ids is not None else _v - if _v is not None: - self["ids"] = _v - _v = arg.pop("idssrc", None) - _v = idssrc if idssrc is not None else _v - if _v is not None: - self["idssrc"] = _v - _v = arg.pop("indices", None) - _v = indices if indices is not None else _v - if _v is not None: - self["indices"] = _v - _v = arg.pop("indicessrc", None) - _v = indicessrc if indicessrc is not None else _v - if _v is not None: - self["indicessrc"] = _v - _v = arg.pop("legend", None) - _v = legend if legend is not None else _v - if _v is not None: - self["legend"] = _v - _v = arg.pop("legendgroup", None) - _v = legendgroup if legendgroup is not None else _v - if _v is not None: - self["legendgroup"] = _v - _v = arg.pop("legendgrouptitle", None) - _v = legendgrouptitle if legendgrouptitle is not None else _v - if _v is not None: - self["legendgrouptitle"] = _v - _v = arg.pop("legendrank", None) - _v = legendrank if legendrank is not None else _v - if _v is not None: - self["legendrank"] = _v - _v = arg.pop("legendwidth", None) - _v = legendwidth if legendwidth is not None else _v - if _v is not None: - self["legendwidth"] = _v - _v = arg.pop("marker", None) - _v = marker if marker is not None else _v - if _v is not None: - self["marker"] = _v - _v = arg.pop("meta", None) - _v = meta if meta is not None else _v - if _v is not None: - self["meta"] = _v - _v = arg.pop("metasrc", None) - _v = metasrc if metasrc is not None else _v - if _v is not None: - self["metasrc"] = _v - _v = arg.pop("name", None) - _v = name if name is not None else _v - if _v is not None: - self["name"] = _v - _v = arg.pop("opacity", None) - _v = opacity if opacity is not None else _v - if _v is not None: - self["opacity"] = _v - _v = arg.pop("showlegend", None) - _v = showlegend if showlegend is not None else _v - if _v is not None: - self["showlegend"] = _v - _v = arg.pop("stream", None) - _v = stream if stream is not None else _v - if _v is not None: - self["stream"] = _v - _v = arg.pop("text", None) - _v = text if text is not None else _v - if _v is not None: - self["text"] = _v - _v = arg.pop("textsrc", None) - _v = textsrc if textsrc is not None else _v - if _v is not None: - self["textsrc"] = _v - _v = arg.pop("uid", None) - _v = uid if uid is not None else _v - if _v is not None: - self["uid"] = _v - _v = arg.pop("uirevision", None) - _v = uirevision if uirevision is not None else _v - if _v is not None: - self["uirevision"] = _v - _v = arg.pop("visible", None) - _v = visible if visible is not None else _v - if _v is not None: - self["visible"] = _v - _v = arg.pop("x", None) - _v = x if x is not None else _v - if _v is not None: - self["x"] = _v - _v = arg.pop("xaxis", None) - _v = xaxis if xaxis is not None else _v - if _v is not None: - self["xaxis"] = _v - _v = arg.pop("xbounds", None) - _v = xbounds if xbounds is not None else _v - if _v is not None: - self["xbounds"] = _v - _v = arg.pop("xboundssrc", None) - _v = xboundssrc if xboundssrc is not None else _v - if _v is not None: - self["xboundssrc"] = _v - _v = arg.pop("xsrc", None) - _v = xsrc if xsrc is not None else _v - if _v is not None: - self["xsrc"] = _v - _v = arg.pop("xy", None) - _v = xy if xy is not None else _v - if _v is not None: - self["xy"] = _v - _v = arg.pop("xysrc", None) - _v = xysrc if xysrc is not None else _v - if _v is not None: - self["xysrc"] = _v - _v = arg.pop("y", None) - _v = y if y is not None else _v - if _v is not None: - self["y"] = _v - _v = arg.pop("yaxis", None) - _v = yaxis if yaxis is not None else _v - if _v is not None: - self["yaxis"] = _v - _v = arg.pop("ybounds", None) - _v = ybounds if ybounds is not None else _v - if _v is not None: - self["ybounds"] = _v - _v = arg.pop("yboundssrc", None) - _v = yboundssrc if yboundssrc is not None else _v - if _v is not None: - self["yboundssrc"] = _v - _v = arg.pop("ysrc", None) - _v = ysrc if ysrc is not None else _v - if _v is not None: - self["ysrc"] = _v - - # Read-only literals - # ------------------ - - self._props["type"] = "pointcloud" - arg.pop("type", None) - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/_scatter.py b/packages/python/plotly/plotly/graph_objs/_scatter.py index dfacd25f064..a7e3556f63f 100644 --- a/packages/python/plotly/plotly/graph_objs/_scatter.py +++ b/packages/python/plotly/plotly/graph_objs/_scatter.py @@ -266,7 +266,7 @@ def error_x(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_ystyle symmetric @@ -347,7 +347,7 @@ def error_y(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom diff --git a/packages/python/plotly/plotly/graph_objs/_scatter3d.py b/packages/python/plotly/plotly/graph_objs/_scatter3d.py index 5592bf81f77..bb0094c9287 100644 --- a/packages/python/plotly/plotly/graph_objs/_scatter3d.py +++ b/packages/python/plotly/plotly/graph_objs/_scatter3d.py @@ -161,7 +161,7 @@ def error_x(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_zstyle symmetric @@ -242,7 +242,7 @@ def error_y(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_zstyle symmetric @@ -323,7 +323,7 @@ def error_z(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom diff --git a/packages/python/plotly/plotly/graph_objs/_scattergl.py b/packages/python/plotly/plotly/graph_objs/_scattergl.py index 551d5caaf8e..ec04368d8ba 100644 --- a/packages/python/plotly/plotly/graph_objs/_scattergl.py +++ b/packages/python/plotly/plotly/graph_objs/_scattergl.py @@ -209,7 +209,7 @@ def error_x(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_ystyle symmetric @@ -290,7 +290,7 @@ def error_y(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom diff --git a/packages/python/plotly/plotly/graph_objs/_streamtube.py b/packages/python/plotly/plotly/graph_objs/_streamtube.py index 4ad6122292d..b43c7ee8fab 100644 --- a/packages/python/plotly/plotly/graph_objs/_streamtube.py +++ b/packages/python/plotly/plotly/graph_objs/_streamtube.py @@ -443,21 +443,6 @@ def colorbar(self): :class:`plotly.graph_objects.streamtube.colorba r.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - streamtube.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - streamtube.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/_surface.py b/packages/python/plotly/plotly/graph_objs/_surface.py index 1662062bcfc..79704dbfd19 100644 --- a/packages/python/plotly/plotly/graph_objs/_surface.py +++ b/packages/python/plotly/plotly/graph_objs/_surface.py @@ -442,21 +442,6 @@ def colorbar(self): :class:`plotly.graph_objects.surface.colorbar.T itle` instance or dict with compatible properties - titlefont - Deprecated: Please use - surface.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's - font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use - surface.colorbar.title.side instead. Determines - the location of color bar's title with respect - to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" - when `orientation` if "h". Note that the - title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/_volume.py b/packages/python/plotly/plotly/graph_objs/_volume.py index 3c490496b70..1c86a415521 100644 --- a/packages/python/plotly/plotly/graph_objs/_volume.py +++ b/packages/python/plotly/plotly/graph_objs/_volume.py @@ -475,21 +475,6 @@ def colorbar(self): :class:`plotly.graph_objects.volume.colorbar.Ti tle` instance or dict with compatible properties - titlefont - Deprecated: Please use - volume.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's - font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use - volume.colorbar.title.side instead. Determines - the location of color bar's title with respect - to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" - when `orientation` if "h". Note that the - title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/bar/_error_x.py b/packages/python/plotly/plotly/graph_objs/bar/_error_x.py index 3a5a34cf8f6..b83b39034bd 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/_error_x.py +++ b/packages/python/plotly/plotly/graph_objs/bar/_error_x.py @@ -115,7 +115,7 @@ def arraysrc(self, val): @property def color(self): """ - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. The 'color' property is a color and may be specified as: - A hex string (e.g. '#ff0000') @@ -401,7 +401,7 @@ def _prop_descriptions(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_ystyle symmetric @@ -486,7 +486,7 @@ def __init__( Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_ystyle symmetric diff --git a/packages/python/plotly/plotly/graph_objs/bar/_error_y.py b/packages/python/plotly/plotly/graph_objs/bar/_error_y.py index db135609888..c6b3d93917a 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/_error_y.py +++ b/packages/python/plotly/plotly/graph_objs/bar/_error_y.py @@ -114,7 +114,7 @@ def arraysrc(self, val): @property def color(self): """ - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. The 'color' property is a color and may be specified as: - A hex string (e.g. '#ff0000') @@ -382,7 +382,7 @@ def _prop_descriptions(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, @@ -464,7 +464,7 @@ def __init__( Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, diff --git a/packages/python/plotly/plotly/graph_objs/bar/_marker.py b/packages/python/plotly/plotly/graph_objs/bar/_marker.py index 6135ef8f0d4..6af1d5c021f 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/bar/_marker.py @@ -471,21 +471,6 @@ def colorbar(self): :class:`plotly.graph_objects.bar.marker.colorba r.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - bar.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - bar.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/bar/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/bar/marker/_colorbar.py index d4b44c83405..7f93706dd29 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/bar/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1230,22 +1228,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1257,103 +1247,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use bar.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.bar.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use bar.marker.colorbar.title.side instead. - Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1739,19 +1632,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.bar.marker.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use bar.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use bar.marker.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1798,11 +1678,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1847,8 +1722,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2062,19 +1935,6 @@ def __init__( title :class:`plotly.graph_objects.bar.marker.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use bar.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use bar.marker.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2317,14 +2177,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_title.py index f38cf373397..3ad48f55ad4 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.bar.marker.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/title/_font.py index 9416d5ab63c..c6b3218ea75 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/_marker.py b/packages/python/plotly/plotly/graph_objs/barpolar/_marker.py index a05f84e711f..3602ee70814 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/_marker.py @@ -471,21 +471,6 @@ def colorbar(self): :class:`plotly.graph_objects.barpolar.marker.co lorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - barpolar.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - barpolar.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/barpolar/marker/_colorbar.py index 3efcf763a94..1a42eb92b85 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use barpolar.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.barpolar.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use barpolar.marker.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.barpolar.marker.colorbar.T itle` instance or dict with compatible properties - titlefont - Deprecated: Please use - barpolar.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - barpolar.marker.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1800,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1849,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2064,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.barpolar.marker.colorbar.T itle` instance or dict with compatible properties - titlefont - Deprecated: Please use - barpolar.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - barpolar.marker.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2319,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_title.py index 03ac290cdcb..0f41b12c585 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.barpolar.marke r.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/title/_font.py index b89684bac5c..da6165775b8 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/carpet/_aaxis.py b/packages/python/plotly/plotly/graph_objs/carpet/_aaxis.py index b3533de4124..d8a2d9d28af 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/_aaxis.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/_aaxis.py @@ -66,8 +66,6 @@ class Aaxis(_BaseTraceHierarchyType): "tickvals", "tickvalssrc", "title", - "titlefont", - "titleoffset", "type", } @@ -1637,20 +1635,12 @@ def title(self): Supported dict properties: font - Sets this axis' title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this axis' title font. offset An additional amount by which to offset the title from the tick labels, given in pixels. - Note that this used to be set by the now - deprecated `titleoffset` attribute. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. Returns ------- @@ -1662,100 +1652,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use carpet.aaxis.title.font instead. Sets - this axis' title font. Note that the title's font used to be - set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.carpet.aaxis.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleoffset - # ----------- - @property - def titleoffset(self): - """ - Deprecated: Please use carpet.aaxis.title.offset instead. An - additional amount by which to offset the title from the tick - labels, given in pixels. Note that this used to be set by the - now deprecated `titleoffset` attribute. - - The 'offset' property is a number and may be specified as: - - An int or float - - Returns - ------- - - """ - return self["titleoffset"] - - @titleoffset.setter - def titleoffset(self, val): - self["titleoffset"] = val - # type # ---- @property @@ -1996,28 +1892,12 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.carpet.aaxis.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use carpet.aaxis.title.font instead. - Sets this axis' title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleoffset - Deprecated: Please use carpet.aaxis.title.offset - instead. An additional amount by which to offset the - title from the tick labels, given in pixels. Note that - this used to be set by the now deprecated `titleoffset` - attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of the traces that referenced the axis in question. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleoffset": ("title", "offset"), - } - def __init__( self, arg=None, @@ -2078,8 +1958,6 @@ def __init__( tickvals=None, tickvalssrc=None, title=None, - titlefont=None, - titleoffset=None, type=None, **kwargs, ): @@ -2303,17 +2181,6 @@ def __init__( title :class:`plotly.graph_objects.carpet.aaxis.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use carpet.aaxis.title.font instead. - Sets this axis' title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleoffset - Deprecated: Please use carpet.aaxis.title.offset - instead. An additional amount by which to offset the - title from the tick labels, given in pixels. Note that - this used to be set by the now deprecated `titleoffset` - attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of @@ -2580,14 +2447,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleoffset", None) - _v = titleoffset if titleoffset is not None else _v - if _v is not None: - self["titleoffset"] = _v _v = arg.pop("type", None) _v = type if type is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/carpet/_baxis.py b/packages/python/plotly/plotly/graph_objs/carpet/_baxis.py index 5cf9c2115bd..342ccfb781e 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/_baxis.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/_baxis.py @@ -66,8 +66,6 @@ class Baxis(_BaseTraceHierarchyType): "tickvals", "tickvalssrc", "title", - "titlefont", - "titleoffset", "type", } @@ -1637,20 +1635,12 @@ def title(self): Supported dict properties: font - Sets this axis' title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this axis' title font. offset An additional amount by which to offset the title from the tick labels, given in pixels. - Note that this used to be set by the now - deprecated `titleoffset` attribute. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. Returns ------- @@ -1662,100 +1652,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use carpet.baxis.title.font instead. Sets - this axis' title font. Note that the title's font used to be - set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.carpet.baxis.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleoffset - # ----------- - @property - def titleoffset(self): - """ - Deprecated: Please use carpet.baxis.title.offset instead. An - additional amount by which to offset the title from the tick - labels, given in pixels. Note that this used to be set by the - now deprecated `titleoffset` attribute. - - The 'offset' property is a number and may be specified as: - - An int or float - - Returns - ------- - - """ - return self["titleoffset"] - - @titleoffset.setter - def titleoffset(self, val): - self["titleoffset"] = val - # type # ---- @property @@ -1996,28 +1892,12 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.carpet.baxis.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use carpet.baxis.title.font instead. - Sets this axis' title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleoffset - Deprecated: Please use carpet.baxis.title.offset - instead. An additional amount by which to offset the - title from the tick labels, given in pixels. Note that - this used to be set by the now deprecated `titleoffset` - attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of the traces that referenced the axis in question. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleoffset": ("title", "offset"), - } - def __init__( self, arg=None, @@ -2078,8 +1958,6 @@ def __init__( tickvals=None, tickvalssrc=None, title=None, - titlefont=None, - titleoffset=None, type=None, **kwargs, ): @@ -2303,17 +2181,6 @@ def __init__( title :class:`plotly.graph_objects.carpet.baxis.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use carpet.baxis.title.font instead. - Sets this axis' title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleoffset - Deprecated: Please use carpet.baxis.title.offset - instead. An additional amount by which to offset the - title from the tick labels, given in pixels. Note that - this used to be set by the now deprecated `titleoffset` - attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of @@ -2580,14 +2447,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleoffset", None) - _v = titleoffset if titleoffset is not None else _v - if _v is not None: - self["titleoffset"] = _v _v = arg.pop("type", None) _v = type if type is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_title.py b/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_title.py index dd4800481f6..c679b74e5ec 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this axis' title font. Note that the title's font used to - be set by the now deprecated `titlefont` attribute. + Sets this axis' title font. The 'font' property is an instance of Font that may be specified as: @@ -86,8 +85,7 @@ def font(self, val): def offset(self): """ An additional amount by which to offset the title from the tick - labels, given in pixels. Note that this used to be set by the - now deprecated `titleoffset` attribute. + labels, given in pixels. The 'offset' property is a number and may be specified as: - An int or float @@ -107,9 +105,7 @@ def offset(self, val): @property def text(self): """ - Sets the title of this axis. Note that before the existence of - `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of this axis. The 'text' property is a string and must be specified as: - A string @@ -131,19 +127,12 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this axis' title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. + Sets this axis' title font. offset An additional amount by which to offset the title from - the tick labels, given in pixels. Note that this used - to be set by the now deprecated `titleoffset` - attribute. + the tick labels, given in pixels. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. """ def __init__(self, arg=None, font=None, offset=None, text=None, **kwargs): @@ -157,19 +146,12 @@ def __init__(self, arg=None, font=None, offset=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.carpet.aaxis.Title` font - Sets this axis' title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. + Sets this axis' title font. offset An additional amount by which to offset the title from - the tick labels, given in pixels. Note that this used - to be set by the now deprecated `titleoffset` - attribute. + the tick labels, given in pixels. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/carpet/aaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/carpet/aaxis/title/_font.py index 29a6c87d462..68c94793e85 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/aaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/aaxis/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this axis' title font. Note that the title's font used to - be set by the now deprecated `titlefont` attribute. + Sets this axis' title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/carpet/baxis/_title.py b/packages/python/plotly/plotly/graph_objs/carpet/baxis/_title.py index bb14a958209..d2faac44c86 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/baxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/baxis/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this axis' title font. Note that the title's font used to - be set by the now deprecated `titlefont` attribute. + Sets this axis' title font. The 'font' property is an instance of Font that may be specified as: @@ -86,8 +85,7 @@ def font(self, val): def offset(self): """ An additional amount by which to offset the title from the tick - labels, given in pixels. Note that this used to be set by the - now deprecated `titleoffset` attribute. + labels, given in pixels. The 'offset' property is a number and may be specified as: - An int or float @@ -107,9 +105,7 @@ def offset(self, val): @property def text(self): """ - Sets the title of this axis. Note that before the existence of - `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of this axis. The 'text' property is a string and must be specified as: - A string @@ -131,19 +127,12 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this axis' title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. + Sets this axis' title font. offset An additional amount by which to offset the title from - the tick labels, given in pixels. Note that this used - to be set by the now deprecated `titleoffset` - attribute. + the tick labels, given in pixels. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. """ def __init__(self, arg=None, font=None, offset=None, text=None, **kwargs): @@ -157,19 +146,12 @@ def __init__(self, arg=None, font=None, offset=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.carpet.baxis.Title` font - Sets this axis' title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. + Sets this axis' title font. offset An additional amount by which to offset the title from - the tick labels, given in pixels. Note that this used - to be set by the now deprecated `titleoffset` - attribute. + the tick labels, given in pixels. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/carpet/baxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/carpet/baxis/title/_font.py index f0227005b6e..5977cc199c1 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/baxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/baxis/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this axis' title font. Note that the title's font used to - be set by the now deprecated `titlefont` attribute. + Sets this axis' title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/_colorbar.py b/packages/python/plotly/plotly/graph_objs/choropleth/_colorbar.py index 1283e461d32..adf4d0c779c 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1230,22 +1228,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1257,103 +1247,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use choropleth.colorbar.title.font instead. - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.choropleth.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use choropleth.colorbar.title.side instead. - Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1739,19 +1632,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.choropleth.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use choropleth.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use choropleth.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1798,11 +1678,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1847,8 +1722,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2062,19 +1935,6 @@ def __init__( title :class:`plotly.graph_objects.choropleth.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use choropleth.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use choropleth.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2317,14 +2177,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_title.py index 27b671e7140..51207da44d4 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.choropleth.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/title/_font.py index 63b7d6ef055..c906610bccb 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmap/_colorbar.py b/packages/python/plotly/plotly/graph_objs/choroplethmap/_colorbar.py index f344bb740fc..b01c415ff5c 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmap/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmap/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use choroplethmap.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmap.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use choroplethmap.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.choroplethmap.colorbar.Tit le` instance or dict with compatible properties - titlefont - Deprecated: Please use - choroplethmap.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - choroplethmap.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1800,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1849,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2064,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.choroplethmap.colorbar.Tit le` instance or dict with compatible properties - titlefont - Deprecated: Please use - choroplethmap.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - choroplethmap.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2319,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmap/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/choroplethmap/colorbar/_title.py index 31d44238894..4d42a1c3215 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmap/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmap/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.choroplethmap.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmap/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/choroplethmap/colorbar/title/_font.py index cae6f223260..4b8af44ad0b 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmap/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmap/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_colorbar.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_colorbar.py index fa17caf7ce8..c3e5f1f710f 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use choroplethmapbox.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.choroplethmapbox.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use choroplethmapbox.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,20 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.choroplethmapbox.colorbar. Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - choroplethmapbox.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - choroplethmapbox.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1801,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1850,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2065,20 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.choroplethmapbox.colorbar. Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - choroplethmapbox.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - choroplethmapbox.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2321,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_title.py index 48b97561fde..2fe9e2be4e3 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.choroplethmapb ox.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/title/_font.py index a52b0d41984..91f2657d339 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/cone/_colorbar.py b/packages/python/plotly/plotly/graph_objs/cone/_colorbar.py index 1be587fe976..d0a9bfcca91 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/cone/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,103 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use cone.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font used to - be set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.cone.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use cone.colorbar.title.side instead. - Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1740,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.cone.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use cone.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use cone.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1799,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1848,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2062,19 +1935,6 @@ def __init__( title :class:`plotly.graph_objects.cone.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use cone.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use cone.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2317,14 +2177,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/cone/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/cone/colorbar/_title.py index 07f9240d3e0..97e1d202eb5 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/cone/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.cone.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/cone/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/cone/colorbar/title/_font.py index cae27b179bc..9f0f703aa9c 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/cone/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/contour/_colorbar.py b/packages/python/plotly/plotly/graph_objs/contour/_colorbar.py index 4cd9f5b3968..317b4ef44b1 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/contour/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,103 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use contour.colorbar.title.font instead. - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.contour.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use contour.colorbar.title.side instead. - Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1740,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.contour.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use contour.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use contour.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1799,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1848,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2063,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.contour.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use contour.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use contour.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2318,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/contour/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/contour/colorbar/_title.py index 90e74b311e5..6e1d84d778a 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/contour/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.contour.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/contour/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/contour/colorbar/title/_font.py index ae0d0023b26..88ab8d63665 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/contour/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/_colorbar.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/_colorbar.py index ef1dac2d0a4..9a7d615e5f5 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use contourcarpet.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.contourcarpet.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use contourcarpet.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.contourcarpet.colorbar.Tit le` instance or dict with compatible properties - titlefont - Deprecated: Please use - contourcarpet.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - contourcarpet.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1800,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1849,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2064,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.contourcarpet.colorbar.Tit le` instance or dict with compatible properties - titlefont - Deprecated: Please use - contourcarpet.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - contourcarpet.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2319,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_title.py index 8fa8feab022..6bcccdb484c 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.contourcarpet.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/title/_font.py index 29c9eefdd10..088c55b62b9 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/densitymap/_colorbar.py b/packages/python/plotly/plotly/graph_objs/densitymap/_colorbar.py index 6fb78c1a60a..5ebb30f470d 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymap/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/densitymap/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1230,22 +1228,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1257,103 +1247,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use densitymap.colorbar.title.font instead. - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.densitymap.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use densitymap.colorbar.title.side instead. - Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1739,19 +1632,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.densitymap.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use densitymap.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use densitymap.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1798,11 +1678,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1847,8 +1722,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2062,19 +1935,6 @@ def __init__( title :class:`plotly.graph_objects.densitymap.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use densitymap.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use densitymap.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2317,14 +2177,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/densitymap/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/densitymap/colorbar/_title.py index b8eaf3ab150..07e58bbd21e 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymap/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/densitymap/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.densitymap.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/densitymap/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/densitymap/colorbar/title/_font.py index de5e56df466..8d5633e92b2 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymap/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/densitymap/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/_colorbar.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/_colorbar.py index 61f0ef67c77..ea1484fe32d 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use densitymapbox.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.densitymapbox.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use densitymapbox.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.densitymapbox.colorbar.Tit le` instance or dict with compatible properties - titlefont - Deprecated: Please use - densitymapbox.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - densitymapbox.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1800,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1849,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2064,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.densitymapbox.colorbar.Tit le` instance or dict with compatible properties - titlefont - Deprecated: Please use - densitymapbox.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - densitymapbox.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2319,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_title.py index 60e89a4efba..0e0f9e2bfd5 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.densitymapbox.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/title/_font.py index 4c516e9d0ef..b2df8f5e181 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/funnel/_marker.py b/packages/python/plotly/plotly/graph_objs/funnel/_marker.py index 1ae87e157a0..ceb50cabef3 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/_marker.py @@ -470,21 +470,6 @@ def colorbar(self): :class:`plotly.graph_objects.funnel.marker.colo rbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - funnel.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - funnel.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/funnel/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/funnel/marker/_colorbar.py index 8be45a545b0..4d635419142 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use funnel.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.funnel.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use funnel.marker.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.funnel.marker.colorbar.Tit le` instance or dict with compatible properties - titlefont - Deprecated: Please use - funnel.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - funnel.marker.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1800,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1849,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2064,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.funnel.marker.colorbar.Tit le` instance or dict with compatible properties - titlefont - Deprecated: Please use - funnel.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - funnel.marker.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2319,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_title.py index 381bfbf1a84..9e42b318234 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.funnel.marker.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/title/_font.py index ecc977dcb9c..c4ec5defb1f 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/_title.py b/packages/python/plotly/plotly/graph_objs/funnelarea/_title.py index 555ab0193f6..18a6f7781e0 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/_title.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets the font used for `title`. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. + Sets the font used for `title`. The 'font' property is an instance of Font that may be specified as: @@ -112,9 +111,7 @@ def font(self, val): @property def position(self): """ - Specifies the location of the `title`. Note that the title's - position used to be set by the now deprecated `titleposition` - attribute. + Specifies the location of the `title`. The 'position' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -136,9 +133,7 @@ def position(self, val): def text(self): """ Sets the title of the chart. If it is empty, no title is - displayed. Note that before the existence of `title.text`, the - title's contents used to be defined as the `title` attribute - itself. This behavior has been deprecated. + displayed. The 'text' property is a string and must be specified as: - A string @@ -160,19 +155,12 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets the font used for `title`. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets the font used for `title`. position - Specifies the location of the `title`. Note that the - title's position used to be set by the now deprecated - `titleposition` attribute. + Specifies the location of the `title`. text Sets the title of the chart. If it is empty, no title - is displayed. Note that before the existence of - `title.text`, the title's contents used to be defined - as the `title` attribute itself. This behavior has been - deprecated. + is displayed. """ def __init__(self, arg=None, font=None, position=None, text=None, **kwargs): @@ -186,19 +174,12 @@ def __init__(self, arg=None, font=None, position=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.funnelarea.Title` font - Sets the font used for `title`. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets the font used for `title`. position - Specifies the location of the `title`. Note that the - title's position used to be set by the now deprecated - `titleposition` attribute. + Specifies the location of the `title`. text Sets the title of the chart. If it is empty, no title - is displayed. Note that before the existence of - `title.text`, the title's contents used to be defined - as the `title` attribute itself. This behavior has been - deprecated. + is displayed. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/title/_font.py b/packages/python/plotly/plotly/graph_objs/funnelarea/title/_font.py index 0750886e55f..46206667e0e 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/title/_font.py @@ -561,8 +561,7 @@ def __init__( """ Construct a new Font object - Sets the font used for `title`. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. + Sets the font used for `title`. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/_colorbar.py b/packages/python/plotly/plotly/graph_objs/heatmap/_colorbar.py index bd46f29ff4e..65f4b6ccf6a 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,103 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use heatmap.colorbar.title.font instead. - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.heatmap.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use heatmap.colorbar.title.side instead. - Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1740,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.heatmap.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use heatmap.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use heatmap.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1799,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1848,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2063,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.heatmap.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use heatmap.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use heatmap.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2318,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_title.py index a625b279d6e..02cdcf64310 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.heatmap.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/title/_font.py index ba620b8e497..81a2c54ac21 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/__init__.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/__init__.py deleted file mode 100644 index 1735c919dfa..00000000000 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._colorbar import ColorBar - from ._hoverlabel import Hoverlabel - from ._legendgrouptitle import Legendgrouptitle - from ._stream import Stream - from . import colorbar - from . import hoverlabel - from . import legendgrouptitle -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [".colorbar", ".hoverlabel", ".legendgrouptitle"], - [ - "._colorbar.ColorBar", - "._hoverlabel.Hoverlabel", - "._legendgrouptitle.Legendgrouptitle", - "._stream.Stream", - ], - ) diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/_colorbar.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/_colorbar.py deleted file mode 100644 index b716d03350c..00000000000 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/_colorbar.py +++ /dev/null @@ -1,2367 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class ColorBar(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "heatmapgl" - _path_str = "heatmapgl.colorbar" - _valid_props = { - "bgcolor", - "bordercolor", - "borderwidth", - "dtick", - "exponentformat", - "labelalias", - "len", - "lenmode", - "minexponent", - "nticks", - "orientation", - "outlinecolor", - "outlinewidth", - "separatethousands", - "showexponent", - "showticklabels", - "showtickprefix", - "showticksuffix", - "thickness", - "thicknessmode", - "tick0", - "tickangle", - "tickcolor", - "tickfont", - "tickformat", - "tickformatstopdefaults", - "tickformatstops", - "ticklabeloverflow", - "ticklabelposition", - "ticklabelstep", - "ticklen", - "tickmode", - "tickprefix", - "ticks", - "ticksuffix", - "ticktext", - "ticktextsrc", - "tickvals", - "tickvalssrc", - "tickwidth", - "title", - "titlefont", - "titleside", - "x", - "xanchor", - "xpad", - "xref", - "y", - "yanchor", - "ypad", - "yref", - } - - # bgcolor - # ------- - @property - def bgcolor(self): - """ - Sets the color of padded area. - - The 'bgcolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: - aliceblue, antiquewhite, aqua, aquamarine, azure, - beige, bisque, black, blanchedalmond, blue, - blueviolet, brown, burlywood, cadetblue, - chartreuse, chocolate, coral, cornflowerblue, - cornsilk, crimson, cyan, darkblue, darkcyan, - darkgoldenrod, darkgray, darkgrey, darkgreen, - darkkhaki, darkmagenta, darkolivegreen, darkorange, - darkorchid, darkred, darksalmon, darkseagreen, - darkslateblue, darkslategray, darkslategrey, - darkturquoise, darkviolet, deeppink, deepskyblue, - dimgray, dimgrey, dodgerblue, firebrick, - floralwhite, forestgreen, fuchsia, gainsboro, - ghostwhite, gold, goldenrod, gray, grey, green, - greenyellow, honeydew, hotpink, indianred, indigo, - ivory, khaki, lavender, lavenderblush, lawngreen, - lemonchiffon, lightblue, lightcoral, lightcyan, - lightgoldenrodyellow, lightgray, lightgrey, - lightgreen, lightpink, lightsalmon, lightseagreen, - lightskyblue, lightslategray, lightslategrey, - lightsteelblue, lightyellow, lime, limegreen, - linen, magenta, maroon, mediumaquamarine, - mediumblue, mediumorchid, mediumpurple, - mediumseagreen, mediumslateblue, mediumspringgreen, - mediumturquoise, mediumvioletred, midnightblue, - mintcream, mistyrose, moccasin, navajowhite, navy, - oldlace, olive, olivedrab, orange, orangered, - orchid, palegoldenrod, palegreen, paleturquoise, - palevioletred, papayawhip, peachpuff, peru, pink, - plum, powderblue, purple, red, rosybrown, - royalblue, rebeccapurple, saddlebrown, salmon, - sandybrown, seagreen, seashell, sienna, silver, - skyblue, slateblue, slategray, slategrey, snow, - springgreen, steelblue, tan, teal, thistle, tomato, - turquoise, violet, wheat, white, whitesmoke, - yellow, yellowgreen - - Returns - ------- - str - """ - return self["bgcolor"] - - @bgcolor.setter - def bgcolor(self, val): - self["bgcolor"] = val - - # bordercolor - # ----------- - @property - def bordercolor(self): - """ - Sets the axis line color. - - The 'bordercolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: - aliceblue, antiquewhite, aqua, aquamarine, azure, - beige, bisque, black, blanchedalmond, blue, - blueviolet, brown, burlywood, cadetblue, - chartreuse, chocolate, coral, cornflowerblue, - cornsilk, crimson, cyan, darkblue, darkcyan, - darkgoldenrod, darkgray, darkgrey, darkgreen, - darkkhaki, darkmagenta, darkolivegreen, darkorange, - darkorchid, darkred, darksalmon, darkseagreen, - darkslateblue, darkslategray, darkslategrey, - darkturquoise, darkviolet, deeppink, deepskyblue, - dimgray, dimgrey, dodgerblue, firebrick, - floralwhite, forestgreen, fuchsia, gainsboro, - ghostwhite, gold, goldenrod, gray, grey, green, - greenyellow, honeydew, hotpink, indianred, indigo, - ivory, khaki, lavender, lavenderblush, lawngreen, - lemonchiffon, lightblue, lightcoral, lightcyan, - lightgoldenrodyellow, lightgray, lightgrey, - lightgreen, lightpink, lightsalmon, lightseagreen, - lightskyblue, lightslategray, lightslategrey, - lightsteelblue, lightyellow, lime, limegreen, - linen, magenta, maroon, mediumaquamarine, - mediumblue, mediumorchid, mediumpurple, - mediumseagreen, mediumslateblue, mediumspringgreen, - mediumturquoise, mediumvioletred, midnightblue, - mintcream, mistyrose, moccasin, navajowhite, navy, - oldlace, olive, olivedrab, orange, orangered, - orchid, palegoldenrod, palegreen, paleturquoise, - palevioletred, papayawhip, peachpuff, peru, pink, - plum, powderblue, purple, red, rosybrown, - royalblue, rebeccapurple, saddlebrown, salmon, - sandybrown, seagreen, seashell, sienna, silver, - skyblue, slateblue, slategray, slategrey, snow, - springgreen, steelblue, tan, teal, thistle, tomato, - turquoise, violet, wheat, white, whitesmoke, - yellow, yellowgreen - - Returns - ------- - str - """ - return self["bordercolor"] - - @bordercolor.setter - def bordercolor(self, val): - self["bordercolor"] = val - - # borderwidth - # ----------- - @property - def borderwidth(self): - """ - Sets the width (in px) or the border enclosing this color bar. - - The 'borderwidth' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["borderwidth"] - - @borderwidth.setter - def borderwidth(self, val): - self["borderwidth"] = val - - # dtick - # ----- - @property - def dtick(self): - """ - Sets the step in-between ticks on this axis. Use with `tick0`. - Must be a positive number, or special strings available to - "log" and "date" axes. If the axis `type` is "log", then ticks - are set every 10^(n*dtick) where n is the tick number. For - example, to set a tick mark at 1, 10, 100, 1000, ... set dtick - to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. - To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to - log_10(5), or 0.69897000433. "log" has several special values; - "L", where `f` is a positive number, gives ticks linearly - spaced in value (but not position). For example `tick0` = 0.1, - `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To - show powers of 10 plus small digits between, use "D1" (all - digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and - "D2". If the axis `type` is "date", then you must convert the - time to milliseconds. For example, to set the interval between - ticks to one day, set `dtick` to 86400000.0. "date" also has - special values "M" gives ticks spaced by a number of months. - `n` must be a positive integer. To set ticks on the 15th of - every third month, set `tick0` to "2000-01-15" and `dtick` to - "M3". To set ticks every 4 years, set `dtick` to "M48" - - The 'dtick' property accepts values of any type - - Returns - ------- - Any - """ - return self["dtick"] - - @dtick.setter - def dtick(self, val): - self["dtick"] = val - - # exponentformat - # -------------- - @property - def exponentformat(self): - """ - Determines a formatting rule for the tick exponents. For - example, consider the number 1,000,000,000. If "none", it - appears as 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If - "power", 1x10^9 (with 9 in a super script). If "SI", 1G. If - "B", 1B. - - The 'exponentformat' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['none', 'e', 'E', 'power', 'SI', 'B'] - - Returns - ------- - Any - """ - return self["exponentformat"] - - @exponentformat.setter - def exponentformat(self, val): - self["exponentformat"] = val - - # labelalias - # ---------- - @property - def labelalias(self): - """ - Replacement text for specific tick or hover labels. For example - using {US: 'USA', CA: 'Canada'} changes US to USA and CA to - Canada. The labels we would have shown must match the keys - exactly, after adding any tickprefix or ticksuffix. For - negative numbers the minus sign symbol used (U+2212) is wider - than the regular ascii dash. That means you need to use −1 - instead of -1. labelalias can be used with any axis type, and - both keys (if needed) and values (if desired) can include html- - like tags or MathJax. - - The 'labelalias' property accepts values of any type - - Returns - ------- - Any - """ - return self["labelalias"] - - @labelalias.setter - def labelalias(self, val): - self["labelalias"] = val - - # len - # --- - @property - def len(self): - """ - Sets the length of the color bar This measure excludes the - padding of both ends. That is, the color bar length is this - length minus the padding on both ends. - - The 'len' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["len"] - - @len.setter - def len(self, val): - self["len"] = val - - # lenmode - # ------- - @property - def lenmode(self): - """ - Determines whether this color bar's length (i.e. the measure in - the color variation direction) is set in units of plot - "fraction" or in *pixels. Use `len` to set the value. - - The 'lenmode' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['fraction', 'pixels'] - - Returns - ------- - Any - """ - return self["lenmode"] - - @lenmode.setter - def lenmode(self, val): - self["lenmode"] = val - - # minexponent - # ----------- - @property - def minexponent(self): - """ - Hide SI prefix for 10^n if |n| is below this number. This only - has an effect when `tickformat` is "SI" or "B". - - The 'minexponent' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["minexponent"] - - @minexponent.setter - def minexponent(self, val): - self["minexponent"] = val - - # nticks - # ------ - @property - def nticks(self): - """ - Specifies the maximum number of ticks for the particular axis. - The actual number of ticks will be chosen automatically to be - less than or equal to `nticks`. Has an effect only if - `tickmode` is set to "auto". - - The 'nticks' property is a integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [0, 9223372036854775807] - - Returns - ------- - int - """ - return self["nticks"] - - @nticks.setter - def nticks(self, val): - self["nticks"] = val - - # orientation - # ----------- - @property - def orientation(self): - """ - Sets the orientation of the colorbar. - - The 'orientation' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['h', 'v'] - - Returns - ------- - Any - """ - return self["orientation"] - - @orientation.setter - def orientation(self, val): - self["orientation"] = val - - # outlinecolor - # ------------ - @property - def outlinecolor(self): - """ - Sets the axis line color. - - The 'outlinecolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: - aliceblue, antiquewhite, aqua, aquamarine, azure, - beige, bisque, black, blanchedalmond, blue, - blueviolet, brown, burlywood, cadetblue, - chartreuse, chocolate, coral, cornflowerblue, - cornsilk, crimson, cyan, darkblue, darkcyan, - darkgoldenrod, darkgray, darkgrey, darkgreen, - darkkhaki, darkmagenta, darkolivegreen, darkorange, - darkorchid, darkred, darksalmon, darkseagreen, - darkslateblue, darkslategray, darkslategrey, - darkturquoise, darkviolet, deeppink, deepskyblue, - dimgray, dimgrey, dodgerblue, firebrick, - floralwhite, forestgreen, fuchsia, gainsboro, - ghostwhite, gold, goldenrod, gray, grey, green, - greenyellow, honeydew, hotpink, indianred, indigo, - ivory, khaki, lavender, lavenderblush, lawngreen, - lemonchiffon, lightblue, lightcoral, lightcyan, - lightgoldenrodyellow, lightgray, lightgrey, - lightgreen, lightpink, lightsalmon, lightseagreen, - lightskyblue, lightslategray, lightslategrey, - lightsteelblue, lightyellow, lime, limegreen, - linen, magenta, maroon, mediumaquamarine, - mediumblue, mediumorchid, mediumpurple, - mediumseagreen, mediumslateblue, mediumspringgreen, - mediumturquoise, mediumvioletred, midnightblue, - mintcream, mistyrose, moccasin, navajowhite, navy, - oldlace, olive, olivedrab, orange, orangered, - orchid, palegoldenrod, palegreen, paleturquoise, - palevioletred, papayawhip, peachpuff, peru, pink, - plum, powderblue, purple, red, rosybrown, - royalblue, rebeccapurple, saddlebrown, salmon, - sandybrown, seagreen, seashell, sienna, silver, - skyblue, slateblue, slategray, slategrey, snow, - springgreen, steelblue, tan, teal, thistle, tomato, - turquoise, violet, wheat, white, whitesmoke, - yellow, yellowgreen - - Returns - ------- - str - """ - return self["outlinecolor"] - - @outlinecolor.setter - def outlinecolor(self, val): - self["outlinecolor"] = val - - # outlinewidth - # ------------ - @property - def outlinewidth(self): - """ - Sets the width (in px) of the axis line. - - The 'outlinewidth' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["outlinewidth"] - - @outlinewidth.setter - def outlinewidth(self, val): - self["outlinewidth"] = val - - # separatethousands - # ----------------- - @property - def separatethousands(self): - """ - If "true", even 4-digit integers are separated - - The 'separatethousands' property must be specified as a bool - (either True, or False) - - Returns - ------- - bool - """ - return self["separatethousands"] - - @separatethousands.setter - def separatethousands(self, val): - self["separatethousands"] = val - - # showexponent - # ------------ - @property - def showexponent(self): - """ - If "all", all exponents are shown besides their significands. - If "first", only the exponent of the first tick is shown. If - "last", only the exponent of the last tick is shown. If "none", - no exponents appear. - - The 'showexponent' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['all', 'first', 'last', 'none'] - - Returns - ------- - Any - """ - return self["showexponent"] - - @showexponent.setter - def showexponent(self, val): - self["showexponent"] = val - - # showticklabels - # -------------- - @property - def showticklabels(self): - """ - Determines whether or not the tick labels are drawn. - - The 'showticklabels' property must be specified as a bool - (either True, or False) - - Returns - ------- - bool - """ - return self["showticklabels"] - - @showticklabels.setter - def showticklabels(self, val): - self["showticklabels"] = val - - # showtickprefix - # -------------- - @property - def showtickprefix(self): - """ - If "all", all tick labels are displayed with a prefix. If - "first", only the first tick is displayed with a prefix. If - "last", only the last tick is displayed with a suffix. If - "none", tick prefixes are hidden. - - The 'showtickprefix' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['all', 'first', 'last', 'none'] - - Returns - ------- - Any - """ - return self["showtickprefix"] - - @showtickprefix.setter - def showtickprefix(self, val): - self["showtickprefix"] = val - - # showticksuffix - # -------------- - @property - def showticksuffix(self): - """ - Same as `showtickprefix` but for tick suffixes. - - The 'showticksuffix' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['all', 'first', 'last', 'none'] - - Returns - ------- - Any - """ - return self["showticksuffix"] - - @showticksuffix.setter - def showticksuffix(self, val): - self["showticksuffix"] = val - - # thickness - # --------- - @property - def thickness(self): - """ - Sets the thickness of the color bar This measure excludes the - size of the padding, ticks and labels. - - The 'thickness' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["thickness"] - - @thickness.setter - def thickness(self, val): - self["thickness"] = val - - # thicknessmode - # ------------- - @property - def thicknessmode(self): - """ - Determines whether this color bar's thickness (i.e. the measure - in the constant color direction) is set in units of plot - "fraction" or in "pixels". Use `thickness` to set the value. - - The 'thicknessmode' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['fraction', 'pixels'] - - Returns - ------- - Any - """ - return self["thicknessmode"] - - @thicknessmode.setter - def thicknessmode(self, val): - self["thicknessmode"] = val - - # tick0 - # ----- - @property - def tick0(self): - """ - Sets the placement of the first tick on this axis. Use with - `dtick`. If the axis `type` is "log", then you must take the - log of your starting tick (e.g. to set the starting tick to - 100, set the `tick0` to 2) except when `dtick`=*L* (see - `dtick` for more info). If the axis `type` is "date", it should - be a date string, like date data. If the axis `type` is - "category", it should be a number, using the scale where each - category is assigned a serial number from zero in the order it - appears. - - The 'tick0' property accepts values of any type - - Returns - ------- - Any - """ - return self["tick0"] - - @tick0.setter - def tick0(self, val): - self["tick0"] = val - - # tickangle - # --------- - @property - def tickangle(self): - """ - Sets the angle of the tick labels with respect to the - horizontal. For example, a `tickangle` of -90 draws the tick - labels vertically. - - The 'tickangle' property is a angle (in degrees) that may be - specified as a number between -180 and 180. - Numeric values outside this range are converted to the equivalent value - (e.g. 270 is converted to -90). - - Returns - ------- - int|float - """ - return self["tickangle"] - - @tickangle.setter - def tickangle(self, val): - self["tickangle"] = val - - # tickcolor - # --------- - @property - def tickcolor(self): - """ - Sets the tick color. - - The 'tickcolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: - aliceblue, antiquewhite, aqua, aquamarine, azure, - beige, bisque, black, blanchedalmond, blue, - blueviolet, brown, burlywood, cadetblue, - chartreuse, chocolate, coral, cornflowerblue, - cornsilk, crimson, cyan, darkblue, darkcyan, - darkgoldenrod, darkgray, darkgrey, darkgreen, - darkkhaki, darkmagenta, darkolivegreen, darkorange, - darkorchid, darkred, darksalmon, darkseagreen, - darkslateblue, darkslategray, darkslategrey, - darkturquoise, darkviolet, deeppink, deepskyblue, - dimgray, dimgrey, dodgerblue, firebrick, - floralwhite, forestgreen, fuchsia, gainsboro, - ghostwhite, gold, goldenrod, gray, grey, green, - greenyellow, honeydew, hotpink, indianred, indigo, - ivory, khaki, lavender, lavenderblush, lawngreen, - lemonchiffon, lightblue, lightcoral, lightcyan, - lightgoldenrodyellow, lightgray, lightgrey, - lightgreen, lightpink, lightsalmon, lightseagreen, - lightskyblue, lightslategray, lightslategrey, - lightsteelblue, lightyellow, lime, limegreen, - linen, magenta, maroon, mediumaquamarine, - mediumblue, mediumorchid, mediumpurple, - mediumseagreen, mediumslateblue, mediumspringgreen, - mediumturquoise, mediumvioletred, midnightblue, - mintcream, mistyrose, moccasin, navajowhite, navy, - oldlace, olive, olivedrab, orange, orangered, - orchid, palegoldenrod, palegreen, paleturquoise, - palevioletred, papayawhip, peachpuff, peru, pink, - plum, powderblue, purple, red, rosybrown, - royalblue, rebeccapurple, saddlebrown, salmon, - sandybrown, seagreen, seashell, sienna, silver, - skyblue, slateblue, slategray, slategrey, snow, - springgreen, steelblue, tan, teal, thistle, tomato, - turquoise, violet, wheat, white, whitesmoke, - yellow, yellowgreen - - Returns - ------- - str - """ - return self["tickcolor"] - - @tickcolor.setter - def tickcolor(self, val): - self["tickcolor"] = val - - # tickfont - # -------- - @property - def tickfont(self): - """ - Sets the color bar's tick label font - - The 'tickfont' property is an instance of Tickfont - that may be specified as: - - An instance of :class:`plotly.graph_objs.heatmapgl.colorbar.Tickfont` - - A dict of string/value properties that will be passed - to the Tickfont constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - plotly.graph_objs.heatmapgl.colorbar.Tickfont - """ - return self["tickfont"] - - @tickfont.setter - def tickfont(self, val): - self["tickfont"] = val - - # tickformat - # ---------- - @property - def tickformat(self): - """ - Sets the tick label formatting rule using d3 formatting mini- - languages which are very similar to those in Python. For - numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for - dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to d3's date - formatter: "%h" for half of the year as a decimal number as - well as "%{n}f" for fractional seconds with n digits. For - example, *2016-10-13 09:15:23.456* with tickformat - "%H~%M~%S.%2f" would display "09~15~23.46" - - The 'tickformat' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["tickformat"] - - @tickformat.setter - def tickformat(self, val): - self["tickformat"] = val - - # tickformatstops - # --------------- - @property - def tickformatstops(self): - """ - The 'tickformatstops' property is a tuple of instances of - Tickformatstop that may be specified as: - - A list or tuple of instances of plotly.graph_objs.heatmapgl.colorbar.Tickformatstop - - A list or tuple of dicts of string/value properties that - will be passed to the Tickformatstop constructor - - Supported dict properties: - - dtickrange - range [*min*, *max*], where "min", "max" - - dtick values which describe some zoom level, it - is possible to omit "min" or "max" value by - passing "null" - enabled - Determines whether or not this stop is used. If - `false`, this stop is ignored even within its - `dtickrange`. - name - When used in a template, named items are - created in the output figure in addition to any - items the figure already has in this array. You - can modify these items in the output figure by - making your own item with `templateitemname` - matching this `name` alongside your - modifications (including `visible: false` or - `enabled: false` to hide it). Has no effect - outside of a template. - templateitemname - Used to refer to a named item in this array in - the template. Named items from the template - will be created even without a matching item in - the input figure, but you can modify one by - making an item with `templateitemname` matching - its `name`, alongside your modifications - (including `visible: false` or `enabled: false` - to hide it). If there is no template or no - matching item, this item will be hidden unless - you explicitly show it with `visible: true`. - value - string - dtickformat for described zoom level, - the same as "tickformat" - - Returns - ------- - tuple[plotly.graph_objs.heatmapgl.colorbar.Tickformatstop] - """ - return self["tickformatstops"] - - @tickformatstops.setter - def tickformatstops(self, val): - self["tickformatstops"] = val - - # tickformatstopdefaults - # ---------------------- - @property - def tickformatstopdefaults(self): - """ - When used in a template (as layout.template.data.heatmapgl.colo - rbar.tickformatstopdefaults), sets the default property values - to use for elements of heatmapgl.colorbar.tickformatstops - - The 'tickformatstopdefaults' property is an instance of Tickformatstop - that may be specified as: - - An instance of :class:`plotly.graph_objs.heatmapgl.colorbar.Tickformatstop` - - A dict of string/value properties that will be passed - to the Tickformatstop constructor - - Supported dict properties: - - Returns - ------- - plotly.graph_objs.heatmapgl.colorbar.Tickformatstop - """ - return self["tickformatstopdefaults"] - - @tickformatstopdefaults.setter - def tickformatstopdefaults(self, val): - self["tickformatstopdefaults"] = val - - # ticklabeloverflow - # ----------------- - @property - def ticklabeloverflow(self): - """ - Determines how we handle tick labels that would overflow either - the graph div or the domain of the axis. The default value for - inside tick labels is *hide past domain*. In other cases the - default is *hide past div*. - - The 'ticklabeloverflow' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['allow', 'hide past div', 'hide past domain'] - - Returns - ------- - Any - """ - return self["ticklabeloverflow"] - - @ticklabeloverflow.setter - def ticklabeloverflow(self, val): - self["ticklabeloverflow"] = val - - # ticklabelposition - # ----------------- - @property - def ticklabelposition(self): - """ - Determines where tick labels are drawn relative to the ticks. - Left and right options are used when `orientation` is "h", top - and bottom when `orientation` is "v". - - The 'ticklabelposition' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['outside', 'inside', 'outside top', 'inside top', - 'outside left', 'inside left', 'outside right', 'inside - right', 'outside bottom', 'inside bottom'] - - Returns - ------- - Any - """ - return self["ticklabelposition"] - - @ticklabelposition.setter - def ticklabelposition(self, val): - self["ticklabelposition"] = val - - # ticklabelstep - # ------------- - @property - def ticklabelstep(self): - """ - Sets the spacing between tick labels as compared to the spacing - between ticks. A value of 1 (default) means each tick gets a - label. A value of 2 means shows every 2nd label. A larger value - n means only every nth tick is labeled. `tick0` determines - which labels are shown. Not implemented for axes with `type` - "log" or "multicategory", or when `tickmode` is "array". - - The 'ticklabelstep' property is a integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 9223372036854775807] - - Returns - ------- - int - """ - return self["ticklabelstep"] - - @ticklabelstep.setter - def ticklabelstep(self, val): - self["ticklabelstep"] = val - - # ticklen - # ------- - @property - def ticklen(self): - """ - Sets the tick length (in px). - - The 'ticklen' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["ticklen"] - - @ticklen.setter - def ticklen(self, val): - self["ticklen"] = val - - # tickmode - # -------- - @property - def tickmode(self): - """ - Sets the tick mode for this axis. If "auto", the number of - ticks is set via `nticks`. If "linear", the placement of the - ticks is determined by a starting position `tick0` and a tick - step `dtick` ("linear" is the default value if `tick0` and - `dtick` are provided). If "array", the placement of the ticks - is set via `tickvals` and the tick text is `ticktext`. ("array" - is the default value if `tickvals` is provided). - - The 'tickmode' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['auto', 'linear', 'array'] - - Returns - ------- - Any - """ - return self["tickmode"] - - @tickmode.setter - def tickmode(self, val): - self["tickmode"] = val - - # tickprefix - # ---------- - @property - def tickprefix(self): - """ - Sets a tick label prefix. - - The 'tickprefix' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["tickprefix"] - - @tickprefix.setter - def tickprefix(self, val): - self["tickprefix"] = val - - # ticks - # ----- - @property - def ticks(self): - """ - Determines whether ticks are drawn or not. If "", this axis' - ticks are not drawn. If "outside" ("inside"), this axis' are - drawn outside (inside) the axis lines. - - The 'ticks' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['outside', 'inside', ''] - - Returns - ------- - Any - """ - return self["ticks"] - - @ticks.setter - def ticks(self, val): - self["ticks"] = val - - # ticksuffix - # ---------- - @property - def ticksuffix(self): - """ - Sets a tick label suffix. - - The 'ticksuffix' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["ticksuffix"] - - @ticksuffix.setter - def ticksuffix(self, val): - self["ticksuffix"] = val - - # ticktext - # -------- - @property - def ticktext(self): - """ - Sets the text displayed at the ticks position via `tickvals`. - Only has an effect if `tickmode` is set to "array". Used with - `tickvals`. - - The 'ticktext' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["ticktext"] - - @ticktext.setter - def ticktext(self, val): - self["ticktext"] = val - - # ticktextsrc - # ----------- - @property - def ticktextsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `ticktext`. - - The 'ticktextsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["ticktextsrc"] - - @ticktextsrc.setter - def ticktextsrc(self, val): - self["ticktextsrc"] = val - - # tickvals - # -------- - @property - def tickvals(self): - """ - Sets the values at which ticks on this axis appear. Only has an - effect if `tickmode` is set to "array". Used with `ticktext`. - - The 'tickvals' property is an array that may be specified as a tuple, - list, numpy array, or pandas Series - - Returns - ------- - numpy.ndarray - """ - return self["tickvals"] - - @tickvals.setter - def tickvals(self, val): - self["tickvals"] = val - - # tickvalssrc - # ----------- - @property - def tickvalssrc(self): - """ - Sets the source reference on Chart Studio Cloud for `tickvals`. - - The 'tickvalssrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["tickvalssrc"] - - @tickvalssrc.setter - def tickvalssrc(self, val): - self["tickvalssrc"] = val - - # tickwidth - # --------- - @property - def tickwidth(self): - """ - Sets the tick width (in px). - - The 'tickwidth' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["tickwidth"] - - @tickwidth.setter - def tickwidth(self, val): - self["tickwidth"] = val - - # title - # ----- - @property - def title(self): - """ - The 'title' property is an instance of Title - that may be specified as: - - An instance of :class:`plotly.graph_objs.heatmapgl.colorbar.Title` - - A dict of string/value properties that will be passed - to the Title constructor - - Supported dict properties: - - font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - side - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. - text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. - - Returns - ------- - plotly.graph_objs.heatmapgl.colorbar.Title - """ - return self["title"] - - @title.setter - def title(self, val): - self["title"] = val - - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use heatmapgl.colorbar.title.font instead. - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.heatmapgl.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use heatmapgl.colorbar.title.side instead. - Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - - # x - # - - @property - def x(self): - """ - Sets the x position with respect to `xref` of the color bar (in - plot fraction). When `xref` is "paper", defaults to 1.02 when - `orientation` is "v" and 0.5 when `orientation` is "h". When - `xref` is "container", defaults to 1 when `orientation` is "v" - and 0.5 when `orientation` is "h". Must be between 0 and 1 if - `xref` is "container" and between "-2" and 3 if `xref` is - "paper". - - The 'x' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["x"] - - @x.setter - def x(self, val): - self["x"] = val - - # xanchor - # ------- - @property - def xanchor(self): - """ - Sets this color bar's horizontal position anchor. This anchor - binds the `x` position to the "left", "center" or "right" of - the color bar. Defaults to "left" when `orientation` is "v" and - "center" when `orientation` is "h". - - The 'xanchor' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['left', 'center', 'right'] - - Returns - ------- - Any - """ - return self["xanchor"] - - @xanchor.setter - def xanchor(self, val): - self["xanchor"] = val - - # xpad - # ---- - @property - def xpad(self): - """ - Sets the amount of padding (in px) along the x direction. - - The 'xpad' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["xpad"] - - @xpad.setter - def xpad(self, val): - self["xpad"] = val - - # xref - # ---- - @property - def xref(self): - """ - Sets the container `x` refers to. "container" spans the entire - `width` of the plot. "paper" refers to the width of the - plotting area only. - - The 'xref' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['container', 'paper'] - - Returns - ------- - Any - """ - return self["xref"] - - @xref.setter - def xref(self, val): - self["xref"] = val - - # y - # - - @property - def y(self): - """ - Sets the y position with respect to `yref` of the color bar (in - plot fraction). When `yref` is "paper", defaults to 0.5 when - `orientation` is "v" and 1.02 when `orientation` is "h". When - `yref` is "container", defaults to 0.5 when `orientation` is - "v" and 1 when `orientation` is "h". Must be between 0 and 1 if - `yref` is "container" and between "-2" and 3 if `yref` is - "paper". - - The 'y' property is a number and may be specified as: - - An int or float - - Returns - ------- - int|float - """ - return self["y"] - - @y.setter - def y(self, val): - self["y"] = val - - # yanchor - # ------- - @property - def yanchor(self): - """ - Sets this color bar's vertical position anchor This anchor - binds the `y` position to the "top", "middle" or "bottom" of - the color bar. Defaults to "middle" when `orientation` is "v" - and "bottom" when `orientation` is "h". - - The 'yanchor' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['top', 'middle', 'bottom'] - - Returns - ------- - Any - """ - return self["yanchor"] - - @yanchor.setter - def yanchor(self, val): - self["yanchor"] = val - - # ypad - # ---- - @property - def ypad(self): - """ - Sets the amount of padding (in px) along the y direction. - - The 'ypad' property is a number and may be specified as: - - An int or float in the interval [0, inf] - - Returns - ------- - int|float - """ - return self["ypad"] - - @ypad.setter - def ypad(self, val): - self["ypad"] = val - - # yref - # ---- - @property - def yref(self): - """ - Sets the container `y` refers to. "container" spans the entire - `height` of the plot. "paper" refers to the height of the - plotting area only. - - The 'yref' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['container', 'paper'] - - Returns - ------- - Any - """ - return self["yref"] - - @yref.setter - def yref(self, val): - self["yref"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - bgcolor - Sets the color of padded area. - bordercolor - Sets the axis line color. - borderwidth - Sets the width (in px) or the border enclosing this - color bar. - dtick - Sets the step in-between ticks on this axis. Use with - `tick0`. Must be a positive number, or special strings - available to "log" and "date" axes. If the axis `type` - is "log", then ticks are set every 10^(n*dtick) where n - is the tick number. For example, to set a tick mark at - 1, 10, 100, 1000, ... set dtick to 1. To set tick marks - at 1, 100, 10000, ... set dtick to 2. To set tick marks - at 1, 5, 25, 125, 625, 3125, ... set dtick to - log_10(5), or 0.69897000433. "log" has several special - values; "L", where `f` is a positive number, gives - ticks linearly spaced in value (but not position). For - example `tick0` = 0.1, `dtick` = "L0.5" will put ticks - at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus - small digits between, use "D1" (all digits) or "D2" - (only 2 and 5). `tick0` is ignored for "D1" and "D2". - If the axis `type` is "date", then you must convert the - time to milliseconds. For example, to set the interval - between ticks to one day, set `dtick` to 86400000.0. - "date" also has special values "M" gives ticks - spaced by a number of months. `n` must be a positive - integer. To set ticks on the 15th of every third month, - set `tick0` to "2000-01-15" and `dtick` to "M3". To set - ticks every 4 years, set `dtick` to "M48" - exponentformat - Determines a formatting rule for the tick exponents. - For example, consider the number 1,000,000,000. If - "none", it appears as 1,000,000,000. If "e", 1e+9. If - "E", 1E+9. If "power", 1x10^9 (with 9 in a super - script). If "SI", 1G. If "B", 1B. - labelalias - Replacement text for specific tick or hover labels. For - example using {US: 'USA', CA: 'Canada'} changes US to - USA and CA to Canada. The labels we would have shown - must match the keys exactly, after adding any - tickprefix or ticksuffix. For negative numbers the - minus sign symbol used (U+2212) is wider than the - regular ascii dash. That means you need to use −1 - instead of -1. labelalias can be used with any axis - type, and both keys (if needed) and values (if desired) - can include html-like tags or MathJax. - len - Sets the length of the color bar This measure excludes - the padding of both ends. That is, the color bar length - is this length minus the padding on both ends. - lenmode - Determines whether this color bar's length (i.e. the - measure in the color variation direction) is set in - units of plot "fraction" or in *pixels. Use `len` to - set the value. - minexponent - Hide SI prefix for 10^n if |n| is below this number. - This only has an effect when `tickformat` is "SI" or - "B". - nticks - Specifies the maximum number of ticks for the - particular axis. The actual number of ticks will be - chosen automatically to be less than or equal to - `nticks`. Has an effect only if `tickmode` is set to - "auto". - orientation - Sets the orientation of the colorbar. - outlinecolor - Sets the axis line color. - outlinewidth - Sets the width (in px) of the axis line. - separatethousands - If "true", even 4-digit integers are separated - showexponent - If "all", all exponents are shown besides their - significands. If "first", only the exponent of the - first tick is shown. If "last", only the exponent of - the last tick is shown. If "none", no exponents appear. - showticklabels - Determines whether or not the tick labels are drawn. - showtickprefix - If "all", all tick labels are displayed with a prefix. - If "first", only the first tick is displayed with a - prefix. If "last", only the last tick is displayed with - a suffix. If "none", tick prefixes are hidden. - showticksuffix - Same as `showtickprefix` but for tick suffixes. - thickness - Sets the thickness of the color bar This measure - excludes the size of the padding, ticks and labels. - thicknessmode - Determines whether this color bar's thickness (i.e. the - measure in the constant color direction) is set in - units of plot "fraction" or in "pixels". Use - `thickness` to set the value. - tick0 - Sets the placement of the first tick on this axis. Use - with `dtick`. If the axis `type` is "log", then you - must take the log of your starting tick (e.g. to set - the starting tick to 100, set the `tick0` to 2) except - when `dtick`=*L* (see `dtick` for more info). If the - axis `type` is "date", it should be a date string, like - date data. If the axis `type` is "category", it should - be a number, using the scale where each category is - assigned a serial number from zero in the order it - appears. - tickangle - Sets the angle of the tick labels with respect to the - horizontal. For example, a `tickangle` of -90 draws the - tick labels vertically. - tickcolor - Sets the tick color. - tickfont - Sets the color bar's tick label font - tickformat - Sets the tick label formatting rule using d3 formatting - mini-languages which are very similar to those in - Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display "09~15~23.46" - tickformatstops - A tuple of :class:`plotly.graph_objects.heatmapgl.color - bar.Tickformatstop` instances or dicts with compatible - properties - tickformatstopdefaults - When used in a template (as layout.template.data.heatma - pgl.colorbar.tickformatstopdefaults), sets the default - property values to use for elements of - heatmapgl.colorbar.tickformatstops - ticklabeloverflow - Determines how we handle tick labels that would - overflow either the graph div or the domain of the - axis. The default value for inside tick labels is *hide - past domain*. In other cases the default is *hide past - div*. - ticklabelposition - Determines where tick labels are drawn relative to the - ticks. Left and right options are used when - `orientation` is "h", top and bottom when `orientation` - is "v". - ticklabelstep - Sets the spacing between tick labels as compared to the - spacing between ticks. A value of 1 (default) means - each tick gets a label. A value of 2 means shows every - 2nd label. A larger value n means only every nth tick - is labeled. `tick0` determines which labels are shown. - Not implemented for axes with `type` "log" or - "multicategory", or when `tickmode` is "array". - ticklen - Sets the tick length (in px). - tickmode - Sets the tick mode for this axis. If "auto", the number - of ticks is set via `nticks`. If "linear", the - placement of the ticks is determined by a starting - position `tick0` and a tick step `dtick` ("linear" is - the default value if `tick0` and `dtick` are provided). - If "array", the placement of the ticks is set via - `tickvals` and the tick text is `ticktext`. ("array" is - the default value if `tickvals` is provided). - tickprefix - Sets a tick label prefix. - ticks - Determines whether ticks are drawn or not. If "", this - axis' ticks are not drawn. If "outside" ("inside"), - this axis' are drawn outside (inside) the axis lines. - ticksuffix - Sets a tick label suffix. - ticktext - Sets the text displayed at the ticks position via - `tickvals`. Only has an effect if `tickmode` is set to - "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. - tickvals - Sets the values at which ticks on this axis appear. - Only has an effect if `tickmode` is set to "array". - Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. - tickwidth - Sets the tick width (in px). - title - :class:`plotly.graph_objects.heatmapgl.colorbar.Title` - instance or dict with compatible properties - titlefont - Deprecated: Please use heatmapgl.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use heatmapgl.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. - x - Sets the x position with respect to `xref` of the color - bar (in plot fraction). When `xref` is "paper", - defaults to 1.02 when `orientation` is "v" and 0.5 when - `orientation` is "h". When `xref` is "container", - defaults to 1 when `orientation` is "v" and 0.5 when - `orientation` is "h". Must be between 0 and 1 if `xref` - is "container" and between "-2" and 3 if `xref` is - "paper". - xanchor - Sets this color bar's horizontal position anchor. This - anchor binds the `x` position to the "left", "center" - or "right" of the color bar. Defaults to "left" when - `orientation` is "v" and "center" when `orientation` is - "h". - xpad - Sets the amount of padding (in px) along the x - direction. - xref - Sets the container `x` refers to. "container" spans the - entire `width` of the plot. "paper" refers to the width - of the plotting area only. - y - Sets the y position with respect to `yref` of the color - bar (in plot fraction). When `yref` is "paper", - defaults to 0.5 when `orientation` is "v" and 1.02 when - `orientation` is "h". When `yref` is "container", - defaults to 0.5 when `orientation` is "v" and 1 when - `orientation` is "h". Must be between 0 and 1 if `yref` - is "container" and between "-2" and 3 if `yref` is - "paper". - yanchor - Sets this color bar's vertical position anchor This - anchor binds the `y` position to the "top", "middle" or - "bottom" of the color bar. Defaults to "middle" when - `orientation` is "v" and "bottom" when `orientation` is - "h". - ypad - Sets the amount of padding (in px) along the y - direction. - yref - Sets the container `y` refers to. "container" spans the - entire `height` of the plot. "paper" refers to the - height of the plotting area only. - """ - - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - - def __init__( - self, - arg=None, - bgcolor=None, - bordercolor=None, - borderwidth=None, - dtick=None, - exponentformat=None, - labelalias=None, - len=None, - lenmode=None, - minexponent=None, - nticks=None, - orientation=None, - outlinecolor=None, - outlinewidth=None, - separatethousands=None, - showexponent=None, - showticklabels=None, - showtickprefix=None, - showticksuffix=None, - thickness=None, - thicknessmode=None, - tick0=None, - tickangle=None, - tickcolor=None, - tickfont=None, - tickformat=None, - tickformatstops=None, - tickformatstopdefaults=None, - ticklabeloverflow=None, - ticklabelposition=None, - ticklabelstep=None, - ticklen=None, - tickmode=None, - tickprefix=None, - ticks=None, - ticksuffix=None, - ticktext=None, - ticktextsrc=None, - tickvals=None, - tickvalssrc=None, - tickwidth=None, - title=None, - titlefont=None, - titleside=None, - x=None, - xanchor=None, - xpad=None, - xref=None, - y=None, - yanchor=None, - ypad=None, - yref=None, - **kwargs, - ): - """ - Construct a new ColorBar object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.heatmapgl.ColorBar` - bgcolor - Sets the color of padded area. - bordercolor - Sets the axis line color. - borderwidth - Sets the width (in px) or the border enclosing this - color bar. - dtick - Sets the step in-between ticks on this axis. Use with - `tick0`. Must be a positive number, or special strings - available to "log" and "date" axes. If the axis `type` - is "log", then ticks are set every 10^(n*dtick) where n - is the tick number. For example, to set a tick mark at - 1, 10, 100, 1000, ... set dtick to 1. To set tick marks - at 1, 100, 10000, ... set dtick to 2. To set tick marks - at 1, 5, 25, 125, 625, 3125, ... set dtick to - log_10(5), or 0.69897000433. "log" has several special - values; "L", where `f` is a positive number, gives - ticks linearly spaced in value (but not position). For - example `tick0` = 0.1, `dtick` = "L0.5" will put ticks - at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus - small digits between, use "D1" (all digits) or "D2" - (only 2 and 5). `tick0` is ignored for "D1" and "D2". - If the axis `type` is "date", then you must convert the - time to milliseconds. For example, to set the interval - between ticks to one day, set `dtick` to 86400000.0. - "date" also has special values "M" gives ticks - spaced by a number of months. `n` must be a positive - integer. To set ticks on the 15th of every third month, - set `tick0` to "2000-01-15" and `dtick` to "M3". To set - ticks every 4 years, set `dtick` to "M48" - exponentformat - Determines a formatting rule for the tick exponents. - For example, consider the number 1,000,000,000. If - "none", it appears as 1,000,000,000. If "e", 1e+9. If - "E", 1E+9. If "power", 1x10^9 (with 9 in a super - script). If "SI", 1G. If "B", 1B. - labelalias - Replacement text for specific tick or hover labels. For - example using {US: 'USA', CA: 'Canada'} changes US to - USA and CA to Canada. The labels we would have shown - must match the keys exactly, after adding any - tickprefix or ticksuffix. For negative numbers the - minus sign symbol used (U+2212) is wider than the - regular ascii dash. That means you need to use −1 - instead of -1. labelalias can be used with any axis - type, and both keys (if needed) and values (if desired) - can include html-like tags or MathJax. - len - Sets the length of the color bar This measure excludes - the padding of both ends. That is, the color bar length - is this length minus the padding on both ends. - lenmode - Determines whether this color bar's length (i.e. the - measure in the color variation direction) is set in - units of plot "fraction" or in *pixels. Use `len` to - set the value. - minexponent - Hide SI prefix for 10^n if |n| is below this number. - This only has an effect when `tickformat` is "SI" or - "B". - nticks - Specifies the maximum number of ticks for the - particular axis. The actual number of ticks will be - chosen automatically to be less than or equal to - `nticks`. Has an effect only if `tickmode` is set to - "auto". - orientation - Sets the orientation of the colorbar. - outlinecolor - Sets the axis line color. - outlinewidth - Sets the width (in px) of the axis line. - separatethousands - If "true", even 4-digit integers are separated - showexponent - If "all", all exponents are shown besides their - significands. If "first", only the exponent of the - first tick is shown. If "last", only the exponent of - the last tick is shown. If "none", no exponents appear. - showticklabels - Determines whether or not the tick labels are drawn. - showtickprefix - If "all", all tick labels are displayed with a prefix. - If "first", only the first tick is displayed with a - prefix. If "last", only the last tick is displayed with - a suffix. If "none", tick prefixes are hidden. - showticksuffix - Same as `showtickprefix` but for tick suffixes. - thickness - Sets the thickness of the color bar This measure - excludes the size of the padding, ticks and labels. - thicknessmode - Determines whether this color bar's thickness (i.e. the - measure in the constant color direction) is set in - units of plot "fraction" or in "pixels". Use - `thickness` to set the value. - tick0 - Sets the placement of the first tick on this axis. Use - with `dtick`. If the axis `type` is "log", then you - must take the log of your starting tick (e.g. to set - the starting tick to 100, set the `tick0` to 2) except - when `dtick`=*L* (see `dtick` for more info). If the - axis `type` is "date", it should be a date string, like - date data. If the axis `type` is "category", it should - be a number, using the scale where each category is - assigned a serial number from zero in the order it - appears. - tickangle - Sets the angle of the tick labels with respect to the - horizontal. For example, a `tickangle` of -90 draws the - tick labels vertically. - tickcolor - Sets the tick color. - tickfont - Sets the color bar's tick label font - tickformat - Sets the tick label formatting rule using d3 formatting - mini-languages which are very similar to those in - Python. For numbers, see: - https://github.com/d3/d3-format/tree/v1.4.5#d3-format. - And for dates see: https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two items to - d3's date formatter: "%h" for half of the year as a - decimal number as well as "%{n}f" for fractional - seconds with n digits. For example, *2016-10-13 - 09:15:23.456* with tickformat "%H~%M~%S.%2f" would - display "09~15~23.46" - tickformatstops - A tuple of :class:`plotly.graph_objects.heatmapgl.color - bar.Tickformatstop` instances or dicts with compatible - properties - tickformatstopdefaults - When used in a template (as layout.template.data.heatma - pgl.colorbar.tickformatstopdefaults), sets the default - property values to use for elements of - heatmapgl.colorbar.tickformatstops - ticklabeloverflow - Determines how we handle tick labels that would - overflow either the graph div or the domain of the - axis. The default value for inside tick labels is *hide - past domain*. In other cases the default is *hide past - div*. - ticklabelposition - Determines where tick labels are drawn relative to the - ticks. Left and right options are used when - `orientation` is "h", top and bottom when `orientation` - is "v". - ticklabelstep - Sets the spacing between tick labels as compared to the - spacing between ticks. A value of 1 (default) means - each tick gets a label. A value of 2 means shows every - 2nd label. A larger value n means only every nth tick - is labeled. `tick0` determines which labels are shown. - Not implemented for axes with `type` "log" or - "multicategory", or when `tickmode` is "array". - ticklen - Sets the tick length (in px). - tickmode - Sets the tick mode for this axis. If "auto", the number - of ticks is set via `nticks`. If "linear", the - placement of the ticks is determined by a starting - position `tick0` and a tick step `dtick` ("linear" is - the default value if `tick0` and `dtick` are provided). - If "array", the placement of the ticks is set via - `tickvals` and the tick text is `ticktext`. ("array" is - the default value if `tickvals` is provided). - tickprefix - Sets a tick label prefix. - ticks - Determines whether ticks are drawn or not. If "", this - axis' ticks are not drawn. If "outside" ("inside"), - this axis' are drawn outside (inside) the axis lines. - ticksuffix - Sets a tick label suffix. - ticktext - Sets the text displayed at the ticks position via - `tickvals`. Only has an effect if `tickmode` is set to - "array". Used with `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud for - `ticktext`. - tickvals - Sets the values at which ticks on this axis appear. - Only has an effect if `tickmode` is set to "array". - Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud for - `tickvals`. - tickwidth - Sets the tick width (in px). - title - :class:`plotly.graph_objects.heatmapgl.colorbar.Title` - instance or dict with compatible properties - titlefont - Deprecated: Please use heatmapgl.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use heatmapgl.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. - x - Sets the x position with respect to `xref` of the color - bar (in plot fraction). When `xref` is "paper", - defaults to 1.02 when `orientation` is "v" and 0.5 when - `orientation` is "h". When `xref` is "container", - defaults to 1 when `orientation` is "v" and 0.5 when - `orientation` is "h". Must be between 0 and 1 if `xref` - is "container" and between "-2" and 3 if `xref` is - "paper". - xanchor - Sets this color bar's horizontal position anchor. This - anchor binds the `x` position to the "left", "center" - or "right" of the color bar. Defaults to "left" when - `orientation` is "v" and "center" when `orientation` is - "h". - xpad - Sets the amount of padding (in px) along the x - direction. - xref - Sets the container `x` refers to. "container" spans the - entire `width` of the plot. "paper" refers to the width - of the plotting area only. - y - Sets the y position with respect to `yref` of the color - bar (in plot fraction). When `yref` is "paper", - defaults to 0.5 when `orientation` is "v" and 1.02 when - `orientation` is "h". When `yref` is "container", - defaults to 0.5 when `orientation` is "v" and 1 when - `orientation` is "h". Must be between 0 and 1 if `yref` - is "container" and between "-2" and 3 if `yref` is - "paper". - yanchor - Sets this color bar's vertical position anchor This - anchor binds the `y` position to the "top", "middle" or - "bottom" of the color bar. Defaults to "middle" when - `orientation` is "v" and "bottom" when `orientation` is - "h". - ypad - Sets the amount of padding (in px) along the y - direction. - yref - Sets the container `y` refers to. "container" spans the - entire `height` of the plot. "paper" refers to the - height of the plotting area only. - - Returns - ------- - ColorBar - """ - super(ColorBar, self).__init__("colorbar") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.heatmapgl.ColorBar -constructor must be a dict or -an instance of :class:`plotly.graph_objs.heatmapgl.ColorBar`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("bgcolor", None) - _v = bgcolor if bgcolor is not None else _v - if _v is not None: - self["bgcolor"] = _v - _v = arg.pop("bordercolor", None) - _v = bordercolor if bordercolor is not None else _v - if _v is not None: - self["bordercolor"] = _v - _v = arg.pop("borderwidth", None) - _v = borderwidth if borderwidth is not None else _v - if _v is not None: - self["borderwidth"] = _v - _v = arg.pop("dtick", None) - _v = dtick if dtick is not None else _v - if _v is not None: - self["dtick"] = _v - _v = arg.pop("exponentformat", None) - _v = exponentformat if exponentformat is not None else _v - if _v is not None: - self["exponentformat"] = _v - _v = arg.pop("labelalias", None) - _v = labelalias if labelalias is not None else _v - if _v is not None: - self["labelalias"] = _v - _v = arg.pop("len", None) - _v = len if len is not None else _v - if _v is not None: - self["len"] = _v - _v = arg.pop("lenmode", None) - _v = lenmode if lenmode is not None else _v - if _v is not None: - self["lenmode"] = _v - _v = arg.pop("minexponent", None) - _v = minexponent if minexponent is not None else _v - if _v is not None: - self["minexponent"] = _v - _v = arg.pop("nticks", None) - _v = nticks if nticks is not None else _v - if _v is not None: - self["nticks"] = _v - _v = arg.pop("orientation", None) - _v = orientation if orientation is not None else _v - if _v is not None: - self["orientation"] = _v - _v = arg.pop("outlinecolor", None) - _v = outlinecolor if outlinecolor is not None else _v - if _v is not None: - self["outlinecolor"] = _v - _v = arg.pop("outlinewidth", None) - _v = outlinewidth if outlinewidth is not None else _v - if _v is not None: - self["outlinewidth"] = _v - _v = arg.pop("separatethousands", None) - _v = separatethousands if separatethousands is not None else _v - if _v is not None: - self["separatethousands"] = _v - _v = arg.pop("showexponent", None) - _v = showexponent if showexponent is not None else _v - if _v is not None: - self["showexponent"] = _v - _v = arg.pop("showticklabels", None) - _v = showticklabels if showticklabels is not None else _v - if _v is not None: - self["showticklabels"] = _v - _v = arg.pop("showtickprefix", None) - _v = showtickprefix if showtickprefix is not None else _v - if _v is not None: - self["showtickprefix"] = _v - _v = arg.pop("showticksuffix", None) - _v = showticksuffix if showticksuffix is not None else _v - if _v is not None: - self["showticksuffix"] = _v - _v = arg.pop("thickness", None) - _v = thickness if thickness is not None else _v - if _v is not None: - self["thickness"] = _v - _v = arg.pop("thicknessmode", None) - _v = thicknessmode if thicknessmode is not None else _v - if _v is not None: - self["thicknessmode"] = _v - _v = arg.pop("tick0", None) - _v = tick0 if tick0 is not None else _v - if _v is not None: - self["tick0"] = _v - _v = arg.pop("tickangle", None) - _v = tickangle if tickangle is not None else _v - if _v is not None: - self["tickangle"] = _v - _v = arg.pop("tickcolor", None) - _v = tickcolor if tickcolor is not None else _v - if _v is not None: - self["tickcolor"] = _v - _v = arg.pop("tickfont", None) - _v = tickfont if tickfont is not None else _v - if _v is not None: - self["tickfont"] = _v - _v = arg.pop("tickformat", None) - _v = tickformat if tickformat is not None else _v - if _v is not None: - self["tickformat"] = _v - _v = arg.pop("tickformatstops", None) - _v = tickformatstops if tickformatstops is not None else _v - if _v is not None: - self["tickformatstops"] = _v - _v = arg.pop("tickformatstopdefaults", None) - _v = tickformatstopdefaults if tickformatstopdefaults is not None else _v - if _v is not None: - self["tickformatstopdefaults"] = _v - _v = arg.pop("ticklabeloverflow", None) - _v = ticklabeloverflow if ticklabeloverflow is not None else _v - if _v is not None: - self["ticklabeloverflow"] = _v - _v = arg.pop("ticklabelposition", None) - _v = ticklabelposition if ticklabelposition is not None else _v - if _v is not None: - self["ticklabelposition"] = _v - _v = arg.pop("ticklabelstep", None) - _v = ticklabelstep if ticklabelstep is not None else _v - if _v is not None: - self["ticklabelstep"] = _v - _v = arg.pop("ticklen", None) - _v = ticklen if ticklen is not None else _v - if _v is not None: - self["ticklen"] = _v - _v = arg.pop("tickmode", None) - _v = tickmode if tickmode is not None else _v - if _v is not None: - self["tickmode"] = _v - _v = arg.pop("tickprefix", None) - _v = tickprefix if tickprefix is not None else _v - if _v is not None: - self["tickprefix"] = _v - _v = arg.pop("ticks", None) - _v = ticks if ticks is not None else _v - if _v is not None: - self["ticks"] = _v - _v = arg.pop("ticksuffix", None) - _v = ticksuffix if ticksuffix is not None else _v - if _v is not None: - self["ticksuffix"] = _v - _v = arg.pop("ticktext", None) - _v = ticktext if ticktext is not None else _v - if _v is not None: - self["ticktext"] = _v - _v = arg.pop("ticktextsrc", None) - _v = ticktextsrc if ticktextsrc is not None else _v - if _v is not None: - self["ticktextsrc"] = _v - _v = arg.pop("tickvals", None) - _v = tickvals if tickvals is not None else _v - if _v is not None: - self["tickvals"] = _v - _v = arg.pop("tickvalssrc", None) - _v = tickvalssrc if tickvalssrc is not None else _v - if _v is not None: - self["tickvalssrc"] = _v - _v = arg.pop("tickwidth", None) - _v = tickwidth if tickwidth is not None else _v - if _v is not None: - self["tickwidth"] = _v - _v = arg.pop("title", None) - _v = title if title is not None else _v - if _v is not None: - self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v - _v = arg.pop("x", None) - _v = x if x is not None else _v - if _v is not None: - self["x"] = _v - _v = arg.pop("xanchor", None) - _v = xanchor if xanchor is not None else _v - if _v is not None: - self["xanchor"] = _v - _v = arg.pop("xpad", None) - _v = xpad if xpad is not None else _v - if _v is not None: - self["xpad"] = _v - _v = arg.pop("xref", None) - _v = xref if xref is not None else _v - if _v is not None: - self["xref"] = _v - _v = arg.pop("y", None) - _v = y if y is not None else _v - if _v is not None: - self["y"] = _v - _v = arg.pop("yanchor", None) - _v = yanchor if yanchor is not None else _v - if _v is not None: - self["yanchor"] = _v - _v = arg.pop("ypad", None) - _v = ypad if ypad is not None else _v - if _v is not None: - self["ypad"] = _v - _v = arg.pop("yref", None) - _v = yref if yref is not None else _v - if _v is not None: - self["yref"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/_hoverlabel.py deleted file mode 100644 index 24ffa45ae40..00000000000 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/_hoverlabel.py +++ /dev/null @@ -1,543 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Hoverlabel(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "heatmapgl" - _path_str = "heatmapgl.hoverlabel" - _valid_props = { - "align", - "alignsrc", - "bgcolor", - "bgcolorsrc", - "bordercolor", - "bordercolorsrc", - "font", - "namelength", - "namelengthsrc", - } - - # align - # ----- - @property - def align(self): - """ - Sets the horizontal alignment of the text content within hover - label box. Has an effect only if the hover label text spans - more two or more lines - - The 'align' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['left', 'right', 'auto'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["align"] - - @align.setter - def align(self, val): - self["align"] = val - - # alignsrc - # -------- - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - - # bgcolor - # ------- - @property - def bgcolor(self): - """ - Sets the background color of the hover labels for this trace - - The 'bgcolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: - aliceblue, antiquewhite, aqua, aquamarine, azure, - beige, bisque, black, blanchedalmond, blue, - blueviolet, brown, burlywood, cadetblue, - chartreuse, chocolate, coral, cornflowerblue, - cornsilk, crimson, cyan, darkblue, darkcyan, - darkgoldenrod, darkgray, darkgrey, darkgreen, - darkkhaki, darkmagenta, darkolivegreen, darkorange, - darkorchid, darkred, darksalmon, darkseagreen, - darkslateblue, darkslategray, darkslategrey, - darkturquoise, darkviolet, deeppink, deepskyblue, - dimgray, dimgrey, dodgerblue, firebrick, - floralwhite, forestgreen, fuchsia, gainsboro, - ghostwhite, gold, goldenrod, gray, grey, green, - greenyellow, honeydew, hotpink, indianred, indigo, - ivory, khaki, lavender, lavenderblush, lawngreen, - lemonchiffon, lightblue, lightcoral, lightcyan, - lightgoldenrodyellow, lightgray, lightgrey, - lightgreen, lightpink, lightsalmon, lightseagreen, - lightskyblue, lightslategray, lightslategrey, - lightsteelblue, lightyellow, lime, limegreen, - linen, magenta, maroon, mediumaquamarine, - mediumblue, mediumorchid, mediumpurple, - mediumseagreen, mediumslateblue, mediumspringgreen, - mediumturquoise, mediumvioletred, midnightblue, - mintcream, mistyrose, moccasin, navajowhite, navy, - oldlace, olive, olivedrab, orange, orangered, - orchid, palegoldenrod, palegreen, paleturquoise, - palevioletred, papayawhip, peachpuff, peru, pink, - plum, powderblue, purple, red, rosybrown, - royalblue, rebeccapurple, saddlebrown, salmon, - sandybrown, seagreen, seashell, sienna, silver, - skyblue, slateblue, slategray, slategrey, snow, - springgreen, steelblue, tan, teal, thistle, tomato, - turquoise, violet, wheat, white, whitesmoke, - yellow, yellowgreen - - A list or array of any of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["bgcolor"] - - @bgcolor.setter - def bgcolor(self, val): - self["bgcolor"] = val - - # bgcolorsrc - # ---------- - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - - # bordercolor - # ----------- - @property - def bordercolor(self): - """ - Sets the border color of the hover labels for this trace. - - The 'bordercolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: - aliceblue, antiquewhite, aqua, aquamarine, azure, - beige, bisque, black, blanchedalmond, blue, - blueviolet, brown, burlywood, cadetblue, - chartreuse, chocolate, coral, cornflowerblue, - cornsilk, crimson, cyan, darkblue, darkcyan, - darkgoldenrod, darkgray, darkgrey, darkgreen, - darkkhaki, darkmagenta, darkolivegreen, darkorange, - darkorchid, darkred, darksalmon, darkseagreen, - darkslateblue, darkslategray, darkslategrey, - darkturquoise, darkviolet, deeppink, deepskyblue, - dimgray, dimgrey, dodgerblue, firebrick, - floralwhite, forestgreen, fuchsia, gainsboro, - ghostwhite, gold, goldenrod, gray, grey, green, - greenyellow, honeydew, hotpink, indianred, indigo, - ivory, khaki, lavender, lavenderblush, lawngreen, - lemonchiffon, lightblue, lightcoral, lightcyan, - lightgoldenrodyellow, lightgray, lightgrey, - lightgreen, lightpink, lightsalmon, lightseagreen, - lightskyblue, lightslategray, lightslategrey, - lightsteelblue, lightyellow, lime, limegreen, - linen, magenta, maroon, mediumaquamarine, - mediumblue, mediumorchid, mediumpurple, - mediumseagreen, mediumslateblue, mediumspringgreen, - mediumturquoise, mediumvioletred, midnightblue, - mintcream, mistyrose, moccasin, navajowhite, navy, - oldlace, olive, olivedrab, orange, orangered, - orchid, palegoldenrod, palegreen, paleturquoise, - palevioletred, papayawhip, peachpuff, peru, pink, - plum, powderblue, purple, red, rosybrown, - royalblue, rebeccapurple, saddlebrown, salmon, - sandybrown, seagreen, seashell, sienna, silver, - skyblue, slateblue, slategray, slategrey, snow, - springgreen, steelblue, tan, teal, thistle, tomato, - turquoise, violet, wheat, white, whitesmoke, - yellow, yellowgreen - - A list or array of any of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["bordercolor"] - - @bordercolor.setter - def bordercolor(self, val): - self["bordercolor"] = val - - # bordercolorsrc - # -------------- - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - - # font - # ---- - @property - def font(self): - """ - Sets the font used in hover labels. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.heatmapgl.hoverlabel.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - colorsrc - Sets the source reference on Chart Studio Cloud - for `color`. - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - familysrc - Sets the source reference on Chart Studio Cloud - for `family`. - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud - for `lineposition`. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - shadowsrc - Sets the source reference on Chart Studio Cloud - for `shadow`. - size - - sizesrc - Sets the source reference on Chart Studio Cloud - for `size`. - style - Sets whether a font should be styled with a - normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud - for `style`. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud - for `textcase`. - variant - Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud - for `variant`. - weight - Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud - for `weight`. - - Returns - ------- - plotly.graph_objs.heatmapgl.hoverlabel.Font - """ - return self["font"] - - @font.setter - def font(self, val): - self["font"] = val - - # namelength - # ---------- - @property - def namelength(self): - """ - Sets the default length (in number of characters) of the trace - name in the hover labels for all traces. -1 shows the whole - name regardless of length. 0-3 shows the first 0-3 characters, - and an integer >3 will show the whole name if it is less than - that many characters, but if it is longer, will truncate to - `namelength - 3` characters and add an ellipsis. - - The 'namelength' property is a integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [-1, 9223372036854775807] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|numpy.ndarray - """ - return self["namelength"] - - @namelength.setter - def namelength(self, val): - self["namelength"] = val - - # namelengthsrc - # ------------- - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - align - Sets the horizontal alignment of the text content - within hover label box. Has an effect only if the hover - label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. - bgcolor - Sets the background color of the hover labels for this - trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. - bordercolor - Sets the border color of the hover labels for this - trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - font - Sets the font used in hover labels. - namelength - Sets the default length (in number of characters) of - the trace name in the hover labels for all traces. -1 - shows the whole name regardless of length. 0-3 shows - the first 0-3 characters, and an integer >3 will show - the whole name if it is less than that many characters, - but if it is longer, will truncate to `namelength - 3` - characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. - """ - - def __init__( - self, - arg=None, - align=None, - alignsrc=None, - bgcolor=None, - bgcolorsrc=None, - bordercolor=None, - bordercolorsrc=None, - font=None, - namelength=None, - namelengthsrc=None, - **kwargs, - ): - """ - Construct a new Hoverlabel object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.heatmapgl.Hoverlabel` - align - Sets the horizontal alignment of the text content - within hover label box. Has an effect only if the hover - label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. - bgcolor - Sets the background color of the hover labels for this - trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. - bordercolor - Sets the border color of the hover labels for this - trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - font - Sets the font used in hover labels. - namelength - Sets the default length (in number of characters) of - the trace name in the hover labels for all traces. -1 - shows the whole name regardless of length. 0-3 shows - the first 0-3 characters, and an integer >3 will show - the whole name if it is less than that many characters, - but if it is longer, will truncate to `namelength - 3` - characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. - - Returns - ------- - Hoverlabel - """ - super(Hoverlabel, self).__init__("hoverlabel") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.heatmapgl.Hoverlabel -constructor must be a dict or -an instance of :class:`plotly.graph_objs.heatmapgl.Hoverlabel`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("align", None) - _v = align if align is not None else _v - if _v is not None: - self["align"] = _v - _v = arg.pop("alignsrc", None) - _v = alignsrc if alignsrc is not None else _v - if _v is not None: - self["alignsrc"] = _v - _v = arg.pop("bgcolor", None) - _v = bgcolor if bgcolor is not None else _v - if _v is not None: - self["bgcolor"] = _v - _v = arg.pop("bgcolorsrc", None) - _v = bgcolorsrc if bgcolorsrc is not None else _v - if _v is not None: - self["bgcolorsrc"] = _v - _v = arg.pop("bordercolor", None) - _v = bordercolor if bordercolor is not None else _v - if _v is not None: - self["bordercolor"] = _v - _v = arg.pop("bordercolorsrc", None) - _v = bordercolorsrc if bordercolorsrc is not None else _v - if _v is not None: - self["bordercolorsrc"] = _v - _v = arg.pop("font", None) - _v = font if font is not None else _v - if _v is not None: - self["font"] = _v - _v = arg.pop("namelength", None) - _v = namelength if namelength is not None else _v - if _v is not None: - self["namelength"] = _v - _v = arg.pop("namelengthsrc", None) - _v = namelengthsrc if namelengthsrc is not None else _v - if _v is not None: - self["namelengthsrc"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/_legendgrouptitle.py deleted file mode 100644 index b18f5c9ce1c..00000000000 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/_legendgrouptitle.py +++ /dev/null @@ -1,177 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Legendgrouptitle(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "heatmapgl" - _path_str = "heatmapgl.legendgrouptitle" - _valid_props = {"font", "text"} - - # font - # ---- - @property - def font(self): - """ - Sets this legend group's title font. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.heatmapgl.legendgrouptitle.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - plotly.graph_objs.heatmapgl.legendgrouptitle.Font - """ - return self["font"] - - @font.setter - def font(self, val): - self["font"] = val - - # text - # ---- - @property - def text(self): - """ - Sets the title of the legend group. - - The 'text' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["text"] - - @text.setter - def text(self, val): - self["text"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - font - Sets this legend group's title font. - text - Sets the title of the legend group. - """ - - def __init__(self, arg=None, font=None, text=None, **kwargs): - """ - Construct a new Legendgrouptitle object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.heatmapgl.Legendgrouptitle` - font - Sets this legend group's title font. - text - Sets the title of the legend group. - - Returns - ------- - Legendgrouptitle - """ - super(Legendgrouptitle, self).__init__("legendgrouptitle") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.heatmapgl.Legendgrouptitle -constructor must be a dict or -an instance of :class:`plotly.graph_objs.heatmapgl.Legendgrouptitle`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("font", None) - _v = font if font is not None else _v - if _v is not None: - self["font"] = _v - _v = arg.pop("text", None) - _v = text if text is not None else _v - if _v is not None: - self["text"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/_stream.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/_stream.py deleted file mode 100644 index b6a31e312d5..00000000000 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/_stream.py +++ /dev/null @@ -1,141 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "heatmapgl" - _path_str = "heatmapgl.stream" - _valid_props = {"maxpoints", "token"} - - # maxpoints - # --------- - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - # token - # ----- - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.heatmapgl.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super(Stream, self).__init__("stream") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.heatmapgl.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.heatmapgl.Stream`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("maxpoints", None) - _v = maxpoints if maxpoints is not None else _v - if _v is not None: - self["maxpoints"] = _v - _v = arg.pop("token", None) - _v = token if token is not None else _v - if _v is not None: - self["token"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/__init__.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/__init__.py deleted file mode 100644 index e20590b7143..00000000000 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._tickfont import Tickfont - from ._tickformatstop import Tickformatstop - from ._title import Title - from . import title -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [".title"], - ["._tickfont.Tickfont", "._tickformatstop.Tickformatstop", "._title.Title"], - ) diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_tickfont.py deleted file mode 100644 index cf256d4a718..00000000000 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_tickfont.py +++ /dev/null @@ -1,452 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Tickfont(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "heatmapgl.colorbar" - _path_str = "heatmapgl.colorbar.tickfont" - _valid_props = { - "color", - "family", - "lineposition", - "shadow", - "size", - "style", - "textcase", - "variant", - "weight", - } - - # color - # ----- - @property - def color(self): - """ - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: - aliceblue, antiquewhite, aqua, aquamarine, azure, - beige, bisque, black, blanchedalmond, blue, - blueviolet, brown, burlywood, cadetblue, - chartreuse, chocolate, coral, cornflowerblue, - cornsilk, crimson, cyan, darkblue, darkcyan, - darkgoldenrod, darkgray, darkgrey, darkgreen, - darkkhaki, darkmagenta, darkolivegreen, darkorange, - darkorchid, darkred, darksalmon, darkseagreen, - darkslateblue, darkslategray, darkslategrey, - darkturquoise, darkviolet, deeppink, deepskyblue, - dimgray, dimgrey, dodgerblue, firebrick, - floralwhite, forestgreen, fuchsia, gainsboro, - ghostwhite, gold, goldenrod, gray, grey, green, - greenyellow, honeydew, hotpink, indianred, indigo, - ivory, khaki, lavender, lavenderblush, lawngreen, - lemonchiffon, lightblue, lightcoral, lightcyan, - lightgoldenrodyellow, lightgray, lightgrey, - lightgreen, lightpink, lightsalmon, lightseagreen, - lightskyblue, lightslategray, lightslategrey, - lightsteelblue, lightyellow, lime, limegreen, - linen, magenta, maroon, mediumaquamarine, - mediumblue, mediumorchid, mediumpurple, - mediumseagreen, mediumslateblue, mediumspringgreen, - mediumturquoise, mediumvioletred, midnightblue, - mintcream, mistyrose, moccasin, navajowhite, navy, - oldlace, olive, olivedrab, orange, orangered, - orchid, palegoldenrod, palegreen, paleturquoise, - palevioletred, papayawhip, peachpuff, peru, pink, - plum, powderblue, purple, red, rosybrown, - royalblue, rebeccapurple, saddlebrown, salmon, - sandybrown, seagreen, seashell, sienna, silver, - skyblue, slateblue, slategray, slategrey, snow, - springgreen, steelblue, tan, teal, thistle, tomato, - turquoise, violet, wheat, white, whitesmoke, - yellow, yellowgreen - - Returns - ------- - str - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - # family - # ------ - @property - def family(self): - """ - HTML font family - the typeface that will be applied by the web - browser. The web browser will only be able to apply a font if - it is available on the system which it operates. Provide - multiple font families, separated by commas, to indicate the - preference in which to apply fonts if they aren't available on - the system. The Chart Studio Cloud (at https://chart- - studio.plotly.com or on-premise) generates images on a server, - where only a select number of fonts are installed and - supported. These include "Arial", "Balto", "Courier New", - "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", - "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", - "Raleway", "Times New Roman". - - The 'family' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["family"] - - @family.setter - def family(self, val): - self["family"] = val - - # lineposition - # ------------ - @property - def lineposition(self): - """ - Sets the kind of decoration line(s) with text, such as an - "under", "over" or "through" as well as combinations e.g. - "under+over", etc. - - The 'lineposition' property is a flaglist and may be specified - as a string containing: - - Any combination of ['under', 'over', 'through'] joined with '+' characters - (e.g. 'under+over') - OR exactly one of ['none'] (e.g. 'none') - - Returns - ------- - Any - """ - return self["lineposition"] - - @lineposition.setter - def lineposition(self, val): - self["lineposition"] = val - - # shadow - # ------ - @property - def shadow(self): - """ - Sets the shape and color of the shadow behind text. "auto" - places minimal shadow and applies contrast text font color. See - https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow - for additional options. - - The 'shadow' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["shadow"] - - @shadow.setter - def shadow(self, val): - self["shadow"] = val - - # size - # ---- - @property - def size(self): - """ - The 'size' property is a number and may be specified as: - - An int or float in the interval [1, inf] - - Returns - ------- - int|float - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - # style - # ----- - @property - def style(self): - """ - Sets whether a font should be styled with a normal or italic - face from its family. - - The 'style' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'italic'] - - Returns - ------- - Any - """ - return self["style"] - - @style.setter - def style(self, val): - self["style"] = val - - # textcase - # -------- - @property - def textcase(self): - """ - Sets capitalization of text. It can be used to make text appear - in all-uppercase or all-lowercase, or with each word - capitalized. - - The 'textcase' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'word caps', 'upper', 'lower'] - - Returns - ------- - Any - """ - return self["textcase"] - - @textcase.setter - def textcase(self, val): - self["textcase"] = val - - # variant - # ------- - @property - def variant(self): - """ - Sets the variant of the font. - - The 'variant' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'small-caps', 'all-small-caps', - 'all-petite-caps', 'petite-caps', 'unicase'] - - Returns - ------- - Any - """ - return self["variant"] - - @variant.setter - def variant(self, val): - self["variant"] = val - - # weight - # ------ - @property - def weight(self): - """ - Sets the weight (or boldness) of the font. - - The 'weight' property is a integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 1000] - OR exactly one of ['normal', 'bold'] (e.g. 'bold') - - Returns - ------- - int - """ - return self["weight"] - - @weight.setter - def weight(self, val): - self["weight"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser will only be able to - apply a font if it is available on the system which it - operates. Provide multiple font families, separated by - commas, to indicate the preference in which to apply - fonts if they aren't available on the system. The Chart - Studio Cloud (at https://chart-studio.plotly.com or on- - premise) generates images on a server, where only a - select number of fonts are installed and supported. - These include "Arial", "Balto", "Courier New", "Droid - Sans", "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT - Sans Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - """ - - def __init__( - self, - arg=None, - color=None, - family=None, - lineposition=None, - shadow=None, - size=None, - style=None, - textcase=None, - variant=None, - weight=None, - **kwargs, - ): - """ - Construct a new Tickfont object - - Sets the color bar's tick label font - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.heatmapgl.colorbar.Tickfont` - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser will only be able to - apply a font if it is available on the system which it - operates. Provide multiple font families, separated by - commas, to indicate the preference in which to apply - fonts if they aren't available on the system. The Chart - Studio Cloud (at https://chart-studio.plotly.com or on- - premise) generates images on a server, where only a - select number of fonts are installed and supported. - These include "Arial", "Balto", "Courier New", "Droid - Sans", "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT - Sans Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - Tickfont - """ - super(Tickfont, self).__init__("tickfont") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.heatmapgl.colorbar.Tickfont -constructor must be a dict or -an instance of :class:`plotly.graph_objs.heatmapgl.colorbar.Tickfont`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("color", None) - _v = color if color is not None else _v - if _v is not None: - self["color"] = _v - _v = arg.pop("family", None) - _v = family if family is not None else _v - if _v is not None: - self["family"] = _v - _v = arg.pop("lineposition", None) - _v = lineposition if lineposition is not None else _v - if _v is not None: - self["lineposition"] = _v - _v = arg.pop("shadow", None) - _v = shadow if shadow is not None else _v - if _v is not None: - self["shadow"] = _v - _v = arg.pop("size", None) - _v = size if size is not None else _v - if _v is not None: - self["size"] = _v - _v = arg.pop("style", None) - _v = style if style is not None else _v - if _v is not None: - self["style"] = _v - _v = arg.pop("textcase", None) - _v = textcase if textcase is not None else _v - if _v is not None: - self["textcase"] = _v - _v = arg.pop("variant", None) - _v = variant if variant is not None else _v - if _v is not None: - self["variant"] = _v - _v = arg.pop("weight", None) - _v = weight if weight is not None else _v - if _v is not None: - self["weight"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_tickformatstop.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_tickformatstop.py deleted file mode 100644 index 36959104da5..00000000000 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_tickformatstop.py +++ /dev/null @@ -1,283 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Tickformatstop(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "heatmapgl.colorbar" - _path_str = "heatmapgl.colorbar.tickformatstop" - _valid_props = {"dtickrange", "enabled", "name", "templateitemname", "value"} - - # dtickrange - # ---------- - @property - def dtickrange(self): - """ - range [*min*, *max*], where "min", "max" - dtick values which - describe some zoom level, it is possible to omit "min" or "max" - value by passing "null" - - The 'dtickrange' property is an info array that may be specified as: - - * a list or tuple of 2 elements where: - (0) The 'dtickrange[0]' property accepts values of any type - (1) The 'dtickrange[1]' property accepts values of any type - - Returns - ------- - list - """ - return self["dtickrange"] - - @dtickrange.setter - def dtickrange(self, val): - self["dtickrange"] = val - - # enabled - # ------- - @property - def enabled(self): - """ - Determines whether or not this stop is used. If `false`, this - stop is ignored even within its `dtickrange`. - - The 'enabled' property must be specified as a bool - (either True, or False) - - Returns - ------- - bool - """ - return self["enabled"] - - @enabled.setter - def enabled(self, val): - self["enabled"] = val - - # name - # ---- - @property - def name(self): - """ - When used in a template, named items are created in the output - figure in addition to any items the figure already has in this - array. You can modify these items in the output figure by - making your own item with `templateitemname` matching this - `name` alongside your modifications (including `visible: false` - or `enabled: false` to hide it). Has no effect outside of a - template. - - The 'name' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["name"] - - @name.setter - def name(self, val): - self["name"] = val - - # templateitemname - # ---------------- - @property - def templateitemname(self): - """ - Used to refer to a named item in this array in the template. - Named items from the template will be created even without a - matching item in the input figure, but you can modify one by - making an item with `templateitemname` matching its `name`, - alongside your modifications (including `visible: false` or - `enabled: false` to hide it). If there is no template or no - matching item, this item will be hidden unless you explicitly - show it with `visible: true`. - - The 'templateitemname' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["templateitemname"] - - @templateitemname.setter - def templateitemname(self, val): - self["templateitemname"] = val - - # value - # ----- - @property - def value(self): - """ - string - dtickformat for described zoom level, the same as - "tickformat" - - The 'value' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["value"] - - @value.setter - def value(self, val): - self["value"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - dtickrange - range [*min*, *max*], where "min", "max" - dtick values - which describe some zoom level, it is possible to omit - "min" or "max" value by passing "null" - enabled - Determines whether or not this stop is used. If - `false`, this stop is ignored even within its - `dtickrange`. - name - When used in a template, named items are created in the - output figure in addition to any items the figure - already has in this array. You can modify these items - in the output figure by making your own item with - `templateitemname` matching this `name` alongside your - modifications (including `visible: false` or `enabled: - false` to hide it). Has no effect outside of a - template. - templateitemname - Used to refer to a named item in this array in the - template. Named items from the template will be created - even without a matching item in the input figure, but - you can modify one by making an item with - `templateitemname` matching its `name`, alongside your - modifications (including `visible: false` or `enabled: - false` to hide it). If there is no template or no - matching item, this item will be hidden unless you - explicitly show it with `visible: true`. - value - string - dtickformat for described zoom level, the same - as "tickformat" - """ - - def __init__( - self, - arg=None, - dtickrange=None, - enabled=None, - name=None, - templateitemname=None, - value=None, - **kwargs, - ): - """ - Construct a new Tickformatstop object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.heatmapgl.colo - rbar.Tickformatstop` - dtickrange - range [*min*, *max*], where "min", "max" - dtick values - which describe some zoom level, it is possible to omit - "min" or "max" value by passing "null" - enabled - Determines whether or not this stop is used. If - `false`, this stop is ignored even within its - `dtickrange`. - name - When used in a template, named items are created in the - output figure in addition to any items the figure - already has in this array. You can modify these items - in the output figure by making your own item with - `templateitemname` matching this `name` alongside your - modifications (including `visible: false` or `enabled: - false` to hide it). Has no effect outside of a - template. - templateitemname - Used to refer to a named item in this array in the - template. Named items from the template will be created - even without a matching item in the input figure, but - you can modify one by making an item with - `templateitemname` matching its `name`, alongside your - modifications (including `visible: false` or `enabled: - false` to hide it). If there is no template or no - matching item, this item will be hidden unless you - explicitly show it with `visible: true`. - value - string - dtickformat for described zoom level, the same - as "tickformat" - - Returns - ------- - Tickformatstop - """ - super(Tickformatstop, self).__init__("tickformatstops") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.heatmapgl.colorbar.Tickformatstop -constructor must be a dict or -an instance of :class:`plotly.graph_objs.heatmapgl.colorbar.Tickformatstop`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("dtickrange", None) - _v = dtickrange if dtickrange is not None else _v - if _v is not None: - self["dtickrange"] = _v - _v = arg.pop("enabled", None) - _v = enabled if enabled is not None else _v - if _v is not None: - self["enabled"] = _v - _v = arg.pop("name", None) - _v = name if name is not None else _v - if _v is not None: - self["name"] = _v - _v = arg.pop("templateitemname", None) - _v = templateitemname if templateitemname is not None else _v - if _v is not None: - self["templateitemname"] = _v - _v = arg.pop("value", None) - _v = value if value is not None else _v - if _v is not None: - self["value"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_title.py deleted file mode 100644 index 7b8e2913397..00000000000 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_title.py +++ /dev/null @@ -1,233 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Title(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "heatmapgl.colorbar" - _path_str = "heatmapgl.colorbar.title" - _valid_props = {"font", "side", "text"} - - # font - # ---- - @property - def font(self): - """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.heatmapgl.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - plotly.graph_objs.heatmapgl.colorbar.title.Font - """ - return self["font"] - - @font.setter - def font(self, val): - self["font"] = val - - # side - # ---- - @property - def side(self): - """ - Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - Any - """ - return self["side"] - - @side.setter - def side(self, val): - self["side"] = val - - # text - # ---- - @property - def text(self): - """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. - - The 'text' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["text"] - - @text.setter - def text(self, val): - self["text"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. - side - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. - text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. - """ - - def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): - """ - Construct a new Title object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.heatmapgl.colorbar.Title` - font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. - side - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. - text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. - - Returns - ------- - Title - """ - super(Title, self).__init__("title") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.heatmapgl.colorbar.Title -constructor must be a dict or -an instance of :class:`plotly.graph_objs.heatmapgl.colorbar.Title`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("font", None) - _v = font if font is not None else _v - if _v is not None: - self["font"] = _v - _v = arg.pop("side", None) - _v = side if side is not None else _v - if _v is not None: - self["side"] = _v - _v = arg.pop("text", None) - _v = text if text is not None else _v - if _v is not None: - self["text"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/title/__init__.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/title/__init__.py deleted file mode 100644 index 2b474e3e063..00000000000 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/title/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._font import Font -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/title/_font.py deleted file mode 100644 index 2dda884e707..00000000000 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/title/_font.py +++ /dev/null @@ -1,453 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Font(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "heatmapgl.colorbar.title" - _path_str = "heatmapgl.colorbar.title.font" - _valid_props = { - "color", - "family", - "lineposition", - "shadow", - "size", - "style", - "textcase", - "variant", - "weight", - } - - # color - # ----- - @property - def color(self): - """ - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: - aliceblue, antiquewhite, aqua, aquamarine, azure, - beige, bisque, black, blanchedalmond, blue, - blueviolet, brown, burlywood, cadetblue, - chartreuse, chocolate, coral, cornflowerblue, - cornsilk, crimson, cyan, darkblue, darkcyan, - darkgoldenrod, darkgray, darkgrey, darkgreen, - darkkhaki, darkmagenta, darkolivegreen, darkorange, - darkorchid, darkred, darksalmon, darkseagreen, - darkslateblue, darkslategray, darkslategrey, - darkturquoise, darkviolet, deeppink, deepskyblue, - dimgray, dimgrey, dodgerblue, firebrick, - floralwhite, forestgreen, fuchsia, gainsboro, - ghostwhite, gold, goldenrod, gray, grey, green, - greenyellow, honeydew, hotpink, indianred, indigo, - ivory, khaki, lavender, lavenderblush, lawngreen, - lemonchiffon, lightblue, lightcoral, lightcyan, - lightgoldenrodyellow, lightgray, lightgrey, - lightgreen, lightpink, lightsalmon, lightseagreen, - lightskyblue, lightslategray, lightslategrey, - lightsteelblue, lightyellow, lime, limegreen, - linen, magenta, maroon, mediumaquamarine, - mediumblue, mediumorchid, mediumpurple, - mediumseagreen, mediumslateblue, mediumspringgreen, - mediumturquoise, mediumvioletred, midnightblue, - mintcream, mistyrose, moccasin, navajowhite, navy, - oldlace, olive, olivedrab, orange, orangered, - orchid, palegoldenrod, palegreen, paleturquoise, - palevioletred, papayawhip, peachpuff, peru, pink, - plum, powderblue, purple, red, rosybrown, - royalblue, rebeccapurple, saddlebrown, salmon, - sandybrown, seagreen, seashell, sienna, silver, - skyblue, slateblue, slategray, slategrey, snow, - springgreen, steelblue, tan, teal, thistle, tomato, - turquoise, violet, wheat, white, whitesmoke, - yellow, yellowgreen - - Returns - ------- - str - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - # family - # ------ - @property - def family(self): - """ - HTML font family - the typeface that will be applied by the web - browser. The web browser will only be able to apply a font if - it is available on the system which it operates. Provide - multiple font families, separated by commas, to indicate the - preference in which to apply fonts if they aren't available on - the system. The Chart Studio Cloud (at https://chart- - studio.plotly.com or on-premise) generates images on a server, - where only a select number of fonts are installed and - supported. These include "Arial", "Balto", "Courier New", - "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", - "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", - "Raleway", "Times New Roman". - - The 'family' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["family"] - - @family.setter - def family(self, val): - self["family"] = val - - # lineposition - # ------------ - @property - def lineposition(self): - """ - Sets the kind of decoration line(s) with text, such as an - "under", "over" or "through" as well as combinations e.g. - "under+over", etc. - - The 'lineposition' property is a flaglist and may be specified - as a string containing: - - Any combination of ['under', 'over', 'through'] joined with '+' characters - (e.g. 'under+over') - OR exactly one of ['none'] (e.g. 'none') - - Returns - ------- - Any - """ - return self["lineposition"] - - @lineposition.setter - def lineposition(self, val): - self["lineposition"] = val - - # shadow - # ------ - @property - def shadow(self): - """ - Sets the shape and color of the shadow behind text. "auto" - places minimal shadow and applies contrast text font color. See - https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow - for additional options. - - The 'shadow' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["shadow"] - - @shadow.setter - def shadow(self, val): - self["shadow"] = val - - # size - # ---- - @property - def size(self): - """ - The 'size' property is a number and may be specified as: - - An int or float in the interval [1, inf] - - Returns - ------- - int|float - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - # style - # ----- - @property - def style(self): - """ - Sets whether a font should be styled with a normal or italic - face from its family. - - The 'style' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'italic'] - - Returns - ------- - Any - """ - return self["style"] - - @style.setter - def style(self, val): - self["style"] = val - - # textcase - # -------- - @property - def textcase(self): - """ - Sets capitalization of text. It can be used to make text appear - in all-uppercase or all-lowercase, or with each word - capitalized. - - The 'textcase' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'word caps', 'upper', 'lower'] - - Returns - ------- - Any - """ - return self["textcase"] - - @textcase.setter - def textcase(self, val): - self["textcase"] = val - - # variant - # ------- - @property - def variant(self): - """ - Sets the variant of the font. - - The 'variant' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'small-caps', 'all-small-caps', - 'all-petite-caps', 'petite-caps', 'unicase'] - - Returns - ------- - Any - """ - return self["variant"] - - @variant.setter - def variant(self, val): - self["variant"] = val - - # weight - # ------ - @property - def weight(self): - """ - Sets the weight (or boldness) of the font. - - The 'weight' property is a integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 1000] - OR exactly one of ['normal', 'bold'] (e.g. 'bold') - - Returns - ------- - int - """ - return self["weight"] - - @weight.setter - def weight(self, val): - self["weight"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser will only be able to - apply a font if it is available on the system which it - operates. Provide multiple font families, separated by - commas, to indicate the preference in which to apply - fonts if they aren't available on the system. The Chart - Studio Cloud (at https://chart-studio.plotly.com or on- - premise) generates images on a server, where only a - select number of fonts are installed and supported. - These include "Arial", "Balto", "Courier New", "Droid - Sans", "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT - Sans Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - """ - - def __init__( - self, - arg=None, - color=None, - family=None, - lineposition=None, - shadow=None, - size=None, - style=None, - textcase=None, - variant=None, - weight=None, - **kwargs, - ): - """ - Construct a new Font object - - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.heatmapgl.colo - rbar.title.Font` - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser will only be able to - apply a font if it is available on the system which it - operates. Provide multiple font families, separated by - commas, to indicate the preference in which to apply - fonts if they aren't available on the system. The Chart - Studio Cloud (at https://chart-studio.plotly.com or on- - premise) generates images on a server, where only a - select number of fonts are installed and supported. - These include "Arial", "Balto", "Courier New", "Droid - Sans", "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT - Sans Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - Font - """ - super(Font, self).__init__("font") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.heatmapgl.colorbar.title.Font -constructor must be a dict or -an instance of :class:`plotly.graph_objs.heatmapgl.colorbar.title.Font`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("color", None) - _v = color if color is not None else _v - if _v is not None: - self["color"] = _v - _v = arg.pop("family", None) - _v = family if family is not None else _v - if _v is not None: - self["family"] = _v - _v = arg.pop("lineposition", None) - _v = lineposition if lineposition is not None else _v - if _v is not None: - self["lineposition"] = _v - _v = arg.pop("shadow", None) - _v = shadow if shadow is not None else _v - if _v is not None: - self["shadow"] = _v - _v = arg.pop("size", None) - _v = size if size is not None else _v - if _v is not None: - self["size"] = _v - _v = arg.pop("style", None) - _v = style if style is not None else _v - if _v is not None: - self["style"] = _v - _v = arg.pop("textcase", None) - _v = textcase if textcase is not None else _v - if _v is not None: - self["textcase"] = _v - _v = arg.pop("variant", None) - _v = variant if variant is not None else _v - if _v is not None: - self["variant"] = _v - _v = arg.pop("weight", None) - _v = weight if weight is not None else _v - if _v is not None: - self["weight"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/hoverlabel/__init__.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/hoverlabel/__init__.py deleted file mode 100644 index 2b474e3e063..00000000000 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/hoverlabel/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._font import Font -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/hoverlabel/_font.py deleted file mode 100644 index 965ad1cbd42..00000000000 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/hoverlabel/_font.py +++ /dev/null @@ -1,750 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Font(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "heatmapgl.hoverlabel" - _path_str = "heatmapgl.hoverlabel.font" - _valid_props = { - "color", - "colorsrc", - "family", - "familysrc", - "lineposition", - "linepositionsrc", - "shadow", - "shadowsrc", - "size", - "sizesrc", - "style", - "stylesrc", - "textcase", - "textcasesrc", - "variant", - "variantsrc", - "weight", - "weightsrc", - } - - # color - # ----- - @property - def color(self): - """ - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: - aliceblue, antiquewhite, aqua, aquamarine, azure, - beige, bisque, black, blanchedalmond, blue, - blueviolet, brown, burlywood, cadetblue, - chartreuse, chocolate, coral, cornflowerblue, - cornsilk, crimson, cyan, darkblue, darkcyan, - darkgoldenrod, darkgray, darkgrey, darkgreen, - darkkhaki, darkmagenta, darkolivegreen, darkorange, - darkorchid, darkred, darksalmon, darkseagreen, - darkslateblue, darkslategray, darkslategrey, - darkturquoise, darkviolet, deeppink, deepskyblue, - dimgray, dimgrey, dodgerblue, firebrick, - floralwhite, forestgreen, fuchsia, gainsboro, - ghostwhite, gold, goldenrod, gray, grey, green, - greenyellow, honeydew, hotpink, indianred, indigo, - ivory, khaki, lavender, lavenderblush, lawngreen, - lemonchiffon, lightblue, lightcoral, lightcyan, - lightgoldenrodyellow, lightgray, lightgrey, - lightgreen, lightpink, lightsalmon, lightseagreen, - lightskyblue, lightslategray, lightslategrey, - lightsteelblue, lightyellow, lime, limegreen, - linen, magenta, maroon, mediumaquamarine, - mediumblue, mediumorchid, mediumpurple, - mediumseagreen, mediumslateblue, mediumspringgreen, - mediumturquoise, mediumvioletred, midnightblue, - mintcream, mistyrose, moccasin, navajowhite, navy, - oldlace, olive, olivedrab, orange, orangered, - orchid, palegoldenrod, palegreen, paleturquoise, - palevioletred, papayawhip, peachpuff, peru, pink, - plum, powderblue, purple, red, rosybrown, - royalblue, rebeccapurple, saddlebrown, salmon, - sandybrown, seagreen, seashell, sienna, silver, - skyblue, slateblue, slategray, slategrey, snow, - springgreen, steelblue, tan, teal, thistle, tomato, - turquoise, violet, wheat, white, whitesmoke, - yellow, yellowgreen - - A list or array of any of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - # colorsrc - # -------- - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - - # family - # ------ - @property - def family(self): - """ - HTML font family - the typeface that will be applied by the web - browser. The web browser will only be able to apply a font if - it is available on the system which it operates. Provide - multiple font families, separated by commas, to indicate the - preference in which to apply fonts if they aren't available on - the system. The Chart Studio Cloud (at https://chart- - studio.plotly.com or on-premise) generates images on a server, - where only a select number of fonts are installed and - supported. These include "Arial", "Balto", "Courier New", - "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", - "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", - "Raleway", "Times New Roman". - - The 'family' property is a string and must be specified as: - - A non-empty string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["family"] - - @family.setter - def family(self, val): - self["family"] = val - - # familysrc - # --------- - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - - # lineposition - # ------------ - @property - def lineposition(self): - """ - Sets the kind of decoration line(s) with text, such as an - "under", "over" or "through" as well as combinations e.g. - "under+over", etc. - - The 'lineposition' property is a flaglist and may be specified - as a string containing: - - Any combination of ['under', 'over', 'through'] joined with '+' characters - (e.g. 'under+over') - OR exactly one of ['none'] (e.g. 'none') - - A list or array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["lineposition"] - - @lineposition.setter - def lineposition(self, val): - self["lineposition"] = val - - # linepositionsrc - # --------------- - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - - # shadow - # ------ - @property - def shadow(self): - """ - Sets the shape and color of the shadow behind text. "auto" - places minimal shadow and applies contrast text font color. See - https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow - for additional options. - - The 'shadow' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["shadow"] - - @shadow.setter - def shadow(self, val): - self["shadow"] = val - - # shadowsrc - # --------- - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - - # size - # ---- - @property - def size(self): - """ - The 'size' property is a number and may be specified as: - - An int or float in the interval [1, inf] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|float|numpy.ndarray - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - # sizesrc - # ------- - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - - # style - # ----- - @property - def style(self): - """ - Sets whether a font should be styled with a normal or italic - face from its family. - - The 'style' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'italic'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["style"] - - @style.setter - def style(self, val): - self["style"] = val - - # stylesrc - # -------- - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - - # textcase - # -------- - @property - def textcase(self): - """ - Sets capitalization of text. It can be used to make text appear - in all-uppercase or all-lowercase, or with each word - capitalized. - - The 'textcase' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'word caps', 'upper', 'lower'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["textcase"] - - @textcase.setter - def textcase(self, val): - self["textcase"] = val - - # textcasesrc - # ----------- - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - - # variant - # ------- - @property - def variant(self): - """ - Sets the variant of the font. - - The 'variant' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'small-caps', 'all-small-caps', - 'all-petite-caps', 'petite-caps', 'unicase'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["variant"] - - @variant.setter - def variant(self, val): - self["variant"] = val - - # variantsrc - # ---------- - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - - # weight - # ------ - @property - def weight(self): - """ - Sets the weight (or boldness) of the font. - - The 'weight' property is a integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 1000] - OR exactly one of ['normal', 'bold'] (e.g. 'bold') - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|numpy.ndarray - """ - return self["weight"] - - @weight.setter - def weight(self, val): - self["weight"] = val - - # weightsrc - # --------- - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - color - - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. - family - HTML font family - the typeface that will be applied by - the web browser. The web browser will only be able to - apply a font if it is available on the system which it - operates. Provide multiple font families, separated by - commas, to indicate the preference in which to apply - fonts if they aren't available on the system. The Chart - Studio Cloud (at https://chart-studio.plotly.com or on- - premise) generates images on a server, where only a - select number of fonts are installed and supported. - These include "Arial", "Balto", "Courier New", "Droid - Sans", "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT - Sans Narrow", "Raleway", "Times New Roman". - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. - size - - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. - style - Sets whether a font should be styled with a normal or - italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. - variant - Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. - weight - Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. - """ - - def __init__( - self, - arg=None, - color=None, - colorsrc=None, - family=None, - familysrc=None, - lineposition=None, - linepositionsrc=None, - shadow=None, - shadowsrc=None, - size=None, - sizesrc=None, - style=None, - stylesrc=None, - textcase=None, - textcasesrc=None, - variant=None, - variantsrc=None, - weight=None, - weightsrc=None, - **kwargs, - ): - """ - Construct a new Font object - - Sets the font used in hover labels. - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.heatmapgl.hoverlabel.Font` - color - - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. - family - HTML font family - the typeface that will be applied by - the web browser. The web browser will only be able to - apply a font if it is available on the system which it - operates. Provide multiple font families, separated by - commas, to indicate the preference in which to apply - fonts if they aren't available on the system. The Chart - Studio Cloud (at https://chart-studio.plotly.com or on- - premise) generates images on a server, where only a - select number of fonts are installed and supported. - These include "Arial", "Balto", "Courier New", "Droid - Sans", "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT - Sans Narrow", "Raleway", "Times New Roman". - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. - size - - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. - style - Sets whether a font should be styled with a normal or - italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. - variant - Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. - weight - Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. - - Returns - ------- - Font - """ - super(Font, self).__init__("font") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.heatmapgl.hoverlabel.Font -constructor must be a dict or -an instance of :class:`plotly.graph_objs.heatmapgl.hoverlabel.Font`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("color", None) - _v = color if color is not None else _v - if _v is not None: - self["color"] = _v - _v = arg.pop("colorsrc", None) - _v = colorsrc if colorsrc is not None else _v - if _v is not None: - self["colorsrc"] = _v - _v = arg.pop("family", None) - _v = family if family is not None else _v - if _v is not None: - self["family"] = _v - _v = arg.pop("familysrc", None) - _v = familysrc if familysrc is not None else _v - if _v is not None: - self["familysrc"] = _v - _v = arg.pop("lineposition", None) - _v = lineposition if lineposition is not None else _v - if _v is not None: - self["lineposition"] = _v - _v = arg.pop("linepositionsrc", None) - _v = linepositionsrc if linepositionsrc is not None else _v - if _v is not None: - self["linepositionsrc"] = _v - _v = arg.pop("shadow", None) - _v = shadow if shadow is not None else _v - if _v is not None: - self["shadow"] = _v - _v = arg.pop("shadowsrc", None) - _v = shadowsrc if shadowsrc is not None else _v - if _v is not None: - self["shadowsrc"] = _v - _v = arg.pop("size", None) - _v = size if size is not None else _v - if _v is not None: - self["size"] = _v - _v = arg.pop("sizesrc", None) - _v = sizesrc if sizesrc is not None else _v - if _v is not None: - self["sizesrc"] = _v - _v = arg.pop("style", None) - _v = style if style is not None else _v - if _v is not None: - self["style"] = _v - _v = arg.pop("stylesrc", None) - _v = stylesrc if stylesrc is not None else _v - if _v is not None: - self["stylesrc"] = _v - _v = arg.pop("textcase", None) - _v = textcase if textcase is not None else _v - if _v is not None: - self["textcase"] = _v - _v = arg.pop("textcasesrc", None) - _v = textcasesrc if textcasesrc is not None else _v - if _v is not None: - self["textcasesrc"] = _v - _v = arg.pop("variant", None) - _v = variant if variant is not None else _v - if _v is not None: - self["variant"] = _v - _v = arg.pop("variantsrc", None) - _v = variantsrc if variantsrc is not None else _v - if _v is not None: - self["variantsrc"] = _v - _v = arg.pop("weight", None) - _v = weight if weight is not None else _v - if _v is not None: - self["weight"] = _v - _v = arg.pop("weightsrc", None) - _v = weightsrc if weightsrc is not None else _v - if _v is not None: - self["weightsrc"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/legendgrouptitle/__init__.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/legendgrouptitle/__init__.py deleted file mode 100644 index 2b474e3e063..00000000000 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/legendgrouptitle/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._font import Font -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/legendgrouptitle/_font.py deleted file mode 100644 index 96bd8d13b0e..00000000000 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/legendgrouptitle/_font.py +++ /dev/null @@ -1,452 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Font(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "heatmapgl.legendgrouptitle" - _path_str = "heatmapgl.legendgrouptitle.font" - _valid_props = { - "color", - "family", - "lineposition", - "shadow", - "size", - "style", - "textcase", - "variant", - "weight", - } - - # color - # ----- - @property - def color(self): - """ - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: - aliceblue, antiquewhite, aqua, aquamarine, azure, - beige, bisque, black, blanchedalmond, blue, - blueviolet, brown, burlywood, cadetblue, - chartreuse, chocolate, coral, cornflowerblue, - cornsilk, crimson, cyan, darkblue, darkcyan, - darkgoldenrod, darkgray, darkgrey, darkgreen, - darkkhaki, darkmagenta, darkolivegreen, darkorange, - darkorchid, darkred, darksalmon, darkseagreen, - darkslateblue, darkslategray, darkslategrey, - darkturquoise, darkviolet, deeppink, deepskyblue, - dimgray, dimgrey, dodgerblue, firebrick, - floralwhite, forestgreen, fuchsia, gainsboro, - ghostwhite, gold, goldenrod, gray, grey, green, - greenyellow, honeydew, hotpink, indianred, indigo, - ivory, khaki, lavender, lavenderblush, lawngreen, - lemonchiffon, lightblue, lightcoral, lightcyan, - lightgoldenrodyellow, lightgray, lightgrey, - lightgreen, lightpink, lightsalmon, lightseagreen, - lightskyblue, lightslategray, lightslategrey, - lightsteelblue, lightyellow, lime, limegreen, - linen, magenta, maroon, mediumaquamarine, - mediumblue, mediumorchid, mediumpurple, - mediumseagreen, mediumslateblue, mediumspringgreen, - mediumturquoise, mediumvioletred, midnightblue, - mintcream, mistyrose, moccasin, navajowhite, navy, - oldlace, olive, olivedrab, orange, orangered, - orchid, palegoldenrod, palegreen, paleturquoise, - palevioletred, papayawhip, peachpuff, peru, pink, - plum, powderblue, purple, red, rosybrown, - royalblue, rebeccapurple, saddlebrown, salmon, - sandybrown, seagreen, seashell, sienna, silver, - skyblue, slateblue, slategray, slategrey, snow, - springgreen, steelblue, tan, teal, thistle, tomato, - turquoise, violet, wheat, white, whitesmoke, - yellow, yellowgreen - - Returns - ------- - str - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - # family - # ------ - @property - def family(self): - """ - HTML font family - the typeface that will be applied by the web - browser. The web browser will only be able to apply a font if - it is available on the system which it operates. Provide - multiple font families, separated by commas, to indicate the - preference in which to apply fonts if they aren't available on - the system. The Chart Studio Cloud (at https://chart- - studio.plotly.com or on-premise) generates images on a server, - where only a select number of fonts are installed and - supported. These include "Arial", "Balto", "Courier New", - "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", - "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", - "Raleway", "Times New Roman". - - The 'family' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["family"] - - @family.setter - def family(self, val): - self["family"] = val - - # lineposition - # ------------ - @property - def lineposition(self): - """ - Sets the kind of decoration line(s) with text, such as an - "under", "over" or "through" as well as combinations e.g. - "under+over", etc. - - The 'lineposition' property is a flaglist and may be specified - as a string containing: - - Any combination of ['under', 'over', 'through'] joined with '+' characters - (e.g. 'under+over') - OR exactly one of ['none'] (e.g. 'none') - - Returns - ------- - Any - """ - return self["lineposition"] - - @lineposition.setter - def lineposition(self, val): - self["lineposition"] = val - - # shadow - # ------ - @property - def shadow(self): - """ - Sets the shape and color of the shadow behind text. "auto" - places minimal shadow and applies contrast text font color. See - https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow - for additional options. - - The 'shadow' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["shadow"] - - @shadow.setter - def shadow(self, val): - self["shadow"] = val - - # size - # ---- - @property - def size(self): - """ - The 'size' property is a number and may be specified as: - - An int or float in the interval [1, inf] - - Returns - ------- - int|float - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - # style - # ----- - @property - def style(self): - """ - Sets whether a font should be styled with a normal or italic - face from its family. - - The 'style' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'italic'] - - Returns - ------- - Any - """ - return self["style"] - - @style.setter - def style(self, val): - self["style"] = val - - # textcase - # -------- - @property - def textcase(self): - """ - Sets capitalization of text. It can be used to make text appear - in all-uppercase or all-lowercase, or with each word - capitalized. - - The 'textcase' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'word caps', 'upper', 'lower'] - - Returns - ------- - Any - """ - return self["textcase"] - - @textcase.setter - def textcase(self, val): - self["textcase"] = val - - # variant - # ------- - @property - def variant(self): - """ - Sets the variant of the font. - - The 'variant' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'small-caps', 'all-small-caps', - 'all-petite-caps', 'petite-caps', 'unicase'] - - Returns - ------- - Any - """ - return self["variant"] - - @variant.setter - def variant(self, val): - self["variant"] = val - - # weight - # ------ - @property - def weight(self): - """ - Sets the weight (or boldness) of the font. - - The 'weight' property is a integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 1000] - OR exactly one of ['normal', 'bold'] (e.g. 'bold') - - Returns - ------- - int - """ - return self["weight"] - - @weight.setter - def weight(self, val): - self["weight"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser will only be able to - apply a font if it is available on the system which it - operates. Provide multiple font families, separated by - commas, to indicate the preference in which to apply - fonts if they aren't available on the system. The Chart - Studio Cloud (at https://chart-studio.plotly.com or on- - premise) generates images on a server, where only a - select number of fonts are installed and supported. - These include "Arial", "Balto", "Courier New", "Droid - Sans", "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT - Sans Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - """ - - def __init__( - self, - arg=None, - color=None, - family=None, - lineposition=None, - shadow=None, - size=None, - style=None, - textcase=None, - variant=None, - weight=None, - **kwargs, - ): - """ - Construct a new Font object - - Sets this legend group's title font. - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.heatmapgl.lege - ndgrouptitle.Font` - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser will only be able to - apply a font if it is available on the system which it - operates. Provide multiple font families, separated by - commas, to indicate the preference in which to apply - fonts if they aren't available on the system. The Chart - Studio Cloud (at https://chart-studio.plotly.com or on- - premise) generates images on a server, where only a - select number of fonts are installed and supported. - These include "Arial", "Balto", "Courier New", "Droid - Sans", "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT - Sans Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - Font - """ - super(Font, self).__init__("font") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.heatmapgl.legendgrouptitle.Font -constructor must be a dict or -an instance of :class:`plotly.graph_objs.heatmapgl.legendgrouptitle.Font`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("color", None) - _v = color if color is not None else _v - if _v is not None: - self["color"] = _v - _v = arg.pop("family", None) - _v = family if family is not None else _v - if _v is not None: - self["family"] = _v - _v = arg.pop("lineposition", None) - _v = lineposition if lineposition is not None else _v - if _v is not None: - self["lineposition"] = _v - _v = arg.pop("shadow", None) - _v = shadow if shadow is not None else _v - if _v is not None: - self["shadow"] = _v - _v = arg.pop("size", None) - _v = size if size is not None else _v - if _v is not None: - self["size"] = _v - _v = arg.pop("style", None) - _v = style if style is not None else _v - if _v is not None: - self["style"] = _v - _v = arg.pop("textcase", None) - _v = textcase if textcase is not None else _v - if _v is not None: - self["textcase"] = _v - _v = arg.pop("variant", None) - _v = variant if variant is not None else _v - if _v is not None: - self["variant"] = _v - _v = arg.pop("weight", None) - _v = weight if weight is not None else _v - if _v is not None: - self["weight"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/histogram/_error_x.py b/packages/python/plotly/plotly/graph_objs/histogram/_error_x.py index 4cd78fae3df..0a3abfec720 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/_error_x.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/_error_x.py @@ -115,7 +115,7 @@ def arraysrc(self, val): @property def color(self): """ - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. The 'color' property is a color and may be specified as: - A hex string (e.g. '#ff0000') @@ -401,7 +401,7 @@ def _prop_descriptions(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_ystyle symmetric @@ -487,7 +487,7 @@ def __init__( Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_ystyle symmetric diff --git a/packages/python/plotly/plotly/graph_objs/histogram/_error_y.py b/packages/python/plotly/plotly/graph_objs/histogram/_error_y.py index e185c37a199..3f8d67a8287 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/_error_y.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/_error_y.py @@ -114,7 +114,7 @@ def arraysrc(self, val): @property def color(self): """ - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. The 'color' property is a color and may be specified as: - A hex string (e.g. '#ff0000') @@ -382,7 +382,7 @@ def _prop_descriptions(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, @@ -465,7 +465,7 @@ def __init__( Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, diff --git a/packages/python/plotly/plotly/graph_objs/histogram/_marker.py b/packages/python/plotly/plotly/graph_objs/histogram/_marker.py index 01c4f6afad5..d215a26dffa 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/_marker.py @@ -472,21 +472,6 @@ def colorbar(self): :class:`plotly.graph_objects.histogram.marker.c olorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - histogram.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - histogram.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/histogram/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/histogram/marker/_colorbar.py index 95ad7779fee..e7402db0a9a 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use histogram.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.histogram.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use histogram.marker.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,20 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.histogram.marker.colorbar. Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - histogram.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - histogram.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1801,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1850,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2065,20 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.histogram.marker.colorbar. Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - histogram.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - histogram.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2321,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_title.py index 8c5df633817..6a563fa9275 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.histogram.mark er.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/title/_font.py index a009e93a955..3cee6565b9f 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/_colorbar.py b/packages/python/plotly/plotly/graph_objs/histogram2d/_colorbar.py index 43df9a125e4..ab3d968697a 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,103 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use histogram2d.colorbar.title.font instead. - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.histogram2d.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use histogram2d.colorbar.title.side instead. - Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1740,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.histogram2d.colorbar.Title ` instance or dict with compatible properties - titlefont - Deprecated: Please use histogram2d.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use histogram2d.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1799,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1848,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2063,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.histogram2d.colorbar.Title ` instance or dict with compatible properties - titlefont - Deprecated: Please use histogram2d.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use histogram2d.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2318,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_title.py index e2c672dbc6a..fa7662a0ee4 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.histogram2d.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/title/_font.py index 15362e83310..f1d194ff41c 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_colorbar.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_colorbar.py index a5e81b4b3fa..dafdc0e28b2 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use histogram2dcontour.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.histogram2dcontour.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use histogram2dcontour.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,21 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.histogram2dcontour.colorba r.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - histogram2dcontour.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - histogram2dcontour.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1802,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1851,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2066,21 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.histogram2dcontour.colorba r.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - histogram2dcontour.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - histogram2dcontour.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2323,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_title.py index 3cbadbd032f..752885dec38 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.histogram2dcon tour.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/title/_font.py index 47990bb4aec..50c3d16caee 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/icicle/_marker.py b/packages/python/plotly/plotly/graph_objs/icicle/_marker.py index ded6ede844b..4528bbdd1ff 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/_marker.py @@ -401,21 +401,6 @@ def colorbar(self): :class:`plotly.graph_objects.icicle.marker.colo rbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - icicle.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - icicle.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/icicle/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/icicle/marker/_colorbar.py index 029db975041..5eea701169d 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use icicle.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.icicle.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use icicle.marker.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.icicle.marker.colorbar.Tit le` instance or dict with compatible properties - titlefont - Deprecated: Please use - icicle.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - icicle.marker.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1800,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1849,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2064,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.icicle.marker.colorbar.Tit le` instance or dict with compatible properties - titlefont - Deprecated: Please use - icicle.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - icicle.marker.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2319,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_title.py index d137c54a7bc..eb1a9c1402d 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.icicle.marker.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/title/_font.py index 4793975b53f..a942b5896e6 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/_colorbar.py b/packages/python/plotly/plotly/graph_objs/isosurface/_colorbar.py index c03af51c80a..3f9bbf779dd 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1230,22 +1228,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1257,103 +1247,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use isosurface.colorbar.title.font instead. - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.isosurface.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use isosurface.colorbar.title.side instead. - Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1739,19 +1632,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.isosurface.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use isosurface.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use isosurface.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1798,11 +1678,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1847,8 +1722,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2062,19 +1935,6 @@ def __init__( title :class:`plotly.graph_objects.isosurface.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use isosurface.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use isosurface.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2317,14 +2177,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_title.py index a3e59806a44..d7985da2943 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.isosurface.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/title/_font.py index 9f98deafcea..17b1b32fdd7 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/_coloraxis.py b/packages/python/plotly/plotly/graph_objs/layout/_coloraxis.py index 18f89a6e264..f2f5243b038 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_coloraxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_coloraxis.py @@ -366,21 +366,6 @@ def colorbar(self): :class:`plotly.graph_objects.layout.coloraxis.c olorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.coloraxis.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - layout.coloraxis.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/layout/_geo.py b/packages/python/plotly/plotly/graph_objs/layout/_geo.py index 2755e5756c5..9274b134d01 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_geo.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_geo.py @@ -358,7 +358,7 @@ def fitbounds(self): getting auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, - `lonaxis.range` and `lonaxis.range` getting auto-filled. If + `lonaxis.range` and `lataxis.range` getting auto-filled. If "locations", only the trace's visible locations are considered in the `fitbounds` computations. If "geojson", the entire trace input `geojson` (if provided) is considered in the `fitbounds` @@ -1205,7 +1205,7 @@ def _prop_descriptions(self): auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, - `lonaxis.range` and `lonaxis.range` getting auto- + `lonaxis.range` and `lataxis.range` getting auto- filled. If "locations", only the trace's visible locations are considered in the `fitbounds` computations. If "geojson", the entire trace input @@ -1341,7 +1341,7 @@ def __init__( auto-filled. On maps with a clipped projection, setting `fitbounds` leads to `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, - `lonaxis.range` and `lonaxis.range` getting auto- + `lonaxis.range` and `lataxis.range` getting auto- filled. If "locations", only the trace's visible locations are considered in the `fitbounds` computations. If "geojson", the entire trace input diff --git a/packages/python/plotly/plotly/graph_objs/layout/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/layout/_hoverlabel.py index 71b5ecdbdd3..cfbf821304c 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_hoverlabel.py @@ -236,11 +236,11 @@ def grouptitlefont(self): Sets the font for group titles in hover (unified modes). Defaults to `hoverlabel.font`. - The 'grouptitlefont' property is an instance of Grouptitlefont + The 'grouptitlefont' property is an instance of Grouptitle_font that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.hoverlabel.Grouptitlefont` + - An instance of :class:`plotly.graph_objs.layout.hoverlabel.Grouptitle_font` - A dict of string/value properties that will be passed - to the Grouptitlefont constructor + to the Grouptitle_font constructor Supported dict properties: @@ -290,7 +290,7 @@ def grouptitlefont(self): Returns ------- - plotly.graph_objs.layout.hoverlabel.Grouptitlefont + plotly.graph_objs.layout.hoverlabel.Grouptitle_font """ return self["grouptitlefont"] diff --git a/packages/python/plotly/plotly/graph_objs/layout/_legend.py b/packages/python/plotly/plotly/graph_objs/layout/_legend.py index a5855085098..59d60826f87 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_legend.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_legend.py @@ -321,11 +321,11 @@ def grouptitlefont(self): Sets the font for group titles in legend. Defaults to `legend.font` with its size increased about 10%. - The 'grouptitlefont' property is an instance of Grouptitlefont + The 'grouptitlefont' property is an instance of Grouptitle_font that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.legend.Grouptitlefont` + - An instance of :class:`plotly.graph_objs.layout.legend.Grouptitle_font` - A dict of string/value properties that will be passed - to the Grouptitlefont constructor + to the Grouptitle_font constructor Supported dict properties: @@ -375,7 +375,7 @@ def grouptitlefont(self): Returns ------- - plotly.graph_objs.layout.legend.Grouptitlefont + plotly.graph_objs.layout.legend.Grouptitle_font """ return self["grouptitlefont"] diff --git a/packages/python/plotly/plotly/graph_objs/layout/_polar.py b/packages/python/plotly/plotly/graph_objs/layout/_polar.py index 5428fc2c5e8..fbf0a20b7f7 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_polar.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_polar.py @@ -857,12 +857,6 @@ def radialaxis(self): :class:`plotly.graph_objects.layout.polar.radia laxis.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.polar.radialaxis.title.font instead. - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the diff --git a/packages/python/plotly/plotly/graph_objs/layout/_scene.py b/packages/python/plotly/plotly/graph_objs/layout/_scene.py index a8c811e83e2..5e50a9c14c7 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_scene.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_scene.py @@ -833,12 +833,6 @@ def xaxis(self): :class:`plotly.graph_objects.layout.scene.xaxis .Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.scene.xaxis.title.font instead. Sets - this axis' title font. Note that the title's - font used to be customized by the now - deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the @@ -1190,12 +1184,6 @@ def yaxis(self): :class:`plotly.graph_objects.layout.scene.yaxis .Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.scene.yaxis.title.font instead. Sets - this axis' title font. Note that the title's - font used to be customized by the now - deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the @@ -1547,12 +1535,6 @@ def zaxis(self): :class:`plotly.graph_objects.layout.scene.zaxis .Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.scene.zaxis.title.font instead. Sets - this axis' title font. Note that the title's - font used to be customized by the now - deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the diff --git a/packages/python/plotly/plotly/graph_objs/layout/_template.py b/packages/python/plotly/plotly/graph_objs/layout/_template.py index 0696b9555c6..cc93069a078 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_template.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_template.py @@ -78,10 +78,6 @@ def data(self): funnel A tuple of :class:`plotly.graph_objects.Funnel` instances or dicts with compatible properties - heatmapgl - A tuple of - :class:`plotly.graph_objects.Heatmapgl` - instances or dicts with compatible properties heatmap A tuple of :class:`plotly.graph_objects.Heatmap` instances @@ -129,10 +125,6 @@ def data(self): pie A tuple of :class:`plotly.graph_objects.Pie` instances or dicts with compatible properties - pointcloud - A tuple of - :class:`plotly.graph_objects.Pointcloud` - instances or dicts with compatible properties sankey A tuple of :class:`plotly.graph_objects.Sankey` instances or dicts with compatible properties diff --git a/packages/python/plotly/plotly/graph_objs/layout/_ternary.py b/packages/python/plotly/plotly/graph_objs/layout/_ternary.py index 71c010a1d61..081987aefaa 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_ternary.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_ternary.py @@ -250,12 +250,6 @@ def aaxis(self): :class:`plotly.graph_objects.layout.ternary.aax is.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.ternary.aaxis.title.font instead. Sets - this axis' title font. Note that the title's - font used to be customized by the now - deprecated `titlefont` attribute. uirevision Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` @@ -512,12 +506,6 @@ def baxis(self): :class:`plotly.graph_objects.layout.ternary.bax is.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.ternary.baxis.title.font instead. Sets - this axis' title font. Note that the title's - font used to be customized by the now - deprecated `titlefont` attribute. uirevision Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` @@ -833,12 +821,6 @@ def caxis(self): :class:`plotly.graph_objects.layout.ternary.cax is.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.ternary.caxis.title.font instead. Sets - this axis' title font. Note that the title's - font used to be customized by the now - deprecated `titlefont` attribute. uirevision Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` diff --git a/packages/python/plotly/plotly/graph_objs/layout/_title.py b/packages/python/plotly/plotly/graph_objs/layout/_title.py index ccdb23c5db7..f1500f4c492 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_title.py @@ -57,8 +57,7 @@ def automargin(self, val): @property def font(self): """ - Sets the title font. Note that the title's font used to be - customized by the now deprecated `titlefont` attribute. + Sets the title font. The 'font' property is an instance of Font that may be specified as: @@ -198,9 +197,7 @@ def subtitle(self, val): @property def text(self): """ - Sets the plot's title. Note that before the existence of - `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the plot's title. The 'text' property is a string and must be specified as: - A string @@ -377,9 +374,7 @@ def _prop_descriptions(self): only 1 or 0 are allowed y values. Invalid values will be reset to the default 1. font - Sets the title font. Note that the title's font used to - be customized by the now deprecated `titlefont` - attribute. + Sets the title font. pad Sets the padding of the title. Each padding value only applies when the corresponding `xanchor`/`yanchor` @@ -392,10 +387,7 @@ def _prop_descriptions(self): :class:`plotly.graph_objects.layout.title.Subtitle` instance or dict with compatible properties text - Sets the plot's title. Note that before the existence - of `title.text`, the title's contents used to be - defined as the `title` attribute itself. This behavior - has been deprecated. + Sets the plot's title. x Sets the x position with respect to `xref` in normalized coordinates from 0 (left) to 1 (right). @@ -466,9 +458,7 @@ def __init__( only 1 or 0 are allowed y values. Invalid values will be reset to the default 1. font - Sets the title font. Note that the title's font used to - be customized by the now deprecated `titlefont` - attribute. + Sets the title font. pad Sets the padding of the title. Each padding value only applies when the corresponding `xanchor`/`yanchor` @@ -481,10 +471,7 @@ def __init__( :class:`plotly.graph_objects.layout.title.Subtitle` instance or dict with compatible properties text - Sets the plot's title. Note that before the existence - of `title.text`, the title's contents used to be - defined as the `title` attribute itself. This behavior - has been deprecated. + Sets the plot's title. x Sets the x position with respect to `xref` in normalized coordinates from 0 (left) to 1 (right). diff --git a/packages/python/plotly/plotly/graph_objs/layout/_xaxis.py b/packages/python/plotly/plotly/graph_objs/layout/_xaxis.py index dfd177e809e..65d73f38e01 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_xaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_xaxis.py @@ -96,7 +96,6 @@ class XAxis(_BaseLayoutHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", "type", "uirevision", "visible", @@ -2763,9 +2762,7 @@ def title(self): Supported dict properties: font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. standoff Sets the standoff distance (in px) between the axis labels and the title text The default @@ -2779,11 +2776,7 @@ def title(self): the margins to fit the axis title at given standoff distance. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. Returns ------- @@ -2795,77 +2788,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use layout.xaxis.title.font instead. Sets - this axis' title font. Note that the title's font used to be - customized by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.xaxis.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - # type # ---- @property @@ -3525,11 +3447,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.layout.xaxis.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.xaxis.title.font instead. - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of @@ -3552,8 +3469,6 @@ def _prop_descriptions(self): Sets the width (in px) of the zero line. """ - _mapped_properties = {"titlefont": ("title", "font")} - def __init__( self, arg=None, @@ -3644,7 +3559,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, type=None, uirevision=None, visible=None, @@ -4147,11 +4061,6 @@ def __init__( title :class:`plotly.graph_objects.layout.xaxis.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.xaxis.title.font instead. - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of @@ -4554,10 +4463,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v _v = arg.pop("type", None) _v = type if type is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/_yaxis.py b/packages/python/plotly/plotly/graph_objs/layout/_yaxis.py index d39a51ab31e..c3deb7fbe01 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_yaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_yaxis.py @@ -96,7 +96,6 @@ class YAxis(_BaseLayoutHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", "type", "uirevision", "visible", @@ -2686,9 +2685,7 @@ def title(self): Supported dict properties: font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. standoff Sets the standoff distance (in px) between the axis labels and the title text The default @@ -2702,11 +2699,7 @@ def title(self): the margins to fit the axis title at given standoff distance. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. Returns ------- @@ -2718,77 +2711,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use layout.yaxis.title.font instead. Sets - this axis' title font. Note that the title's font used to be - customized by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.yaxis.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - # type # ---- @property @@ -3458,11 +3380,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.layout.yaxis.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.yaxis.title.font instead. - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of @@ -3485,8 +3402,6 @@ def _prop_descriptions(self): Sets the width (in px) of the zero line. """ - _mapped_properties = {"titlefont": ("title", "font")} - def __init__( self, arg=None, @@ -3577,7 +3492,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, type=None, uirevision=None, visible=None, @@ -4090,11 +4004,6 @@ def __init__( title :class:`plotly.graph_objects.layout.yaxis.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.yaxis.title.font instead. - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of @@ -4497,10 +4406,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v _v = arg.pop("type", None) _v = type if type is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/_colorbar.py b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/_colorbar.py index 13bd7198187..3cb03c6cbc4 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseLayoutHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use layout.coloraxis.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.coloraxis.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use layout.coloraxis.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,20 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.layout.coloraxis.colorbar. Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.coloraxis.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - layout.coloraxis.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1801,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1850,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2065,20 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.layout.coloraxis.colorbar. Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.coloraxis.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - layout.coloraxis.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2321,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_title.py index 1133de8e55d..382d3ff94f3 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseLayoutHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.layout.colorax is.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/title/_font.py index 3d454bec841..8d4948e3a36 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/__init__.py b/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/__init__.py index c6f9226f99c..d096b8e8f6a 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/__init__.py +++ b/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/__init__.py @@ -3,10 +3,10 @@ if sys.version_info < (3, 7) or TYPE_CHECKING: from ._font import Font - from ._grouptitlefont import Grouptitlefont + from ._grouptitlefont import Grouptitle_font else: from _plotly_utils.importers import relative_import __all__, __getattr__, __dir__ = relative_import( - __name__, [], ["._font.Font", "._grouptitlefont.Grouptitlefont"] + __name__, [], ["._font.Font", "._grouptitlefont.Grouptitle_font"] ) diff --git a/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_grouptitlefont.py b/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_grouptitlefont.py index 648b74eeb5a..6840dd3665b 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_grouptitlefont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_grouptitlefont.py @@ -2,7 +2,7 @@ import copy as _copy -class Grouptitlefont(_BaseLayoutHierarchyType): +class Grouptitle_font(_BaseLayoutHierarchyType): # class properties # -------------------- @@ -324,7 +324,7 @@ def __init__( **kwargs, ): """ - Construct a new Grouptitlefont object + Construct a new Grouptitle_font object Sets the font for group titles in hover (unified modes). Defaults to `hoverlabel.font`. @@ -334,7 +334,7 @@ def __init__( arg dict of properties compatible with this constructor or an instance of :class:`plotly.graph_objs.layout.hoverla - bel.Grouptitlefont` + bel.Grouptitle_font` color family @@ -376,9 +376,9 @@ def __init__( Returns ------- - Grouptitlefont + Grouptitle_font """ - super(Grouptitlefont, self).__init__("grouptitlefont") + super(Grouptitle_font, self).__init__("grouptitlefont") if "_parent" in kwargs: self._parent = kwargs["_parent"] @@ -395,9 +395,9 @@ def __init__( else: raise ValueError( """\ -The first argument to the plotly.graph_objs.layout.hoverlabel.Grouptitlefont +The first argument to the plotly.graph_objs.layout.hoverlabel.Grouptitle_font constructor must be a dict or -an instance of :class:`plotly.graph_objs.layout.hoverlabel.Grouptitlefont`""" +an instance of :class:`plotly.graph_objs.layout.hoverlabel.Grouptitle_font`""" ) # Handle skip_invalid diff --git a/packages/python/plotly/plotly/graph_objs/layout/legend/__init__.py b/packages/python/plotly/plotly/graph_objs/layout/legend/__init__.py index 451048fb0f6..1dcb276281e 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/legend/__init__.py +++ b/packages/python/plotly/plotly/graph_objs/layout/legend/__init__.py @@ -3,7 +3,7 @@ if sys.version_info < (3, 7) or TYPE_CHECKING: from ._font import Font - from ._grouptitlefont import Grouptitlefont + from ._grouptitlefont import Grouptitle_font from ._title import Title from . import title else: @@ -12,5 +12,5 @@ __all__, __getattr__, __dir__ = relative_import( __name__, [".title"], - ["._font.Font", "._grouptitlefont.Grouptitlefont", "._title.Title"], + ["._font.Font", "._grouptitlefont.Grouptitle_font", "._title.Title"], ) diff --git a/packages/python/plotly/plotly/graph_objs/layout/legend/_grouptitlefont.py b/packages/python/plotly/plotly/graph_objs/layout/legend/_grouptitlefont.py index 45a5cdf15ad..a997a6e6418 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/legend/_grouptitlefont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/legend/_grouptitlefont.py @@ -2,7 +2,7 @@ import copy as _copy -class Grouptitlefont(_BaseLayoutHierarchyType): +class Grouptitle_font(_BaseLayoutHierarchyType): # class properties # -------------------- @@ -324,7 +324,7 @@ def __init__( **kwargs, ): """ - Construct a new Grouptitlefont object + Construct a new Grouptitle_font object Sets the font for group titles in legend. Defaults to `legend.font` with its size increased about 10%. @@ -334,7 +334,7 @@ def __init__( arg dict of properties compatible with this constructor or an instance of - :class:`plotly.graph_objs.layout.legend.Grouptitlefont` + :class:`plotly.graph_objs.layout.legend.Grouptitle_font` color family @@ -376,9 +376,9 @@ def __init__( Returns ------- - Grouptitlefont + Grouptitle_font """ - super(Grouptitlefont, self).__init__("grouptitlefont") + super(Grouptitle_font, self).__init__("grouptitlefont") if "_parent" in kwargs: self._parent = kwargs["_parent"] @@ -395,9 +395,9 @@ def __init__( else: raise ValueError( """\ -The first argument to the plotly.graph_objs.layout.legend.Grouptitlefont +The first argument to the plotly.graph_objs.layout.legend.Grouptitle_font constructor must be a dict or -an instance of :class:`plotly.graph_objs.layout.legend.Grouptitlefont`""" +an instance of :class:`plotly.graph_objs.layout.legend.Grouptitle_font`""" ) # Handle skip_invalid diff --git a/packages/python/plotly/plotly/graph_objs/layout/polar/_radialaxis.py b/packages/python/plotly/plotly/graph_objs/layout/polar/_radialaxis.py index fda06e9b1aa..53c916777b0 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/polar/_radialaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/polar/_radialaxis.py @@ -62,7 +62,6 @@ class RadialAxis(_BaseLayoutHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", "type", "uirevision", "visible", @@ -1579,15 +1578,9 @@ def title(self): Supported dict properties: font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. Returns ------- @@ -1599,78 +1592,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use layout.polar.radialaxis.title.font - instead. Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.polar.radialaxis.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - # type # ---- @property @@ -2026,11 +1947,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.layout.polar.radialaxis.Ti tle` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.polar.radialaxis.title.font instead. Sets this - axis' title font. Note that the title's font used to be - customized by the now deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of @@ -2046,8 +1962,6 @@ def _prop_descriptions(self): cheater plot is present on the axis, otherwise false """ - _mapped_properties = {"titlefont": ("title", "font")} - def __init__( self, arg=None, @@ -2104,7 +2018,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, type=None, uirevision=None, visible=None, @@ -2403,11 +2316,6 @@ def __init__( title :class:`plotly.graph_objects.layout.polar.radialaxis.Ti tle` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.polar.radialaxis.title.font instead. Sets this - axis' title font. Note that the title's font used to be - customized by the now deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of @@ -2667,10 +2575,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v _v = arg.pop("type", None) _v = type if type is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_title.py index 26de067f3ff..07a9decdbab 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_title.py @@ -15,8 +15,7 @@ class Title(_BaseLayoutHierarchyType): @property def font(self): """ - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. The 'font' property is an instance of Font that may be specified as: @@ -85,9 +84,7 @@ def font(self, val): @property def text(self): """ - Sets the title of this axis. Note that before the existence of - `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of this axis. The 'text' property is a string and must be specified as: - A string @@ -109,14 +106,9 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. """ def __init__(self, arg=None, font=None, text=None, **kwargs): @@ -130,14 +122,9 @@ def __init__(self, arg=None, font=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.layout.polar.r adialaxis.Title` font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/title/_font.py index 46bed534348..c3a6f3d8a32 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/_xaxis.py b/packages/python/plotly/plotly/graph_objs/layout/scene/_xaxis.py index 6a259fa6ea6..8946252620a 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/_xaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/_xaxis.py @@ -64,7 +64,6 @@ class XAxis(_BaseLayoutHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", "type", "visible", "zeroline", @@ -1678,15 +1677,9 @@ def title(self): Supported dict properties: font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. Returns ------- @@ -1698,77 +1691,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use layout.scene.xaxis.title.font instead. - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.scene.xaxis.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - # type # ---- @property @@ -2195,11 +2117,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.layout.scene.xaxis.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.scene.xaxis.title.font - instead. Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of @@ -2218,8 +2135,6 @@ def _prop_descriptions(self): Sets the width (in px) of the zero line. """ - _mapped_properties = {"titlefont": ("title", "font")} - def __init__( self, arg=None, @@ -2278,7 +2193,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, type=None, visible=None, zeroline=None, @@ -2570,11 +2484,6 @@ def __init__( title :class:`plotly.graph_objects.layout.scene.xaxis.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.scene.xaxis.title.font - instead. Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of @@ -2845,10 +2754,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v _v = arg.pop("type", None) _v = type if type is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/_yaxis.py b/packages/python/plotly/plotly/graph_objs/layout/scene/_yaxis.py index 2c3bee82f5a..75c65cfb7ab 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/_yaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/_yaxis.py @@ -64,7 +64,6 @@ class YAxis(_BaseLayoutHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", "type", "visible", "zeroline", @@ -1678,15 +1677,9 @@ def title(self): Supported dict properties: font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. Returns ------- @@ -1698,77 +1691,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use layout.scene.yaxis.title.font instead. - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.scene.yaxis.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - # type # ---- @property @@ -2195,11 +2117,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.layout.scene.yaxis.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.scene.yaxis.title.font - instead. Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of @@ -2218,8 +2135,6 @@ def _prop_descriptions(self): Sets the width (in px) of the zero line. """ - _mapped_properties = {"titlefont": ("title", "font")} - def __init__( self, arg=None, @@ -2278,7 +2193,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, type=None, visible=None, zeroline=None, @@ -2570,11 +2484,6 @@ def __init__( title :class:`plotly.graph_objects.layout.scene.yaxis.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.scene.yaxis.title.font - instead. Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of @@ -2845,10 +2754,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v _v = arg.pop("type", None) _v = type if type is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/_zaxis.py b/packages/python/plotly/plotly/graph_objs/layout/scene/_zaxis.py index 993c20d5ab7..7bf8c78d8b3 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/_zaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/_zaxis.py @@ -64,7 +64,6 @@ class ZAxis(_BaseLayoutHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", "type", "visible", "zeroline", @@ -1678,15 +1677,9 @@ def title(self): Supported dict properties: font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. Returns ------- @@ -1698,77 +1691,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use layout.scene.zaxis.title.font instead. - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.scene.zaxis.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - # type # ---- @property @@ -2195,11 +2117,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.layout.scene.zaxis.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.scene.zaxis.title.font - instead. Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of @@ -2218,8 +2135,6 @@ def _prop_descriptions(self): Sets the width (in px) of the zero line. """ - _mapped_properties = {"titlefont": ("title", "font")} - def __init__( self, arg=None, @@ -2278,7 +2193,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, type=None, visible=None, zeroline=None, @@ -2570,11 +2484,6 @@ def __init__( title :class:`plotly.graph_objects.layout.scene.zaxis.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.scene.zaxis.title.font - instead. Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the data of @@ -2845,10 +2754,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v _v = arg.pop("type", None) _v = type if type is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_title.py index a902b20930a..b2f98fbb60d 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_title.py @@ -15,8 +15,7 @@ class Title(_BaseLayoutHierarchyType): @property def font(self): """ - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. The 'font' property is an instance of Font that may be specified as: @@ -85,9 +84,7 @@ def font(self, val): @property def text(self): """ - Sets the title of this axis. Note that before the existence of - `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of this axis. The 'text' property is a string and must be specified as: - A string @@ -109,14 +106,9 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. """ def __init__(self, arg=None, font=None, text=None, **kwargs): @@ -130,14 +122,9 @@ def __init__(self, arg=None, font=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.layout.scene.xaxis.Title` font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/title/_font.py index 2c9eea71d38..4beada0babf 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_title.py index 5bd68f50ae9..c0ddf835d5a 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_title.py @@ -15,8 +15,7 @@ class Title(_BaseLayoutHierarchyType): @property def font(self): """ - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. The 'font' property is an instance of Font that may be specified as: @@ -85,9 +84,7 @@ def font(self, val): @property def text(self): """ - Sets the title of this axis. Note that before the existence of - `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of this axis. The 'text' property is a string and must be specified as: - A string @@ -109,14 +106,9 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. """ def __init__(self, arg=None, font=None, text=None, **kwargs): @@ -130,14 +122,9 @@ def __init__(self, arg=None, font=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.layout.scene.yaxis.Title` font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/title/_font.py index 159a7471d1d..4cda20e0a59 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_title.py index d6223be6f43..4e0739754a4 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_title.py @@ -15,8 +15,7 @@ class Title(_BaseLayoutHierarchyType): @property def font(self): """ - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. The 'font' property is an instance of Font that may be specified as: @@ -85,9 +84,7 @@ def font(self, val): @property def text(self): """ - Sets the title of this axis. Note that before the existence of - `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of this axis. The 'text' property is a string and must be specified as: - A string @@ -109,14 +106,9 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. """ def __init__(self, arg=None, font=None, text=None, **kwargs): @@ -130,14 +122,9 @@ def __init__(self, arg=None, font=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.layout.scene.zaxis.Title` font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/title/_font.py index feefcb6b09f..cb23aedeed3 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/template/_data.py b/packages/python/plotly/plotly/graph_objs/layout/template/_data.py index 2d0c01f0a0e..a27b0679751 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/template/_data.py +++ b/packages/python/plotly/plotly/graph_objs/layout/template/_data.py @@ -25,7 +25,6 @@ class Data(_BaseLayoutHierarchyType): "funnel", "funnelarea", "heatmap", - "heatmapgl", "histogram", "histogram2d", "histogram2dcontour", @@ -38,7 +37,6 @@ class Data(_BaseLayoutHierarchyType): "parcats", "parcoords", "pie", - "pointcloud", "sankey", "scatter", "scatter3d", @@ -407,29 +405,6 @@ def funnel(self): def funnel(self, val): self["funnel"] = val - # heatmapgl - # --------- - @property - def heatmapgl(self): - """ - The 'heatmapgl' property is a tuple of instances of - Heatmapgl that may be specified as: - - A list or tuple of instances of plotly.graph_objs.layout.template.data.Heatmapgl - - A list or tuple of dicts of string/value properties that - will be passed to the Heatmapgl constructor - - Supported dict properties: - - Returns - ------- - tuple[plotly.graph_objs.layout.template.data.Heatmapgl] - """ - return self["heatmapgl"] - - @heatmapgl.setter - def heatmapgl(self, val): - self["heatmapgl"] = val - # heatmap # ------- @property @@ -729,29 +704,6 @@ def pie(self): def pie(self, val): self["pie"] = val - # pointcloud - # ---------- - @property - def pointcloud(self): - """ - The 'pointcloud' property is a tuple of instances of - Pointcloud that may be specified as: - - A list or tuple of instances of plotly.graph_objs.layout.template.data.Pointcloud - - A list or tuple of dicts of string/value properties that - will be passed to the Pointcloud constructor - - Supported dict properties: - - Returns - ------- - tuple[plotly.graph_objs.layout.template.data.Pointcloud] - """ - return self["pointcloud"] - - @pointcloud.setter - def pointcloud(self, val): - self["pointcloud"] = val - # sankey # ------ @property @@ -1286,9 +1238,6 @@ def _prop_descriptions(self): funnel A tuple of :class:`plotly.graph_objects.Funnel` instances or dicts with compatible properties - heatmapgl - A tuple of :class:`plotly.graph_objects.Heatmapgl` - instances or dicts with compatible properties heatmap A tuple of :class:`plotly.graph_objects.Heatmap` instances or dicts with compatible properties @@ -1329,9 +1278,6 @@ def _prop_descriptions(self): pie A tuple of :class:`plotly.graph_objects.Pie` instances or dicts with compatible properties - pointcloud - A tuple of :class:`plotly.graph_objects.Pointcloud` - instances or dicts with compatible properties sankey A tuple of :class:`plotly.graph_objects.Sankey` instances or dicts with compatible properties @@ -1415,7 +1361,6 @@ def __init__( densitymap=None, funnelarea=None, funnel=None, - heatmapgl=None, heatmap=None, histogram2dcontour=None, histogram2d=None, @@ -1429,7 +1374,6 @@ def __init__( parcats=None, parcoords=None, pie=None, - pointcloud=None, sankey=None, scatter3d=None, scattercarpet=None, @@ -1508,9 +1452,6 @@ def __init__( funnel A tuple of :class:`plotly.graph_objects.Funnel` instances or dicts with compatible properties - heatmapgl - A tuple of :class:`plotly.graph_objects.Heatmapgl` - instances or dicts with compatible properties heatmap A tuple of :class:`plotly.graph_objects.Heatmap` instances or dicts with compatible properties @@ -1551,9 +1492,6 @@ def __init__( pie A tuple of :class:`plotly.graph_objects.Pie` instances or dicts with compatible properties - pointcloud - A tuple of :class:`plotly.graph_objects.Pointcloud` - instances or dicts with compatible properties sankey A tuple of :class:`plotly.graph_objects.Sankey` instances or dicts with compatible properties @@ -1711,10 +1649,6 @@ def __init__( _v = funnel if funnel is not None else _v if _v is not None: self["funnel"] = _v - _v = arg.pop("heatmapgl", None) - _v = heatmapgl if heatmapgl is not None else _v - if _v is not None: - self["heatmapgl"] = _v _v = arg.pop("heatmap", None) _v = heatmap if heatmap is not None else _v if _v is not None: @@ -1767,10 +1701,6 @@ def __init__( _v = pie if pie is not None else _v if _v is not None: self["pie"] = _v - _v = arg.pop("pointcloud", None) - _v = pointcloud if pointcloud is not None else _v - if _v is not None: - self["pointcloud"] = _v _v = arg.pop("sankey", None) _v = sankey if sankey is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/template/data/__init__.py b/packages/python/plotly/plotly/graph_objs/layout/template/data/__init__.py index bed0e581e7f..3a11f830497 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/template/data/__init__.py +++ b/packages/python/plotly/plotly/graph_objs/layout/template/data/__init__.py @@ -18,7 +18,6 @@ from ._funnel import Funnel from ._funnelarea import Funnelarea from ._heatmap import Heatmap - from ._heatmapgl import Heatmapgl from ._histogram import Histogram from ._histogram2d import Histogram2d from ._histogram2dcontour import Histogram2dContour @@ -31,7 +30,6 @@ from ._parcats import Parcats from ._parcoords import Parcoords from ._pie import Pie - from ._pointcloud import Pointcloud from ._sankey import Sankey from ._scatter import Scatter from ._scatter3d import Scatter3d @@ -76,7 +74,6 @@ "._funnel.Funnel", "._funnelarea.Funnelarea", "._heatmap.Heatmap", - "._heatmapgl.Heatmapgl", "._histogram.Histogram", "._histogram2d.Histogram2d", "._histogram2dcontour.Histogram2dContour", @@ -89,7 +86,6 @@ "._parcats.Parcats", "._parcoords.Parcoords", "._pie.Pie", - "._pointcloud.Pointcloud", "._sankey.Sankey", "._scatter.Scatter", "._scatter3d.Scatter3d", diff --git a/packages/python/plotly/plotly/graph_objs/layout/template/data/_heatmapgl.py b/packages/python/plotly/plotly/graph_objs/layout/template/data/_heatmapgl.py deleted file mode 100644 index 625f2797d24..00000000000 --- a/packages/python/plotly/plotly/graph_objs/layout/template/data/_heatmapgl.py +++ /dev/null @@ -1 +0,0 @@ -from plotly.graph_objs import Heatmapgl diff --git a/packages/python/plotly/plotly/graph_objs/layout/template/data/_pointcloud.py b/packages/python/plotly/plotly/graph_objs/layout/template/data/_pointcloud.py deleted file mode 100644 index af62ef6313d..00000000000 --- a/packages/python/plotly/plotly/graph_objs/layout/template/data/_pointcloud.py +++ /dev/null @@ -1 +0,0 @@ -from plotly.graph_objs import Pointcloud diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/_aaxis.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/_aaxis.py index d84e7f75e6f..8b003c58c3b 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/_aaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/_aaxis.py @@ -49,7 +49,6 @@ class Aaxis(_BaseLayoutHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", "uirevision", } @@ -1211,15 +1210,9 @@ def title(self): Supported dict properties: font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. Returns ------- @@ -1231,77 +1224,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use layout.ternary.aaxis.title.font instead. - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.ternary.aaxis.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - # uirevision # ---------- @property @@ -1530,19 +1452,12 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.layout.ternary.aaxis.Title ` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.ternary.aaxis.title.font - instead. Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. uirevision Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary.uirevision`. """ - _mapped_properties = {"titlefont": ("title", "font")} - def __init__( self, arg=None, @@ -1586,7 +1501,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, uirevision=None, **kwargs, ): @@ -1801,11 +1715,6 @@ def __init__( title :class:`plotly.graph_objects.layout.ternary.aaxis.Title ` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.ternary.aaxis.title.font - instead. Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. uirevision Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` @@ -2004,10 +1913,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v _v = arg.pop("uirevision", None) _v = uirevision if uirevision is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/_baxis.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/_baxis.py index 41373dc729a..3c5060624bd 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/_baxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/_baxis.py @@ -49,7 +49,6 @@ class Baxis(_BaseLayoutHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", "uirevision", } @@ -1211,15 +1210,9 @@ def title(self): Supported dict properties: font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. Returns ------- @@ -1231,77 +1224,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use layout.ternary.baxis.title.font instead. - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.ternary.baxis.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - # uirevision # ---------- @property @@ -1530,19 +1452,12 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.layout.ternary.baxis.Title ` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.ternary.baxis.title.font - instead. Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. uirevision Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary.uirevision`. """ - _mapped_properties = {"titlefont": ("title", "font")} - def __init__( self, arg=None, @@ -1586,7 +1501,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, uirevision=None, **kwargs, ): @@ -1801,11 +1715,6 @@ def __init__( title :class:`plotly.graph_objects.layout.ternary.baxis.Title ` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.ternary.baxis.title.font - instead. Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. uirevision Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` @@ -2004,10 +1913,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v _v = arg.pop("uirevision", None) _v = uirevision if uirevision is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/_caxis.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/_caxis.py index d040d9aa208..336b50f7c8c 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/_caxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/_caxis.py @@ -49,7 +49,6 @@ class Caxis(_BaseLayoutHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", "uirevision", } @@ -1211,15 +1210,9 @@ def title(self): Supported dict properties: font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. Returns ------- @@ -1231,77 +1224,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use layout.ternary.caxis.title.font instead. - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.layout.ternary.caxis.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - # uirevision # ---------- @property @@ -1530,19 +1452,12 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.layout.ternary.caxis.Title ` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.ternary.caxis.title.font - instead. Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. uirevision Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` configuration. Defaults to `ternary.uirevision`. """ - _mapped_properties = {"titlefont": ("title", "font")} - def __init__( self, arg=None, @@ -1586,7 +1501,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, uirevision=None, **kwargs, ): @@ -1801,11 +1715,6 @@ def __init__( title :class:`plotly.graph_objects.layout.ternary.caxis.Title ` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.ternary.caxis.title.font - instead. Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. uirevision Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` @@ -2004,10 +1913,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v _v = arg.pop("uirevision", None) _v = uirevision if uirevision is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_title.py index 8a0573637cc..be6f0f13253 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_title.py @@ -15,8 +15,7 @@ class Title(_BaseLayoutHierarchyType): @property def font(self): """ - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. The 'font' property is an instance of Font that may be specified as: @@ -85,9 +84,7 @@ def font(self, val): @property def text(self): """ - Sets the title of this axis. Note that before the existence of - `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of this axis. The 'text' property is a string and must be specified as: - A string @@ -109,14 +106,9 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. """ def __init__(self, arg=None, font=None, text=None, **kwargs): @@ -130,14 +122,9 @@ def __init__(self, arg=None, font=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.layout.ternary.aaxis.Title` font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/title/_font.py index e6f6e449862..8103e3d5782 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_title.py index 6a846c6f2fc..b6e9612703b 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_title.py @@ -15,8 +15,7 @@ class Title(_BaseLayoutHierarchyType): @property def font(self): """ - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. The 'font' property is an instance of Font that may be specified as: @@ -85,9 +84,7 @@ def font(self, val): @property def text(self): """ - Sets the title of this axis. Note that before the existence of - `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of this axis. The 'text' property is a string and must be specified as: - A string @@ -109,14 +106,9 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. """ def __init__(self, arg=None, font=None, text=None, **kwargs): @@ -130,14 +122,9 @@ def __init__(self, arg=None, font=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.layout.ternary.baxis.Title` font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/title/_font.py index b33b4211668..2f020fe77b7 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_title.py index 676b37f0e08..f12aca460c8 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_title.py @@ -15,8 +15,7 @@ class Title(_BaseLayoutHierarchyType): @property def font(self): """ - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. The 'font' property is an instance of Font that may be specified as: @@ -85,9 +84,7 @@ def font(self, val): @property def text(self): """ - Sets the title of this axis. Note that before the existence of - `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of this axis. The 'text' property is a string and must be specified as: - A string @@ -109,14 +106,9 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. """ def __init__(self, arg=None, font=None, text=None, **kwargs): @@ -130,14 +122,9 @@ def __init__(self, arg=None, font=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.layout.ternary.caxis.Title` font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/title/_font.py index 220c4680267..1549ec20970 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/title/_font.py index 9e76fdd2e73..ff9ad168589 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets the title font. Note that the title's font used to be - customized by the now deprecated `titlefont` attribute. + Sets the title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/xaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/xaxis/_title.py index c8c996e981c..a2a53e4d986 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/xaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/xaxis/_title.py @@ -15,8 +15,7 @@ class Title(_BaseLayoutHierarchyType): @property def font(self): """ - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. The 'font' property is an instance of Font that may be specified as: @@ -112,9 +111,7 @@ def standoff(self, val): @property def text(self): """ - Sets the title of this axis. Note that before the existence of - `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of this axis. The 'text' property is a string and must be specified as: - A string @@ -136,9 +133,7 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. standoff Sets the standoff distance (in px) between the axis labels and the title text The default value is a @@ -150,10 +145,7 @@ def _prop_descriptions(self): on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. """ def __init__(self, arg=None, font=None, standoff=None, text=None, **kwargs): @@ -167,9 +159,7 @@ def __init__(self, arg=None, font=None, standoff=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.layout.xaxis.Title` font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. standoff Sets the standoff distance (in px) between the axis labels and the title text The default value is a @@ -181,10 +171,7 @@ def __init__(self, arg=None, font=None, standoff=None, text=None, **kwargs): on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/xaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/xaxis/title/_font.py index 2712dcfa707..c03035018bc 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/xaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/xaxis/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/yaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/yaxis/_title.py index 4edac01a590..550928ce2b9 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/yaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/yaxis/_title.py @@ -15,8 +15,7 @@ class Title(_BaseLayoutHierarchyType): @property def font(self): """ - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. The 'font' property is an instance of Font that may be specified as: @@ -112,9 +111,7 @@ def standoff(self, val): @property def text(self): """ - Sets the title of this axis. Note that before the existence of - `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of this axis. The 'text' property is a string and must be specified as: - A string @@ -136,9 +133,7 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. standoff Sets the standoff distance (in px) between the axis labels and the title text The default value is a @@ -150,10 +145,7 @@ def _prop_descriptions(self): on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. """ def __init__(self, arg=None, font=None, standoff=None, text=None, **kwargs): @@ -167,9 +159,7 @@ def __init__(self, arg=None, font=None, standoff=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.layout.yaxis.Title` font - Sets this axis' title font. Note that the title's font - used to be customized by the now deprecated `titlefont` - attribute. + Sets this axis' title font. standoff Sets the standoff distance (in px) between the axis labels and the title text The default value is a @@ -181,10 +171,7 @@ def __init__(self, arg=None, font=None, standoff=None, text=None, **kwargs): on `automargin`, plotly.js will push the margins to fit the axis title at given standoff distance. text - Sets the title of this axis. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of this axis. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/layout/yaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/yaxis/title/_font.py index 88c4f637b7c..678a3a27060 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/yaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/yaxis/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this axis' title font. Note that the title's font used to - be customized by the now deprecated `titlefont` attribute. + Sets this axis' title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/_colorbar.py b/packages/python/plotly/plotly/graph_objs/mesh3d/_colorbar.py index f59676c198c..e10aa7db5c6 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,103 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use mesh3d.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font used to - be set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.mesh3d.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use mesh3d.colorbar.title.side instead. - Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1740,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.mesh3d.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use mesh3d.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use mesh3d.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1799,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1848,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2063,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.mesh3d.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use mesh3d.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use mesh3d.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2318,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_title.py index 6b9ceac0d90..223a84cafb7 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.mesh3d.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/title/_font.py index c476ceab372..c2b0ed72b76 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/parcats/_line.py b/packages/python/plotly/plotly/graph_objs/parcats/_line.py index 6d3ee485c88..63058ebe062 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/_line.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/_line.py @@ -468,21 +468,6 @@ def colorbar(self): :class:`plotly.graph_objects.parcats.line.color bar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - parcats.line.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - parcats.line.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/parcats/line/_colorbar.py b/packages/python/plotly/plotly/graph_objs/parcats/line/_colorbar.py index 23b93234334..82337cb2db0 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/line/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/line/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use parcats.line.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.parcats.line.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use parcats.line.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.parcats.line.colorbar.Titl e` instance or dict with compatible properties - titlefont - Deprecated: Please use parcats.line.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use parcats.line.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1800,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1849,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2064,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.parcats.line.colorbar.Titl e` instance or dict with compatible properties - titlefont - Deprecated: Please use parcats.line.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use parcats.line.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2319,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_title.py index 1380bb7d7b1..0e202a829fb 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.parcats.line.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/title/_font.py index 3edba42e270..8758ccea9fa 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/_line.py b/packages/python/plotly/plotly/graph_objs/parcoords/_line.py index 874ba941086..ea91782124c 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/_line.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/_line.py @@ -466,21 +466,6 @@ def colorbar(self): :class:`plotly.graph_objects.parcoords.line.col orbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - parcoords.line.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - parcoords.line.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/line/_colorbar.py b/packages/python/plotly/plotly/graph_objs/parcoords/line/_colorbar.py index 35f044caea4..0b2e3b6a186 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/line/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/line/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use parcoords.line.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.parcoords.line.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use parcoords.line.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.parcoords.line.colorbar.Ti tle` instance or dict with compatible properties - titlefont - Deprecated: Please use - parcoords.line.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - parcoords.line.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1800,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1849,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2064,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.parcoords.line.colorbar.Ti tle` instance or dict with compatible properties - titlefont - Deprecated: Please use - parcoords.line.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - parcoords.line.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2319,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_title.py index a475dd9bd68..61d3ae54009 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.parcoords.line .colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/title/_font.py index 566e49e6643..abd968c6cef 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/pie/_title.py b/packages/python/plotly/plotly/graph_objs/pie/_title.py index 97e6dc0c50a..a353059e419 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/_title.py +++ b/packages/python/plotly/plotly/graph_objs/pie/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets the font used for `title`. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. + Sets the font used for `title`. The 'font' property is an instance of Font that may be specified as: @@ -112,9 +111,7 @@ def font(self, val): @property def position(self): """ - Specifies the location of the `title`. Note that the title's - position used to be set by the now deprecated `titleposition` - attribute. + Specifies the location of the `title`. The 'position' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -137,9 +134,7 @@ def position(self, val): def text(self): """ Sets the title of the chart. If it is empty, no title is - displayed. Note that before the existence of `title.text`, the - title's contents used to be defined as the `title` attribute - itself. This behavior has been deprecated. + displayed. The 'text' property is a string and must be specified as: - A string @@ -161,19 +156,12 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets the font used for `title`. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets the font used for `title`. position - Specifies the location of the `title`. Note that the - title's position used to be set by the now deprecated - `titleposition` attribute. + Specifies the location of the `title`. text Sets the title of the chart. If it is empty, no title - is displayed. Note that before the existence of - `title.text`, the title's contents used to be defined - as the `title` attribute itself. This behavior has been - deprecated. + is displayed. """ def __init__(self, arg=None, font=None, position=None, text=None, **kwargs): @@ -186,19 +174,12 @@ def __init__(self, arg=None, font=None, position=None, text=None, **kwargs): dict of properties compatible with this constructor or an instance of :class:`plotly.graph_objs.pie.Title` font - Sets the font used for `title`. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets the font used for `title`. position - Specifies the location of the `title`. Note that the - title's position used to be set by the now deprecated - `titleposition` attribute. + Specifies the location of the `title`. text Sets the title of the chart. If it is empty, no title - is displayed. Note that before the existence of - `title.text`, the title's contents used to be defined - as the `title` attribute itself. This behavior has been - deprecated. + is displayed. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/pie/title/_font.py b/packages/python/plotly/plotly/graph_objs/pie/title/_font.py index cd35a3c2f07..94abdc6fad0 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/pie/title/_font.py @@ -561,8 +561,7 @@ def __init__( """ Construct a new Font object - Sets the font used for `title`. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. + Sets the font used for `title`. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/__init__.py b/packages/python/plotly/plotly/graph_objs/pointcloud/__init__.py deleted file mode 100644 index ce02a43880b..00000000000 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._hoverlabel import Hoverlabel - from ._legendgrouptitle import Legendgrouptitle - from ._marker import Marker - from ._stream import Stream - from . import hoverlabel - from . import legendgrouptitle - from . import marker -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [".hoverlabel", ".legendgrouptitle", ".marker"], - [ - "._hoverlabel.Hoverlabel", - "._legendgrouptitle.Legendgrouptitle", - "._marker.Marker", - "._stream.Stream", - ], - ) diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/pointcloud/_hoverlabel.py deleted file mode 100644 index c0bd0c0b276..00000000000 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/_hoverlabel.py +++ /dev/null @@ -1,543 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Hoverlabel(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "pointcloud" - _path_str = "pointcloud.hoverlabel" - _valid_props = { - "align", - "alignsrc", - "bgcolor", - "bgcolorsrc", - "bordercolor", - "bordercolorsrc", - "font", - "namelength", - "namelengthsrc", - } - - # align - # ----- - @property - def align(self): - """ - Sets the horizontal alignment of the text content within hover - label box. Has an effect only if the hover label text spans - more two or more lines - - The 'align' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['left', 'right', 'auto'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["align"] - - @align.setter - def align(self, val): - self["align"] = val - - # alignsrc - # -------- - @property - def alignsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `align`. - - The 'alignsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["alignsrc"] - - @alignsrc.setter - def alignsrc(self, val): - self["alignsrc"] = val - - # bgcolor - # ------- - @property - def bgcolor(self): - """ - Sets the background color of the hover labels for this trace - - The 'bgcolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: - aliceblue, antiquewhite, aqua, aquamarine, azure, - beige, bisque, black, blanchedalmond, blue, - blueviolet, brown, burlywood, cadetblue, - chartreuse, chocolate, coral, cornflowerblue, - cornsilk, crimson, cyan, darkblue, darkcyan, - darkgoldenrod, darkgray, darkgrey, darkgreen, - darkkhaki, darkmagenta, darkolivegreen, darkorange, - darkorchid, darkred, darksalmon, darkseagreen, - darkslateblue, darkslategray, darkslategrey, - darkturquoise, darkviolet, deeppink, deepskyblue, - dimgray, dimgrey, dodgerblue, firebrick, - floralwhite, forestgreen, fuchsia, gainsboro, - ghostwhite, gold, goldenrod, gray, grey, green, - greenyellow, honeydew, hotpink, indianred, indigo, - ivory, khaki, lavender, lavenderblush, lawngreen, - lemonchiffon, lightblue, lightcoral, lightcyan, - lightgoldenrodyellow, lightgray, lightgrey, - lightgreen, lightpink, lightsalmon, lightseagreen, - lightskyblue, lightslategray, lightslategrey, - lightsteelblue, lightyellow, lime, limegreen, - linen, magenta, maroon, mediumaquamarine, - mediumblue, mediumorchid, mediumpurple, - mediumseagreen, mediumslateblue, mediumspringgreen, - mediumturquoise, mediumvioletred, midnightblue, - mintcream, mistyrose, moccasin, navajowhite, navy, - oldlace, olive, olivedrab, orange, orangered, - orchid, palegoldenrod, palegreen, paleturquoise, - palevioletred, papayawhip, peachpuff, peru, pink, - plum, powderblue, purple, red, rosybrown, - royalblue, rebeccapurple, saddlebrown, salmon, - sandybrown, seagreen, seashell, sienna, silver, - skyblue, slateblue, slategray, slategrey, snow, - springgreen, steelblue, tan, teal, thistle, tomato, - turquoise, violet, wheat, white, whitesmoke, - yellow, yellowgreen - - A list or array of any of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["bgcolor"] - - @bgcolor.setter - def bgcolor(self, val): - self["bgcolor"] = val - - # bgcolorsrc - # ---------- - @property - def bgcolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `bgcolor`. - - The 'bgcolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bgcolorsrc"] - - @bgcolorsrc.setter - def bgcolorsrc(self, val): - self["bgcolorsrc"] = val - - # bordercolor - # ----------- - @property - def bordercolor(self): - """ - Sets the border color of the hover labels for this trace. - - The 'bordercolor' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: - aliceblue, antiquewhite, aqua, aquamarine, azure, - beige, bisque, black, blanchedalmond, blue, - blueviolet, brown, burlywood, cadetblue, - chartreuse, chocolate, coral, cornflowerblue, - cornsilk, crimson, cyan, darkblue, darkcyan, - darkgoldenrod, darkgray, darkgrey, darkgreen, - darkkhaki, darkmagenta, darkolivegreen, darkorange, - darkorchid, darkred, darksalmon, darkseagreen, - darkslateblue, darkslategray, darkslategrey, - darkturquoise, darkviolet, deeppink, deepskyblue, - dimgray, dimgrey, dodgerblue, firebrick, - floralwhite, forestgreen, fuchsia, gainsboro, - ghostwhite, gold, goldenrod, gray, grey, green, - greenyellow, honeydew, hotpink, indianred, indigo, - ivory, khaki, lavender, lavenderblush, lawngreen, - lemonchiffon, lightblue, lightcoral, lightcyan, - lightgoldenrodyellow, lightgray, lightgrey, - lightgreen, lightpink, lightsalmon, lightseagreen, - lightskyblue, lightslategray, lightslategrey, - lightsteelblue, lightyellow, lime, limegreen, - linen, magenta, maroon, mediumaquamarine, - mediumblue, mediumorchid, mediumpurple, - mediumseagreen, mediumslateblue, mediumspringgreen, - mediumturquoise, mediumvioletred, midnightblue, - mintcream, mistyrose, moccasin, navajowhite, navy, - oldlace, olive, olivedrab, orange, orangered, - orchid, palegoldenrod, palegreen, paleturquoise, - palevioletred, papayawhip, peachpuff, peru, pink, - plum, powderblue, purple, red, rosybrown, - royalblue, rebeccapurple, saddlebrown, salmon, - sandybrown, seagreen, seashell, sienna, silver, - skyblue, slateblue, slategray, slategrey, snow, - springgreen, steelblue, tan, teal, thistle, tomato, - turquoise, violet, wheat, white, whitesmoke, - yellow, yellowgreen - - A list or array of any of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["bordercolor"] - - @bordercolor.setter - def bordercolor(self, val): - self["bordercolor"] = val - - # bordercolorsrc - # -------------- - @property - def bordercolorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - - The 'bordercolorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["bordercolorsrc"] - - @bordercolorsrc.setter - def bordercolorsrc(self, val): - self["bordercolorsrc"] = val - - # font - # ---- - @property - def font(self): - """ - Sets the font used in hover labels. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.pointcloud.hoverlabel.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - colorsrc - Sets the source reference on Chart Studio Cloud - for `color`. - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - familysrc - Sets the source reference on Chart Studio Cloud - for `family`. - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud - for `lineposition`. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - shadowsrc - Sets the source reference on Chart Studio Cloud - for `shadow`. - size - - sizesrc - Sets the source reference on Chart Studio Cloud - for `size`. - style - Sets whether a font should be styled with a - normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud - for `style`. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud - for `textcase`. - variant - Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud - for `variant`. - weight - Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud - for `weight`. - - Returns - ------- - plotly.graph_objs.pointcloud.hoverlabel.Font - """ - return self["font"] - - @font.setter - def font(self, val): - self["font"] = val - - # namelength - # ---------- - @property - def namelength(self): - """ - Sets the default length (in number of characters) of the trace - name in the hover labels for all traces. -1 shows the whole - name regardless of length. 0-3 shows the first 0-3 characters, - and an integer >3 will show the whole name if it is less than - that many characters, but if it is longer, will truncate to - `namelength - 3` characters and add an ellipsis. - - The 'namelength' property is a integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [-1, 9223372036854775807] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|numpy.ndarray - """ - return self["namelength"] - - @namelength.setter - def namelength(self, val): - self["namelength"] = val - - # namelengthsrc - # ------------- - @property - def namelengthsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `namelength`. - - The 'namelengthsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["namelengthsrc"] - - @namelengthsrc.setter - def namelengthsrc(self, val): - self["namelengthsrc"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - align - Sets the horizontal alignment of the text content - within hover label box. Has an effect only if the hover - label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. - bgcolor - Sets the background color of the hover labels for this - trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. - bordercolor - Sets the border color of the hover labels for this - trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - font - Sets the font used in hover labels. - namelength - Sets the default length (in number of characters) of - the trace name in the hover labels for all traces. -1 - shows the whole name regardless of length. 0-3 shows - the first 0-3 characters, and an integer >3 will show - the whole name if it is less than that many characters, - but if it is longer, will truncate to `namelength - 3` - characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. - """ - - def __init__( - self, - arg=None, - align=None, - alignsrc=None, - bgcolor=None, - bgcolorsrc=None, - bordercolor=None, - bordercolorsrc=None, - font=None, - namelength=None, - namelengthsrc=None, - **kwargs, - ): - """ - Construct a new Hoverlabel object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.pointcloud.Hoverlabel` - align - Sets the horizontal alignment of the text content - within hover label box. Has an effect only if the hover - label text spans more two or more lines - alignsrc - Sets the source reference on Chart Studio Cloud for - `align`. - bgcolor - Sets the background color of the hover labels for this - trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud for - `bgcolor`. - bordercolor - Sets the border color of the hover labels for this - trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud for - `bordercolor`. - font - Sets the font used in hover labels. - namelength - Sets the default length (in number of characters) of - the trace name in the hover labels for all traces. -1 - shows the whole name regardless of length. 0-3 shows - the first 0-3 characters, and an integer >3 will show - the whole name if it is less than that many characters, - but if it is longer, will truncate to `namelength - 3` - characters and add an ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud for - `namelength`. - - Returns - ------- - Hoverlabel - """ - super(Hoverlabel, self).__init__("hoverlabel") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.pointcloud.Hoverlabel -constructor must be a dict or -an instance of :class:`plotly.graph_objs.pointcloud.Hoverlabel`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("align", None) - _v = align if align is not None else _v - if _v is not None: - self["align"] = _v - _v = arg.pop("alignsrc", None) - _v = alignsrc if alignsrc is not None else _v - if _v is not None: - self["alignsrc"] = _v - _v = arg.pop("bgcolor", None) - _v = bgcolor if bgcolor is not None else _v - if _v is not None: - self["bgcolor"] = _v - _v = arg.pop("bgcolorsrc", None) - _v = bgcolorsrc if bgcolorsrc is not None else _v - if _v is not None: - self["bgcolorsrc"] = _v - _v = arg.pop("bordercolor", None) - _v = bordercolor if bordercolor is not None else _v - if _v is not None: - self["bordercolor"] = _v - _v = arg.pop("bordercolorsrc", None) - _v = bordercolorsrc if bordercolorsrc is not None else _v - if _v is not None: - self["bordercolorsrc"] = _v - _v = arg.pop("font", None) - _v = font if font is not None else _v - if _v is not None: - self["font"] = _v - _v = arg.pop("namelength", None) - _v = namelength if namelength is not None else _v - if _v is not None: - self["namelength"] = _v - _v = arg.pop("namelengthsrc", None) - _v = namelengthsrc if namelengthsrc is not None else _v - if _v is not None: - self["namelengthsrc"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/pointcloud/_legendgrouptitle.py deleted file mode 100644 index 64b2c9c258d..00000000000 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/_legendgrouptitle.py +++ /dev/null @@ -1,177 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Legendgrouptitle(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "pointcloud" - _path_str = "pointcloud.legendgrouptitle" - _valid_props = {"font", "text"} - - # font - # ---- - @property - def font(self): - """ - Sets this legend group's title font. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.pointcloud.legendgrouptitle.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - plotly.graph_objs.pointcloud.legendgrouptitle.Font - """ - return self["font"] - - @font.setter - def font(self, val): - self["font"] = val - - # text - # ---- - @property - def text(self): - """ - Sets the title of the legend group. - - The 'text' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["text"] - - @text.setter - def text(self, val): - self["text"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - font - Sets this legend group's title font. - text - Sets the title of the legend group. - """ - - def __init__(self, arg=None, font=None, text=None, **kwargs): - """ - Construct a new Legendgrouptitle object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.pointcloud.Legendgrouptitle` - font - Sets this legend group's title font. - text - Sets the title of the legend group. - - Returns - ------- - Legendgrouptitle - """ - super(Legendgrouptitle, self).__init__("legendgrouptitle") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.pointcloud.Legendgrouptitle -constructor must be a dict or -an instance of :class:`plotly.graph_objs.pointcloud.Legendgrouptitle`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("font", None) - _v = font if font is not None else _v - if _v is not None: - self["font"] = _v - _v = arg.pop("text", None) - _v = text if text is not None else _v - if _v is not None: - self["text"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/_marker.py b/packages/python/plotly/plotly/graph_objs/pointcloud/_marker.py deleted file mode 100644 index fe1f428d669..00000000000 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/_marker.py +++ /dev/null @@ -1,343 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Marker(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "pointcloud" - _path_str = "pointcloud.marker" - _valid_props = {"blend", "border", "color", "opacity", "sizemax", "sizemin"} - - # blend - # ----- - @property - def blend(self): - """ - Determines if colors are blended together for a translucency - effect in case `opacity` is specified as a value less then `1`. - Setting `blend` to `true` reduces zoom/pan speed if used with - large numbers of points. - - The 'blend' property must be specified as a bool - (either True, or False) - - Returns - ------- - bool - """ - return self["blend"] - - @blend.setter - def blend(self, val): - self["blend"] = val - - # border - # ------ - @property - def border(self): - """ - The 'border' property is an instance of Border - that may be specified as: - - An instance of :class:`plotly.graph_objs.pointcloud.marker.Border` - - A dict of string/value properties that will be passed - to the Border constructor - - Supported dict properties: - - arearatio - Specifies what fraction of the marker area is - covered with the border. - color - Sets the stroke color. It accepts a specific - color. If the color is not fully opaque and - there are hundreds of thousands of points, it - may cause slower zooming and panning. - - Returns - ------- - plotly.graph_objs.pointcloud.marker.Border - """ - return self["border"] - - @border.setter - def border(self, val): - self["border"] = val - - # color - # ----- - @property - def color(self): - """ - Sets the marker fill color. It accepts a specific color. If the - color is not fully opaque and there are hundreds of thousands - of points, it may cause slower zooming and panning. - - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: - aliceblue, antiquewhite, aqua, aquamarine, azure, - beige, bisque, black, blanchedalmond, blue, - blueviolet, brown, burlywood, cadetblue, - chartreuse, chocolate, coral, cornflowerblue, - cornsilk, crimson, cyan, darkblue, darkcyan, - darkgoldenrod, darkgray, darkgrey, darkgreen, - darkkhaki, darkmagenta, darkolivegreen, darkorange, - darkorchid, darkred, darksalmon, darkseagreen, - darkslateblue, darkslategray, darkslategrey, - darkturquoise, darkviolet, deeppink, deepskyblue, - dimgray, dimgrey, dodgerblue, firebrick, - floralwhite, forestgreen, fuchsia, gainsboro, - ghostwhite, gold, goldenrod, gray, grey, green, - greenyellow, honeydew, hotpink, indianred, indigo, - ivory, khaki, lavender, lavenderblush, lawngreen, - lemonchiffon, lightblue, lightcoral, lightcyan, - lightgoldenrodyellow, lightgray, lightgrey, - lightgreen, lightpink, lightsalmon, lightseagreen, - lightskyblue, lightslategray, lightslategrey, - lightsteelblue, lightyellow, lime, limegreen, - linen, magenta, maroon, mediumaquamarine, - mediumblue, mediumorchid, mediumpurple, - mediumseagreen, mediumslateblue, mediumspringgreen, - mediumturquoise, mediumvioletred, midnightblue, - mintcream, mistyrose, moccasin, navajowhite, navy, - oldlace, olive, olivedrab, orange, orangered, - orchid, palegoldenrod, palegreen, paleturquoise, - palevioletred, papayawhip, peachpuff, peru, pink, - plum, powderblue, purple, red, rosybrown, - royalblue, rebeccapurple, saddlebrown, salmon, - sandybrown, seagreen, seashell, sienna, silver, - skyblue, slateblue, slategray, slategrey, snow, - springgreen, steelblue, tan, teal, thistle, tomato, - turquoise, violet, wheat, white, whitesmoke, - yellow, yellowgreen - - Returns - ------- - str - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - # opacity - # ------- - @property - def opacity(self): - """ - Sets the marker opacity. The default value is `1` (fully - opaque). If the markers are not fully opaque and there are - hundreds of thousands of points, it may cause slower zooming - and panning. Opacity fades the color even if `blend` is left on - `false` even if there is no translucency effect in that case. - - The 'opacity' property is a number and may be specified as: - - An int or float in the interval [0, 1] - - Returns - ------- - int|float - """ - return self["opacity"] - - @opacity.setter - def opacity(self, val): - self["opacity"] = val - - # sizemax - # ------- - @property - def sizemax(self): - """ - Sets the maximum size (in px) of the rendered marker points. - Effective when the `pointcloud` shows only few points. - - The 'sizemax' property is a number and may be specified as: - - An int or float in the interval [0.1, inf] - - Returns - ------- - int|float - """ - return self["sizemax"] - - @sizemax.setter - def sizemax(self, val): - self["sizemax"] = val - - # sizemin - # ------- - @property - def sizemin(self): - """ - Sets the minimum size (in px) of the rendered marker points, - effective when the `pointcloud` shows a million or more points. - - The 'sizemin' property is a number and may be specified as: - - An int or float in the interval [0.1, 2] - - Returns - ------- - int|float - """ - return self["sizemin"] - - @sizemin.setter - def sizemin(self, val): - self["sizemin"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - blend - Determines if colors are blended together for a - translucency effect in case `opacity` is specified as a - value less then `1`. Setting `blend` to `true` reduces - zoom/pan speed if used with large numbers of points. - border - :class:`plotly.graph_objects.pointcloud.marker.Border` - instance or dict with compatible properties - color - Sets the marker fill color. It accepts a specific - color. If the color is not fully opaque and there are - hundreds of thousands of points, it may cause slower - zooming and panning. - opacity - Sets the marker opacity. The default value is `1` - (fully opaque). If the markers are not fully opaque and - there are hundreds of thousands of points, it may cause - slower zooming and panning. Opacity fades the color - even if `blend` is left on `false` even if there is no - translucency effect in that case. - sizemax - Sets the maximum size (in px) of the rendered marker - points. Effective when the `pointcloud` shows only few - points. - sizemin - Sets the minimum size (in px) of the rendered marker - points, effective when the `pointcloud` shows a million - or more points. - """ - - def __init__( - self, - arg=None, - blend=None, - border=None, - color=None, - opacity=None, - sizemax=None, - sizemin=None, - **kwargs, - ): - """ - Construct a new Marker object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.pointcloud.Marker` - blend - Determines if colors are blended together for a - translucency effect in case `opacity` is specified as a - value less then `1`. Setting `blend` to `true` reduces - zoom/pan speed if used with large numbers of points. - border - :class:`plotly.graph_objects.pointcloud.marker.Border` - instance or dict with compatible properties - color - Sets the marker fill color. It accepts a specific - color. If the color is not fully opaque and there are - hundreds of thousands of points, it may cause slower - zooming and panning. - opacity - Sets the marker opacity. The default value is `1` - (fully opaque). If the markers are not fully opaque and - there are hundreds of thousands of points, it may cause - slower zooming and panning. Opacity fades the color - even if `blend` is left on `false` even if there is no - translucency effect in that case. - sizemax - Sets the maximum size (in px) of the rendered marker - points. Effective when the `pointcloud` shows only few - points. - sizemin - Sets the minimum size (in px) of the rendered marker - points, effective when the `pointcloud` shows a million - or more points. - - Returns - ------- - Marker - """ - super(Marker, self).__init__("marker") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.pointcloud.Marker -constructor must be a dict or -an instance of :class:`plotly.graph_objs.pointcloud.Marker`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("blend", None) - _v = blend if blend is not None else _v - if _v is not None: - self["blend"] = _v - _v = arg.pop("border", None) - _v = border if border is not None else _v - if _v is not None: - self["border"] = _v - _v = arg.pop("color", None) - _v = color if color is not None else _v - if _v is not None: - self["color"] = _v - _v = arg.pop("opacity", None) - _v = opacity if opacity is not None else _v - if _v is not None: - self["opacity"] = _v - _v = arg.pop("sizemax", None) - _v = sizemax if sizemax is not None else _v - if _v is not None: - self["sizemax"] = _v - _v = arg.pop("sizemin", None) - _v = sizemin if sizemin is not None else _v - if _v is not None: - self["sizemin"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/_stream.py b/packages/python/plotly/plotly/graph_objs/pointcloud/_stream.py deleted file mode 100644 index ebf0f9f128d..00000000000 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/_stream.py +++ /dev/null @@ -1,141 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Stream(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "pointcloud" - _path_str = "pointcloud.stream" - _valid_props = {"maxpoints", "token"} - - # maxpoints - # --------- - @property - def maxpoints(self): - """ - Sets the maximum number of points to keep on the plots from an - incoming stream. If `maxpoints` is set to 50, only the newest - 50 points will be displayed on the plot. - - The 'maxpoints' property is a number and may be specified as: - - An int or float in the interval [0, 10000] - - Returns - ------- - int|float - """ - return self["maxpoints"] - - @maxpoints.setter - def maxpoints(self, val): - self["maxpoints"] = val - - # token - # ----- - @property - def token(self): - """ - The stream id number links a data trace on a plot with a - stream. See https://chart-studio.plotly.com/settings for more - details. - - The 'token' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["token"] - - @token.setter - def token(self, val): - self["token"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - """ - - def __init__(self, arg=None, maxpoints=None, token=None, **kwargs): - """ - Construct a new Stream object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.pointcloud.Stream` - maxpoints - Sets the maximum number of points to keep on the plots - from an incoming stream. If `maxpoints` is set to 50, - only the newest 50 points will be displayed on the - plot. - token - The stream id number links a data trace on a plot with - a stream. See https://chart-studio.plotly.com/settings - for more details. - - Returns - ------- - Stream - """ - super(Stream, self).__init__("stream") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.pointcloud.Stream -constructor must be a dict or -an instance of :class:`plotly.graph_objs.pointcloud.Stream`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("maxpoints", None) - _v = maxpoints if maxpoints is not None else _v - if _v is not None: - self["maxpoints"] = _v - _v = arg.pop("token", None) - _v = token if token is not None else _v - if _v is not None: - self["token"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/hoverlabel/__init__.py b/packages/python/plotly/plotly/graph_objs/pointcloud/hoverlabel/__init__.py deleted file mode 100644 index 2b474e3e063..00000000000 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/hoverlabel/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._font import Font -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/pointcloud/hoverlabel/_font.py deleted file mode 100644 index ca4e875203f..00000000000 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/hoverlabel/_font.py +++ /dev/null @@ -1,750 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Font(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "pointcloud.hoverlabel" - _path_str = "pointcloud.hoverlabel.font" - _valid_props = { - "color", - "colorsrc", - "family", - "familysrc", - "lineposition", - "linepositionsrc", - "shadow", - "shadowsrc", - "size", - "sizesrc", - "style", - "stylesrc", - "textcase", - "textcasesrc", - "variant", - "variantsrc", - "weight", - "weightsrc", - } - - # color - # ----- - @property - def color(self): - """ - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: - aliceblue, antiquewhite, aqua, aquamarine, azure, - beige, bisque, black, blanchedalmond, blue, - blueviolet, brown, burlywood, cadetblue, - chartreuse, chocolate, coral, cornflowerblue, - cornsilk, crimson, cyan, darkblue, darkcyan, - darkgoldenrod, darkgray, darkgrey, darkgreen, - darkkhaki, darkmagenta, darkolivegreen, darkorange, - darkorchid, darkred, darksalmon, darkseagreen, - darkslateblue, darkslategray, darkslategrey, - darkturquoise, darkviolet, deeppink, deepskyblue, - dimgray, dimgrey, dodgerblue, firebrick, - floralwhite, forestgreen, fuchsia, gainsboro, - ghostwhite, gold, goldenrod, gray, grey, green, - greenyellow, honeydew, hotpink, indianred, indigo, - ivory, khaki, lavender, lavenderblush, lawngreen, - lemonchiffon, lightblue, lightcoral, lightcyan, - lightgoldenrodyellow, lightgray, lightgrey, - lightgreen, lightpink, lightsalmon, lightseagreen, - lightskyblue, lightslategray, lightslategrey, - lightsteelblue, lightyellow, lime, limegreen, - linen, magenta, maroon, mediumaquamarine, - mediumblue, mediumorchid, mediumpurple, - mediumseagreen, mediumslateblue, mediumspringgreen, - mediumturquoise, mediumvioletred, midnightblue, - mintcream, mistyrose, moccasin, navajowhite, navy, - oldlace, olive, olivedrab, orange, orangered, - orchid, palegoldenrod, palegreen, paleturquoise, - palevioletred, papayawhip, peachpuff, peru, pink, - plum, powderblue, purple, red, rosybrown, - royalblue, rebeccapurple, saddlebrown, salmon, - sandybrown, seagreen, seashell, sienna, silver, - skyblue, slateblue, slategray, slategrey, snow, - springgreen, steelblue, tan, teal, thistle, tomato, - turquoise, violet, wheat, white, whitesmoke, - yellow, yellowgreen - - A list or array of any of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - # colorsrc - # -------- - @property - def colorsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `color`. - - The 'colorsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["colorsrc"] - - @colorsrc.setter - def colorsrc(self, val): - self["colorsrc"] = val - - # family - # ------ - @property - def family(self): - """ - HTML font family - the typeface that will be applied by the web - browser. The web browser will only be able to apply a font if - it is available on the system which it operates. Provide - multiple font families, separated by commas, to indicate the - preference in which to apply fonts if they aren't available on - the system. The Chart Studio Cloud (at https://chart- - studio.plotly.com or on-premise) generates images on a server, - where only a select number of fonts are installed and - supported. These include "Arial", "Balto", "Courier New", - "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", - "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", - "Raleway", "Times New Roman". - - The 'family' property is a string and must be specified as: - - A non-empty string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["family"] - - @family.setter - def family(self, val): - self["family"] = val - - # familysrc - # --------- - @property - def familysrc(self): - """ - Sets the source reference on Chart Studio Cloud for `family`. - - The 'familysrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["familysrc"] - - @familysrc.setter - def familysrc(self, val): - self["familysrc"] = val - - # lineposition - # ------------ - @property - def lineposition(self): - """ - Sets the kind of decoration line(s) with text, such as an - "under", "over" or "through" as well as combinations e.g. - "under+over", etc. - - The 'lineposition' property is a flaglist and may be specified - as a string containing: - - Any combination of ['under', 'over', 'through'] joined with '+' characters - (e.g. 'under+over') - OR exactly one of ['none'] (e.g. 'none') - - A list or array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["lineposition"] - - @lineposition.setter - def lineposition(self, val): - self["lineposition"] = val - - # linepositionsrc - # --------------- - @property - def linepositionsrc(self): - """ - Sets the source reference on Chart Studio Cloud for - `lineposition`. - - The 'linepositionsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["linepositionsrc"] - - @linepositionsrc.setter - def linepositionsrc(self, val): - self["linepositionsrc"] = val - - # shadow - # ------ - @property - def shadow(self): - """ - Sets the shape and color of the shadow behind text. "auto" - places minimal shadow and applies contrast text font color. See - https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow - for additional options. - - The 'shadow' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - str|numpy.ndarray - """ - return self["shadow"] - - @shadow.setter - def shadow(self, val): - self["shadow"] = val - - # shadowsrc - # --------- - @property - def shadowsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `shadow`. - - The 'shadowsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["shadowsrc"] - - @shadowsrc.setter - def shadowsrc(self, val): - self["shadowsrc"] = val - - # size - # ---- - @property - def size(self): - """ - The 'size' property is a number and may be specified as: - - An int or float in the interval [1, inf] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|float|numpy.ndarray - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - # sizesrc - # ------- - @property - def sizesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `size`. - - The 'sizesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["sizesrc"] - - @sizesrc.setter - def sizesrc(self, val): - self["sizesrc"] = val - - # style - # ----- - @property - def style(self): - """ - Sets whether a font should be styled with a normal or italic - face from its family. - - The 'style' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'italic'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["style"] - - @style.setter - def style(self, val): - self["style"] = val - - # stylesrc - # -------- - @property - def stylesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `style`. - - The 'stylesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["stylesrc"] - - @stylesrc.setter - def stylesrc(self, val): - self["stylesrc"] = val - - # textcase - # -------- - @property - def textcase(self): - """ - Sets capitalization of text. It can be used to make text appear - in all-uppercase or all-lowercase, or with each word - capitalized. - - The 'textcase' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'word caps', 'upper', 'lower'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["textcase"] - - @textcase.setter - def textcase(self, val): - self["textcase"] = val - - # textcasesrc - # ----------- - @property - def textcasesrc(self): - """ - Sets the source reference on Chart Studio Cloud for `textcase`. - - The 'textcasesrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["textcasesrc"] - - @textcasesrc.setter - def textcasesrc(self, val): - self["textcasesrc"] = val - - # variant - # ------- - @property - def variant(self): - """ - Sets the variant of the font. - - The 'variant' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'small-caps', 'all-small-caps', - 'all-petite-caps', 'petite-caps', 'unicase'] - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - Any|numpy.ndarray - """ - return self["variant"] - - @variant.setter - def variant(self, val): - self["variant"] = val - - # variantsrc - # ---------- - @property - def variantsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `variant`. - - The 'variantsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["variantsrc"] - - @variantsrc.setter - def variantsrc(self, val): - self["variantsrc"] = val - - # weight - # ------ - @property - def weight(self): - """ - Sets the weight (or boldness) of the font. - - The 'weight' property is a integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 1000] - OR exactly one of ['normal', 'bold'] (e.g. 'bold') - - A tuple, list, or one-dimensional numpy array of the above - - Returns - ------- - int|numpy.ndarray - """ - return self["weight"] - - @weight.setter - def weight(self, val): - self["weight"] = val - - # weightsrc - # --------- - @property - def weightsrc(self): - """ - Sets the source reference on Chart Studio Cloud for `weight`. - - The 'weightsrc' property must be specified as a string or - as a plotly.grid_objs.Column object - - Returns - ------- - str - """ - return self["weightsrc"] - - @weightsrc.setter - def weightsrc(self, val): - self["weightsrc"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - color - - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. - family - HTML font family - the typeface that will be applied by - the web browser. The web browser will only be able to - apply a font if it is available on the system which it - operates. Provide multiple font families, separated by - commas, to indicate the preference in which to apply - fonts if they aren't available on the system. The Chart - Studio Cloud (at https://chart-studio.plotly.com or on- - premise) generates images on a server, where only a - select number of fonts are installed and supported. - These include "Arial", "Balto", "Courier New", "Droid - Sans", "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT - Sans Narrow", "Raleway", "Times New Roman". - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. - size - - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. - style - Sets whether a font should be styled with a normal or - italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. - variant - Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. - weight - Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. - """ - - def __init__( - self, - arg=None, - color=None, - colorsrc=None, - family=None, - familysrc=None, - lineposition=None, - linepositionsrc=None, - shadow=None, - shadowsrc=None, - size=None, - sizesrc=None, - style=None, - stylesrc=None, - textcase=None, - textcasesrc=None, - variant=None, - variantsrc=None, - weight=None, - weightsrc=None, - **kwargs, - ): - """ - Construct a new Font object - - Sets the font used in hover labels. - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.pointcloud.hoverlabel.Font` - color - - colorsrc - Sets the source reference on Chart Studio Cloud for - `color`. - family - HTML font family - the typeface that will be applied by - the web browser. The web browser will only be able to - apply a font if it is available on the system which it - operates. Provide multiple font families, separated by - commas, to indicate the preference in which to apply - fonts if they aren't available on the system. The Chart - Studio Cloud (at https://chart-studio.plotly.com or on- - premise) generates images on a server, where only a - select number of fonts are installed and supported. - These include "Arial", "Balto", "Courier New", "Droid - Sans", "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT - Sans Narrow", "Raleway", "Times New Roman". - familysrc - Sets the source reference on Chart Studio Cloud for - `family`. - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud for - `lineposition`. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - shadowsrc - Sets the source reference on Chart Studio Cloud for - `shadow`. - size - - sizesrc - Sets the source reference on Chart Studio Cloud for - `size`. - style - Sets whether a font should be styled with a normal or - italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud for - `style`. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud for - `textcase`. - variant - Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud for - `variant`. - weight - Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud for - `weight`. - - Returns - ------- - Font - """ - super(Font, self).__init__("font") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.pointcloud.hoverlabel.Font -constructor must be a dict or -an instance of :class:`plotly.graph_objs.pointcloud.hoverlabel.Font`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("color", None) - _v = color if color is not None else _v - if _v is not None: - self["color"] = _v - _v = arg.pop("colorsrc", None) - _v = colorsrc if colorsrc is not None else _v - if _v is not None: - self["colorsrc"] = _v - _v = arg.pop("family", None) - _v = family if family is not None else _v - if _v is not None: - self["family"] = _v - _v = arg.pop("familysrc", None) - _v = familysrc if familysrc is not None else _v - if _v is not None: - self["familysrc"] = _v - _v = arg.pop("lineposition", None) - _v = lineposition if lineposition is not None else _v - if _v is not None: - self["lineposition"] = _v - _v = arg.pop("linepositionsrc", None) - _v = linepositionsrc if linepositionsrc is not None else _v - if _v is not None: - self["linepositionsrc"] = _v - _v = arg.pop("shadow", None) - _v = shadow if shadow is not None else _v - if _v is not None: - self["shadow"] = _v - _v = arg.pop("shadowsrc", None) - _v = shadowsrc if shadowsrc is not None else _v - if _v is not None: - self["shadowsrc"] = _v - _v = arg.pop("size", None) - _v = size if size is not None else _v - if _v is not None: - self["size"] = _v - _v = arg.pop("sizesrc", None) - _v = sizesrc if sizesrc is not None else _v - if _v is not None: - self["sizesrc"] = _v - _v = arg.pop("style", None) - _v = style if style is not None else _v - if _v is not None: - self["style"] = _v - _v = arg.pop("stylesrc", None) - _v = stylesrc if stylesrc is not None else _v - if _v is not None: - self["stylesrc"] = _v - _v = arg.pop("textcase", None) - _v = textcase if textcase is not None else _v - if _v is not None: - self["textcase"] = _v - _v = arg.pop("textcasesrc", None) - _v = textcasesrc if textcasesrc is not None else _v - if _v is not None: - self["textcasesrc"] = _v - _v = arg.pop("variant", None) - _v = variant if variant is not None else _v - if _v is not None: - self["variant"] = _v - _v = arg.pop("variantsrc", None) - _v = variantsrc if variantsrc is not None else _v - if _v is not None: - self["variantsrc"] = _v - _v = arg.pop("weight", None) - _v = weight if weight is not None else _v - if _v is not None: - self["weight"] = _v - _v = arg.pop("weightsrc", None) - _v = weightsrc if weightsrc is not None else _v - if _v is not None: - self["weightsrc"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/legendgrouptitle/__init__.py b/packages/python/plotly/plotly/graph_objs/pointcloud/legendgrouptitle/__init__.py deleted file mode 100644 index 2b474e3e063..00000000000 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/legendgrouptitle/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._font import Font -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/pointcloud/legendgrouptitle/_font.py deleted file mode 100644 index f0bc3901dd0..00000000000 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/legendgrouptitle/_font.py +++ /dev/null @@ -1,452 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Font(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "pointcloud.legendgrouptitle" - _path_str = "pointcloud.legendgrouptitle.font" - _valid_props = { - "color", - "family", - "lineposition", - "shadow", - "size", - "style", - "textcase", - "variant", - "weight", - } - - # color - # ----- - @property - def color(self): - """ - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: - aliceblue, antiquewhite, aqua, aquamarine, azure, - beige, bisque, black, blanchedalmond, blue, - blueviolet, brown, burlywood, cadetblue, - chartreuse, chocolate, coral, cornflowerblue, - cornsilk, crimson, cyan, darkblue, darkcyan, - darkgoldenrod, darkgray, darkgrey, darkgreen, - darkkhaki, darkmagenta, darkolivegreen, darkorange, - darkorchid, darkred, darksalmon, darkseagreen, - darkslateblue, darkslategray, darkslategrey, - darkturquoise, darkviolet, deeppink, deepskyblue, - dimgray, dimgrey, dodgerblue, firebrick, - floralwhite, forestgreen, fuchsia, gainsboro, - ghostwhite, gold, goldenrod, gray, grey, green, - greenyellow, honeydew, hotpink, indianred, indigo, - ivory, khaki, lavender, lavenderblush, lawngreen, - lemonchiffon, lightblue, lightcoral, lightcyan, - lightgoldenrodyellow, lightgray, lightgrey, - lightgreen, lightpink, lightsalmon, lightseagreen, - lightskyblue, lightslategray, lightslategrey, - lightsteelblue, lightyellow, lime, limegreen, - linen, magenta, maroon, mediumaquamarine, - mediumblue, mediumorchid, mediumpurple, - mediumseagreen, mediumslateblue, mediumspringgreen, - mediumturquoise, mediumvioletred, midnightblue, - mintcream, mistyrose, moccasin, navajowhite, navy, - oldlace, olive, olivedrab, orange, orangered, - orchid, palegoldenrod, palegreen, paleturquoise, - palevioletred, papayawhip, peachpuff, peru, pink, - plum, powderblue, purple, red, rosybrown, - royalblue, rebeccapurple, saddlebrown, salmon, - sandybrown, seagreen, seashell, sienna, silver, - skyblue, slateblue, slategray, slategrey, snow, - springgreen, steelblue, tan, teal, thistle, tomato, - turquoise, violet, wheat, white, whitesmoke, - yellow, yellowgreen - - Returns - ------- - str - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - # family - # ------ - @property - def family(self): - """ - HTML font family - the typeface that will be applied by the web - browser. The web browser will only be able to apply a font if - it is available on the system which it operates. Provide - multiple font families, separated by commas, to indicate the - preference in which to apply fonts if they aren't available on - the system. The Chart Studio Cloud (at https://chart- - studio.plotly.com or on-premise) generates images on a server, - where only a select number of fonts are installed and - supported. These include "Arial", "Balto", "Courier New", - "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", - "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", - "Raleway", "Times New Roman". - - The 'family' property is a string and must be specified as: - - A non-empty string - - Returns - ------- - str - """ - return self["family"] - - @family.setter - def family(self, val): - self["family"] = val - - # lineposition - # ------------ - @property - def lineposition(self): - """ - Sets the kind of decoration line(s) with text, such as an - "under", "over" or "through" as well as combinations e.g. - "under+over", etc. - - The 'lineposition' property is a flaglist and may be specified - as a string containing: - - Any combination of ['under', 'over', 'through'] joined with '+' characters - (e.g. 'under+over') - OR exactly one of ['none'] (e.g. 'none') - - Returns - ------- - Any - """ - return self["lineposition"] - - @lineposition.setter - def lineposition(self, val): - self["lineposition"] = val - - # shadow - # ------ - @property - def shadow(self): - """ - Sets the shape and color of the shadow behind text. "auto" - places minimal shadow and applies contrast text font color. See - https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow - for additional options. - - The 'shadow' property is a string and must be specified as: - - A string - - A number that will be converted to a string - - Returns - ------- - str - """ - return self["shadow"] - - @shadow.setter - def shadow(self, val): - self["shadow"] = val - - # size - # ---- - @property - def size(self): - """ - The 'size' property is a number and may be specified as: - - An int or float in the interval [1, inf] - - Returns - ------- - int|float - """ - return self["size"] - - @size.setter - def size(self, val): - self["size"] = val - - # style - # ----- - @property - def style(self): - """ - Sets whether a font should be styled with a normal or italic - face from its family. - - The 'style' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'italic'] - - Returns - ------- - Any - """ - return self["style"] - - @style.setter - def style(self, val): - self["style"] = val - - # textcase - # -------- - @property - def textcase(self): - """ - Sets capitalization of text. It can be used to make text appear - in all-uppercase or all-lowercase, or with each word - capitalized. - - The 'textcase' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'word caps', 'upper', 'lower'] - - Returns - ------- - Any - """ - return self["textcase"] - - @textcase.setter - def textcase(self, val): - self["textcase"] = val - - # variant - # ------- - @property - def variant(self): - """ - Sets the variant of the font. - - The 'variant' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'small-caps', 'all-small-caps', - 'all-petite-caps', 'petite-caps', 'unicase'] - - Returns - ------- - Any - """ - return self["variant"] - - @variant.setter - def variant(self, val): - self["variant"] = val - - # weight - # ------ - @property - def weight(self): - """ - Sets the weight (or boldness) of the font. - - The 'weight' property is a integer and may be specified as: - - An int (or float that will be cast to an int) - in the interval [1, 1000] - OR exactly one of ['normal', 'bold'] (e.g. 'bold') - - Returns - ------- - int - """ - return self["weight"] - - @weight.setter - def weight(self, val): - self["weight"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser will only be able to - apply a font if it is available on the system which it - operates. Provide multiple font families, separated by - commas, to indicate the preference in which to apply - fonts if they aren't available on the system. The Chart - Studio Cloud (at https://chart-studio.plotly.com or on- - premise) generates images on a server, where only a - select number of fonts are installed and supported. - These include "Arial", "Balto", "Courier New", "Droid - Sans", "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT - Sans Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - """ - - def __init__( - self, - arg=None, - color=None, - family=None, - lineposition=None, - shadow=None, - size=None, - style=None, - textcase=None, - variant=None, - weight=None, - **kwargs, - ): - """ - Construct a new Font object - - Sets this legend group's title font. - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of :class:`plotly.graph_objs.pointcloud.leg - endgrouptitle.Font` - color - - family - HTML font family - the typeface that will be applied by - the web browser. The web browser will only be able to - apply a font if it is available on the system which it - operates. Provide multiple font families, separated by - commas, to indicate the preference in which to apply - fonts if they aren't available on the system. The Chart - Studio Cloud (at https://chart-studio.plotly.com or on- - premise) generates images on a server, where only a - select number of fonts are installed and supported. - These include "Arial", "Balto", "Courier New", "Droid - Sans", "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT - Sans Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, such as - an "under", "over" or "through" as well as combinations - e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind text. - "auto" places minimal shadow and applies contrast text - font color. See https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional options. - size - - style - Sets whether a font should be styled with a normal or - italic face from its family. - textcase - Sets capitalization of text. It can be used to make - text appear in all-uppercase or all-lowercase, or with - each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - Font - """ - super(Font, self).__init__("font") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.pointcloud.legendgrouptitle.Font -constructor must be a dict or -an instance of :class:`plotly.graph_objs.pointcloud.legendgrouptitle.Font`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("color", None) - _v = color if color is not None else _v - if _v is not None: - self["color"] = _v - _v = arg.pop("family", None) - _v = family if family is not None else _v - if _v is not None: - self["family"] = _v - _v = arg.pop("lineposition", None) - _v = lineposition if lineposition is not None else _v - if _v is not None: - self["lineposition"] = _v - _v = arg.pop("shadow", None) - _v = shadow if shadow is not None else _v - if _v is not None: - self["shadow"] = _v - _v = arg.pop("size", None) - _v = size if size is not None else _v - if _v is not None: - self["size"] = _v - _v = arg.pop("style", None) - _v = style if style is not None else _v - if _v is not None: - self["style"] = _v - _v = arg.pop("textcase", None) - _v = textcase if textcase is not None else _v - if _v is not None: - self["textcase"] = _v - _v = arg.pop("variant", None) - _v = variant if variant is not None else _v - if _v is not None: - self["variant"] = _v - _v = arg.pop("weight", None) - _v = weight if weight is not None else _v - if _v is not None: - self["weight"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/marker/__init__.py b/packages/python/plotly/plotly/graph_objs/pointcloud/marker/__init__.py deleted file mode 100644 index 6acb2d74367..00000000000 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/marker/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._border import Border -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._border.Border"]) diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/marker/_border.py b/packages/python/plotly/plotly/graph_objs/pointcloud/marker/_border.py deleted file mode 100644 index 1a44736205f..00000000000 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/marker/_border.py +++ /dev/null @@ -1,177 +0,0 @@ -from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType -import copy as _copy - - -class Border(_BaseTraceHierarchyType): - - # class properties - # -------------------- - _parent_path_str = "pointcloud.marker" - _path_str = "pointcloud.marker.border" - _valid_props = {"arearatio", "color"} - - # arearatio - # --------- - @property - def arearatio(self): - """ - Specifies what fraction of the marker area is covered with the - border. - - The 'arearatio' property is a number and may be specified as: - - An int or float in the interval [0, 1] - - Returns - ------- - int|float - """ - return self["arearatio"] - - @arearatio.setter - def arearatio(self, val): - self["arearatio"] = val - - # color - # ----- - @property - def color(self): - """ - Sets the stroke color. It accepts a specific color. If the - color is not fully opaque and there are hundreds of thousands - of points, it may cause slower zooming and panning. - - The 'color' property is a color and may be specified as: - - A hex string (e.g. '#ff0000') - - An rgb/rgba string (e.g. 'rgb(255,0,0)') - - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - - A named CSS color: - aliceblue, antiquewhite, aqua, aquamarine, azure, - beige, bisque, black, blanchedalmond, blue, - blueviolet, brown, burlywood, cadetblue, - chartreuse, chocolate, coral, cornflowerblue, - cornsilk, crimson, cyan, darkblue, darkcyan, - darkgoldenrod, darkgray, darkgrey, darkgreen, - darkkhaki, darkmagenta, darkolivegreen, darkorange, - darkorchid, darkred, darksalmon, darkseagreen, - darkslateblue, darkslategray, darkslategrey, - darkturquoise, darkviolet, deeppink, deepskyblue, - dimgray, dimgrey, dodgerblue, firebrick, - floralwhite, forestgreen, fuchsia, gainsboro, - ghostwhite, gold, goldenrod, gray, grey, green, - greenyellow, honeydew, hotpink, indianred, indigo, - ivory, khaki, lavender, lavenderblush, lawngreen, - lemonchiffon, lightblue, lightcoral, lightcyan, - lightgoldenrodyellow, lightgray, lightgrey, - lightgreen, lightpink, lightsalmon, lightseagreen, - lightskyblue, lightslategray, lightslategrey, - lightsteelblue, lightyellow, lime, limegreen, - linen, magenta, maroon, mediumaquamarine, - mediumblue, mediumorchid, mediumpurple, - mediumseagreen, mediumslateblue, mediumspringgreen, - mediumturquoise, mediumvioletred, midnightblue, - mintcream, mistyrose, moccasin, navajowhite, navy, - oldlace, olive, olivedrab, orange, orangered, - orchid, palegoldenrod, palegreen, paleturquoise, - palevioletred, papayawhip, peachpuff, peru, pink, - plum, powderblue, purple, red, rosybrown, - royalblue, rebeccapurple, saddlebrown, salmon, - sandybrown, seagreen, seashell, sienna, silver, - skyblue, slateblue, slategray, slategrey, snow, - springgreen, steelblue, tan, teal, thistle, tomato, - turquoise, violet, wheat, white, whitesmoke, - yellow, yellowgreen - - Returns - ------- - str - """ - return self["color"] - - @color.setter - def color(self, val): - self["color"] = val - - # Self properties description - # --------------------------- - @property - def _prop_descriptions(self): - return """\ - arearatio - Specifies what fraction of the marker area is covered - with the border. - color - Sets the stroke color. It accepts a specific color. If - the color is not fully opaque and there are hundreds of - thousands of points, it may cause slower zooming and - panning. - """ - - def __init__(self, arg=None, arearatio=None, color=None, **kwargs): - """ - Construct a new Border object - - Parameters - ---------- - arg - dict of properties compatible with this constructor or - an instance of - :class:`plotly.graph_objs.pointcloud.marker.Border` - arearatio - Specifies what fraction of the marker area is covered - with the border. - color - Sets the stroke color. It accepts a specific color. If - the color is not fully opaque and there are hundreds of - thousands of points, it may cause slower zooming and - panning. - - Returns - ------- - Border - """ - super(Border, self).__init__("border") - - if "_parent" in kwargs: - self._parent = kwargs["_parent"] - return - - # Validate arg - # ------------ - if arg is None: - arg = {} - elif isinstance(arg, self.__class__): - arg = arg.to_plotly_json() - elif isinstance(arg, dict): - arg = _copy.copy(arg) - else: - raise ValueError( - """\ -The first argument to the plotly.graph_objs.pointcloud.marker.Border -constructor must be a dict or -an instance of :class:`plotly.graph_objs.pointcloud.marker.Border`""" - ) - - # Handle skip_invalid - # ------------------- - self._skip_invalid = kwargs.pop("skip_invalid", False) - self._validate = kwargs.pop("_validate", True) - - # Populate data dict with properties - # ---------------------------------- - _v = arg.pop("arearatio", None) - _v = arearatio if arearatio is not None else _v - if _v is not None: - self["arearatio"] = _v - _v = arg.pop("color", None) - _v = color if color is not None else _v - if _v is not None: - self["color"] = _v - - # Process unknown kwargs - # ---------------------- - self._process_kwargs(**dict(arg, **kwargs)) - - # Reset skip_invalid - # ------------------ - self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/scatter/_error_x.py b/packages/python/plotly/plotly/graph_objs/scatter/_error_x.py index d4f8f506ccf..60a4663ad00 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/_error_x.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/_error_x.py @@ -115,7 +115,7 @@ def arraysrc(self, val): @property def color(self): """ - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. The 'color' property is a color and may be specified as: - A hex string (e.g. '#ff0000') @@ -401,7 +401,7 @@ def _prop_descriptions(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_ystyle symmetric @@ -487,7 +487,7 @@ def __init__( Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_ystyle symmetric diff --git a/packages/python/plotly/plotly/graph_objs/scatter/_error_y.py b/packages/python/plotly/plotly/graph_objs/scatter/_error_y.py index 8c24017d10a..6c40ce1c2f9 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/_error_y.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/_error_y.py @@ -114,7 +114,7 @@ def arraysrc(self, val): @property def color(self): """ - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. The 'color' property is a color and may be specified as: - A hex string (e.g. '#ff0000') @@ -382,7 +382,7 @@ def _prop_descriptions(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, @@ -465,7 +465,7 @@ def __init__( Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, diff --git a/packages/python/plotly/plotly/graph_objs/scatter/_marker.py b/packages/python/plotly/plotly/graph_objs/scatter/_marker.py index bf4958dc87a..f3dd1eb2974 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/_marker.py @@ -549,21 +549,6 @@ def colorbar(self): :class:`plotly.graph_objects.scatter.marker.col orbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatter.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatter.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/scatter/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatter/marker/_colorbar.py index df7d488e46c..dc0ff92db98 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use scatter.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.scatter.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use scatter.marker.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.scatter.marker.colorbar.Ti tle` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatter.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatter.marker.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1800,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1849,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2064,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.scatter.marker.colorbar.Ti tle` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatter.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatter.marker.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2319,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_title.py index aeff9e6faf8..d4f420caf94 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.scatter.marker .colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/title/_font.py index b2851a50d64..a15f2dfb700 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/_error_x.py b/packages/python/plotly/plotly/graph_objs/scatter3d/_error_x.py index 4ac8291f571..7a2abacc6c9 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/_error_x.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/_error_x.py @@ -115,7 +115,7 @@ def arraysrc(self, val): @property def color(self): """ - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. The 'color' property is a color and may be specified as: - A hex string (e.g. '#ff0000') @@ -401,7 +401,7 @@ def _prop_descriptions(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_zstyle symmetric @@ -487,7 +487,7 @@ def __init__( Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_zstyle symmetric diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/_error_y.py b/packages/python/plotly/plotly/graph_objs/scatter3d/_error_y.py index 7f34e433f42..6e011a401d4 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/_error_y.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/_error_y.py @@ -115,7 +115,7 @@ def arraysrc(self, val): @property def color(self): """ - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. The 'color' property is a color and may be specified as: - A hex string (e.g. '#ff0000') @@ -401,7 +401,7 @@ def _prop_descriptions(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_zstyle symmetric @@ -487,7 +487,7 @@ def __init__( Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_zstyle symmetric diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/_error_z.py b/packages/python/plotly/plotly/graph_objs/scatter3d/_error_z.py index 10eabe1fedc..961f07cac04 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/_error_z.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/_error_z.py @@ -114,7 +114,7 @@ def arraysrc(self, val): @property def color(self): """ - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. The 'color' property is a color and may be specified as: - A hex string (e.g. '#ff0000') @@ -382,7 +382,7 @@ def _prop_descriptions(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, @@ -465,7 +465,7 @@ def __init__( Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/_line.py b/packages/python/plotly/plotly/graph_objs/scatter3d/_line.py index 0e0b7a50bff..3005090f810 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/_line.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/_line.py @@ -468,21 +468,6 @@ def colorbar(self): :class:`plotly.graph_objects.scatter3d.line.col orbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatter3d.line.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatter3d.line.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/_marker.py b/packages/python/plotly/plotly/graph_objs/scatter3d/_marker.py index c2601a8de15..36d86b9fda5 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/_marker.py @@ -476,21 +476,6 @@ def colorbar(self): :class:`plotly.graph_objects.scatter3d.marker.c olorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatter3d.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatter3d.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/line/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatter3d/line/_colorbar.py index 591ed43fdc6..d987d717ba6 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/line/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/line/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use scatter3d.line.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.scatter3d.line.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use scatter3d.line.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.scatter3d.line.colorbar.Ti tle` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatter3d.line.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatter3d.line.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1800,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1849,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2064,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.scatter3d.line.colorbar.Ti tle` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatter3d.line.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatter3d.line.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2319,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_title.py index 511faf93e2a..3483e9e4a68 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.scatter3d.line .colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/title/_font.py index 009d3d5ae42..a98fdfd8b26 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/_colorbar.py index 2ffe9dfdf5f..19904e58459 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use scatter3d.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.scatter3d.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use scatter3d.marker.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,20 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.scatter3d.marker.colorbar. Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatter3d.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatter3d.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1801,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1850,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2065,20 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.scatter3d.marker.colorbar. Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatter3d.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatter3d.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2321,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_title.py index ce23f6aca9c..c048363a0c2 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.scatter3d.mark er.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/title/_font.py index cddf0b6feb3..1da64423030 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/_marker.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/_marker.py index 64fcf8cd4a0..1d1e05bd353 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/_marker.py @@ -549,21 +549,6 @@ def colorbar(self): :class:`plotly.graph_objects.scattercarpet.mark er.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattercarpet.marker.colorbar.title.font - instead. Sets this color bar's title font. Note - that the title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scattercarpet.marker.colorbar.title.side - instead. Determines the location of color bar's - title with respect to the color bar. Defaults - to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". - Note that the title's location used to be set - by the now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/_colorbar.py index 7ce42932ce6..6b7cd89da43 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use scattercarpet.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattercarpet.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use scattercarpet.marker.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,21 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.scattercarpet.marker.color bar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattercarpet.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - scattercarpet.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1802,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1851,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2066,21 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.scattercarpet.marker.color bar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattercarpet.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - scattercarpet.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2323,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_title.py index 71bddd6f2b0..537a7994e5f 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.scattercarpet. marker.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/title/_font.py index b6da2adefc5..7df5a819af3 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/_marker.py b/packages/python/plotly/plotly/graph_objs/scattergeo/_marker.py index d913a4e61b3..ac1ea833746 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/_marker.py @@ -550,21 +550,6 @@ def colorbar(self): :class:`plotly.graph_objects.scattergeo.marker. colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattergeo.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scattergeo.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/_colorbar.py index a5c2f599e53..7751a1ac295 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use scattergeo.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattergeo.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use scattergeo.marker.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,21 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.scattergeo.marker.colorbar .Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattergeo.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - scattergeo.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1802,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1851,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2066,21 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.scattergeo.marker.colorbar .Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattergeo.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - scattergeo.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2323,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_title.py index f4ed9b6efe6..6194cbbed48 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.scattergeo.mar ker.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/title/_font.py index ca8eaa28072..600b1baf026 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/_error_x.py b/packages/python/plotly/plotly/graph_objs/scattergl/_error_x.py index 11270c70399..3daa2b17ed5 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/_error_x.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/_error_x.py @@ -115,7 +115,7 @@ def arraysrc(self, val): @property def color(self): """ - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. The 'color' property is a color and may be specified as: - A hex string (e.g. '#ff0000') @@ -401,7 +401,7 @@ def _prop_descriptions(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_ystyle symmetric @@ -487,7 +487,7 @@ def __init__( Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_ystyle symmetric diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/_error_y.py b/packages/python/plotly/plotly/graph_objs/scattergl/_error_y.py index a79211684c0..9b261c703f7 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/_error_y.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/_error_y.py @@ -114,7 +114,7 @@ def arraysrc(self, val): @property def color(self): """ - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. The 'color' property is a color and may be specified as: - A hex string (e.g. '#ff0000') @@ -382,7 +382,7 @@ def _prop_descriptions(self): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, @@ -465,7 +465,7 @@ def __init__( Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/_marker.py b/packages/python/plotly/plotly/graph_objs/scattergl/_marker.py index 4904b318c32..b7f020b8949 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/_marker.py @@ -521,21 +521,6 @@ def colorbar(self): :class:`plotly.graph_objects.scattergl.marker.c olorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattergl.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scattergl.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scattergl/marker/_colorbar.py index d25d0f37017..06c915818d1 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use scattergl.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattergl.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use scattergl.marker.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,20 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.scattergl.marker.colorbar. Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattergl.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scattergl.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1801,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1850,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2065,20 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.scattergl.marker.colorbar. Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattergl.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scattergl.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2321,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_title.py index fb1868c867a..2f432c735b5 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.scattergl.mark er.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/title/_font.py index fe1c8e6fb92..6ecbf0502cd 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/scattermap/_marker.py b/packages/python/plotly/plotly/graph_objs/scattermap/_marker.py index fe31060a2a4..df69d1b826d 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermap/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/scattermap/_marker.py @@ -543,21 +543,6 @@ def colorbar(self): :class:`plotly.graph_objects.scattermap.marker. colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattermap.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scattermap.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/scattermap/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scattermap/marker/_colorbar.py index 6de78a291a6..cbacaa4732e 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermap/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scattermap/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use scattermap.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermap.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use scattermap.marker.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,21 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.scattermap.marker.colorbar .Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattermap.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - scattermap.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1802,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1851,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2066,21 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.scattermap.marker.colorbar .Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattermap.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - scattermap.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2323,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattermap/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scattermap/marker/colorbar/_title.py index 87ef721e51d..ee796ffbb09 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermap/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scattermap/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.scattermap.mar ker.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/scattermap/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scattermap/marker/colorbar/title/_font.py index bb41e6571d8..0914990dcba 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermap/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattermap/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/_marker.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/_marker.py index b42841702f2..089412374da 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/_marker.py @@ -543,21 +543,6 @@ def colorbar(self): :class:`plotly.graph_objects.scattermapbox.mark er.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattermapbox.marker.colorbar.title.font - instead. Sets this color bar's title font. Note - that the title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scattermapbox.marker.colorbar.title.side - instead. Determines the location of color bar's - title with respect to the color bar. Defaults - to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". - Note that the title's location used to be set - by the now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/_colorbar.py index 0adbdae2403..684ef30a369 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use scattermapbox.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattermapbox.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use scattermapbox.marker.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,21 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.scattermapbox.marker.color bar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattermapbox.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - scattermapbox.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1802,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1851,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2066,21 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.scattermapbox.marker.color bar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattermapbox.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - scattermapbox.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2323,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_title.py index 23ce3e42676..812ba8dfe0a 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.scattermapbox. marker.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/title/_font.py index 3d4dc33e7bb..0e046a0e6d4 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/_marker.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/_marker.py index 1dfe5774bf1..048167b8902 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/_marker.py @@ -549,21 +549,6 @@ def colorbar(self): :class:`plotly.graph_objects.scatterpolar.marke r.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatterpolar.marker.colorbar.title.font - instead. Sets this color bar's title font. Note - that the title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatterpolar.marker.colorbar.title.side - instead. Determines the location of color bar's - title with respect to the color bar. Defaults - to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". - Note that the title's location used to be set - by the now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/_colorbar.py index 5bec179412f..1dea820c837 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use scatterpolar.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.scatterpolar.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use scatterpolar.marker.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,21 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.scatterpolar.marker.colorb ar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatterpolar.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - scatterpolar.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1802,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1851,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2066,21 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.scatterpolar.marker.colorb ar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatterpolar.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - scatterpolar.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2323,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_title.py index 35d3eb25dae..e62ca01ff1b 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.scatterpolar.m arker.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/title/_font.py index c396a410bb9..41fce0c7023 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/_marker.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/_marker.py index 51b4245ecfd..8fa0d4b2c69 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/_marker.py @@ -521,21 +521,6 @@ def colorbar(self): :class:`plotly.graph_objects.scatterpolargl.mar ker.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatterpolargl.marker.colorbar.title.font - instead. Sets this color bar's title font. Note - that the title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatterpolargl.marker.colorbar.title.side - instead. Determines the location of color bar's - title with respect to the color bar. Defaults - to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". - Note that the title's location used to be set - by the now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/_colorbar.py index 57f8ddcf5b7..0d80f886c76 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,105 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use - scatterpolargl.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used to be - set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.scatterpolargl.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use - scatterpolargl.marker.colorbar.title.side instead. Determines - the location of color bar's title with respect to the color - bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that the title's - location used to be set by the now deprecated `titleside` - attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1742,21 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.scatterpolargl.marker.colo rbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatterpolargl.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - scatterpolargl.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1803,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1852,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2067,21 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.scatterpolargl.marker.colo rbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatterpolargl.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - scatterpolargl.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2324,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_title.py index 771ea2c7b20..313c0a1fa8c 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.scatterpolargl .marker.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/title/_font.py index 6e3108fb729..2334e829c09 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/_marker.py b/packages/python/plotly/plotly/graph_objs/scattersmith/_marker.py index 236cc59b4a1..5b78c98321a 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/_marker.py @@ -549,21 +549,6 @@ def colorbar(self): :class:`plotly.graph_objects.scattersmith.marke r.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattersmith.marker.colorbar.title.font - instead. Sets this color bar's title font. Note - that the title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scattersmith.marker.colorbar.title.side - instead. Determines the location of color bar's - title with respect to the color bar. Defaults - to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". - Note that the title's location used to be set - by the now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/_colorbar.py index b41fbb65cde..67c324202e0 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use scattersmith.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.scattersmith.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use scattersmith.marker.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,21 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.scattersmith.marker.colorb ar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattersmith.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - scattersmith.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1802,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1851,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2066,21 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.scattersmith.marker.colorb ar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattersmith.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - scattersmith.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2323,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_title.py index 87d715ae9bf..b6233e1f9f6 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.scattersmith.m arker.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/title/_font.py index 51f71654afe..ae836aa723b 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/_marker.py b/packages/python/plotly/plotly/graph_objs/scatterternary/_marker.py index 4b29c6709f6..a8f50cb5123 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/_marker.py @@ -549,21 +549,6 @@ def colorbar(self): :class:`plotly.graph_objects.scatterternary.mar ker.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatterternary.marker.colorbar.title.font - instead. Sets this color bar's title font. Note - that the title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatterternary.marker.colorbar.title.side - instead. Determines the location of color bar's - title with respect to the color bar. Defaults - to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". - Note that the title's location used to be set - by the now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/_colorbar.py index 8e803b2b577..f0a2344cf5f 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,105 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use - scatterternary.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used to be - set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.scatterternary.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use - scatterternary.marker.colorbar.title.side instead. Determines - the location of color bar's title with respect to the color - bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that the title's - location used to be set by the now deprecated `titleside` - attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1742,21 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.scatterternary.marker.colo rbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatterternary.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - scatterternary.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1803,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1852,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2067,21 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.scatterternary.marker.colo rbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatterternary.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` - attribute. - titleside - Deprecated: Please use - scatterternary.marker.colorbar.title.side instead. - Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2324,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_title.py index 1136d920f40..1dfe75b4246 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.scatterternary .marker.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/title/_font.py index 73c733dfb4a..3771ba64a78 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/splom/_marker.py b/packages/python/plotly/plotly/graph_objs/splom/_marker.py index 8e388bb95f3..741c7de383f 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/splom/_marker.py @@ -521,21 +521,6 @@ def colorbar(self): :class:`plotly.graph_objects.splom.marker.color bar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - splom.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - splom.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/splom/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/splom/marker/_colorbar.py index 9916848ca7b..ecef7af8e6a 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/splom/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use splom.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.splom.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use splom.marker.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.splom.marker.colorbar.Titl e` instance or dict with compatible properties - titlefont - Deprecated: Please use splom.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use splom.marker.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1800,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1849,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2064,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.splom.marker.colorbar.Titl e` instance or dict with compatible properties - titlefont - Deprecated: Please use splom.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use splom.marker.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2319,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_title.py index fca0984ed32..4d797f78762 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.splom.marker.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/title/_font.py index 6fa0f047eb0..c1c9028036e 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/_colorbar.py b/packages/python/plotly/plotly/graph_objs/streamtube/_colorbar.py index ff1cd8b4064..86e15098f2a 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1230,22 +1228,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1257,103 +1247,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use streamtube.colorbar.title.font instead. - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.streamtube.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use streamtube.colorbar.title.side instead. - Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1739,19 +1632,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.streamtube.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use streamtube.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use streamtube.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1798,11 +1678,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1847,8 +1722,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2062,19 +1935,6 @@ def __init__( title :class:`plotly.graph_objects.streamtube.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use streamtube.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use streamtube.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2317,14 +2177,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_title.py index 6bb9aaaee44..6c24e5e24dc 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.streamtube.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/title/_font.py index 1014a454382..8c95f54bacc 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/_marker.py b/packages/python/plotly/plotly/graph_objs/sunburst/_marker.py index ad7aaf8121d..8c49c93c22a 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/_marker.py @@ -401,21 +401,6 @@ def colorbar(self): :class:`plotly.graph_objects.sunburst.marker.co lorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - sunburst.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - sunburst.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/sunburst/marker/_colorbar.py index 673522f9637..f267810f51f 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use sunburst.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.sunburst.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use sunburst.marker.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.sunburst.marker.colorbar.T itle` instance or dict with compatible properties - titlefont - Deprecated: Please use - sunburst.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - sunburst.marker.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1800,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1849,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2064,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.sunburst.marker.colorbar.T itle` instance or dict with compatible properties - titlefont - Deprecated: Please use - sunburst.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - sunburst.marker.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2319,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_title.py index c538a1ae62b..98b6c074b97 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.sunburst.marke r.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/title/_font.py index e706c558496..d03f4499dc3 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/surface/_colorbar.py b/packages/python/plotly/plotly/graph_objs/surface/_colorbar.py index 33b2653cb05..435be9c932a 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/surface/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,103 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use surface.colorbar.title.font instead. - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.surface.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use surface.colorbar.title.side instead. - Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1740,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.surface.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use surface.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use surface.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1799,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1848,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2063,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.surface.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use surface.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use surface.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2318,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/surface/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/surface/colorbar/_title.py index 796c535a8af..5d7455b4bca 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/surface/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.surface.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/surface/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/surface/colorbar/title/_font.py index 8f35bf9fbba..45fc210c2dd 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/surface/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/treemap/_marker.py b/packages/python/plotly/plotly/graph_objs/treemap/_marker.py index 4934e9b6358..cf89025eb15 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/_marker.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/_marker.py @@ -404,21 +404,6 @@ def colorbar(self): :class:`plotly.graph_objects.treemap.marker.col orbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - treemap.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - treemap.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/graph_objs/treemap/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/treemap/marker/_colorbar.py index a2c3798b554..14184370a38 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/marker/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,104 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use treemap.marker.colorbar.title.font - instead. Sets this color bar's title font. Note that the - title's font used to be set by the now deprecated `titlefont` - attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.treemap.marker.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use treemap.marker.colorbar.title.side - instead. Determines the location of color bar's title with - respect to the color bar. Defaults to "top" when `orientation` - if "v" and defaults to "right" when `orientation` if "h". Note - that the title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1741,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.treemap.marker.colorbar.Ti tle` instance or dict with compatible properties - titlefont - Deprecated: Please use - treemap.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - treemap.marker.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1800,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1849,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2064,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.treemap.marker.colorbar.Ti tle` instance or dict with compatible properties - titlefont - Deprecated: Please use - treemap.marker.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's font used - to be set by the now deprecated `titlefont` attribute. - titleside - Deprecated: Please use - treemap.marker.colorbar.title.side instead. Determines - the location of color bar's title with respect to the - color bar. Defaults to "top" when `orientation` if "v" - and defaults to "right" when `orientation` if "h". - Note that the title's location used to be set by the - now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2319,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_title.py index fa337e39333..98cc61b0050 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.treemap.marker .colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/title/_font.py index b4304b1cf4c..77ed3544d4e 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/graph_objs/volume/_colorbar.py b/packages/python/plotly/plotly/graph_objs/volume/_colorbar.py index 8db739d7ccc..a71748a52c8 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/volume/_colorbar.py @@ -50,8 +50,6 @@ class ColorBar(_BaseTraceHierarchyType): "tickvalssrc", "tickwidth", "title", - "titlefont", - "titleside", "x", "xanchor", "xpad", @@ -1231,22 +1229,14 @@ def title(self): Supported dict properties: font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. Returns ------- @@ -1258,103 +1248,6 @@ def title(self): def title(self, val): self["title"] = val - # titlefont - # --------- - @property - def titlefont(self): - """ - Deprecated: Please use volume.colorbar.title.font instead. Sets - this color bar's title font. Note that the title's font used to - be set by the now deprecated `titlefont` attribute. - - The 'font' property is an instance of Font - that may be specified as: - - An instance of :class:`plotly.graph_objs.volume.colorbar.title.Font` - - A dict of string/value properties that will be passed - to the Font constructor - - Supported dict properties: - - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. - - Returns - ------- - - """ - return self["titlefont"] - - @titlefont.setter - def titlefont(self, val): - self["titlefont"] = val - - # titleside - # --------- - @property - def titleside(self): - """ - Deprecated: Please use volume.colorbar.title.side instead. - Determines the location of color bar's title with respect to - the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. - - The 'side' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['right', 'top', 'bottom'] - - Returns - ------- - - """ - return self["titleside"] - - @titleside.setter - def titleside(self, val): - self["titleside"] = val - # x # - @property @@ -1740,19 +1633,6 @@ def _prop_descriptions(self): title :class:`plotly.graph_objects.volume.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use volume.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use volume.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -1799,11 +1679,6 @@ def _prop_descriptions(self): height of the plotting area only. """ - _mapped_properties = { - "titlefont": ("title", "font"), - "titleside": ("title", "side"), - } - def __init__( self, arg=None, @@ -1848,8 +1723,6 @@ def __init__( tickvalssrc=None, tickwidth=None, title=None, - titlefont=None, - titleside=None, x=None, xanchor=None, xpad=None, @@ -2063,19 +1936,6 @@ def __init__( title :class:`plotly.graph_objects.volume.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use volume.colorbar.title.font - instead. Sets this color bar's title font. Note that - the title's font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use volume.colorbar.title.side - instead. Determines the location of color bar's title - with respect to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` is "paper", @@ -2318,14 +2178,6 @@ def __init__( _v = title if title is not None else _v if _v is not None: self["title"] = _v - _v = arg.pop("titlefont", None) - _v = titlefont if titlefont is not None else _v - if _v is not None: - self["titlefont"] = _v - _v = arg.pop("titleside", None) - _v = titleside if titleside is not None else _v - if _v is not None: - self["titleside"] = _v _v = arg.pop("x", None) _v = x if x is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/volume/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/volume/colorbar/_title.py index e09f5b93259..fb922775750 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/volume/colorbar/_title.py @@ -15,8 +15,7 @@ class Title(_BaseTraceHierarchyType): @property def font(self): """ - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. The 'font' property is an instance of Font that may be specified as: @@ -87,9 +86,7 @@ def side(self): """ Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". Note that the - title's location used to be set by the now deprecated - `titleside` attribute. + defaults to "right" when `orientation` if "h". The 'side' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -110,9 +107,7 @@ def side(self, val): @property def text(self): """ - Sets the title of the color bar. Note that before the existence - of `title.text`, the title's contents used to be defined as the - `title` attribute itself. This behavior has been deprecated. + Sets the title of the color bar. The 'text' property is a string and must be specified as: - A string @@ -134,21 +129,14 @@ def text(self, val): def _prop_descriptions(self): return """\ font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. """ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): @@ -162,21 +150,14 @@ def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): an instance of :class:`plotly.graph_objs.volume.colorbar.Title` font - Sets this color bar's title font. Note that the title's - font used to be set by the now deprecated `titlefont` - attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults to "right" when - `orientation` if "h". Note that the title's location - used to be set by the now deprecated `titleside` - attribute. + `orientation` if "h". text - Sets the title of the color bar. Note that before the - existence of `title.text`, the title's contents used to - be defined as the `title` attribute itself. This - behavior has been deprecated. + Sets the title of the color bar. Returns ------- diff --git a/packages/python/plotly/plotly/graph_objs/volume/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/volume/colorbar/title/_font.py index dee21468581..0b90faab5db 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/volume/colorbar/title/_font.py @@ -326,8 +326,7 @@ def __init__( """ Construct a new Font object - Sets this color bar's title font. Note that the title's font - used to be set by the now deprecated `titlefont` attribute. + Sets this color bar's title font. Parameters ---------- diff --git a/packages/python/plotly/plotly/matplotlylib/renderer.py b/packages/python/plotly/plotly/matplotlylib/renderer.py index b09f86c5b16..3321879cbe8 100644 --- a/packages/python/plotly/plotly/matplotlylib/renderer.py +++ b/packages/python/plotly/plotly/matplotlylib/renderer.py @@ -780,10 +780,10 @@ def draw_title(self, **props): " Only one subplot found, adding as a " "plotly title\n" ) self.plotly_fig["layout"]["title"] = props["text"] - titlefont = dict( + title_font = dict( size=props["style"]["fontsize"], color=props["style"]["color"] ) - self.plotly_fig["layout"]["titlefont"] = titlefont + self.plotly_fig["layout"]["title_font"] = title_font def draw_xlabel(self, **props): """Add an xaxis label to the current subplot in layout dictionary. @@ -811,8 +811,10 @@ def draw_xlabel(self, **props): self.msg += " Adding xlabel\n" axis_key = "xaxis{0}".format(self.axis_ct) self.plotly_fig["layout"][axis_key]["title"] = str(props["text"]) - titlefont = dict(size=props["style"]["fontsize"], color=props["style"]["color"]) - self.plotly_fig["layout"][axis_key]["titlefont"] = titlefont + title_font = dict( + size=props["style"]["fontsize"], color=props["style"]["color"] + ) + self.plotly_fig["layout"][axis_key]["title_font"] = title_font def draw_ylabel(self, **props): """Add a yaxis label to the current subplot in layout dictionary. @@ -840,8 +842,10 @@ def draw_ylabel(self, **props): self.msg += " Adding ylabel\n" axis_key = "yaxis{0}".format(self.axis_ct) self.plotly_fig["layout"][axis_key]["title"] = props["text"] - titlefont = dict(size=props["style"]["fontsize"], color=props["style"]["color"]) - self.plotly_fig["layout"][axis_key]["titlefont"] = titlefont + title_font = dict( + size=props["style"]["fontsize"], color=props["style"]["color"] + ) + self.plotly_fig["layout"][axis_key]["title_font"] = title_font def resize(self): """Revert figure layout to allow plotly to resize. diff --git a/packages/python/plotly/plotly/offline/_plotlyjs_version.py b/packages/python/plotly/plotly/offline/_plotlyjs_version.py index dae59f9f16b..2de9aaa4df3 100644 --- a/packages/python/plotly/plotly/offline/_plotlyjs_version.py +++ b/packages/python/plotly/plotly/offline/_plotlyjs_version.py @@ -1,3 +1,3 @@ # DO NOT EDIT # This file is generated by the updatebundle setup.py command -__plotlyjs_version__ = "2.35.2" +__plotlyjs_version__ = "plotly/plotly.js_master_2024-10-17_a5b202c8" diff --git a/packages/python/plotly/plotly/package_data/plotly.min.js b/packages/python/plotly/plotly/package_data/plotly.min.js index 503ed73dba5..60c5794fa77 100644 --- a/packages/python/plotly/plotly/package_data/plotly.min.js +++ b/packages/python/plotly/plotly/package_data/plotly.min.js @@ -1,8 +1,3879 @@ /** -* plotly.js v2.35.2 +* plotly.js v2.35.2-256-ga5b202c85 * Copyright 2012-2024, Plotly, Inc. * All rights reserved. * Licensed under the MIT license */ -/*! For license information please see plotly.min.js.LICENSE.txt */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Plotly=e():t.Plotly=e()}(self,(function(){return function(){var t={6713:function(t,e,r){"use strict";var n=r(34809),i={"X,X div":'direction:ltr;font-family:"Open Sans",verdana,arial,sans-serif;margin:0;padding:0;',"X input,X button":'font-family:"Open Sans",verdana,arial,sans-serif;',"X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var a in i){var o=a.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,i[a])}},14187:function(t,e,r){"use strict";t.exports=r(47908)},20273:function(t,e,r){"use strict";t.exports=r(58218)},6457:function(t,e,r){"use strict";t.exports=r(89362)},15849:function(t,e,r){"use strict";t.exports=r(53794)},38847:function(t,e,r){"use strict";t.exports=r(29698)},7659:function(t,e,r){"use strict";t.exports=r(51252)},60089:function(t,e,r){"use strict";t.exports=r(48050)},22084:function(t,e,r){"use strict";t.exports=r(58075)},35892:function(t,e,r){"use strict";t.exports=r(9419)},81204:function(t,e,r){"use strict";t.exports=r(28128)},55857:function(t,e,r){"use strict";t.exports=r(47050)},12862:function(t,e,r){"use strict";t.exports=r(91405)},97629:function(t,e,r){"use strict";t.exports=r(34406)},67549:function(t,e,r){"use strict";t.exports=r(17430)},2660:function(t,e,r){"use strict";t.exports=r(91995)},86071:function(t,e,r){"use strict";t.exports=r(81264)},66200:function(t,e,r){"use strict";t.exports=r(42849)},53446:function(t,e,r){"use strict";t.exports=r(52213)},86899:function(t,e,r){"use strict";t.exports=r(91132)},13430:function(t,e,r){"use strict";t.exports=r(50453)},21548:function(t,e,r){"use strict";t.exports=r(29251)},53939:function(t,e,r){"use strict";t.exports=r(72892)},1902:function(t,e,r){"use strict";t.exports=r(74461)},29096:function(t,e,r){"use strict";t.exports=r(66143)},23820:function(t,e,r){"use strict";t.exports=r(81955)},82017:function(t,e,r){"use strict";t.exports=r(36858)},113:function(t,e,r){"use strict";t.exports=r(92106)},20260:function(t,e,r){"use strict";var n=r(67549);n.register([r(20273),r(15849),r(21548),r(1902),r(29096),r(23820),r(12862),r(1639),r(10067),r(53446),r(31014),r(113),r(78170),r(8202),r(92382),r(82017),r(86899),r(54357),r(66903),r(90594),r(71680),r(7412),r(55857),r(784),r(74221),r(22084),r(44001),r(97281),r(12345),r(53939),r(29117),r(5410),r(5057),r(81204),r(86071),r(14226),r(35892),r(2660),r(96599),r(28573),r(76832),r(60089),r(51469),r(97629),r(27700),r(7659),r(11780),r(27195),r(6457),r(84639),r(14187),r(66200),r(13430),r(90590),r(38847)]),t.exports=n},28573:function(t,e,r){"use strict";t.exports=r(25638)},90594:function(t,e,r){"use strict";t.exports=r(75297)},7412:function(t,e,r){"use strict";t.exports=r(58859)},27700:function(t,e,r){"use strict";t.exports=r(12683)},5410:function(t,e,r){"use strict";t.exports=r(6305)},29117:function(t,e,r){"use strict";t.exports=r(83910)},78170:function(t,e,r){"use strict";t.exports=r(49913)},12345:function(t,e,r){"use strict";t.exports=r(15186)},96599:function(t,e,r){"use strict";t.exports=r(71760)},54357:function(t,e,r){"use strict";t.exports=r(17822)},51469:function(t,e,r){"use strict";t.exports=r(56534)},74221:function(t,e,r){"use strict";t.exports=r(18070)},44001:function(t,e,r){"use strict";t.exports=r(52378)},14226:function(t,e,r){"use strict";t.exports=r(30929)},5057:function(t,e,r){"use strict";t.exports=r(83866)},11780:function(t,e,r){"use strict";t.exports=r(66939)},27195:function(t,e,r){"use strict";t.exports=r(23748)},84639:function(t,e,r){"use strict";t.exports=r(73304)},1639:function(t,e,r){"use strict";t.exports=r(12864)},90590:function(t,e,r){"use strict";t.exports=r(99855)},97281:function(t,e,r){"use strict";t.exports=r(91450)},784:function(t,e,r){"use strict";t.exports=r(51943)},8202:function(t,e,r){"use strict";t.exports=r(80809)},66903:function(t,e,r){"use strict";t.exports=r(95984)},76832:function(t,e,r){"use strict";t.exports=r(51671)},92382:function(t,e,r){"use strict";t.exports=r(47181)},10067:function(t,e,r){"use strict";t.exports=r(37276)},71680:function(t,e,r){"use strict";t.exports=r(75703)},31014:function(t,e,r){"use strict";t.exports=r(38261)},11645:function(t){"use strict";t.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},50222:function(t,e,r){"use strict";var n=r(11645),i=r(80337),a=r(54826),o=r(78032).templatedArray;r(35081),t.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",a.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},60317:function(t,e,r){"use strict";var n=r(34809),i=r(29714),a=r(3377).draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},"range"===a&&s(e,r),"range"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t["a"+a],l=t[a+"ref"],c=t["a"+a+"ref"],u=t["_"+a+"padplus"],h=t["_"+a+"padminus"],f={x:1,y:-1}[a]*t[a+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+f,m=p-f,g=3*t.startarrowsize*t.arrowwidth||0,y=g+f,v=g-f;if(c===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:m}),_=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,y),ppadminus:Math.max(h,v)});r={min:[x.min[0],_.min[0]],max:[x.max[0],_.max[0]]}}else y=s?y+s:y,v=s?v-s:v,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,y),ppadminus:Math.max(h,m,v)});t._extremes[n]=r}t.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},6035:function(t,e,r){"use strict";var n=r(34809),i=r(33626),a=r(78032).arrayEditor;function o(t,e){var r,n,i,a,o,l,c,u=t._fullLayout.annotations,h=[],f=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),h={},f=t._fullLayout.annotations;if(c.length||u.length){for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var W=!1,Y=["x","y"],X=0;X1)&&(nt===rt?((pt=it.r2fraction(e["a"+et]))<0||pt>1)&&(W=!0):W=!0),$=it._offset+it.r2p(e[et]),Q=.5}else{var dt="domain"===ft;"x"===et?(K=e[et],$=dt?it._offset+it._length*K:$=T.l+T.w*K):(K=1-e[et],$=dt?it._offset+it._length*K:$=T.t+T.h*K),Q=e.showarrow?.5:K}if(e.showarrow){ht.head=$;var mt=e["a"+et];if(tt=ot*H(.5,e.xanchor)-st*H(.5,e.yanchor),nt===rt){var gt=l.getRefType(nt);"domain"===gt?("y"===et&&(mt=1-mt),ht.tail=it._offset+it._length*mt):"paper"===gt?"y"===et?(mt=1-mt,ht.tail=T.t+T.h*mt):ht.tail=T.l+T.w*mt:ht.tail=it._offset+it.r2p(mt),J=tt}else ht.tail=$+mt,J=tt+mt;ht.text=ht.tail+tt;var yt=w["x"===et?"width":"height"];if("paper"===rt&&(ht.head=o.constrain(ht.head,1,yt-1)),"pixel"===nt){var vt=-Math.max(ht.tail-3,ht.text),xt=Math.min(ht.tail+3,ht.text)-yt;vt>0?(ht.tail+=vt,ht.text+=vt):xt>0&&(ht.tail-=xt,ht.text-=xt)}ht.tail+=ut,ht.head+=ut}else J=tt=lt*H(Q,ct),ht.text=$+tt;ht.text+=ut,tt+=ut,J+=ut,e["_"+et+"padplus"]=lt/2+J,e["_"+et+"padminus"]=lt/2-J,e["_"+et+"size"]=lt,e["_"+et+"shift"]=tt}if(W)R.remove();else{var _t=0,bt=0;if("left"!==e.align&&(_t=(A-_)*("center"===e.align?.5:1)),"top"!==e.valign&&(bt=(D-b)*("middle"===e.valign?.5:1)),h)n.select("svg").attr({x:N+_t-1,y:N+bt}).call(u.setClipUrl,U?C:null,t);else{var wt=N+bt-m.top,Tt=N+_t-m.left;G.call(f.positionText,Tt,wt).call(u.setClipUrl,U?C:null,t)}V.select("rect").call(u.setRect,N,N,A,D),j.call(u.setRect,F/2,F/2,B-F,q-F),R.call(u.setTranslate,Math.round(L.x.text-B/2),Math.round(L.y.text-q/2)),z.attr({transform:"rotate("+I+","+L.x.text+","+L.y.text+")"});var kt,At=function(r,n){P.selectAll(".annotation-arrow-g").remove();var l=L.x.head,h=L.y.head,f=L.x.tail+r,p=L.y.tail+n,m=L.x.text+r,_=L.y.text+n,b=o.rotationXYMatrix(I,m,_),w=o.apply2DTransform(b),A=o.apply2DTransform2(b),C=+j.attr("width"),O=+j.attr("height"),D=m-.5*C,F=D+C,B=_-.5*O,N=B+O,U=[[D,B,D,N],[D,N,F,N],[F,N,F,B],[F,B,D,B]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,h,l+1e6,h+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(f,p,l,h,t[0],t[1],t[2],t[3]);e&&(f=e.x,p=e.y)}));var V=e.arrowwidth,q=e.arrowcolor,H=e.arrowside,G=P.append("g").style({opacity:c.opacity(q)}).classed("annotation-arrow-g",!0),Z=G.append("path").attr("d","M"+f+","+p+"L"+l+","+h).style("stroke-width",V+"px").call(c.stroke,c.rgb(q));if(g(Z,H,e),k.annotationPosition&&Z.node().parentNode&&!a){var W=l,Y=h;if(e.standoff){var X=Math.sqrt(Math.pow(l-f,2)+Math.pow(h-p,2));W+=e.standoff*(f-l)/X,Y+=e.standoff*(p-h)/X}var $,J,K=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(f-W)+","+(p-Y),transform:s(W,Y)}).style("stroke-width",V+6+"px").call(c.stroke,"rgba(0,0,0,0)").call(c.fill,"rgba(0,0,0,0)");d.init({element:K.node(),gd:t,prepFn:function(){var t=u.getTranslate(R);$=t.x,J=t.y,y&&y.autorange&&M(y._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0)},moveFn:function(t,r){var n=w($,J),i=n[0]+t,a=n[1]+r;R.call(u.setTranslate,i,a),S("x",v(y,t,"x",T,e)),S("y",v(x,r,"y",T,e)),e.axref===e.xref&&S("ax",v(y,t,"ax",T,e)),e.ayref===e.yref&&S("ay",v(x,r,"ay",T,e)),G.attr("transform",s(t,r)),z.attr({transform:"rotate("+I+","+i+","+a+")"})},doneFn:function(){i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};e.showarrow&&At(0,0),O&&d.init({element:R.node(),gd:t,prepFn:function(){kt=z.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?S("ax",v(y,t,"ax",T,e)):S("ax",e.ax+t),e.ayref===e.yref?S("ay",v(x,r,"ay",T.w,e)):S("ay",e.ay+r),At(t,r);else{if(a)return;var i,o;if(y)i=v(y,t,"x",T,e);else{var l=e._xsize/T.w,c=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(c+t/T.w,l,0,1,e.xanchor)}if(x)o=v(x,r,"y",T,e);else{var u=e._ysize/T.h,h=e.y-(e._yshift+e.yshift)/T.h-u/2;o=d.align(h-r/T.h,u,0,1,e.yanchor)}S("x",i),S("y",o),y&&x||(n=d.getCursor(y?.5:i,x?.5:o,e.xanchor,e.yanchor))}z.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",Z(n))},doneFn:function(){p(R),i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}t.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,x=e.indexOf("end")>=0,_=d.backoff*g+r.standoff,b=m.backoff*y+r.startstandoff;if("line"===p.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},u={x:+t.attr("x2"),y:+t.attr("y2")};var w=o.x-u.x,T=o.y-u.y;if(f=(h=Math.atan2(T,w))+Math.PI,_&&b&&_+b>Math.sqrt(w*w+T*T))return void O();if(_){if(_*_>w*w+T*T)return void O();var k=_*Math.cos(h),A=_*Math.sin(h);u.x+=k,u.y+=A,t.attr({x2:u.x,y2:u.y})}if(b){if(b*b>w*w+T*T)return void O();var M=b*Math.cos(h),S=b*Math.sin(h);o.x-=M,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if("path"===p.nodeName){var E=p.getTotalLength(),C="";if(E<_+b)return void O();var L=p.getPointAtLength(0),I=p.getPointAtLength(.1);h=Math.atan2(L.y-I.y,L.x-I.x),o=p.getPointAtLength(Math.min(b,E)),C="0px,"+b+"px,";var P=p.getPointAtLength(E),z=p.getPointAtLength(E-.1);f=Math.atan2(P.y-z.y,P.x-z.x),u=p.getPointAtLength(Math.max(0,E-_)),C+=E-(C?b+_:_)+"px,"+E+"px",t.style("stroke-dasharray",C)}function O(){t.style("stroke-dasharray","0px,100px")}function D(e,a,o,u){e.path&&(e.noRotate&&(o=0),n.select(p.parentNode).append("path").attr({class:t.attr("class"),d:e.path,transform:c(a.x,a.y)+l(180*o/Math.PI)+s(u)}).style({fill:i.rgb(r.arrowcolor),"stroke-width":0}))}v&&D(m,o,h,y),x&&D(d,u,f,g)}},3599:function(t,e,r){"use strict";var n=r(3377),i=r(6035);t.exports={moduleType:"component",name:"annotations",layoutAttributes:r(50222),supplyLayoutDefaults:r(63737),includeBasePlot:r(20706)("annotations"),calcAutorange:r(60317),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:r(59741)}},38239:function(t,e,r){"use strict";var n=r(50222),i=r(13582).overrideAll,a=r(78032).templatedArray;t.exports=i(a("annotation",{visible:n.visible,x:{valType:"any"},y:{valType:"any"},z:{valType:"any"},ax:{valType:"number"},ay:{valType:"number"},xanchor:n.xanchor,xshift:n.xshift,yanchor:n.yanchor,yshift:n.yshift,text:n.text,textangle:n.textangle,font:n.font,width:n.width,height:n.height,opacity:n.opacity,align:n.align,valign:n.valign,bgcolor:n.bgcolor,bordercolor:n.bordercolor,borderpad:n.borderpad,borderwidth:n.borderwidth,showarrow:n.showarrow,arrowcolor:n.arrowcolor,arrowhead:n.arrowhead,startarrowhead:n.startarrowhead,arrowside:n.arrowside,arrowsize:n.arrowsize,startarrowsize:n.startarrowsize,arrowwidth:n.arrowwidth,standoff:n.standoff,startstandoff:n.startstandoff,hovertext:n.hovertext,hoverlabel:n.hoverlabel,captureevents:n.captureevents}),"calc","from-root")},47979:function(t,e,r){"use strict";var n=r(34809),i=r(29714);function a(t,e){var r=e.fullSceneLayout.domain,a=e.fullLayout._size,o={pdata:null,type:"linear",autorange:!1,range:[-1/0,1/0]};t._xa={},n.extendFlat(t._xa,o),i.setConvert(t._xa),t._xa._offset=a.l+r.x[0]*a.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*a.w*(r.x[1]-r.x[0])},t._ya={},n.extendFlat(t._ya,o),i.setConvert(t._ya),t._ya._offset=a.t+(1-r.y[1])*a.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*a.h*(r.y[1]-r.y[0])}}t.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r1){c=!0;break}}c?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},83348:function(t,e,r){"use strict";var n=r(33626),i=r(34809);t.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:r(38239)}}},layoutAttributes:r(38239),handleDefaults:r(34232),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}o.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},o.rgb=function(t){return o.tinyRGB(n(t))},o.opacity=function(t){return t?n(t).getAlpha():0},o.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},o.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||c).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},o.interpolate=function(t,e,r){var i=n(t).toRgb(),a=n(e).toRgb(),o={r:r*i.r+(1-r)*a.r,g:r*i.g+(1-r)*a.g,b:r*i.b+(1-r)*a.b};return n(o).toRgbString()},o.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(o.combine(t,c))),(i.isDark()?e?i.lighten(e):c:r?i.darken(r):l).toString()},o.stroke=function(t,e){var r=n(e);t.style({stroke:o.tinyRGB(r),"stroke-opacity":r.getAlpha()})},o.fill=function(t,e){var r=n(e);t.style({fill:o.tinyRGB(r),"fill-opacity":r.getAlpha()})},o.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,s=Object.keys(t);for(e=0;e0?n>=l:n<=l));i++)n>u&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var pt=Math.pow(10,Math.floor(Math.log(ft)/Math.LN10));ut*=pt*c.roundUp(ft/pt,[2,5,10]),(Math.abs(Z.start)/Z.size+1e-6)%1<2e-6&&(lt.tick0=0)}lt.dtick=ut}lt.domain=o?[ot+P/B.h,ot+Q-P/B.h]:[ot+I/B.w,ot+Q-I/B.w],lt.setScale(),t.attr("transform",u(Math.round(B.l),Math.round(B.t)));var dt,mt=t.select("."+A.cbtitleunshift).attr("transform",u(-Math.round(B.l),-Math.round(B.t))),gt=lt.ticklabelposition,yt=lt.title.font.size,vt=t.select("."+A.cbaxis),xt=0,_t=0;function bt(n,i){var a={propContainer:lt,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:F._dfltTitle.colorbar,containerGroup:t.select("."+A.cbtitle)},o="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+o+",."+o+"-math-group").remove(),m.draw(r,n,h(a,i||{}))}return c.syncOrAsync([a.previousPromises,function(){var t,e;(o&&ct||!o&&!ct)&&("top"===V&&(t=I+B.l+tt*z,e=P+B.t+et*(1-ot-Q)+3+.75*yt),"bottom"===V&&(t=I+B.l+tt*z,e=P+B.t+et*(1-ot)-3-.25*yt),"right"===V&&(e=P+B.t+et*O+3+.75*yt,t=I+B.l+tt*ot),bt(lt._id+"title",{attributes:{x:t,y:e,"text-anchor":o?"start":"middle"}}))},function(){if(!o&&!ct||o&&ct){var a,l=t.select("."+A.cbtitle),h=l.select("text"),f=[-M/2,M/2],d=l.select(".h"+lt._id+"title-math-group").node(),m=15.6;if(h.node()&&(m=parseInt(h.node().style.fontSize,10)*w),d?(a=p.bBox(d),_t=a.width,(xt=a.height)>m&&(f[1]-=(xt-m)/2)):h.node()&&!h.classed(A.jsPlaceholder)&&(a=p.bBox(h.node()),_t=a.width,xt=a.height),o){if(xt){if(xt+=5,"top"===V)lt.domain[1]-=xt/B.h,f[1]*=-1;else{lt.domain[0]+=xt/B.h;var y=g.lineCount(h);f[1]+=(1-y)*m}l.attr("transform",u(f[0],f[1])),lt.setScale()}}else _t&&("right"===V&&(lt.domain[0]+=(_t+yt/2)/B.w),l.attr("transform",u(f[0],f[1])),lt.setScale())}t.selectAll("."+A.cbfills+",."+A.cblines).attr("transform",o?u(0,Math.round(B.h*(1-lt.domain[1]))):u(Math.round(B.w*lt.domain[0]),0)),vt.attr("transform",o?u(0,Math.round(-B.t)):u(Math.round(-B.l),0));var v=t.select("."+A.cbfills).selectAll("rect."+A.cbfill).attr("style","").data(Y);v.enter().append("rect").classed(A.cbfill,!0).attr("style",""),v.exit().remove();var x=q.map(lt.c2p).map(Math.round).sort((function(t,e){return t-e}));v.each((function(t,a){var s=[0===a?q[0]:(Y[a]+Y[a-1])/2,a===Y.length-1?q[1]:(Y[a]+Y[a+1])/2].map(lt.c2p).map(Math.round);o&&(s[1]=c.constrain(s[1]+(s[1]>s[0])?1:-1,x[0],x[1]));var l=n.select(this).attr(o?"x":"y",rt).attr(o?"y":"x",n.min(s)).attr(o?"width":"height",Math.max($,2)).attr(o?"height":"width",Math.max(n.max(s)-n.min(s),2));if(e._fillgradient)p.gradient(l,r,e._id,o?"vertical":"horizontalreversed",e._fillgradient,"fill");else{var u=G(t).replace("e-","");l.attr("fill",i(u).toHexString())}}));var _=t.select("."+A.cblines).selectAll("path."+A.cbline).data(j.color&&j.width?X:[]);_.enter().append("path").classed(A.cbline,!0),_.exit().remove(),_.each((function(t){var e=rt,r=Math.round(lt.c2p(t))+j.width/2%1;n.select(this).attr("d","M"+(o?e+","+r:r+","+e)+(o?"h":"v")+$).call(p.lineGroupStyle,j.width,H(t),j.dash)})),vt.selectAll("g."+lt._id+"tick,path").remove();var b=rt+$+(M||0)/2-("outside"===e.ticks?1:0),T=s.calcTicks(lt),k=s.getTickSigns(lt)[2];return s.drawTicks(r,lt,{vals:"inside"===lt.ticks?s.clipEnds(lt,T):T,layer:vt,path:s.makeTickPath(lt,b,k),transFn:s.makeTransTickFn(lt)}),s.drawLabels(r,lt,{vals:T,layer:vt,transFn:s.makeTransTickLabelFn(lt),labelFns:s.makeLabelFns(lt,b)})},function(){if(o&&!ct||!o&&ct){var t,i,a=lt.position||0,s=lt._offset+lt._length/2;if("right"===V)i=s,t=B.l+tt*a+10+yt*(lt.showticklabels?1:.5);else if(t=s,"bottom"===V&&(i=B.t+et*a+10+(-1===gt.indexOf("inside")?lt.tickfont.size:0)+("intside"!==lt.ticks&&e.ticklen||0)),"top"===V){var l=U.text.split("
").length;i=B.t+et*a+10-$-w*yt*l}bt((o?"h":"v")+lt._id+"title",{avoid:{selection:n.select(r).selectAll("g."+lt._id+"tick"),side:V,offsetTop:o?0:B.t,offsetLeft:o?B.l:0,maxShift:o?F.width:F.height},attributes:{x:t,y:i,"text-anchor":"middle"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=$+M/2;-1===gt.indexOf("inside")&&(n=p.bBox(vt.node()),s+=o?n.width:n.height),dt=mt.select("text");var c=0,h=o&&"top"===V,m=!o&&"right"===V,g=0;if(dt.node()&&!dt.classed(A.jsPlaceholder)){var v,x=mt.select(".h"+lt._id+"title-math-group").node();x&&(o&&ct||!o&&!ct)?(c=(n=p.bBox(x)).width,v=n.height):(c=(n=p.bBox(mt.node())).right-B.l-(o?rt:st),v=n.bottom-B.t-(o?st:rt),o||"top"!==V||(s+=n.height,g=n.height)),m&&(dt.attr("transform",u(c/2+yt/2,0)),c*=2),s=Math.max(s,o?c:v)}var _=2*(o?I:P)+s+S+M/2,w=0;!o&&U.text&&"bottom"===L&&O<=0&&(_+=w=_/2,g+=w),F._hColorbarMoveTitle=w,F._hColorbarMoveCBTitle=g;var N=S+M,j=(o?rt:st)-N/2-(o?I:0),q=(o?st:rt)-(o?K:P+g-w);t.select("."+A.cbbg).attr("x",j).attr("y",q).attr(o?"width":"height",Math.max(_-w,2)).attr(o?"height":"width",Math.max(K+N,2)).call(d.fill,E).call(d.stroke,e.bordercolor).style("stroke-width",S);var H=m?Math.max(c-10,0):0;t.selectAll("."+A.cboutline).attr("x",(o?rt:st+I)+H).attr("y",(o?st+P-K:rt)+(h?xt:0)).attr(o?"width":"height",Math.max($,2)).attr(o?"height":"width",Math.max(K-(o?2*P+xt:2*I+H),2)).call(d.stroke,e.outlinecolor).style({fill:"none","stroke-width":M});var G=o?nt*_:0,Z=o?0:(1-it)*_-g;if(G=R?B.l-G:-G,Z=D?B.t-Z:-Z,t.attr("transform",u(G,Z)),!o&&(S||i(E).getAlpha()&&!i.equals(F.paper_bgcolor,E))){var W=vt.selectAll("text"),Y=W[0].length,X=t.select("."+A.cbbg).node(),J=p.bBox(X),Q=p.getTranslate(t);W.each((function(t,e){var r=Y-1;if(0===e||e===r){var n,i=p.bBox(this),a=p.getTranslate(this);if(e===r){var o=i.right+a.x;(n=J.right+Q.x+st-S-2+z-o)>0&&(n=0)}else if(0===e){var s=i.left+a.x;(n=J.left+Q.x+st+S+2-s)<0&&(n=0)}n&&(Y<3?this.setAttribute("transform","translate("+n+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}}))}var tt={},et=T[C],at=k[C],ot=T[L],ut=k[L],ht=_-$;o?("pixels"===f?(tt.y=O,tt.t=K*ot,tt.b=K*ut):(tt.t=tt.b=0,tt.yt=O+l*ot,tt.yb=O-l*ut),"pixels"===b?(tt.x=z,tt.l=_*et,tt.r=_*at):(tt.l=ht*et,tt.r=ht*at,tt.xl=z-y*et,tt.xr=z+y*at)):("pixels"===f?(tt.x=z,tt.l=K*et,tt.r=K*at):(tt.l=tt.r=0,tt.xl=z+l*et,tt.xr=z-l*at),"pixels"===b?(tt.y=1-O,tt.t=_*ot,tt.b=_*ut):(tt.t=ht*ot,tt.b=ht*ut,tt.yt=O-y*ot,tt.yb=O+y*ut));var ft=e.y<.5?"b":"t",pt=e.x<.5?"l":"r";r._fullLayout._reservedMargin[e._id]={};var _t={r:F.width-j-G,l:j+tt.r,b:F.height-q-Z,t:q+tt.b};R&&D?a.autoMargin(r,e._id,tt):R?r._fullLayout._reservedMargin[e._id][ft]=_t[ft]:D||o?r._fullLayout._reservedMargin[e._id][pt]=_t[pt]:r._fullLayout._reservedMargin[e._id][ft]=_t[ft]}],r)}(r,e,t);y&&y.then&&(t._promises||[]).push(y),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s="v"===e.orientation,c=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),f(t)},moveFn:function(r,o){t.attr("transform",n+u(r,o)),i=l.align((s?e._uFrac:e._vFrac)+r/c.w,s?e._thickFrac:e._lenFrac,0,1,e.xanchor),a=l.align((s?e._vFrac:1-e._uFrac)-o/c.h,s?e._lenFrac:e._thickFrac,0,1,e.yanchor);var h=l.getCursor(i,a,e.xanchor,e.yanchor);f(t,h)},doneFn:function(){if(f(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+"x"]=i,n[e._propPrefix+"y"]=a,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},91362:function(t,e,r){"use strict";var n=r(34809);t.exports=function(t){return n.isPlainObject(t.colorbar)}},96919:function(t,e,r){"use strict";t.exports={moduleType:"component",name:"colorbar",attributes:r(25158),supplyDefaults:r(42097),draw:r(5881).draw,hasColorbar:r(91362)}},87163:function(t,e,r){"use strict";var n=r(25158),i=r(90694).counter,a=r(62994),o=r(19017).scales;function s(t){return"`"+t+"`"}a(o),t.exports=function(t,e){t=t||"";var r,a=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),c="showScaleDflt"in e?e.showScaleDflt:"z"===a,u="string"==typeof e.colorscaleDflt?o[e.colorscaleDflt]:null,h=e.editTypeOverride||"",f=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):s(f+(r={z:"z",c:"color"}[a]));var p=a+"auto",d=a+"min",m=a+"max",g=a+"mid",y=(s(f+p),s(f+d),s(f+m),{});y[d]=y[m]=void 0;var v={};v[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:h||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:y},x[d]={valType:"number",dflt:null,editType:h||"plot",impliedEdits:v},x[m]={valType:"number",dflt:null,editType:h||"plot",impliedEdits:v},x[g]={valType:"number",dflt:null,editType:"calc",impliedEdits:y},x.colorscale={valType:"colorscale",editType:"calc",dflt:u,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:c,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:i("coloraxis"),dflt:null,editType:"calc"}),x}},28379:function(t,e,r){"use strict";var n=r(10721),i=r(34809),a=r(65477).extractOpts;t.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,c=r.containerStr,u=c?i.nestedProperty(e,c).get():e,h=a(u),f=!1!==h.auto,p=h.min,d=h.max,m=h.mid,g=function(){return i.aggNums(Math.min,null,l)},y=function(){return i.aggNums(Math.max,null,l)};void 0===p?p=g():f&&(p=u._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=y():f&&(d=u._colorAx&&n(d)?Math.max(d,y()):y()),f&&void 0!==m&&(d-m>m-p?p=m-(d-m):d-m=0?s.colorscale.sequential:s.colorscale.sequentialminus,h._sync("colorscale",o))}},67623:function(t,e,r){"use strict";var n=r(34809),i=r(65477).hasColorscale,a=r(65477).extractOpts;t.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,c=new Array(l),u=0;u4/3-s?o:s}},4001:function(t,e,r){"use strict";var n=r(34809),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];t.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},70414:function(t,e){"use strict";e.selectMode=function(t){return"lasso"===t||"select"===t},e.drawMode=function(t){return"drawclosedpath"===t||"drawopenpath"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.openMode=function(t){return"drawline"===t||"drawopenpath"===t},e.rectMode=function(t){return"select"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.freeMode=function(t){return"lasso"===t||"drawclosedpath"===t||"drawopenpath"===t},e.selectingOrDrawing=function(t){return e.freeMode(t)||e.rectMode(t)}},14751:function(t,e,r){"use strict";var n=r(44039),i=r(39784),a=r(74043),o=r(34809).removeElement,s=r(54826),l=t.exports={};l.align=r(53770),l.getCursor=r(4001);var c=r(60148);function u(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function h(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=c.wrapped,l.unhoverRaw=c.raw,l.init=function(t){var e,r,n,c,f,p,d,m,g=t.gd,y=1,v=g._context.doubleClickDelay,x=t.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=b,a?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=b,x.addEventListener("touchstart",b,{passive:!1})):x.ontouchstart=b;var _=t.clampFn||function(t,e,r){return Math.abs(t)v&&(y=Math.max(y-1,1)),g._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(y,p),!m){var r;try{r=new MouseEvent("click",e)}catch(t){var n=h(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}g._dragging=!1,g._dragged=!1}else g._dragged=!1}},l.coverSlip=u},60148:function(t,e,r){"use strict";var n=r(68596),i=r(64025),a=r(95425).getGraphDiv,o=r(85988),s=t.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!t._dragged&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},94850:function(t,e){"use strict";e.T={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"},e.k={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style"},editType:"style"}},62203:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=i.numberFormat,o=r(10721),s=r(65657),l=r(33626),c=r(78766),u=r(88856),h=i.strTranslate,f=r(30635),p=r(62972),d=r(4530).LINE_SPACING,m=r(20438).DESELECTDIM,g=r(64726),y=r(92527),v=r(36040).appendArrayPointValue,x=t.exports={};function _(t){return"none"===t?void 0:t}x.font=function(t,e){var r=e.variant,n=e.style,i=e.weight,a=e.color,o=e.size,s=e.family,l=e.shadow,u=e.lineposition,h=e.textcase;s&&t.style("font-family",s),o+1&&t.style("font-size",o+"px"),a&&t.call(c.fill,a),i&&t.style("font-weight",i),n&&t.style("font-style",n),r&&t.style("font-variant",r),h&&t.style("text-transform",_(function(t){return b[t]}(h))),l&&t.style("text-shadow","auto"===l?f.makeTextShadow(c.contrast(a)):_(l)),u&&t.style("text-decoration-line",_(function(t){return t.replace("under","underline").replace("over","overline").replace("through","line-through").split("+").join(" ")}(u)))};var b={normal:"none",lower:"lowercase",upper:"uppercase","word caps":"capitalize"};function w(t,e,r,n){var i=e.fillpattern,a=e.fillgradient,o=i&&x.getPatternAttr(i.shape,0,"");if(o){var s=x.getPatternAttr(i.bgcolor,0,null),l=x.getPatternAttr(i.fgcolor,0,null),u=i.fgopacity,h=x.getPatternAttr(i.size,0,8),f=x.getPatternAttr(i.solidity,0,.3),p=e.uid;x.pattern(t,"point",r,p,o,h,f,void 0,i.fillmode,s,l,u)}else if(a&&"none"!==a.type){var d,m,g=a.type,y="scatterfill-"+e.uid;n&&(y="legendfill-"+e.uid),n||void 0===a.start&&void 0===a.stop?("horizontal"===g&&(g+="reversed"),t.call(x.gradient,r,y,g,a.colorscale,"fill")):("horizontal"===g?(d={x:a.start,y:0},m={x:a.stop,y:0}):"vertical"===g&&(d={x:0,y:a.start},m={x:0,y:a.stop}),d.x=e._xA.c2p(void 0===d.x?e._extremes.x.min[0].val:d.x,!0),d.y=e._yA.c2p(void 0===d.y?e._extremes.y.min[0].val:d.y,!0),m.x=e._xA.c2p(void 0===m.x?e._extremes.x.max[0].val:m.x,!0),m.y=e._yA.c2p(void 0===m.y?e._extremes.y.max[0].val:m.y,!0),t.call(E,r,y,"linear",a.colorscale,"fill",d,m,!0,!1))}else e.fillcolor&&t.call(c.fill,e.fillcolor)}x.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},x.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},x.setRect=function(t,e,r,n,i){t.call(x.setPosition,e,r).call(x.setSize,n,i)},x.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(o(i)&&o(a)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",a):e.attr("transform",h(i,a)),!0)},x.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);x.translatePoint(t,i,e,r)}))},x.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},x.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,c=l.traceIs(a,"bar-like")?".bartext":".point,.textpoint";t.selectAll(c).each((function(t){x.hideOutsideRangePoint(t,n.select(this),r,i,o,s)}))}))}},x.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},x.singleLineStyle=function(t,e,r,n,i){e.style("fill","none");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||"";c.stroke(e,n||a.color),x.dashLine(e,s,o)},x.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,s=i||a.dash||"";n.select(this).call(c.stroke,r||a.color).call(x.dashLine,s,o)}))},x.dashLine=function(t,e,r){r=+r||0,e=x.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},x.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},x.singleFillStyle=function(t,e){var r=n.select(t.node());w(t,((r.data()[0]||[])[0]||{}).trace||{},e,!1)},x.fillGroupStyle=function(t,e,r){t.style("stroke-width",0).each((function(t){var i=n.select(this);t[0].trace&&w(i,t[0].trace,e,r)}))};var T=r(38882);x.symbolNames=[],x.symbolFuncs=[],x.symbolBackOffs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(T).forEach((function(t){var e=T[t],r=e.n;x.symbolList.push(r,String(r),t,r+100,String(r+100),t+"-open"),x.symbolNames[r]=t,x.symbolFuncs[r]=e.f,x.symbolBackOffs[r]=e.backoff||0,e.needLine&&(x.symbolNeedLines[r]=!0),e.noDot?x.symbolNoDot[r]=!0:x.symbolList.push(r+200,String(r+200),t+"-dot",r+300,String(r+300),t+"-open-dot"),e.noFill&&(x.symbolNoFill[r]=!0)}));var k=x.symbolNames.length;function A(t,e,r,n){var i=t%100;return x.symbolFuncs[i](e,r,n)+(t>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}x.symbolNumber=function(t){if(o(t))t=+t;else if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=x.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=k||t>=400?0:Math.floor(Math.max(t,0))};var M=a("~f"),S={radial:{type:"radial"},radialreversed:{type:"radial",reversed:!0},horizontal:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};function E(t,e,r,a,o,l,u,h,f,p){var d,m=o.length;"linear"===a?d={node:"linearGradient",attrs:{x1:u.x,y1:u.y,x2:h.x,y2:h.y,gradientUnits:f?"userSpaceOnUse":"objectBoundingBox"},reversed:p}:"radial"===a&&(d={node:"radialGradient",reversed:p});for(var g=new Array(m),y=0;y=0&&void 0===t.i&&(t.i=o.i),e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?s.opacity:t.mo),n.ms2mrc){var u;u="various"===t.ms||"various"===s.size?3:n.ms2mrc(t.ms),t.mrc=u,n.selectedSizeFn&&(u=t.mrc=n.selectedSizeFn(t));var h=x.symbolNumber(t.mx||s.symbol)||0;t.om=h%200>=100;var f=nt(t,r),p=Z(t,r);e.attr("d",A(h,u,f,p))}var d,m,g,y=!1;if(t.so)g=l.outlierwidth,m=l.outliercolor,d=s.outliercolor;else{var v=(l||{}).width;g=(t.mlw+1||v+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,m="mlc"in t?t.mlcc=n.lineScale(t.mlc):i.isArrayOrTypedArray(l.color)?c.defaultLine:l.color,i.isArrayOrTypedArray(s.color)&&(d=c.defaultLine,y=!0),d="mc"in t?t.mcc=n.markerScale(t.mc):s.color||s.colors||"rgba(0,0,0,0)",n.selectedColorFn&&(d=n.selectedColorFn(t))}if(t.om)e.call(c.stroke,d).style({"stroke-width":(g||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:g)+"px");var _=s.gradient,b=t.mgt;b?y=!0:b=_&&_.type,i.isArrayOrTypedArray(b)&&(b=b[0],S[b]||(b=0));var w=s.pattern,T=w&&x.getPatternAttr(w.shape,t.i,"");if(b&&"none"!==b){var k=t.mgc;k?y=!0:k=_.color;var M=r.uid;y&&(M+="-"+t.i),x.gradient(e,a,M,b,[[0,k],[1,d]],"fill")}else if(T){var E=!1,C=w.fgcolor;!C&&o&&o.color&&(C=o.color,E=!0);var L=x.getPatternAttr(C,t.i,o&&o.color||null),I=x.getPatternAttr(w.bgcolor,t.i,null),P=w.fgopacity,z=x.getPatternAttr(w.size,t.i,8),O=x.getPatternAttr(w.solidity,t.i,.3);E=E||t.mcc||i.isArrayOrTypedArray(w.shape)||i.isArrayOrTypedArray(w.bgcolor)||i.isArrayOrTypedArray(w.fgcolor)||i.isArrayOrTypedArray(w.size)||i.isArrayOrTypedArray(w.solidity);var D=r.uid;E&&(D+="-"+t.i),x.pattern(e,"point",a,D,T,z,O,t.mcc,w.fillmode,I,L,P)}else i.isArrayOrTypedArray(d)?c.fill(e,d[t.i]):c.fill(e,d);g&&c.stroke(e,m)}},x.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=x.tryColorscale(r,""),e.lineScale=x.tryColorscale(r,"line"),l.traceIs(t,"symbols")&&(e.ms2mrc=g.isBubble(t)?y(t):function(){return(r.size||6)/2}),t.selectedpoints&&i.extendFlat(e,x.makeSelectedPointStyleFns(t)),e},x.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},o=r.marker||{},s=n.marker||{},c=a.opacity,u=o.opacity,h=s.opacity,f=void 0!==u,p=void 0!==h;(i.isArrayOrTypedArray(c)||f||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?f?u:e:p?h:m*e});var d=a.color,g=o.color,y=s.color;(g||y)&&(e.selectedColorFn=function(t){var e=t.mcc||d;return t.selected?g||e:y||e});var v=a.size,x=o.size,_=s.size,b=void 0!==x,w=void 0!==_;return l.traceIs(t,"symbols")&&(b||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||v/2;return t.selected?b?x/2:e:w?_/2:e}),e},x.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||s;return t.selected?l||e:u||(l?e:c.addOpacity(e,m))},e},x.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style("opacity",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){c.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,n){var a=n.mx||i.symbol||0,o=r.selectedSizeFn(n);t.attr("d",A(x.symbolNumber(a),o,nt(n,e),Z(n,e))),n.mrc2=o})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}function O(t,e,r){return r&&(t=j(t)),e?R(t[1]):D(t[0])}function D(t){var e=n.round(t,2);return C=e,e}function R(t){var e=n.round(t,2);return L=e,e}function F(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,h=(c*c*a-l*l*s)*n,f=3*c*(l+c),p=3*l*(l+c);return[[D(e[0]+(f&&u/f)),R(e[1]+(f&&h/f))],[D(e[0]-(p&&u/p)),R(e[1]-(p&&h/p))]]}x.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var o=x.makeSelectedTextStyleFns(e);a=o.selectedTextColorFn}var s=e.texttemplate,l=r._fullLayout;t.each((function(t){var o=n.select(this),c=s?i.extractOption(t,e,"txt","texttemplate"):i.extractOption(t,e,"tx","text");if(c||0===c){if(s){var u=e._module.formatLabels,h=u?u(t,e,l):{},p={};v(p,e,t.i);var d=e._meta||{};c=i.texttemplateString(c,h,l._d3locale,p,t,d)}var m=t.tp||e.textposition,g=z(t,e),y=a?a(t):t.tc||e.textfont.color;o.call(x.font,{family:t.tf||e.textfont.family,weight:t.tw||e.textfont.weight,style:t.ty||e.textfont.style,variant:t.tv||e.textfont.variant,textcase:t.tC||e.textfont.textcase,lineposition:t.tE||e.textfont.lineposition,shadow:t.tS||e.textfont.shadow,size:g,color:y}).text(c).call(f.convertToTspans,r).call(P,m,g,t.mrc)}else o.remove()}))}},x.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,s=z(t,e);c.fill(i,a);var u=l.traceIs(e,"bar-like");P(i,o,s,t.mrc2||t.mrc,u)}))}},x.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r=c||w>=h&&w<=c)&&(T<=f&&T>=u||T>=f&&T<=u)&&(t=[w,T])}return t}x.steps=function(t){var e=B[t]||N;return function(t){for(var r="M"+D(t[0][0])+","+R(t[0][1]),n=t.length,i=1;i=1e4&&(x.savedBBoxes={},U=0),r&&(x.savedBBoxes[r]=g),U++,i.extendFlat({},g)},x.setClipUrl=function(t,e,r){t.attr("clip-path",q(e,r))},x.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||0,y:+e[1]||0}},x.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=h(e,r)).trim(),t[i]("transform",a),a},x.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||1,y:+e[1]||1}},x.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+="scale("+e+","+r+")").trim(),t[i]("transform",a),a};var H=/\s*sc.*/;x.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":"scale("+e+","+r+")";t.each((function(){var t=(this.getAttribute("transform")||"").replace(H,"");t=(t+=n).trim(),this.setAttribute("transform",t)}))}};var G=/translate\([^)]*\)\s*$/;function Z(t,e){var r;return t&&(r=t.mf),void 0===r&&(r=e.marker&&e.marker.standoff||0),e._geo||e._xA?r:-r}x.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(G);t=1===e&&1===r?[]:[h(o,s),"scale("+e+","+r+")",h(-o,-s)],l&&t.push(l),i.attr("transform",t.join(""))}}))},x.getMarkerStandoff=Z;var W,Y,X,$,J,K,Q=Math.atan2,tt=Math.cos,et=Math.sin;function rt(t,e){var r=e[0],n=e[1];return[r*tt(t)-n*et(t),r*et(t)+n*tt(t)]}function nt(t,e){var r,n,a=t.ma;void 0===a&&((a=e.marker.angle)&&!i.isArrayOrTypedArray(a)||(a=0));var s=e.marker.angleref;if("previous"===s||"north"===s){if(e._geo){var l=e._geo.project(t.lonlat);r=l[0],n=l[1]}else{var c=e._xA,u=e._yA;if(!c||!u)return 90;r=c.c2p(t.x),n=u.c2p(t.y)}if(e._geo){var h,f=t.lonlat[0],p=t.lonlat[1],d=e._geo.project([f,p+1e-5]),m=e._geo.project([f+1e-5,p]),g=Q(m[1]-n,m[0]-r),y=Q(d[1]-n,d[0]-r);if("north"===s)h=a/180*Math.PI;else if("previous"===s){var v=f/180*Math.PI,x=p/180*Math.PI,_=W/180*Math.PI,b=Y/180*Math.PI,w=_-v,T=tt(b)*et(w),k=et(b)*tt(x)-tt(b)*et(x)*tt(w);h=-Q(T,k)-Math.PI,W=f,Y=p}var A=rt(g,[tt(h),0]),M=rt(y,[et(h),0]);a=Q(A[1]+M[1],A[0]+M[0])/Math.PI*180,"previous"!==s||K===e.uid&&t.i===J+1||(a=null)}if("previous"===s&&!e._geo)if(K===e.uid&&t.i===J+1&&o(r)&&o(n)){var S=r-X,E=n-$,C=e.line&&e.line.shape||"",L=C.slice(C.length-1);"h"===L&&(E=0),"v"===L&&(S=0),a+=Q(E,S)/Math.PI*180+90}else a=null}return X=r,$=n,J=t.i,K=e.uid,a}x.getMarkerAngle=nt},38882:function(t,e,r){"use strict";var n,i,a,o,s=r(26953),l=r(45568).round,c="M0,0Z",u=Math.sqrt(2),h=Math.sqrt(3),f=Math.PI,p=Math.cos,d=Math.sin;function m(t){return null===t}function g(t,e,r){if(!(t&&t%360!=0||e))return r;if(a===t&&o===e&&n===r)return i;function l(t,r){var n=p(t),i=d(t),a=r[0],o=r[1]+(e||0);return[a*n-o*i,a*i+o*n]}a=t,o=e,n=r;for(var c=t/180*f,u=0,h=0,m=s(r),g="",y=0;y0,h=t._context.staticPlot;e.each((function(e){var f,p=e[0].trace,d=p.error_x||{},m=p.error_y||{};p.ids&&(f=function(t){return t.id});var g=o.hasMarkers(p)&&p.marker.maxdisplayed>0;m.visible||d.visible||(e=[]);var y=n.select(this).selectAll("g.errorbar").data(e,f);if(y.exit().remove(),e.length){d.visible||y.selectAll("path.xerror").remove(),m.visible||y.selectAll("path.yerror").remove(),y.style("opacity",1);var v=y.enter().append("g").classed("errorbar",!0);u&&v.style("opacity",0).transition().duration(s.duration).style("opacity",1),a.setClipUrl(y,r.layerClipId,t),y.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0))),void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,c);if(!g||t.vis){var a,o=e.select("path.yerror");if(m.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var f=m.width;a="M"+(r.x-f)+","+r.yh+"h"+2*f+"m-"+f+",0V"+r.ys,r.noYS||(a+="m-"+f+",0h"+2*f),o.size()?u&&(o=o.transition().duration(s.duration).ease(s.easing)):o=e.append("path").style("vector-effect",h?"none":"non-scaling-stroke").classed("yerror",!0),o.attr("d",a)}else o.remove();var p=e.select("path.xerror");if(d.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var y=(d.copy_ystyle?m:d).width;a="M"+r.xh+","+(r.y-y)+"v"+2*y+"m0,-"+y+"H"+r.xs,r.noXS||(a+="m0,-"+y+"v"+2*y),p.size()?u&&(p=p.transition().duration(s.duration).ease(s.easing)):p=e.append("path").style("vector-effect",h?"none":"non-scaling-stroke").classed("xerror",!0),p.attr("d",a)}else p.remove()}}))}}))}},22800:function(t,e,r){"use strict";var n=r(45568),i=r(78766);t.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)}))}},70192:function(t,e,r){"use strict";var n=r(80337),i=r(6811).hoverlabel,a=r(93049).extendFlat;t.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:"none"}}},83552:function(t,e,r){"use strict";var n=r(34809),i=r(33626);function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}t.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.index$[0]._length||bt<0||bt>J[0]._length)return m.unhoverRaw(t,e)}else _t="xpx"in e?e.xpx:$[0]._length/2,bt="ypx"in e?e.ypx:J[0]._length/2;if(e.pointerX=_t+$[0]._offset,e.pointerY=bt+J[0]._offset,nt="xval"in e?x.flat(_,e.xval):x.p2c($,_t),it="yval"in e?x.flat(_,e.yval):x.p2c(J,bt),!i(nt[0])||!i(it[0]))return o.warn("Fx.hover failed",e,t),m.unhoverRaw(t,e)}var At=1/0;function Mt(r,n){for(ot=0;otmt&&(gt.splice(0,mt),At=gt[0].distance),M&&0!==rt&&0===gt.length){dt.distance=rt,dt.index=!1;var u=lt._module.hoverPoints(dt,ft,pt,"closest",{hoverLayer:b._hoverlayer});if(u&&(u=u.filter((function(t){return t.spikeDistance<=rt}))),u&&u.length){var h,f=u.filter((function(t){return t.xa.showspikes&&"hovered data"!==t.xa.spikesnap}));if(f.length){var p=f[0];i(p.x0)&&i(p.y0)&&(h=Et(p),(!vt.vLinePoint||vt.vLinePoint.spikeDistance>h.spikeDistance)&&(vt.vLinePoint=h))}var m=u.filter((function(t){return t.ya.showspikes&&"hovered data"!==t.ya.spikesnap}));if(m.length){var g=m[0];i(g.x0)&&i(g.y0)&&(h=Et(g),(!vt.hLinePoint||vt.hLinePoint.spikeDistance>h.spikeDistance)&&(vt.hLinePoint=h))}}}}}function St(t,e,r){for(var n,i=null,a=1/0,o=0;o0&&Math.abs(t.distance)Nt-1;jt--)Ht(gt[jt]);gt=Ut,Pt()}var Gt=t._hoverdata,Zt=[],Wt=H(t),Yt=G(t);for(at=0;at1||gt.length>1)||"closest"===S&&xt&>.length>1,se=d.combine(b.plot_bgcolor||d.background,b.paper_bgcolor),le=D(gt,{gd:t,hovermode:S,rotateLabels:oe,bgColor:se,container:b._hoverlayer,outerContainer:b._paper.node(),commonLabelOpts:b.hoverlabel,hoverdistance:b.hoverdistance}),ce=le.hoverLabels;if(x.isUnifiedHover(S)||(function(t,e,r,n){var i,a,o,s,l,c,u,h=e?"xa":"ya",f=e?"ya":"xa",p=0,d=1,m=t.size(),g=new Array(m),y=0,v=n.minX,x=n.maxX,_=n.minY,b=n.maxY,w=function(t){return t*r._invScaleX},T=function(t){return t*r._invScaleY};function k(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,o=r.pos+r.dp+r.size-e.pmax,a>.01){for(l=t.length-1;l>=0;l--)t[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=t.length-1;l>=0;l--)t[l].dp-=o;i=!1}if(i){var n=0;for(s=0;se.pmax&&n++;for(s=t.length-1;s>=0&&!(n<=0);s--)(c=t[s]).pos>e.pmax-1&&(c.del=!0,n--);for(s=0;s=0;l--)t[l].dp-=o;for(s=t.length-1;s>=0&&!(n<=0);s--)(c=t[s]).pos+c.dp+c.size>e.pmax&&(c.del=!0,n--)}}}for(t.each((function(t){var n=t[h],i=t[f],a="x"===n._id.charAt(0),o=n.range;0===y&&o&&o[0]>o[1]!==a&&(d=-1);var s=0,l=a?r.width:r.height;if("x"===r.hovermode||"y"===r.hovermode){var c,u,p=F(t,e),m=t.anchor,k="end"===m?-1:1;if("middle"===m)u=(c=t.crossPos+(a?T(p.y-t.by/2):w(t.bx/2+t.tx2width/2)))+(a?T(t.by):w(t.bx));else if(a)u=(c=t.crossPos+T(E+p.y)-T(t.by/2-E))+T(t.by);else{var M=w(k*E+p.x),S=M+w(k*t.bx);c=t.crossPos+Math.min(M,S),u=t.crossPos+Math.max(M,S)}a?void 0!==_&&void 0!==b&&Math.min(u,b)-Math.max(c,_)>1&&("left"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==v&&void 0!==x&&Math.min(u,x)-Math.max(c,v)>1&&("top"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[y++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?A:1)/2,pmin:s,pmax:l}]})),g.sort((function(t,e){return t[0].posref-e[0].posref||d*(e[0].traceIndex-t[0].traceIndex)}));!i&&p<=m;){for(p++,i=!0,s=0;s.01){for(l=S.length-1;l>=0;l--)S[l].dp+=a;for(M.push.apply(M,S),g.splice(s+1,1),u=0,l=M.length-1;l>=0;l--)u+=M[l].dp;for(o=u/M.length,l=M.length-1;l>=0;l--)M[l].dp-=o;i=!1}else s++}g.forEach(k)}for(s=g.length-1;s>=0;s--){var I=g[s];for(l=I.length-1;l>=0;l--){var P=I[l],z=P.datum;z.offset=P.dp,z.del=P.del}}}(ce,oe,b,le.commonLabelBoundingBox),B(ce,oe,b._invScaleX,b._invScaleY)),l&&l.tagName){var ue=v.getComponentMethod("annotations","hasClickToShow")(t,Zt);f(n.select(l),ue?"pointer":"")}l&&!a&&function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,Gt)&&(Gt&&t.emit("plotly_unhover",{event:e,points:Gt}),t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:$,yaxes:J,xvals:nt,yvals:it}))}(t,e,r,a,l)}))},e.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=e.gd,a=H(i),o=G(i),s=D(t.map((function(t){var r=t._x0||t.x0||t.x||0,n=t._x1||t.x1||t.x||0,s=t._y0||t.y0||t.y||0,l=t._y1||t.y1||t.y||0,c=t.eventData;if(c){var u=Math.min(r,n),h=Math.max(r,n),f=Math.min(s,l),p=Math.max(s,l),m=t.trace;if(v.traceIs(m,"gl3d")){var g=i._fullLayout[m.scene]._scene.container,y=g.offsetLeft,x=g.offsetTop;u+=y,h+=y,f+=x,p+=x}c.bbox={x0:u+o,x1:h+o,y0:f+a,y1:p+a},e.inOut_bbox&&e.inOut_bbox.push(c.bbox)}else c=!1;return{color:t.color||d.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontVariant:t.fontVariant,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,hovertemplateLabels:t.hovertemplateLabels||!1,eventData:c}})),{gd:i,hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||d.background,container:n.select(e.container),outerContainer:e.outerContainer||e.container}).hoverLabels,l=0,c=0;return s.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\s\S]*)<\/extra>/;function D(t,e){var r=e.gd,i=r._fullLayout,a=e.hovermode,s=e.rotateLabels,u=e.bgColor,f=e.container,m=e.outerContainer,g=e.commonLabelOpts||{};if(0===t.length)return[[]];var y=e.fontFamily||_.HOVERFONT,k=e.fontSize||_.HOVERFONTSIZE,A=e.fontWeight||i.font.weight,M=e.fontStyle||i.font.style,S=e.fontVariant||i.font.variant,L=e.fontTextcase||i.font.textcase,I=e.fontLineposition||i.font.lineposition,P=e.fontShadow||i.font.shadow,O=t[0],D=O.xa,F=O.ya,B=a.charAt(0),N=B+"Label",j=O[N];if(void 0===j&&"multicategory"===D.type)for(var U=0;Ui.width-T&&(z=i.width-T),e.attr("d","M"+(x-z)+",0L"+(x-z+E)+","+w+E+"H"+T+"v"+w+(2*C+b.height)+"H"+-T+"V"+w+E+"H"+(x-z-E)+"Z"),x=z,Q.minX=x-T,Q.maxX=x+T,"top"===D.side?(Q.minY=_-(2*C+b.height),Q.maxY=_-C):(Q.minY=_+C,Q.maxY=_+(2*C+b.height))}else{var R,B,N;"right"===F.side?(R="start",B=1,N="",x=D._offset+D._length):(R="end",B=-1,N="-",x=D._offset),_=F._offset+(O.y0+O.y1)/2,s.attr("text-anchor",R),e.attr("d","M0,0L"+N+E+","+E+"V"+(C+b.height/2)+"h"+N+(2*C+b.width)+"V-"+(C+b.height/2)+"H"+N+E+"V-"+E+"Z"),Q.minY=_-(C+b.height/2),Q.maxY=_+(C+b.height/2),"right"===F.side?(Q.minX=x+E,Q.maxX=x+E+(2*C+b.width)):(Q.minX=x-E-(2*C+b.width),Q.maxX=x-E);var U,V=b.height/2,H=q-b.top-V,G="clip"+i._uid+"commonlabel"+F._id;if(x=0?dt:mt+vt=0?mt:Mt+vt=0?ft:pt+xt=0?pt:St+xt=0,"top"!==t.idealAlign&&J||!K?J?(N+=V/2,t.anchor="start"):t.anchor="middle":(N-=V/2,t.anchor="end"),t.crossPos=N;else{if(t.pos=N,J=B+U/2+Q<=H,K=B-U/2-Q>=0,"left"!==t.idealAlign&&J||!K)if(J)B+=U/2,t.anchor="start";else{t.anchor="middle";var tt=Q/2,et=B+tt-H,rt=B-tt;et>0&&(B-=et),rt<0&&(B+=-rt)}else B-=U/2,t.anchor="end";t.crossPos=B}w.attr("text-anchor",t.anchor),O&&z.attr("text-anchor",t.anchor),e.attr("transform",l(B,N)+(s?c(T):""))})),{hoverLabels:Et,commonLabelBoundingBox:Q}}function R(t,e,r,n,i,a){var s="",l="";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=V(t.name,t.nameLength));var c=r.charAt(0),u="x"===c?"y":"x";void 0!==t.zLabel?(void 0!==t.xLabel&&(l+="x: "+t.xLabel+"
"),void 0!==t.yLabel&&(l+="y: "+t.yLabel+"
"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&"choroplethmap"!==t.trace.type&&(l+=(l?"z: ":"")+t.zLabel)):e&&t[c+"Label"]===i?l=t[u+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?"
":"")+t.text),void 0!==t.extraText&&(l+=(l?"
":"")+t.extraText),a&&""===l&&!t.hovertemplate&&(""===s&&a.remove(),l=s);var h=t.hovertemplate||!1;if(h){var f=t.hovertemplateLabels||t;t[c+"Label"]!==i&&(f[c+"other"]=f[c+"Val"],f[c+"otherLabel"]=f[c+"Label"]),l=(l=o.hovertemplateString(h,f,n._d3locale,t.eventData[0]||{},t.trace._meta)).replace(O,(function(e,r){return s=V(r,t.nameLength),""}))}return[l,s]}function F(t,e){var r=0,n=t.offset;return e&&(n*=-S,r=t.offset*M),{x:r,y:n}}function B(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i,s,l,c,u=r.select("text.nums"),f=t.anchor,d="end"===f?-1:1,m=(c=(l=(s={start:1,end:-1,middle:0}[(i=t).anchor])*(E+C))+s*(i.txwidth+C),"middle"===i.anchor&&(l-=i.tx2width/2,c+=i.txwidth/2+C),{alignShift:s,textShiftX:l,text2ShiftX:c}),g=F(t,e),y=g.x,v=g.y,x="middle"===f;r.select("path").attr("d",x?"M-"+a(t.bx/2+t.tx2width/2)+","+o(v-t.by/2)+"h"+a(t.bx)+"v"+o(t.by)+"h-"+a(t.bx)+"Z":"M0,0L"+a(d*E+y)+","+o(E+v)+"v"+o(t.by/2-E)+"h"+a(d*t.bx)+"v-"+o(t.by)+"H"+a(d*E+y)+"V"+o(v-E)+"Z");var _=y+m.textShiftX,b=v+t.ty0-t.by/2+C,w=t.textAlign||"auto";"auto"!==w&&("left"===w&&"start"!==f?(u.attr("text-anchor","start"),_=x?-t.bx/2-t.tx2width/2+C:-t.bx-C):"right"===w&&"end"!==f&&(u.attr("text-anchor","end"),_=x?t.bx/2-t.tx2width/2-C:t.bx+C)),u.call(h.positionText,a(_),o(b)),t.tx2width&&(r.select("text.name").call(h.positionText,a(m.text2ShiftX+m.alignShift*C+y),o(v+t.ty0-t.by/2+C)),r.select("rect").call(p.setRect,a(m.text2ShiftX+(m.alignShift-1)*t.tx2width/2+y),o(v-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function N(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var c=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function u(e,r,n){var i=c(r,n);l(i)&&(t[e]=i)}if(u("hoverinfo","hi","hoverinfo"),u("bgcolor","hbg","hoverlabel.bgcolor"),u("borderColor","hbc","hoverlabel.bordercolor"),u("fontFamily","htf","hoverlabel.font.family"),u("fontSize","hts","hoverlabel.font.size"),u("fontColor","htc","hoverlabel.font.color"),u("fontWeight","htw","hoverlabel.font.weight"),u("fontStyle","hty","hoverlabel.font.style"),u("fontVariant","htv","hoverlabel.font.variant"),u("nameLength","hnl","hoverlabel.namelength"),u("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:g.hoverLabelText(t.xa,t.xLabelVal,n.xhoverformat),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:g.hoverLabelText(t.ya,t.yLabelVal,n.yhoverformat),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var h=g.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+h+" / -"+g.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" ± "+h,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var f=g.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+f+" / -"+g.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" ± "+f,"y"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&"all"!==p&&(-1===(p=Array.isArray(p)?p:p.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===p.indexOf("y")&&(t.yLabel=void 0),-1===p.indexOf("z")&&(t.zLabel=void 0),-1===p.indexOf("text")&&(t.text=void 0),-1===p.indexOf("name")&&(t.name=void 0)),t}function j(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,c=r.event,u=!!e.hLinePoint,h=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),h||u){var f=d.combine(s.plot_bgcolor,s.paper_bgcolor);if(u){var m,y,v=e.hLinePoint;n=v&&v.xa,"cursor"===(i=v&&v.ya).spikesnap?(m=c.pointerX,y=c.pointerY):(m=n._offset+v.x,y=i._offset+v.y);var x,_,b=a.readability(v.color,f)<1.5?d.contrast(f):v.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||b,A=g.getPxPosition(t,i);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,_=m),-1!==w.indexOf("across")){var M=i._counterDomainMin,S=i._counterDomainMax;"free"===i.anchor&&(M=Math.min(M,i.position),S=Math.max(S,i.position)),x=l.l+M*l.w,_=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:_,y1:y,y2:y,"stroke-width":T,stroke:k,"stroke-dasharray":p.dashStyle(i.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:_,y1:y,y2:y,"stroke-width":T+2,stroke:f}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==i.side?T:-T),cy:y,r:T,fill:k}).classed("spikeline",!0)}if(h){var E,C,L=e.vLinePoint;n=L&&L.xa,i=L&&L.ya,"cursor"===n.spikesnap?(E=c.pointerX,C=c.pointerY):(E=n._offset+L.x,C=i._offset+L.y);var I,P,z=a.readability(L.color,f)<1.5?d.contrast(f):L.color,O=n.spikemode,D=n.spikethickness,R=n.spikecolor||z,F=g.getPxPosition(t,n);if(-1!==O.indexOf("toaxis")||-1!==O.indexOf("across")){if(-1!==O.indexOf("toaxis")&&(I=F,P=C),-1!==O.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),I=l.t+(1-N)*l.h,P=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:I,y2:P,"stroke-width":D,stroke:R,"stroke-dasharray":p.dashStyle(n.spikedash,D)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:I,y2:P,"stroke-width":D+2,stroke:f}).classed("spikeline",!0).classed("crisp",!0)}-1!==O.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?D:-D),r:D,fill:R}).classed("spikeline",!0)}}}function U(t,e){return!e||e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint}function V(t,e){return h.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em","s","u"]})}function q(t,e,r){var n=e[t+"a"],i=e[t+"Val"],a=e.cd[0];if("category"===n.type||"multicategory"===n.type)i=n._categoriesMap[i];else if("date"===n.type){var o=e.trace[t+"periodalignment"];if(o){var s=e.cd[e.index],l=s[t+"Start"];void 0===l&&(l=s[t]);var c=s[t+"End"];void 0===c&&(c=s[t]);var u=c-l;"end"===o?i+=u:"middle"===o&&(i+=u/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&("group"!==r.boxmode&&"group"!==r.violinmode||(i+=a.t.dPos)),i}function H(t){return t.offsetTop+t.clientTop}function G(t){return t.offsetLeft+t.clientLeft}function Z(t,e){var r=t._fullLayout,n=e.getBoundingClientRect(),i=n.left,a=n.top,s=i+n.width,l=a+n.height,c=o.apply3DTransform(r._invTransform)(i,a),u=o.apply3DTransform(r._invTransform)(s,l),h=c[0],f=c[1],p=u[0],d=u[1];return{x:h,y:f,width:p-h,height:d-f,top:Math.min(f,d),left:Math.min(h,p),right:Math.max(h,p),bottom:Math.max(f,d)}}},26430:function(t,e,r){"use strict";var n=r(34809),i=r(78766),a=r(36040).isUnifiedHover;t.exports=function(t,e,r,o){o=o||{};var s=e.legend;function l(t){o.font[t]||(o.font[t]=s?e.legend.font[t]:e.font[t])}e&&a(e.hovermode)&&(o.font||(o.font={}),l("size"),l("family"),l("color"),l("weight"),l("style"),l("variant"),s?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r("hoverlabel.bgcolor",o.bgcolor),r("hoverlabel.bordercolor",o.bordercolor),r("hoverlabel.namelength",o.namelength),n.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}},45265:function(t,e,r){"use strict";var n=r(34809),i=r(6811);t.exports=function(t,e){function r(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}return r("clickmode"),r("hoversubplots"),r("hovermode")}},32141:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=r(14751),o=r(36040),s=r(6811),l=r(38103);t.exports={moduleType:"component",name:"fx",constants:r(85988),schema:{layout:s},attributes:r(70192),layoutAttributes:s,supplyLayoutGlobalDefaults:r(5358),supplyDefaults:r(3239),supplyLayoutDefaults:r(8412),calc:r(83552),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,"hoverinfo",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:r(94225)}},6811:function(t,e,r){"use strict";var n=r(85988),i=r(80337),a=i({editType:"none"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,t.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar"},hoversubplots:{valType:"enumerated",values:["single","overlaying","axis"],dflt:"overlaying",editType:"none"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:a,grouptitlefont:i({editType:"none"}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},8412:function(t,e,r){"use strict";var n=r(34809),i=r(6811),a=r(45265),o=r(26430);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}a(t,e)&&(r("hoverdistance"),r("spikedistance")),"select"===r("dragmode")&&r("selectdirection");var s=e._has("mapbox"),l=e._has("map"),c=e._has("geo"),u=e._basePlotModules.length;"zoom"===e.dragmode&&((s||l||c)&&1===u||(s||l)&&c&&2===u)&&(e.dragmode="pan"),o(t,e,r),n.coerceFont(r,"hoverlabel.grouptitlefont",e.hoverlabel.font)}},5358:function(t,e,r){"use strict";var n=r(34809),i=r(26430),a=r(6811);t.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},83595:function(t,e,r){"use strict";var n=r(34809),i=r(90694).counter,a=r(13792).u,o=r(54826).idRegex,s=r(78032),l={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[i("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:a({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function c(t,e,r){var n=e[r+"axes"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function u(t,e,r,n,i,a){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(i),c=s[0],u=(s[1]-c)/(i-o),h=u*(1-o),f=0;f1){f||p||d||"independent"===k("pattern")&&(f=!0),g._hasSubplotGrid=f;var x,_,b="top to bottom"===k("roworder"),w=f?.2:.1,T=f?.3:.1;m&&e._splomGridDflt&&(x=e._splomGridDflt.xside,_=e._splomGridDflt.yside),g._domains={x:u("x",k,w,x,v),y:u("y",k,T,_,y,b)}}else delete e.grid}function k(t,e){return n.coerce(r,g,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,u,f=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,m=r.rows,g=r.columns,y="independent"===r.pattern,v=r._axisMap={};if(d){var x=f.subplots||[];l=r.subplots=new Array(m);var _=1;for(n=0;n("legend"===t?1:0));if(!1===M&&(r[t]=void 0),(!1!==M||h.uirevision)&&(p("uirevision",r.uirevision),!1!==M)){p("borderwidth");var S,E,C,L="h"===p("orientation"),I="paper"===p("yref"),P="paper"===p("xref"),z="left";if(L?(S=0,n.getComponentMethod("rangeslider","isVisible")(e.xaxis)?I?(E=1.1,C="bottom"):(E=1,C="top"):I?(E=-.1,C="top"):(E=0,C="bottom")):(E=1,C="auto",P?S=1.02:(S=1,z="right")),i.coerce(h,f,{x:{valType:"number",editType:"legend",min:P?-2:0,max:P?3:1,dflt:S}},"x"),i.coerce(h,f,{y:{valType:"number",editType:"legend",min:I?-2:0,max:I?3:1,dflt:E}},"y"),p("traceorder",b),c.isGrouped(r[t])&&p("tracegroupgap"),p("entrywidth"),p("entrywidthmode"),p("indentation"),p("itemsizing"),p("itemwidth"),p("itemclick"),p("itemdoubleclick"),p("groupclick"),p("xanchor",z),p("yanchor",C),p("valign"),i.noneOrAll(h,f,["x","y"]),p("title.text")){p("title.side",L?"left":"top");var O=i.extendFlat({},d,{size:i.bigFont(d.size)});i.coerceFont(p,"title.font",O)}}}}t.exports=function(t,e,r){var n,a=r.slice(),o=e.shapes;if(o)for(n=0;n1)}var B=d.hiddenlabels||[];if(!(T||d.showlegend&&S.length))return s.selectAll("."+w).remove(),d._topdefs.select("#"+r).remove(),a.autoMargin(t,w);var N=i.ensureSingle(s,"g",w,(function(t){T||t.attr("pointer-events","all")})),j=i.ensureSingleById(d._topdefs,"clipPath",r,(function(t){t.append("rect")})),U=i.ensureSingle(N,"rect","bg",(function(t){t.attr("shape-rendering","crispEdges")}));U.call(u.stroke,f.bordercolor).call(u.fill,f.bgcolor).style("stroke-width",f.borderwidth+"px");var V,q=i.ensureSingle(N,"g","scrollbox"),H=f.title;f._titleWidth=0,f._titleHeight=0,H.text?((V=i.ensureSingle(q,"text",w+"titletext")).attr("text-anchor","start").call(c.font,H.font).text(H.text),C(V,q,t,f,b)):q.selectAll("."+w+"titletext").remove();var G=i.ensureSingle(N,"rect","scrollbar",(function(t){t.attr(p.scrollBarEnterAttrs).call(u.fill,p.scrollBarColor)})),Z=q.selectAll("g.groups").data(S);Z.enter().append("g").attr("class","groups"),Z.exit().remove();var W=Z.selectAll("g.traces").data(i.identity);W.enter().append("g").attr("class","traces"),W.exit().remove(),W.style("opacity",(function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==B.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1})).each((function(){n.select(this).call(M,t,f)})).call(x,t,f).each((function(){T||n.select(this).call(E,t,w)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout,o=P(i);i||(i=a[o]);var s=a._size,l=_.isVertical(i),u=_.isGrouped(i),h="fraction"===i.entrywidthmode,f=i.borderwidth,d=2*f,m=p.itemGap,g=i.indentation+i.itemwidth+2*m,y=2*(f+m),v=I(i),x=i.y<0||0===i.y&&"top"===v,b=i.y>1||1===i.y&&"bottom"===v,w=i.tracegroupgap,T={};i._maxHeight=Math.max(x||b?a.height/2:s.h,30);var A=0;i._width=0,i._height=0;var M=function(t){var e=0,r=0,n=t.title.side;return n&&(-1!==n.indexOf("left")&&(e=t._titleWidth),-1!==n.indexOf("top")&&(r=t._titleHeight)),[e,r]}(i);if(l)r.each((function(t){var e=t[0].height;c.setTranslate(this,f+M[0],f+M[1]+i._height+e/2+m),i._height+=e,i._width=Math.max(i._width,t[0].width)})),A=g+i._width,i._width+=m+g+d,i._height+=y,u&&(e.each((function(t,e){c.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var S=L(i),E=i.x<0||0===i.x&&"right"===S,C=i.x>1||1===i.x&&"left"===S,z=b||x,O=a.width/2;i._maxWidth=Math.max(E?z&&"left"===S?s.l+s.w:O:C?z&&"right"===S?s.r+s.w:O:s.w,2*g);var D=0,R=0;r.each((function(t){var e=k(t,i,g);D=Math.max(D,e),R+=e})),A=null;var F=0;if(u){var B=0,N=0,j=0;e.each((function(){var t=0,e=0;n.select(this).selectAll("g.traces").each((function(r){var n=k(r,i,g),a=r[0].height;c.setTranslate(this,M[0],M[1]+f+m+a/2+e),e+=a,t=Math.max(t,n),T[r[0].trace.legendgroup]=t}));var r=t+m;N>0&&r+f+N>i._maxWidth?(F=Math.max(F,N),N=0,j+=B+w,B=e):B=Math.max(B,e),c.setTranslate(this,N,j),N+=r})),i._width=Math.max(F,N)+f,i._height=j+B+y}else{var U=r.size(),V=R+d+(U-1)*m=i._maxWidth&&(F=Math.max(F,Z),H=0,G+=q,i._height+=q,q=0),c.setTranslate(this,M[0]+f+H,M[1]+f+G+e/2+m),Z=H+r+m,H+=n,q=Math.max(q,e)})),V?(i._width=H+d,i._height=q+y):(i._width=Math.max(F,Z)+d,i._height+=q+y)}}i._width=Math.ceil(Math.max(i._width+M[0],i._titleWidth+2*(f+p.titlePad))),i._height=Math.ceil(Math.max(i._height+M[1],i._titleHeight+2*(f+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var W=t._context.edits,Y=W.legendText||W.legendPosition;r.each((function(t){var e=n.select(this).select("."+o+"toggle"),r=t[0].height,a=t[0].trace.legendgroup,s=k(t,i,g);u&&""!==a&&(s=T[a]);var f=Y?g:A||s;l||h||(f+=m/2),c.setRect(e,0,-r/2,f,r)}))}(t,Z,W,f)},function(){var e,u,v,x,_=d._size,b=f.borderwidth,k="paper"===f.xref,M="paper"===f.yref;if(H.text&&function(t,e,r){if("top center"===e.title.side||"top right"===e.title.side){var n=e.title.font.size*m,i=0,a=t.node(),o=c.bBox(a).width;"top center"===e.title.side?i=.5*(e._width-2*r-2*p.titlePad-o):"top right"===e.title.side&&(i=e._width-2*r-2*p.titlePad-o),h.positionText(t,r+p.titlePad+i,r+n)}}(V,f,b),!T){var S,E;S=k?_.l+_.w*f.x-g[L(f)]*f._width:d.width*f.x-g[L(f)]*f._width,E=M?_.t+_.h*(1-f.y)-g[I(f)]*f._effHeight:d.height*(1-f.y)-g[I(f)]*f._effHeight;var C=function(t,e,r,n){var i=t._fullLayout,o=i[e],s=L(o),l=I(o),c="paper"===o.xref,u="paper"===o.yref;t._fullLayout._reservedMargin[e]={};var h=o.y<.5?"b":"t",f=o.x<.5?"l":"r",p={r:i.width-r,l:r+o._width,b:i.height-n,t:n+o._effHeight};if(c&&u)return a.autoMargin(t,e,{x:o.x,y:o.y,l:o._width*g[s],r:o._width*y[s],b:o._effHeight*y[l],t:o._effHeight*g[l]});c?t._fullLayout._reservedMargin[e][h]=p[h]:u||"v"===o.orientation?t._fullLayout._reservedMargin[e][f]=p[f]:t._fullLayout._reservedMargin[e][h]=p[h]}(t,w,S,E);if(C)return;if(d.margin.autoexpand){var P=S,z=E;S=k?i.constrain(S,0,d.width-f._width):P,E=M?i.constrain(E,0,d.height-f._effHeight):z,S!==P&&i.log("Constrain "+w+".x to make legend fit inside graph"),E!==z&&i.log("Constrain "+w+".y to make legend fit inside graph")}c.setTranslate(N,S,E)}if(G.on(".drag",null),N.on("wheel",null),T||f._height<=f._maxHeight||t._context.staticPlot){var O=f._effHeight;T&&(O=f._height),U.attr({width:f._width-b,height:O-b,x:b/2,y:b/2}),c.setTranslate(q,0,0),j.select("rect").attr({width:f._width-2*b,height:O-2*b,x:b,y:b}),c.setClipUrl(q,r,t),c.setRect(G,0,0,0,0),delete f._scrollY}else{var D,R,F,B=Math.max(p.scrollBarMinHeight,f._effHeight*f._effHeight/f._height),Z=f._effHeight-B-2*p.scrollBarMargin,W=f._height-f._effHeight,Y=Z/W,X=Math.min(f._scrollY||0,W);U.attr({width:f._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:f._effHeight-b,x:b/2,y:b/2}),j.select("rect").attr({width:f._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:f._effHeight-2*b,x:b,y:b+X}),c.setClipUrl(q,r,t),K(X,B,Y),N.on("wheel",(function(){K(X=i.constrain(f._scrollY+n.event.deltaY/Z*W,0,W),B,Y),0!==X&&X!==W&&n.event.preventDefault()}));var $=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;D="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,F=X})).on("drag",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(R="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,X=function(t,e,r){var n=(r-e)/Y+t;return i.constrain(n,0,W)}(F,D,R),K(X,B,Y))}));G.call($);var J=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(D=t.changedTouches[0].clientY,F=X)})).on("drag",(function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(R=t.changedTouches[0].clientY,X=function(t,e,r){var n=(e-r)/Y+t;return i.constrain(n,0,W)}(F,D,R),K(X,B,Y))}));q.call(J)}function K(e,r,n){f._scrollY=t._fullLayout[w]._scrollY=e,c.setTranslate(q,0,-e),c.setRect(G,f._width,p.scrollBarMargin+e*n,p.scrollBarWidth,r),j.select("rect").attr("y",b+e)}t._context.edits.legendPosition&&(N.classed("cursor-move",!0),l.init({element:N.node(),gd:t,prepFn:function(t){if(t.target!==G.node()){var e=c.getTranslate(N);v=e.x,x=e.y}},moveFn:function(t,r){if(void 0!==v&&void 0!==x){var n=v+t,i=x+r;c.setTranslate(N,n,i),e=l.align(n,f._width,_.l,_.l+_.w,f.xanchor),u=l.align(i+f._height,-f._height,_.t+_.h,_.t,f.yanchor)}},doneFn:function(){if(void 0!==e&&void 0!==u){var r={};r[w+".x"]=e,r[w+".y"]=u,o.call("_guiRelayout",t,r)}},clickFn:function(e,r){var n=s.selectAll("g.traces").filter((function(){var t=this.getBoundingClientRect();return r.clientX>=t.left&&r.clientX<=t.right&&r.clientY>=t.top&&r.clientY<=t.bottom}));n.size()>0&&A(t,N,n,e,r)}}))}],t)}}function k(t,e,r){var n=t[0],i=n.width,a=e.entrywidthmode,o=n.trace.legendwidth||e.entrywidth;return"fraction"===a?e._maxWidth*o:r+(o||i)}function A(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};a._group&&(l.group=a._group),o.traceIs(a,"pie-like")&&(l.label=r.datum()[0].label);var c=s.triggerHandler(t,"plotly_legendclick",l);if(1===n){if(!1===c)return;e._clickTimeout=setTimeout((function(){t._fullLayout&&f(r,t,n)}),t._context.doubleClickDelay)}else 2===n&&(e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&!1!==c&&f(r,t,n))}function M(t,e,r){var n,a,s=P(r),l=t.data()[0][0],u=l.trace,f=o.traceIs(u,"pie-like"),d=!r._inHover&&e._context.edits.legendText&&!f,m=r._maxNameLength;l.groupTitle?(n=l.groupTitle.text,a=l.groupTitle.font):(a=r.font,r.entries?n=l.text:(n=f?l.label:u.name,u._meta&&(n=i.templateString(n,u._meta))));var g=i.ensureSingle(t,"text",s+"text");g.attr("text-anchor","start").call(c.font,a).text(d?S(n,m):n);var y=r.indentation+r.itemwidth+2*p.itemGap;h.positionText(g,y,0),d?g.call(h.makeEditable,{gd:e,text:n}).call(C,t,e,r).on("edit",(function(n){this.text(S(n,m)).call(C,t,e,r);var a=l.trace._fullInput||{},s={};if(o.hasTransform(a,"groupby")){var c=o.getTransformIndices(a,"groupby"),h=c[c.length-1],f=i.keyedContainer(a,"transforms["+h+"].styles","target","value.name");f.set(l.trace._group,n),s=f.constructUpdate()}else s.name=n;return a._isShape?o.call("_guiRelayout",e,"shapes["+u.index+"].name",s.name):o.call("_guiRestyle",e,s,u.index)})):C(g,t,e,r)}function S(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function E(t,e,r){var a,o=e._context.doubleClickDelay,s=1,l=i.ensureSingle(t,"rect",r+"toggle",(function(t){e._context.staticPlot||t.style("cursor","pointer").attr("pointer-events","all"),t.call(u.fill,"rgba(0,0,0,0)")}));e._context.staticPlot||(l.on("mousedown",(function(){(a=(new Date).getTime())-e._legendMouseDownTimeo&&(s=Math.max(s-1,1)),A(e,i,t,s,n.event)}})))}function C(t,e,r,n,i){n._inHover&&t.attr("data-notex",!0),h.convertToTspans(t,r,(function(){!function(t,e,r,n){var i=t.data()[0][0];if(r._inHover||!i||i.trace.showlegend){var a=t.select("g[class*=math-group]"),o=a.node(),s=P(r);r||(r=e._fullLayout[s]);var l,u,f=r.borderwidth,d=(n===b?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*m;if(o){var g=c.bBox(o);l=g.height,u=g.width,n===b?c.setTranslate(a,f,f+.75*l):c.setTranslate(a,0,.25*l)}else{var y="."+s+(n===b?"title":"")+"text",v=t.select(y),x=h.lineCount(v),_=v.node();if(l=d*x,u=_?c.bBox(_).width:0,n===b)"left"===r.title.side&&(u+=2*p.itemGap),h.positionText(v,f+p.titlePad,f+d);else{var w=2*p.itemGap+r.indentation+r.itemwidth;i.groupTitle&&(w=p.itemGap,u-=r.indentation+r.itemwidth),h.positionText(v,w,-d*((x-1)/2-.3))}}n===b?(r._titleWidth=u,r._titleHeight=l):(i.lineHeight=d,i.height=Math.max(l,16)+3,i.width=u)}else t.remove()}(e,r,n,i)}))}function L(t){return i.isRightAnchor(t)?"right":i.isCenterAnchor(t)?"center":"left"}function I(t){return i.isBottomAnchor(t)?"bottom":i.isMiddleAnchor(t)?"middle":"top"}function P(t){return t._id||"legend"}t.exports=function(t,e){if(e)T(t,e);else{var r=t._fullLayout,i=r._legends;r._infolayer.selectAll('[class^="legend"]').each((function(){var t=n.select(this),e=t.attr("class").split(" ")[0];e.match(w)&&-1===i.indexOf(e)&&t.remove()}));for(var a=0;aS&&(M=S)}k[a][0]._groupMinRank=M,k[a][0]._preGroupSort=a}var E=function(t,e){return t.trace.legendrank-e.trace.legendrank||t._preSort-e._preSort};for(k.forEach((function(t,e){t[0]._preGroupSort=e})),k.sort((function(t,e){return t[0]._groupMinRank-e[0]._groupMinRank||t[0]._preGroupSort-e[0]._preGroupSort})),a=0;ar?r:t}t.exports=function(t,e,r){var y=e._fullLayout;r||(r=y.legend);var v="constant"===r.itemsizing,x=r.itemwidth,_=(x+2*p.itemGap)/2,b=o(_,0),w=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return v?n:Math.min(i,r)};function T(t,a,o){var u=t[0].trace,h=u.marker||{},f=h.line||{},p=h.cornerradius?"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z":"M6,6H-6V-6H6Z",d=o?u.visible&&u.type===o:i.traceIs(u,"bar"),m=n.select(a).select("g.legendpoints").selectAll("path.legend"+o).data(d?[t]:[]);m.enter().append("path").classed("legend"+o,!0).attr("d",p).attr("transform",b),m.exit().remove(),m.each((function(t){var i=n.select(this),a=t[0],o=w(a.mlw,h.line,5,2);i.style("stroke-width",o+"px");var p=a.mcc;if(!r._inHover&&"mc"in a){var d=c(h),m=d.mid;void 0===m&&(m=(d.max+d.min)/2),p=s.tryColorscale(h,"")(m)}var y=p||a.mc||h.color,v=h.pattern,x=v&&s.getPatternAttr(v.shape,0,"");if(x){var _=s.getPatternAttr(v.bgcolor,0,null),b=s.getPatternAttr(v.fgcolor,0,null),T=v.fgopacity,k=g(v.size,8,10),A=g(v.solidity,.5,1),M="legend-"+u.uid;i.call(s.pattern,"legend",e,M,x,k,A,p,v.fillmode,_,b,T)}else i.call(l.fill,y);o&&l.stroke(i,a.mlc||f.color)}))}function k(t,r,o){var s=t[0],l=s.trace,c=o?l.visible&&l.type===o:i.traceIs(l,o),u=n.select(r).select("g.legendpoints").selectAll("path.legend"+o).data(c?[t]:[]);if(u.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",b),u.exit().remove(),u.size()){var p=l.marker||{},d=w(f(p.line.width,s.pts),p.line,5,2),m="pieLike",g=a.minExtend(l,{marker:{line:{width:d}}},m),y=a.minExtend(s,{trace:g},m);h(u,y,g,e)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,"g","layers");i.style("opacity",t[0].trace.opacity);var s=r.indentation,l=r.valign,c=t[0].lineHeight,u=t[0].height;if("middle"===l&&0===s||!c||!u)i.attr("transform",null);else{var h={top:1,bottom:-1}[l]*(.5*(c-u+3))||0,f=r.indentation;i.attr("transform",o(f,h))}i.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),i.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var p=i.selectAll("g.legendsymbols").data([t]);p.enter().append("g").classed("legendsymbols",!0),p.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case"histogram2d":case"heatmap":o=[["M-15,-2V4H15V-2Z"]],r=!0;break;case"choropleth":case"choroplethmapbox":case"choroplethmap":o=[["M-6,-6V6H6V-6Z"]],r=!0;break;case"densitymapbox":case"densitymap":o=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],r="radial";break;case"cone":o=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],r=!1;break;case"streamtube":o=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],r=!1;break;case"surface":o=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],r=!0;break;case"mesh3d":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!1;break;case"volume":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!0;break;case"isosurface":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],r=!1}var u=n.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(o);u.enter().append("path").classed("legend3dandfriends",!0).attr("transform",b).style("stroke-miterlimit",1),u.exit().remove(),u.each((function(t,o){var u,h=n.select(this),f=c(i),p=f.colorscale,m=f.reversescale;if(p){if(!r){var g=p.length;u=0===o?p[m?g-1:0][1]:1===o?p[m?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var y=i.vertexcolor||i.facecolor||i.color;u=a.isArrayOrTypedArray(y)?y[o]||y[0]:y}h.attr("d",t[0]),u?h.call(l.fill,u):h.call((function(t){if(t.size()){var n="legendfill-"+i.uid;s.gradient(t,e,n,d(m,"radial"===r),p,"fill")}}))}))})).each((function(t){var e=t[0].trace,r="waterfall"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,T(t,this,"waterfall")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var o=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",b).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=w(void 0,i.line,5,2);r.attr("d",t[1]).style("stroke-width",a+"px").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){T(t,this,"funnel")})).each((function(t){T(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&i.traceIs(r,"box-violin")?[t]:[]);o.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",b),o.exit().remove(),o.each((function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=w(void 0,r.line,5,2);t.style("stroke-width",i+"px").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var c=a.minExtend(r,{marker:{size:v?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});o.call(s.pointStyle,c,e)}}))})).each((function(t){k(t,this,"funnelarea")})).each((function(t){k(t,this,"pie")})).each((function(t){var r,i,o=m(t),l=o.showFill,h=o.showLine,f=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,y=o.anyLine,v=t[0],_=v.trace,b=c(_),T=b.colorscale,k=b.reversescale,A=u.hasMarkers(_)||!g?"M5,0":y?"M5,-2":"M5,-3",M=n.select(this),S=M.select(".legendfill").selectAll("path").data(l||p?[t]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h"+x+"v6h-"+x+"z").call((function(t){if(t.size())if(l)s.fillGroupStyle(t,e,!0);else{var r="legendfill-"+_.uid;s.gradient(t,e,r,d(k),T,"fill")}})),h||f){var E=w(void 0,_.line,10,5);i=a.minExtend(_,{line:{width:E}}),r=[a.minExtend(v,{trace:i})]}var C=M.select(".legendlines").selectAll("path").data(h||f?[r]:[]);C.enter().append("path").classed("js-line",!0),C.exit().remove(),C.attr("d",A+(f?"l"+x+",0.0001":"h"+x)).call(h?s.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+_.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(k),T,"stroke")}})})).each((function(t){var r,i,o=m(t),l=o.anyFill,c=o.anyLine,h=o.showLine,f=o.showMarker,p=t[0],d=p.trace,g=!f&&!c&&!l&&u.hasText(d);function y(t,e,r,n){var i=a.nestedProperty(d,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(v&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(t){return p._distinct&&p.index&&t[p.index]?t[p.index]:t[0]}if(f||g||h){var _={},w={};if(f){_.mc=y("marker.color",x),_.mx=y("marker.symbol",x),_.mo=y("marker.opacity",a.mean,[.2,1]),_.mlc=y("marker.line.color",x),_.mlw=y("marker.line.width",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var T=y("marker.size",a.mean,[2,16],12);_.ms=T,w.marker.size=T}h&&(w.line={width:y("line.width",x,[0,10],5)}),g&&(_.tx="Aa",_.tp=y("textposition",x),_.ts=10,_.tc=y("textfont.color",x),_.tf=y("textfont.family",x),_.tw=y("textfont.weight",x),_.ty=y("textfont.style",x),_.tv=y("textfont.variant",x),_.tC=y("textfont.textcase",x),_.tE=y("textfont.lineposition",x),_.tS=y("textfont.shadow",x)),r=[a.minExtend(p,_)],(i=a.minExtend(d,w)).selectedpoints=null,i.texttemplate=null}var k=n.select(this).select("g.legendpoints"),A=k.selectAll("path.scatterpts").data(f?r:[]);A.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",b),A.exit().remove(),A.call(s.pointStyle,i,e),f&&(r[0].mrc=3);var M=k.selectAll("g.pointtext").data(g?r:[]);M.enter().append("g").classed("pointtext",!0).append("text").attr("transform",b),M.exit().remove(),M.selectAll("text").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",(function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",b).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",(function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",b).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("fill","none").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},50308:function(t,e,r){"use strict";r(87632),t.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"}}},5832:function(t,e,r){"use strict";var n=r(33626),i=r(44122),a=r(5975),o=r(35188),s=r(28231).eraseActiveShape,l=r(34809),c=l._,u=t.exports={};function h(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,c=t._fullLayout,u={},h=a.list(t,null,!0),f=c._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,m=(1+d)/2,g=(1-d)/2;for(i=0;i1?(z=["toggleHover"],O=["resetViews"]):y?(P=["zoomInGeo","zoomOutGeo"],z=["hoverClosestGeo"],O=["resetGeo"]):g?(z=["hoverClosest3d"],O=["resetCameraDefault3d","resetCameraLastSave3d"]):w?(P=["zoomInMapbox","zoomOutMapbox"],z=["toggleHover"],O=["resetViewMapbox"]):T?(P=["zoomInMap","zoomOutMap"],z=["toggleHover"],O=["resetViewMap"]):_?z=["hoverClosestGl2d"]:v?z=["hoverClosestPie"]:M?(z=["hoverClosestCartesian","hoverCompareCartesian"],O=["resetViewSankey"]):z=["toggleHover"],m&&z.push("toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"),(function(t){for(var e=0;e0)){var m=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a0?t.touches[0].clientX:0}function y(t,e,r,n){var i=o.ensureSingle(t,"rect",m.bgClassName,(function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})})),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,u=-n._offsetShift,h=l.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:s(u,u),"stroke-width":h}).call(c.stroke,n.bordercolor).call(c.fill,n.bgcolor)}function v(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._topdefs,"clipPath",n._clipId,(function(t){t.append("rect").attr({x:0,y:0})})).select("rect").attr({width:n._width,height:n._height})}function x(t,e,r,i){var s,c=e.calcdata,u=t.selectAll("g."+m.rangePlotClassName).data(r._subplotsWith,o.identity);u.enter().append("g").attr("class",(function(t){return m.rangePlotClassName+" "+t})).call(l.setClipUrl,i._clipId,e),u.order(),u.exit().remove(),u.each((function(t,o){var l=n.select(this),u=0===o,p=f.getFromId(e,t,"y"),d=p._name,m=i[d],g={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};r.rangebreaks&&(g.layout.xaxis.rangebreaks=r.rangebreaks),g.layout[d]={type:p.type,domain:[0,1],range:"match"!==m.rangemode?m.range.slice():p.range.slice(),calendar:p.calendar},p.rangebreaks&&(g.layout[d].rangebreaks=p.rangebreaks),a.supplyDefaults(g);var y=g._fullLayout.xaxis,v=g._fullLayout[d];y.clearCalc(),y.setScale(),v.clearCalc(),v.setScale();var x={id:t,plotgroup:l,xaxis:y,yaxis:v,isRangePlot:!0};u?s=x:(x.mainplot="xy",x.mainplotinfo=s),h.rangePlot(e,x,function(t,e){for(var r=[],n=0;n=n.max)e=B[r+1];else if(t=n.pmax)e=B[r+1];else if(tr._length||v+b<0)return;u=y+b,p=v+b;break;case l:if(_="col-resize",y+b>r._length)return;u=y+b,p=v;break;case c:if(_="col-resize",v+b<0)return;u=y,p=v+b;break;default:_="ew-resize",u=m,p=m+b}if(p=0;k--){var A=r.append("path").attr(g).style("opacity",k?.1:y).call(o.stroke,x).call(o.fill,v).call(s.dashLine,k?"solid":b,k?4+_:_);if(d(A,t,a),w){var M=l(t.layout,"selections",a);A.style({cursor:"move"});var S={element:A.node(),plotinfo:p,gd:t,editHelpers:M,isActiveSelection:!0},E=n(c,t);i(E,A,S)}else A.style("pointer-events",k?"all":"none");T[k]=A}var C=T[0];T[1].node().addEventListener("click",(function(){return function(t,e){if(f(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeSelectionIndex)return void m(t);t._fullLayout._activeSelectionIndex=r,t._fullLayout._deactivateSelection=m,h(t)}}}(t,C)}))}(t._fullLayout._selectionLayer)}function d(t,e,r){var n=r.xref+r.yref;s.setClipUrl(t,"clip"+e._fullLayout._uid+n,e)}function m(t){f(t)&&t._fullLayout._activeSelectionIndex>=0&&(a(t),delete t._fullLayout._activeSelectionIndex,h(t))}t.exports={draw:h,drawOne:p,activateLastSelection:function(t){if(f(t)){var e=t._fullLayout.selections.length-1;t._fullLayout._activeSelectionIndex=e,t._fullLayout._deactivateSelection=m,h(t)}}}},52307:function(t,e,r){"use strict";var n=r(94850).T,i=r(93049).extendFlat;t.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:i({},n,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}},43028:function(t){"use strict";t.exports=function(t,e,r){r("newselection.mode"),r("newselection.line.width")&&(r("newselection.line.color"),r("newselection.line.dash")),r("activeselection.fillcolor"),r("activeselection.opacity")}},51817:function(t,e,r){"use strict";var n=r(70414).selectMode,i=r(78534).clearOutline,a=r(81055),o=a.readPaths,s=a.writePaths,l=a.fixDatesForPaths;t.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var a=r.getAttribute("d"),c=e.gd,u=c._fullLayout.newselection,h=e.plotinfo,f=h.xaxis,p=h.yaxis,d=e.isActiveSelection,m=e.dragmode,g=(c.layout||{}).selections||[];if(!n(m)&&void 0!==d){var y=c._fullLayout._activeSelectionIndex;if(y-1,_=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){Z(t,e,a);var b=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n0?function(t,e){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i1)return!1;if((n+=e.selectedpoints.length)>1)return!1}return 1===n}(s)&&(f=J(b))){for(o&&o.remove(),g=0;g=0})(i)&&i._fullLayout._deactivateShape(i),function(t){return t._fullLayout._activeSelectionIndex>=0}(i)&&i._fullLayout._deactivateSelection(i);var o=i._fullLayout._zoomlayer,s=p(r),l=m(r);if(s||l){var c,u,h=o.selectAll(".select-outline-"+n.id);h&&i._fullLayout._outlining&&(s&&(c=T(h,t)),c&&a.call("_guiRelayout",i,{shapes:c}),l&&!U(t)&&(u=k(h,t)),u&&(i._fullLayout._noEmitSelectedAtStart=!0,a.call("_guiRelayout",i,{selections:u}).then((function(){e&&A(i)}))),i._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=t.selectionDefs=[],n.selection.mergedPolygons=t.mergedPolygons=[]}function Y(t){return t._id}function X(t,e,r,n){if(!t.calcdata)return[];var i,a,o,s=[],l=e.map(Y),c=r.map(Y);for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function K(t,e,r){var n,i;for(n=0;n-1&&e;if(!a&&e){var et=ot(t,!0);if(et.length){var nt=et[0].xref,pt=et[0].yref;if(nt&&pt){var dt=ct(et);ut([L(t,nt,"x"),L(t,pt,"y")])(Q,dt)}}t._fullLayout._noEmitSelectedAtStart?t._fullLayout._noEmitSelectedAtStart=!1:tt&&ht(t,Q),f._reselect=!1}if(!a&&f._deselect){var mt=f._deselect;(function(t,e,r){for(var n=0;n=0)k._fullLayout._deactivateShape(k);else if(!x){var r=A.clickmode;C.done(Mt).then((function(){if(C.clear(Mt),2===t){for(_t.remove(),J=0;J-1&&V(e,k,n.xaxes,n.yaxes,n.subplot,n,_t),"event"===r&&ht(k,void 0);l.click(k,e,I.id)})).catch(M.error)}},n.doneFn=function(){kt.remove(),C.done(Mt).then((function(){C.clear(Mt),!S&&$&&n.selectionDefs&&($.subtract=xt,n.selectionDefs.push($),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,Y)),(S||x)&&W(n,S),n.doneFnCompleted&&n.doneFnCompleted(St),_&&ht(k,at)})).catch(M.error)}},clearOutline:x,clearSelectionsCache:W,selectOnClick:V}},43144:function(t,e,r){"use strict";var n=r(50222),i=r(80337),a=r(36640).line,o=r(94850).T,s=r(93049).extendFlat,l=r(78032).templatedArray,c=(r(35081),r(9829)),u=r(3208).LF,h=r(41235);t.exports=l("shape",{visible:s({},c.visible,{editType:"calc+arraydraw"}),showlegend:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},legend:s({},c.legend,{editType:"calc+arraydraw"}),legendgroup:s({},c.legendgroup,{editType:"calc+arraydraw"}),legendgrouptitle:{text:s({},c.legendgrouptitle.text,{editType:"calc+arraydraw"}),font:i({editType:"calc+arraydraw"}),editType:"calc+arraydraw"},legendrank:s({},c.legendrank,{editType:"calc+arraydraw"}),legendwidth:s({},c.legendwidth,{editType:"calc+arraydraw"}),type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above",editType:"arraydraw"},xref:s({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},x0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},x1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},yref:s({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},y0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},y1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:s({},a.color,{editType:"arraydraw"}),width:s({},a.width,{editType:"calc+arraydraw"}),dash:s({},o,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},label:{text:{valType:"string",dflt:"",editType:"arraydraw"},texttemplate:u({},{keys:Object.keys(h)}),font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"],editType:"arraydraw"},textangle:{valType:"angle",dflt:"auto",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],editType:"calc+arraydraw"},padding:{valType:"number",dflt:3,min:0,editType:"arraydraw"},editType:"arraydraw"},editType:"arraydraw"})},44959:function(t,e,r){"use strict";var n=r(34809),i=r(29714),a=r(2956),o=r(49728);function s(t){return c(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return c(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function c(t,e,r,i,s,l){var c=t/2,u=l;if("pixel"===e){var h=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],f=n.aggNums(Math.max,null,h),p=n.aggNums(Math.min,null,h),d=p<0?Math.abs(p)+c:c,m=f>0?f+c:c;return{ppad:c,ppadplus:u?d:m,ppadminus:u?m:d}}return{ppad:c}}function u(t,e,r){var n,i,s="x"===t._id.charAt(0)?"x":"y",l="category"===t.type||"multicategory"===t.type,c=0,u=0,h=l?t.r2c:t.d2c;if("scaled"===e[s+"sizemode"]?(n=e[s+"0"],i=e[s+"1"],l&&(c=e[s+"0shift"],u=e[s+"1shift"])):(n=e[s+"anchor"],i=e[s+"anchor"]),void 0!==n)return[h(n)+c,h(i)+u];if(e.path){var f,p,d,m,g=1/0,y=-1/0,v=e.path.match(a.segmentRE);for("date"===t.type&&(h=o.decodeDate(h)),f=0;fy&&(y=m)));return y>=g?[g,y]:void 0}}t.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o=t?e-n:n-e,-180/Math.PI*Math.atan2(i,a)}(x,b,_,w):0),A.call((function(e){return e.call(o.font,k).attr({}),a.convertToTspans(e,t),e}));var G=function(t,e,r,n,i,a,o){var s,l,c,u,f=i.label.textposition,p=i.label.textangle,d=i.label.padding,m=i.type,g=Math.PI/180*a,y=Math.sin(g),v=Math.cos(g),x=i.label.xanchor,_=i.label.yanchor;if("line"===m){"start"===f?(s=t,l=e):"end"===f?(s=r,l=n):(s=(t+r)/2,l=(e+n)/2),"auto"===x&&(x="start"===f?"auto"===p?r>t?"left":rt?"right":rt?"right":rt?"left":r1&&(2!==t.length||"Z"!==t[1][0])&&(0===L&&(t[0][0]="M"),e[C]=t,A(),M())}}()}}function V(t,r){!function(t,r){if(e.length)for(var n=0;nb?(M=p,L="y0",S=b,I="y1"):(M=b,L="y1",S=p,I="y0"),it(n),st(l,r),function(t,e,r){var n=e.xref,i=e.yref,a=o.getFromId(r,n),s=o.getFromId(r,i),l="";"paper"===n||a.autorange||(l+=n),"paper"===i||s.autorange||(l+=i),f.setClipUrl(t,l?"clip"+r._fullLayout._uid+l:null,r)}(e,r,t),nt.moveFn="move"===D?at:ot,nt.altKey=n.altKey)},doneFn:function(){_(t)||(m(e),lt(l),T(e,t,r),i.call("_guiRelayout",t,u.getUpdateObj()))},clickFn:function(){_(t)||lt(l)}};function it(r){if(_(t))D=null;else if(j)D="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=nt.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!U&&i>R&&a>F&&!r.shiftKey?d.getCursor(o/i,1-s/a):"move";m(e,l),D=l.split("-")[0]}}function at(n,i){if("path"===r.type){var a=function(t){return t},o=a,u=a;B?V("xanchor",r.xanchor=tt(w+n)):(o=function(t){return tt(K(t)+n)},H&&"date"===H.type&&(o=y.encodeDate(o))),N?V("yanchor",r.yanchor=et(A+i)):(u=function(t){return et(Q(t)+i)},Z&&"date"===Z.type&&(u=y.encodeDate(u))),V("path",r.path=k(O,o,u))}else B?V("xanchor",r.xanchor=tt(w+n)):(V("x0",r.x0=tt(h+n)),V("x1",r.x1=tt(x+n))),N?V("yanchor",r.yanchor=et(A+i)):(V("y0",r.y0=et(p+i)),V("y1",r.y1=et(b+i)));e.attr("d",v(t,r)),st(l,r),c(t,s,r,q)}function ot(n,i){if(U){var a=function(t){return t},o=a,u=a;B?V("xanchor",r.xanchor=tt(w+n)):(o=function(t){return tt(K(t)+n)},H&&"date"===H.type&&(o=y.encodeDate(o))),N?V("yanchor",r.yanchor=et(A+i)):(u=function(t){return et(Q(t)+i)},Z&&"date"===Z.type&&(u=y.encodeDate(u))),V("path",r.path=k(O,o,u))}else if(j){if("resize-over-start-point"===D){var f=h+n,d=N?p-i:p+i;V("x0",r.x0=B?f:tt(f)),V("y0",r.y0=N?d:et(d))}else if("resize-over-end-point"===D){var m=x+n,g=N?b-i:b+i;V("x1",r.x1=B?m:tt(m)),V("y1",r.y1=N?g:et(g))}}else{var _=function(t){return-1!==D.indexOf(t)},T=_("n"),G=_("s"),W=_("w"),Y=_("e"),X=T?M+i:M,$=G?S+i:S,J=W?E+n:E,rt=Y?C+n:C;N&&(T&&(X=M-i),G&&($=S-i)),(!N&&$-X>F||N&&X-$>F)&&(V(L,r[L]=N?X:et(X)),V(I,r[I]=N?$:et($))),rt-J>R&&(V(P,r[P]=B?J:tt(J)),V(z,r[z]=B?rt:tt(rt)))}e.attr("d",v(t,r)),st(l,r),c(t,s,r,q)}function st(t,e){(B||N)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var i=K(B?e.xanchor:a.midRange(r?[e.x0,e.x1]:y.extractPathCoords(e.path,g.paramIsX))),o=Q(N?e.yanchor:a.midRange(r?[e.y0,e.y1]:y.extractPathCoords(e.path,g.paramIsY)));if(i=y.roundPositionForSharpStrokeRendering(i,1),o=y.roundPositionForSharpStrokeRendering(o,1),B&&N){var s="M"+(i-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(B){var l="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var c="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",c)}}()}function lt(t){t.selectAll(".visual-cue").remove()}d.init(nt),rt.node().onmousemove=it}(t,F,u,e,r,D):!0===u.editable&&F.style("pointer-events",z||h.opacity(C)*E<=.5?"stroke":"all");F.node().addEventListener("click",(function(){return function(t,e){if(b(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void A(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=A,x(t)}}}(t,F)}))}u._input&&!0===u.visible&&("above"===u.layer?M(t._fullLayout._shapeUpperLayer):"paper"===u.xref||"paper"===u.yref?M(t._fullLayout._shapeLowerLayer):"between"===u.layer?M(w.shapelayerBetween):w._hadPlotinfo?M((w.mainplotinfo||w).shapelayer):M(t._fullLayout._shapeLowerLayer))}function T(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");f.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function k(t,e,r){return t.replace(g.segmentRE,(function(t){var n=0,i=t.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+t.substr(1).replace(g.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function A(t){b(t)&&t._fullLayout._activeShapeIndex>=0&&(u(t),delete t._fullLayout._activeShapeIndex,x(t))}t.exports={draw:x,drawOne:w,eraseActiveShape:function(t){if(b(t)){u(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e0&&lp&&(t="X"),t}));return a>p&&(d=d.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),u+d}))}(r,l,u);if("pixel"===r.xsizemode){var A=l(r.xanchor);h=A+r.x0+b,f=A+r.x1+w}else h=l(r.x0)+b,f=l(r.x1)+w;if("pixel"===r.ysizemode){var M=u(r.yanchor);p=M-r.y0+T,d=M-r.y1+k}else p=u(r.y0)+T,d=u(r.y1)+k;if("line"===m)return"M"+h+","+p+"L"+f+","+d;if("rect"===m)return"M"+h+","+p+"H"+f+"V"+d+"H"+h+"Z";var S=(h+f)/2,E=(p+d)/2,C=Math.abs(S-h),L=Math.abs(E-p),I="A"+C+","+L,P=S+C+","+E;return"M"+P+I+" 0 1,1 "+S+","+(E-L)+I+" 0 0,1 "+P+"Z"}},43701:function(t,e,r){"use strict";var n=r(28231);t.exports={moduleType:"component",name:"shapes",layoutAttributes:r(43144),supplyLayoutDefaults:r(74367),supplyDrawNewShapeDefaults:r(85522),includeBasePlot:r(20706)("shapes"),calcAutorange:r(44959),draw:n.draw,drawOne:n.drawOne}},41235:function(t){"use strict";function e(t,e){return e?e.d2l(t):t}function r(t,e){return e?e.l2d(t):t}function n(t){return t.x0shift||0}function i(t){return t.x1shift||0}function a(t){return t.y0shift||0}function o(t){return t.y1shift||0}function s(t,r){return e(t.x1,r)+i(t)-e(t.x0,r)-n(t)}function l(t,r,n){return e(t.y1,n)+o(t)-e(t.y0,n)-a(t)}t.exports={x0:function(t){return t.x0},x1:function(t){return t.x1},y0:function(t){return t.y0},y1:function(t){return t.y1},slope:function(t,e,r){return"line"!==t.type?void 0:l(t,0,r)/s(t,e)},dx:s,dy:l,width:function(t,e){return Math.abs(s(t,e))},height:function(t,e,r){return Math.abs(l(t,0,r))},length:function(t,e,r){return"line"!==t.type?void 0:Math.sqrt(Math.pow(s(t,e),2)+Math.pow(l(t,0,r),2))},xcenter:function(t,a){return r((e(t.x1,a)+i(t)+e(t.x0,a)+n(t))/2,a)},ycenter:function(t,n,i){return r((e(t.y1,i)+o(t)+e(t.y0,i)+a(t))/2,i)}}},8606:function(t,e,r){"use strict";var n=r(80337),i=r(57891),a=r(93049).extendDeepAll,o=r(13582).overrideAll,s=r(49722),l=r(78032).templatedArray,c=r(64194),u=l("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:u,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:a(i({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:c.gripBgActiveColor},bgcolor:{valType:"color",dflt:c.railBgColor},bordercolor:{valType:"color",dflt:c.railBorderColor},borderwidth:{valType:"number",min:0,dflt:c.railBorderWidth},ticklen:{valType:"number",min:0,dflt:c.tickLength},tickcolor:{valType:"color",dflt:c.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:c.minorTickLength}}),"arraydraw","from-root")},64194:function(t){"use strict";t.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},74537:function(t,e,r){"use strict";var n=r(34809),i=r(59008),a=r(8606),o=r(64194).name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:"steps",handleItemDefaults:c}),l=0,u=0;u0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform",l(o-.5*h.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+h.stepInset+(r.inputAreaLength-2*h.stepInset)*Math.min(1,Math.max(0,e))}function C(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-h.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*h.stepInset-2*r.inputAreaStart)))}function L(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",h.railTouchRectClass,(function(n){n.call(A,e,t,r).style("pointer-events","all")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,h.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function I(t,e){var r=e._dims,n=r.inputAreaLength-2*h.railInset,i=s.ensureSingle(t,"rect",h.railRectClass);i.attr({width:n,height:h.railWidth,rx:h.railRadius,ry:h.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,h.railInset,.5*(r.inputAreaWidth-h.railWidth)+r.currentValueTotalHeight)}t.exports=function(t){var e=t._context.staticPlot,r=t._fullLayout,a=function(t,e){for(var r=t[h.name],n=[],i=0;i0?[0]:[]);function l(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(s.enter().append("g").classed(h.containerClassName,!0).style("cursor",e?null:"ew-resize"),s.exit().each((function(){n.select(this).selectAll("g."+h.groupClassName).each(l)})).remove(),0!==a.length){var c=s.selectAll("g."+h.groupClassName).data(a,y);c.enter().append("g").classed(h.groupClassName,!0),c.exit().each(l).remove();for(var u=0;u0||T<0){var E={left:[-k,0],right:[k,0],top:[0,-k],bottom:[0,k]}[b.side];a.attr("transform",l(E[0],E[1]))}}}function ft(t,e){t.text(e).on("mouseover.opacity",(function(){n.select(this).transition().duration(f.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(f.HIDE_PLACEHOLDER).style("opacity",0)}))}if(at.call(ct,ot),et&&(S?at.on(".opacity",null):(ft(at,x),E=!0),at.call(h.makeEditable,{gd:t}).on("edit",(function(e){void 0!==_?o.call("_guiRestyle",t,v,e,_):o.call("_guiRelayout",t,v,e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(ct)})).on("input",(function(t){this.text(t||" ").call(h.positionText,w.x,w.y)})),N)){if(N&&!S){var pt=at.node().getBBox(),dt=pt.y+pt.height+1.6*W;ot.attr("y",dt)}V?ot.on(".opacity",null):(ft(ot,j),q=!0),ot.call(h.makeEditable,{gd:t}).on("edit",(function(e){o.call("_guiRelayout",t,"title.subtitle.text",e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(ct)})).on("input",(function(t){this.text(t||" ").call(h.positionText,ot.attr("x"),ot.attr("y"))}))}return at.classed("js-placeholder",E),ot&&ot.classed("js-placeholder",q),k},SUBTITLE_PADDING_EM:1.6,SUBTITLE_PADDING_MATHJAX_EM:1.6}},85389:function(t,e,r){"use strict";var n=r(80337),i=r(10229),a=r(93049).extendFlat,o=r(13582).overrideAll,s=r(57891),l=r(78032).templatedArray,c=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:c,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},71559:function(t){"use strict";t.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"◄",right:"►",up:"▲",down:"▼"}}},42746:function(t,e,r){"use strict";var n=r(34809),i=r(59008),a=r(85389),o=r(71559).name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o("visible",i(t,e,{name:"buttons",handleItemDefaults:c}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function c(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}t.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},40974:function(t,e,r){"use strict";var n=r(45568),i=r(44122),a=r(78766),o=r(62203),s=r(34809),l=r(30635),c=r(78032).arrayEditor,u=r(4530).LINE_SPACING,h=r(71559),f=r(21736);function p(t){return t._index}function d(t,e){return+t.attr(h.menuIndexAttrName)===e._index}function m(t,e,r,n,i,a,o,s){e.active=o,c(t.layout,h.name,e).applyUpdate("active",o),"buttons"===e.type?y(t,n,null,null,e):"dropdown"===e.type&&(i.attr(h.menuIndexAttrName,"-1"),g(t,n,i,a,e),s||y(t,n,i,a,e))}function g(t,e,r,n,i){var a=s.ensureSingle(e,"g",h.headerClassName,(function(t){t.style("pointer-events","all")})),l=i._dims,c=i.active,u=i.buttons[c]||h.blankHeaderOpts,f={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(v,i,u,t).call(M,i,f,p),s.ensureSingle(e,"text",h.headerArrowClassName,(function(t){t.attr("text-anchor","end").call(o.font,i.font).text(h.arrowSymbol[i.direction])})).attr({x:l.headerWidth-h.arrowOffsetX+i.pad.l,y:l.headerHeight/2+h.textOffsetY+i.pad.t}),a.on("click",(function(){r.call(S,String(d(r,i)?-1:i._index)),y(t,e,r,n,i)})),a.on("mouseover",(function(){a.call(w)})),a.on("mouseout",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function y(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(h.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,c="dropdown"===o.type?h.dropdownButtonClassName:h.buttonClassName,u=r.selectAll("g."+c).data(s.filterVisible(l)),f=u.enter().append("g").classed(c,!0),p=u.exit();"dropdown"===o.type?(f.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,g=0,y=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?g=y.headerHeight+h.gapButtonHeader:d=y.headerWidth+h.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(g=-h.gapButtonHeader+h.gapButton-y.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-h.gapButtonHeader+h.gapButton-y.openWidth);var _={x:y.lx+d+o.pad.l,y:y.ly+g+o.pad.t,yPad:h.gapButton,xPad:h.gapButton,index:0},k={l:_.x+o.borderwidth,t:_.y+o.borderwidth};u.each((function(s,l){var c=n.select(this);c.call(v,o,s,t).call(M,o,_),c.on("click",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(m(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(m(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))})),c.on("mouseover",(function(){c.call(w)})),c.on("mouseout",(function(){c.call(T,o),u.call(b,o)}))})),u.call(b,o),x?(k.w=Math.max(y.openWidth,y.headerWidth),k.h=_.y-k.t):(k.w=_.x-k.l,k.h=Math.max(y.openHeight,y.headerHeight)),k.direction=o.direction,a&&(u.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u="up"===c||"down"===c,f=i._dims,p=i.active;if(u)for(s=0,l=0;l0?[0]:[]);if(o.enter().append("g").classed(h.containerClassName,!0).style("cursor","pointer"),o.exit().each((function(){n.select(this).selectAll("g."+h.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll("g."+h.headerGroupClassName).data(r,p);l.enter().append("g").classed(h.headerGroupClassName,!0);for(var c=s.ensureSingle(o,"g",h.dropdownButtonGroupClassName,(function(t){t.style("pointer-events","all")})),u=0;uw,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=g+y;E+M>c&&(E=c-M);var C=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);C.exit().on(".drag",null).remove(),C.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),k?(this.hbar=C.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=y>T,I=s.barWidth+2*s.barPad,P=s.barLength+2*s.barPad,z=d+m,O=g;z+I>l&&(z=l-I);var D=this.container.selectAll("rect.scrollbar-vertical").data(L?[0]:[]);D.exit().on(".drag",null).remove(),D.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),L?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:z,y:O,width:I,height:P}),this._vbarYMin=O+P/2,this._vbarTranslateMax=T-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.5,B=L?h+I+.5:h+.5,N=f-.5,j=k?p+M+.5:p+.5,U=o._topdefs.selectAll("#"+R).data(k||L?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",R).append("rect"),k||L?(this._clipRect=U.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:m,height:y})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),k||L){var V=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var q=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(q),L&&this.vbar.on(".drag",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},4530:function(t){"use strict";t.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},35081:function(t){"use strict";t.exports={axisRefDescription:function(t,e,r){return["If set to a",t,"axis id (e.g. *"+t+"* or","*"+t+"2*), the `"+t+"` position refers to a",t,"coordinate. If set to *paper*, the `"+t+"`","position refers to the distance from the",e,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",e,"("+r+"). If set to a",t,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",e,"of the domain of that axis: e.g.,","*"+t+"2 domain* refers to the domain of the second",t," axis and a",t,"position of 0.5 refers to the","point between the",e,"and the",r,"of the domain of the","second",t,"axis."].join(" ")}}},20909:function(t){"use strict";t.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}},87296:function(t){"use strict";t.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}},20726:function(t){"use strict";t.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},84770:function(t){"use strict";t.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},49467:function(t){"use strict";t.exports={circle:"●","circle-open":"○",square:"■","square-open":"□",diamond:"◆","diamond-open":"◇",cross:"+",x:"❌"}},20438:function(t){"use strict";t.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},63821:function(t){"use strict";t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,ONEMILLI:1,ONEMICROSEC:.001,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"−"}},1837:function(t,e){"use strict";e.CSS_DECLARATIONS=[["image-rendering","optimizeSpeed"],["image-rendering","-moz-crisp-edges"],["image-rendering","-o-crisp-edges"],["image-rendering","-webkit-optimize-contrast"],["image-rendering","optimize-contrast"],["image-rendering","crisp-edges"],["image-rendering","pixelated"]],e.STYLE=e.CSS_DECLARATIONS.map((function(t){return t.join(": ")+"; "})).join("")},62972:function(t,e){"use strict";e.xmlns="http://www.w3.org/2000/xmlns/",e.svg="http://www.w3.org/2000/svg",e.xlink="http://www.w3.org/1999/xlink",e.svgAttrs={xmlns:e.svg,"xmlns:xlink":e.xlink}},17430:function(t,e,r){"use strict";e.version=r(29697).version,r(71116),r(6713);for(var n=r(33626),i=e.register=n.register,a=r(90742),o=Object.keys(a),s=0;s",""," ",""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}},32546:function(t,e){"use strict";e.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},e.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},e.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},e.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},e.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},e.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},44313:function(t,e,r){"use strict";var n=r(98953),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function c(t,e){return a(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0](n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function h(t,e,r,n,i,a,c){i=i||0,a=a||0;var u,h,f,p,d,m=l([r,n]);function g(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}m?(u=0,h=o,f=s):r=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return h(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return h(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return h(t,e,r,n,i,a,1)}}},87800:function(t,e,r){"use strict";var n=r(93229).decode,i=r(56174),a=Array.isArray,o=ArrayBuffer,s=DataView;function l(t){return o.isView(t)&&!(t instanceof s)}function c(t){return a(t)||l(t)}e.isTypedArray=l,e.isArrayOrTypedArray=c,e.isArray1D=function(t){return!c(t[0])},e.ensureArray=function(t,e){return a(t)||(t=[]),t.length=e,t};var u={u1c:"undefined"==typeof Uint8ClampedArray?void 0:Uint8ClampedArray,i1:"undefined"==typeof Int8Array?void 0:Int8Array,u1:"undefined"==typeof Uint8Array?void 0:Uint8Array,i2:"undefined"==typeof Int16Array?void 0:Int16Array,u2:"undefined"==typeof Uint16Array?void 0:Uint16Array,i4:"undefined"==typeof Int32Array?void 0:Int32Array,u4:"undefined"==typeof Uint32Array?void 0:Uint32Array,f4:"undefined"==typeof Float32Array?void 0:Float32Array,f8:"undefined"==typeof Float64Array?void 0:Float64Array};function h(t){return t.constructor===ArrayBuffer}function f(t,e,r){if(c(t)){if(c(t[0])){for(var n=r,i=0;ii.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){-1===(i.extras||[]).indexOf(t)?(d(t)&&(t=m(t)),t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):e.set(+t)):e.set(t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var i="number"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){d(t)&&(t=m(t)),i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(s.get(t,r))}},angle:{coerceFunction:function(t,e,r){d(t)&&(t=m(t)),"auto"===t?e.set("auto"):n(t)?e.set(f(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||h(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!h(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(-1===(n.extras||[]).indexOf(t))if("string"==typeof t){for(var i=t.split("+"),a=0;a=n&&t<=i?t:u}if("string"!=typeof t&&"number"!=typeof t)return u;t=String(t);var c=b(r),y=t.charAt(0);!c||"G"!==y&&"g"!==y||(t=t.substr(1),r="");var w=c&&"chinese"===r.substr(0,7),T=t.match(w?x:v);if(!T)return u;var k=T[1],A=T[3]||"1",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),C=Number(T[11]||0);if(c){if(2===k.length)return u;var L;k=Number(k);try{var I=g.getComponentMethod("calendars","getCal")(r);if(w){var P="i"===A.charAt(A.length-1);A=parseInt(A,10),L=I.newDate(k,I.toMonthIndex(k,A,P),M)}else L=I.newDate(k,Number(A),M)}catch(t){return u}return L?(L.toJD()-m)*h+S*f+E*p+C*d:u}k=2===k.length?(Number(k)+2e3-_)%100+_:Number(k),A-=1;var z=new Date(Date.UTC(2e3,A,M,S,E));return z.setUTCFullYear(k),z.getUTCMonth()!==A||z.getUTCDate()!==M?u:z.getTime()+C*d},n=e.MIN_MS=e.dateTime2ms("-9999"),i=e.MAX_MS=e.dateTime2ms("9999-12-31 23:59:59.9999"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==u};var T=90*h,k=3*f,A=5*p;function M(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}e.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return u;e||(e=0);var a,o,s,c,v,x,_=Math.floor(10*l(t+.05,1)),w=Math.round(t-_/10);if(b(r)){var S=Math.floor(w/h)+m,E=Math.floor(l(t,h));try{a=g.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=y("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e=n+h&&t<=i-h))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(a("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},e.cleanDate=function(t,r,n){if(t===u)return r;if(e.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(b(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return s.error("unrecognized date",t),r;return t};var S=/%\d?f/g,E=/%h/g,C={1:"1",2:"1",3:"2",4:"2"};function L(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"}));var i=new Date(Math.floor(e+.05));if(t=t.replace(E,(function(){return C[r("%q")(i)]})),b(n))try{t=g.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var I=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(t,e,r,n,i,a){if(i=b(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,h),n=w(Math.floor(r/f),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),I[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+L(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return L(e,t,n,i)};var P=3*h;e.incrementMonth=function(t,e,r){r=b(r)&&r;var n=l(t,h);if(t=Math.round(t-n),r)try{var i=Math.round(t/h)+m,a=g.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-m)*h+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var c=new Date(t+P);return c.setUTCMonth(c.getUTCMonth()+e)+n-P},e.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,c=b(e)&&g.getComponentMethod("calendars","getCal")(e),u=0;u0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===s||"FJI"===s?function(t){var e;if(null===c(t))e=t;else for(e=new Array(t.length),i=0;ie?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=f.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(f.tester(t))},a.type){case"MultiPolygon":for(r=0;r0?u.properties.ct=function(t){var e,r=t.geometry;if("MultiPolygon"===r.type)for(var n=r.coordinates,i=0,s=0;si&&(i=c,e=l)}else e=r;return o(e).geometry.coordinates}(u):u.properties.ct=[NaN,NaN],n.fIn=t,n.fOut=u,s.push(u)}else c.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete i[r]}switch(r.type){case"FeatureCollection":var f=r.features;for(n=0;n100?(clearInterval(a),n("Unexpected error while fetching from "+t)):void i++}),50)}))}for(var o=0;o0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},e.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},e.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r1||m<0||m>1?null:{x:t+l*m,y:e+h*m}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}e.segmentsIntersect=s,e.segmentDistance=function(t,e,r,n,i,a,o,c){if(s(t,e,r,n,i,a,o,c))return 0;var u=r-t,h=n-e,f=o-i,p=c-a,d=u*u+h*h,m=f*f+p*p,g=Math.min(l(u,h,d,i-t,a-e),l(u,h,d,o-t,c-e),l(f,p,m,t-i,e-a),l(f,p,m,r-i,n-a));return Math.sqrt(g)},e.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),h=t.getPointAtLength(o(r,e)),f={x:(4*h.x+l.x+c.x)/6,y:(4*h.y+l.y+c.y)/6,theta:u};return n[r]=f,f},e.clearLocationCache=function(){i=null},e.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),h=u;function f(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(i=r);var c=r.xo?r.x-o:0,h=r.yl?r.y-l:0;return Math.sqrt(c*c+h*h)}for(var p=f(c);p;){if((c+=p+r)>h)return;p=f(c)}for(p=f(h);p;){if(c>(h-=p+r))return;p=f(h)}return{min:c,max:h,len:h-c,total:u,isClosed:0===c&&h===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},e.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,h=0,f=0,p=s;h0?p=i:f=i,h++}return a}},46998:function(t,e,r){"use strict";var n=r(10721),i=r(65657),a=r(162),o=r(88856),s=r(10229).defaultLine,l=r(87800).isArrayOrTypedArray,c=a(s);function u(t,e){var r=t;return r[3]*=e,r}function h(t){if(n(t))return c;var e=a(t);return e.length?e:c}function f(t){return n(t)?t:1}t.exports={formatColor:function(t,e,r){var n=t.color;n&&n._inputArray&&(n=n._inputArray);var i,s,p,d,m,g=l(n),y=l(e),v=o.extractOpts(t),x=[];if(i=void 0!==v.colorscale?o.makeColorScaleFuncFromTrace(t):h,s=g?function(t,e){return void 0===t[e]?c:a(i(t[e]))}:h,p=y?function(t,e){return void 0===t[e]?1:f(t[e])}:f,g||y)for(var _=0;_1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}},34809:function(t,e,r){"use strict";var n=r(45568),i=r(42696).aL,a=r(36464).GP,o=r(10721),s=r(63821),l=s.FP_SAFE,c=-l,u=s.BADNUM,h=t.exports={};h.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:"0.f"===t?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var f={};h.warnBadFormat=function(t){var e=String(t);f[e]||(f[e]=1,h.warn('encountered bad format: "'+e+'"'))},h.noFormat=function(t){return String(t)},h.numberFormat=function(t){var e;try{e=a(h.adjustFormat(t))}catch(e){return h.warnBadFormat(t),h.noFormat}return e},h.nestedProperty=r(35632),h.keyedContainer=r(34967),h.relativeAttr=r(82047),h.isPlainObject=r(56174),h.toLogRange=r(8083),h.relinkPrivateKeys=r(80428);var p=r(87800);h.isArrayBuffer=p.isArrayBuffer,h.isTypedArray=p.isTypedArray,h.isArrayOrTypedArray=p.isArrayOrTypedArray,h.isArray1D=p.isArray1D,h.ensureArray=p.ensureArray,h.concat=p.concat,h.maxRowLength=p.maxRowLength,h.minRowLength=p.minRowLength;var d=r(98953);h.mod=d.mod,h.modHalf=d.modHalf;var m=r(34220);h.valObjectMeta=m.valObjectMeta,h.coerce=m.coerce,h.coerce2=m.coerce2,h.coerceFont=m.coerceFont,h.coercePattern=m.coercePattern,h.coerceHoverinfo=m.coerceHoverinfo,h.coerceSelectionMarkerOpacity=m.coerceSelectionMarkerOpacity,h.validate=m.validate;var g=r(92596);h.dateTime2ms=g.dateTime2ms,h.isDateTime=g.isDateTime,h.ms2DateTime=g.ms2DateTime,h.ms2DateTimeLocal=g.ms2DateTimeLocal,h.cleanDate=g.cleanDate,h.isJSDate=g.isJSDate,h.formatDate=g.formatDate,h.incrementMonth=g.incrementMonth,h.dateTick0=g.dateTick0,h.dfltRange=g.dfltRange,h.findExactDates=g.findExactDates,h.MIN_MS=g.MIN_MS,h.MAX_MS=g.MAX_MS;var y=r(98813);h.findBin=y.findBin,h.sorterAsc=y.sorterAsc,h.sorterDes=y.sorterDes,h.distinctVals=y.distinctVals,h.roundUp=y.roundUp,h.sort=y.sort,h.findIndexOfMin=y.findIndexOfMin,h.sortObjectKeys=r(62994);var v=r(89258);h.aggNums=v.aggNums,h.len=v.len,h.mean=v.mean,h.geometricMean=v.geometricMean,h.median=v.median,h.midRange=v.midRange,h.variance=v.variance,h.stdev=v.stdev,h.interp=v.interp;var x=r(15236);h.init2dArray=x.init2dArray,h.transposeRagged=x.transposeRagged,h.dot=x.dot,h.translationMatrix=x.translationMatrix,h.rotationMatrix=x.rotationMatrix,h.rotationXYMatrix=x.rotationXYMatrix,h.apply3DTransform=x.apply3DTransform,h.apply2DTransform=x.apply2DTransform,h.apply2DTransform2=x.apply2DTransform2,h.convertCssMatrix=x.convertCssMatrix,h.inverseTransformMatrix=x.inverseTransformMatrix;var _=r(44313);h.deg2rad=_.deg2rad,h.rad2deg=_.rad2deg,h.angleDelta=_.angleDelta,h.angleDist=_.angleDist,h.isFullCircle=_.isFullCircle,h.isAngleInsideSector=_.isAngleInsideSector,h.isPtInsideSector=_.isPtInsideSector,h.pathArc=_.pathArc,h.pathSector=_.pathSector,h.pathAnnulus=_.pathAnnulus;var b=r(32546);h.isLeftAnchor=b.isLeftAnchor,h.isCenterAnchor=b.isCenterAnchor,h.isRightAnchor=b.isRightAnchor,h.isTopAnchor=b.isTopAnchor,h.isMiddleAnchor=b.isMiddleAnchor,h.isBottomAnchor=b.isBottomAnchor;var w=r(3447);h.segmentsIntersect=w.segmentsIntersect,h.segmentDistance=w.segmentDistance,h.getTextLocation=w.getTextLocation,h.clearLocationCache=w.clearLocationCache,h.getVisibleSegment=w.getVisibleSegment,h.findPointOnPath=w.findPointOnPath;var T=r(93049);h.extendFlat=T.extendFlat,h.extendDeep=T.extendDeep,h.extendDeepAll=T.extendDeepAll,h.extendDeepNoArrays=T.extendDeepNoArrays;var k=r(48636);h.log=k.log,h.warn=k.warn,h.error=k.error;var A=r(90694);h.counterRegex=A.counter;var M=r(64025);h.throttle=M.throttle,h.throttleDone=M.done,h.clearThrottle=M.clear;var S=r(95425);function E(t){var e={};for(var r in t)for(var n=t[r],i=0;il||t=e)&&o(t)&&t>=0&&t%1==0},h.noop=r(4969),h.identity=r(29527),h.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},h.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},h.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(h.warn("randstr failed uniqueness"),l):t(e,r,n,(i||0)+1):l},h.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},h.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},h.syncOrAsync=function(t,e,r){var n;function i(){return h.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i);return r&&r(e)},h.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},h.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n0?e:0}))},h.fillArray=function(t,e,r,n){if(n=n||h.identity,h.isArrayOrTypedArray(t))for(var i=0;i1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l},h.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var D=/^\w*$/;h.templateString=function(t,e){var r={};return t.replace(h.TEMPLATE_STRING_REGEX,(function(t,n){var i;return D.test(n)?i=e[n]:(r[n]=r[n]||h.nestedProperty(e,n).get,i=r[n]()),h.isValidTextValue(i)?i:""}))};var R={max:10,count:0,name:"hovertemplate"};h.hovertemplateString=function(){return U.apply(R,arguments)};var F={max:10,count:0,name:"texttemplate"};h.texttemplateString=function(){return U.apply(F,arguments)};var B=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/,N={max:10,count:0,name:"texttemplate",parseMultDiv:!0};h.texttemplateStringForShapes=function(){return U.apply(N,arguments)};var j=/^[:|\|]/;function U(t,e,r){var n=this,a=arguments;e||(e={});var o={};return t.replace(h.TEMPLATE_STRING_REGEX,(function(t,s,l){var c="_xother"===s||"_yother"===s,u="_xother_"===s||"_yother_"===s,f="xother_"===s||"yother_"===s,p="xother"===s||"yother"===s||c||f||u,d=s;(c||u)&&(d=d.substring(1)),(f||u)&&(d=d.substring(0,d.length-1));var m,g,y,v=null,x=null;if(n.parseMultDiv){var _=function(t){var e=t.match(B);return e?{key:e[1],op:e[2],number:Number(e[3])}:{key:t,op:null,number:null}}(d);d=_.key,v=_.op,x=_.number}if(p){if(void 0===(m=e[d]))return""}else for(y=3;y=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var V=2e9;h.seedPseudoRandom=function(){V=2e9},h.pseudoRandom=function(){var t=V;return V=(69069*V+1)%4294967296,Math.abs(V-t)<429496729?h.pseudoRandom():V/4294967296},h.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=h.extractOption(t,e,"htx","hovertext");if(h.isValidTextValue(i))return n(i);var a=h.extractOption(t,e,"tx","text");return h.isValidTextValue(a)?n(a):void 0},h.isValidTextValue=function(t){return t||0===t},h.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n1&&(c=1):c=0,h.strTranslate(i-c*(r+o),a-c*(n+s))+h.strScale(c)+(l?"rotate("+l+(e?"":" "+r+" "+n)+")":"")},h.setTransormAndDisplay=function(t,e){t.attr("transform",h.getTextTransform(e)),t.style("display",e.scale?null:"none")},h.ensureUniformFontSize=function(t,e){var r=h.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},h.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)},h.bigFont=function(t){return Math.round(1.2*t)};var q=h.getFirefoxVersion(),H=null!==q&&q<86;h.getPositionFromD3Event=function(){return H?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},56174:function(t){"use strict";t.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}},34967:function(t,e,r){"use strict";var n=r(35632),i=/^\w*$/;t.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var u={};if(s)for(o=0;o2)return c[e]=2|c[e],f.set(t,null);if(h){for(o=e;o1){var e=["LOG:"];for(t=0;t1){var r=[];for(t=0;t"),"long")}},a.warn=function(){var t;if(n.logging>0){var e=["WARN:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}},a.error=function(){var t;if(n.logging>0){var e=["ERROR:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}}},75944:function(t,e,r){"use strict";var n=r(45568);t.exports=function(t,e,r){var i=t.selectAll("g."+r.replace(/\s/g,".")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",r),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(t){t[0][a]=n.select(this)})),i}},15236:function(t,e,r){"use strict";var n=r(11191);e.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},35632:function(t,e,r){"use strict";var n=r(10721),i=r(87800).isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,c=t;for(s=0;s/g),l=0;la||c===i||cs||e&&l(t))}:function(t,e){var l=t[0],c=t[1];if(l===i||la||c===i||cs)return!1;var u,h,f,p,d,m=r.length,g=r[0][0],y=r[0][1],v=0;for(u=1;uMath.max(h,g)||c>Math.max(f,y)))if(cu||Math.abs(n(o,f))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var c=l+1;c1&&o(t.pop()),{addPt:o,raw:t,filtered:r}}},22459:function(t,e,r){"use strict";var n=r(97464),i=r(81330);t.exports=function(t,e,a){var o=t._fullLayout,s=!0;return o._glcanvas.each((function(n){if(n.regl)n.regl.preloadCachedCode(a);else if(!n.pick||o._has("parcoords")){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.g.devicePixelRatio,extensions:e||[],cachedCode:a||{}})}catch(t){s=!1}n.regl||(s=!1),s&&this.addEventListener("webglcontextlost",(function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})}),!1)}})),s||n({container:o._glcontainer.node()}),s}},32521:function(t,e,r){"use strict";var n=r(10721),i=r(13087);t.exports=function(t){var e;if("string"!=typeof(e=t&&t.hasOwnProperty("userAgent")?t.userAgent:function(){var t;return"undefined"!=typeof navigator&&(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),t}()))return!0;var r=i({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(" "),o=1;o-1;s--){var l=a[s];if("Version/"===l.substr(0,8)){var c=l.substr(8).split(".")[0];if(n(c)&&(c=+c),c>=13)return!0}}return r}},36539:function(t){"use strict";t.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;ni.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function h(t,e){return t>=e}e.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-s)-1:Math.floor((t-e.start)/e.size+s);var a,o,f=0,p=e.length,d=0,m=p>1?(e[p-1]-e[0])/(p-1):1;for(o=m>=0?r?l:c:r?h:u,t+=m*s*(r?-1:1)*(m>=0?1:-1);f90&&i.log("Long binary search..."),f-1},e.sorterAsc=function(t,e){return t-e},e.sorterDes=function(t,e){return e-t},e.distinctVals=function(t){var r,n=t.slice();for(n.sort(e.sorterAsc),r=n.length-1;r>-1&&n[r]===o;r--);for(var i,a=n[r]-n[0]||1,s=a/(r||1)/1e4,l=[],c=0;c<=r;c++){var u=n[c],h=u-i;void 0===i?(l.push(u),i=u):h>s&&(a=Math.min(a,h),l.push(u),i=u)}return{vals:l,minDiff:a}},e.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},e.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;ia.length)&&(o=a.length),n(r)||(r=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},55010:function(t,e,r){"use strict";var n=r(162);t.exports=function(t){return t?n(t):[0,0,0,1]}},95544:function(t,e,r){"use strict";var n=r(1837),i=r(62203),a=r(34809),o=null;t.exports=function(){if(null!==o)return o;o=!1;var t=a.isIE()||a.isSafari()||a.isIOS();if(window.navigator.userAgent&&!t){var e=Array.from(n.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if("function"==typeof r)o=e.some((function(t){return r.apply(null,t)}));else{var s=i.tester.append("image").attr("style",n.STYLE),l=window.getComputedStyle(s.node()).imageRendering;o=e.some((function(t){var e=t[1];return l===e||l===e.toLowerCase()})),s.remove()}}return o}},30635:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=i.strTranslate,o=r(62972),s=r(4530).LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;e.convertToTspans=function(t,r,g){var S=t.text(),E=!t.attr("data-notex")&&r&&r._context.typesetMath&&"undefined"!=typeof MathJax&&S.match(l),I=n.select(t.node().parentNode);if(!I.empty()){var P=t.attr("class")?t.attr("class").split(" ")[0]:"text";return P+="-math",I.selectAll("svg."+P).remove(),I.selectAll("g."+P+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),E?(r&&r._promises||[]).push(new Promise((function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l,f=parseInt((MathJax.version||"").split(".")[0]);if(2===f||3===f){var p=function(){var r="math-output-"+i.randstr({},64),a=(l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute","font-size":e.fontSize+"px"}).text(t.replace(c,"\\lt ").replace(u,"\\gt "))).node();return 2===f?MathJax.Hub.Typeset(a):MathJax.typeset([a])},d=function(){var e=l.select(2===f?".MathJax_SVG":".MathJax"),a=!e.empty()&&l.select("svg").node();if(a){var o,s=a.getBoundingClientRect();o=2===f?n.select("body").select("#MathJax_SVG_glyphs"):e.select("defs"),r(e,o,s)}else i.log("There was an error in the tex syntax.",t),r();l.remove()};2===f?MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:h},displayAlign:"left"})}),(function(){if("SVG"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")}),p,d,(function(){if("SVG"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})):3===f&&(o=i.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=h,"svg"!==(a=MathJax.config.startup.output)&&(MathJax.config.startup.output="svg"),MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){p(),d(),"svg"!==a&&(MathJax.config.startup.output=a),MathJax.config=o})))}else i.warn("No MathJax version:",MathJax.version)}(E[2],o,(function(n,i,o){I.selectAll("svg."+P).remove(),I.selectAll("g."+P+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return z(),void e();var l=I.append("g").classed(P+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild);var c=o.width,u=o.height;s.attr({class:P,height:u,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var h=t.node().style.fill||"black",f=s.select("g");f.attr({fill:h,stroke:h});var p=f.node().getBoundingClientRect(),d=p.width,m=p.height;(d>c||m>u)&&(s.style("overflow","hidden"),d=(p=s.node().getBoundingClientRect()).width,m=p.height);var y=+t.attr("x"),v=+t.attr("y"),x=-(r||t.node().getBoundingClientRect().height)/4;if("y"===P[0])l.attr({transform:"rotate("+[-90,y,v]+")"+a(-d/2,x-m/2)});else if("l"===P[0])v=x-m/2;else if("a"===P[0]&&0!==P.indexOf("atitle"))y=0,v=x;else{var _=t.attr("text-anchor");y-=d*("middle"===_?.5:"end"===_?1:0),v=v+x-m/2}s.attr({x:y,y:v}),g&&g.call(t,l),e(l)}))}))):z(),t}function z(){I.empty()||(P=t.attr("class")+"-math",I.select("svg."+P).remove()),t.text("").style("white-space","pre");var r=function(t,e){e=e.replace(y," ");var r,a=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(o.svg,"tspan");n.select(e).attr({class:"line",dy:c*s+"em"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else i.log("Ignoring unexpected end tag .",e)}_.test(e)?u():(r=t,l=[{node:t}]);for(var E=e.split(v),I=0;I|>|>)/g,h=[["$","$"],["\\(","\\)"]],f={sup:"font-size:70%",sub:"font-size:70%",s:"text-decoration:line-through",u:"text-decoration:underline",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},p={sub:"0.3em",sup:"-0.6em"},d={sub:"-0.21em",sup:"0.42em"},m="​",g=["http:","https:","mailto:","",void 0,":"],y=e.NEWLINES=/(\r\n?|\n)/g,v=/(<[^<>]*>)/,x=/<(\/?)([^ >]*)(\s+(.*))?>/i,_=//i;e.BR_TAG_ALL=//gi;var b=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,w=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,T=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&C(n)}var M=/(^|;)\s*color:/;e.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],i=t.split(v),a=[],o="",s=0,l=0;l3?a.push(c.substr(0,p-3)+"..."):a.push(c.substr(0,p));break}o=""}}return a.join("")};var S={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"},E=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function C(t){return t.replace(E,(function(t,e){return("#"===e.charAt(0)?function(t){if(!(t>1114111)){var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):S[e])||t}))}function L(t){var e=encodeURI(decodeURI(t)),r=document.createElement("a"),n=document.createElement("a");r.href=t,n.href=e;var i=r.protocol,a=n.protocol;return-1!==g.indexOf(i)&&-1!==g.indexOf(a)?e:""}function I(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||"top",c=t.node().getBoundingClientRect(),u=e.node().getBoundingClientRect();return a="bottom"===l?function(){return c.bottom-n.height}:"middle"===l?function(){return c.top+(c.height-n.height)/2}:function(){return c.top},o="right"===s?function(){return c.right-n.width}:"center"===s?function(){return c.left+(c.width-n.width)/2}:function(){return c.left},function(){n=this.node().getBoundingClientRect();var t=o()-u.left,e=a()-u.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+"px",left:t+"px","z-index":1e3}),this}}e.convertEntities=C,e.sanitizeHTML=function(t){t=t.replace(y," ");for(var e=document.createElement("p"),r=e,i=[],a=t.split(v),o=0;oa.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},e.done=function(t){var e=r[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},e.clear=function(t){if(t)n(r[t]),delete r[t];else for(var i in r)e.clear(i)}},8083:function(t,e,r){"use strict";var n=r(10721);t.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},11577:function(t,e,r){"use strict";var n=t.exports={},i=r(74285).locationmodeToLayer,a=r(48640).N4;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},44611:function(t){"use strict";t.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},30227:function(t){"use strict";t.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},56037:function(t,e,r){"use strict";var n=r(33626);t.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},e.cleanLayout=function(t){var r,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,h=(s.subplotsRegistry.ternary||{}).attrRegex,f=(s.subplotsRegistry.gl3d||{}).attrRegex,m=Object.keys(t);for(r=0;r3?(z.x=1.02,z.xanchor="left"):z.x<-2&&(z.x=-.02,z.xanchor="right"),z.y>3?(z.y=1.02,z.yanchor="bottom"):z.y<-2&&(z.y=-.02,z.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),c.clean(t),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var r=0;r0)return t.substr(0,e)}e.hasParent=function(t,e){for(var r=_(e);r;){if(r in t)return!0;r=_(r)}return!1};var b=["x","y","z"];e.clearAxisTypes=function(t,e,r){for(var n=0;n1&&a.warn("Full array edits are incompatible with other edits",h);var v=r[""][""];if(c(v))e.set(null);else{if(!Array.isArray(v))return a.warn("Unrecognized full array edit value",h,v),!0;e.set(v)}return!m&&(f(g,y),p(t),!0)}var x,_,b,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),C=E||[],L=u(y,h).get(),I=[],P=-1,z=C.length;for(x=0;xC.length-(A?0:1))a.warn("index out of range",h,b);else if(void 0!==k)T.length>1&&a.warn("Insertion & removal are incompatible with edits to the same index.",h,b),c(k)?I.push(b):A?("add"===k&&(k={}),C.splice(b,0,k),L&&L.splice(b,0,{})):a.warn("Unrecognized full object edit value",h,b,k),-1===P&&(P=b);else for(_=0;_=0;x--)C.splice(I[x],1),L&&L.splice(I[x],1);if(C.length?E||e.set(C):e.set(null),m)return!1;if(f(g,y),d!==i){var O;if(-1===P)O=S;else{for(z=Math.max(C.length,z),O=[],x=0;x=P);x++)O.push(b);for(x=P;x=t.data.length||i<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function O(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),z(t,e,"currentIndices"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&z(t,r,"newIndices"),void 0!==r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function D(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if(void 0===r)throw new Error("indices must be an integer or array of integers");for(var a in z(t,r,"indices"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,c,u,h,f=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=P(r,t.data.length-1),e)for(var m=0;m-1&&-1===r.indexOf("grouptitlefont")?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function q(t,e,r){t=o.getGraphDiv(t),T.clearPromiseQueue(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=X(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[f.previousPromises];a.layoutReplot?s.push(k.layoutReplot):Object.keys(n).length&&(H(t,a,i)||f.supplyDefaults(t),a.legend&&s.push(k.doLegend),a.layoutstyle&&s.push(k.layoutStyles),a.axrange&&G(s,i.rangesAltered),a.ticks&&s.push(k.doTicksRelayout),a.modebar&&s.push(k.doModeBar),a.camera&&s.push(k.doCamera),a.colorbars&&s.push(k.doColorBars),s.push(E)),s.push(f.rehover,f.redrag,f.reselect),c.add(t,q,[t,i.undoit],q,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit("plotly_relayout",i.eventData),t}))}function H(t,e,r){var n,i,a=t._fullLayout;if(!e.axrange)return!1;for(var s in e)if("axrange"!==s&&e[s])return!1;var l=function(t,e){return o.coerce(n,i,m,t,e)},c={};for(var u in r.rangesAltered){var h=p.id2name(u);if(n=t.layout[h],i=a[h],d(n,i,l,c),i._matchGroup)for(var f in i._matchGroup)if(f!==u){var g=a[p.id2name(f)];g.autorange=i.autorange,g.range=i.range.slice(),g._input.range=i.range.slice()}}return!0}function G(t,e){var r=e?function(t){var r=[];for(var n in e){var i=p.getFromId(t,n);if(r.push(n),-1!==(i.ticklabelposition||"").indexOf("inside")&&i._anchorAxis&&r.push(i._anchorAxis._id),i._matchGroup)for(var a in i._matchGroup)e[a]||r.push(a)}return p.draw(t,r,{skipTitle:!0})}:function(t){return p.draw(t,"redraw")};t.push(_,k.doAutoRangeAndConstraints,r,k.drawData,k.finalDraw)}var Z=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,W=/^[xyz]axis[0-9]*\.autorange$/,Y=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function X(t,e){var r,n,i,a=t.layout,l=t._fullLayout,c=l._guiEditing,f=N(l._preGUI,c),d=Object.keys(e),m=p.list(t),g=o.extendDeepAll({},e),y={};for(V(e),d=Object.keys(e),n=0;n0&&"string"!=typeof z.parts[D];)D--;var R=z.parts[D],F=z.parts[D-1]+"."+R,j=z.parts.slice(0,D).join("."),U=s(t.layout,j).get(),q=s(l,j).get(),H=z.get();if(void 0!==O){k[P]=O,S[P]="reverse"===R?O:B(H);var G=h.getLayoutValObject(l,z.parts);if(G&&G.impliedEdits&&null!==O)for(var X in G.impliedEdits)E(o.relativeAttr(P,X),G.impliedEdits[X]);if(-1!==["width","height"].indexOf(P))if(O){E("autosize",null);var J="height"===P?"width":"height";E(J,l[J])}else l[P]=t._initialAutoSize[P];else if("autosize"===P)E("width",O?null:l.width),E("height",O?null:l.height);else if(F.match(Z))I(F),s(l,j+"._inputRange").set(null);else if(F.match(W)){I(F),s(l,j+"._inputRange").set(null);var K=s(l,j).get();K._inputDomain&&(K._input.domain=K._inputDomain.slice())}else F.match(Y)&&s(l,j+"._inputDomain").set(null);if("type"===R){C=U;var Q="linear"===q.type&&"log"===O,tt="log"===q.type&&"linear"===O;if(Q||tt){if(C&&C.range)if(q.autorange)Q&&(C.range=C.range[1]>C.range[0]?[1,2]:[2,1]);else{var et=C.range[0],rt=C.range[1];Q?(et<=0&&rt<=0&&E(j+".autorange",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(j+".range[0]",Math.log(et)/Math.LN10),E(j+".range[1]",Math.log(rt)/Math.LN10)):(E(j+".range[0]",Math.pow(10,et)),E(j+".range[1]",Math.pow(10,rt)))}else E(j+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[z.parts[0]]&&"radialaxis"===z.parts[1]&&delete l[z.parts[0]]._subplot.viewInitial["radialaxis.range"],u.getComponentMethod("annotations","convertCoords")(t,q,O,E),u.getComponentMethod("images","convertCoords")(t,q,O,E)}else E(j+".autorange",!0),E(j+".range",null);s(l,j+"._inputRange").set(null)}else if(R.match(M)){var nt=s(l,P).get(),it=(O||{}).type;it&&"-"!==it||(it="linear"),u.getComponentMethod("annotations","convertCoords")(t,nt,it,E),u.getComponentMethod("images","convertCoords")(t,nt,it,E)}var at=w.containerArrayMatch(P);if(at){r=at.array,n=at.index;var ot=at.property,st=G||{editType:"calc"};""!==n&&""===ot&&(w.isAddVal(O)?S[P]=null:w.isRemoveVal(O)?S[P]=(s(a,r).get()||[])[n]:o.warn("unrecognized full object value",e)),A.update(b,st),y[r]||(y[r]={});var lt=y[r][n];lt||(lt=y[r][n]={}),lt[ot]=O,delete e[P]}else"reverse"===R?(U.range?U.range.reverse():(E(j+".autorange",!0),U.range=[1,0]),q.autorange?b.calc=!0:b.plot=!0):("dragmode"===P&&(!1===O&&!1!==H||!1!==O&&!1===H)||l._has("scatter-like")&&l._has("regl")&&"dragmode"===P&&("lasso"===O||"select"===O)&&"lasso"!==H&&"select"!==H||l._has("gl2d")?b.plot=!0:G?A.update(b,G):b.calc=!0,z.set(O))}}for(r in y)w.applyContainerArrayChanges(t,f(a,r),y[r],b,f)||(b.plot=!0);for(var ct in L){var ut=(C=p.getFromId(t,ct))&&C._constraintGroup;if(ut)for(var ht in b.calc=!0,ut)L[ht]||(p.getFromId(t,ht)._constraintShrinkable=!0)}($(t)||e.height||e.width)&&(b.plot=!0);var ft=l.shapes;for(n=0;n1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function nt(t,e){for(var r=0;r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,u){function h(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&function(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,f.transition(t,e.frame.data,e.frame.layout,T.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}()};e()}var p,d,m=0;function g(t){return Array.isArray(i)?m>=i.length?t.transitionOpts=i[m]:t.transitionOpts=i[0]:t.transitionOpts=i,m++,t}var y=[],v=null==e,x=Array.isArray(e);if(v||x||!o.isPlainObject(e)){if(v||-1!==["string","number"].indexOf(typeof e))for(p=0;p0&&ww)&&k.push(d);y=k}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var m=e[n].name,g=(u[m]||d[m]||{}).name,y=e[n].name,v=u[g]||d[g];g&&y&&"number"==typeof y&&v&&S<5&&(S++,o.warn('addFrames: overwriting frame "'+(u[g]||d[g]).name+'" with a frame whose name of type "number" also equates to "'+g+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===S&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[m]={name:m},p.push({frame:f.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:h+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;u[i.name="frame "+t._transitionData._counter++];);if(u[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var l=f.modifyFrames,u=f.modifyFrames,h=[t,s],p=[t,a];return c&&c.add(t,l,h,u,p),f.modifyFrames(t,a)},e.addTraces=function t(r,n,i){r=o.getGraphDiv(r);var a,s,l=[],u=e.deleteTraces,h=t,f=[r,l],p=[r,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n=0&&r=0&&r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!b(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function b(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in h(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i=l.length)return!1;i=(r=(n.transformsRegistry[l[c].type]||{}).attributes)&&r[e[2]],s=3}else{var u=t._module;if(u||(u=(n.modules[t.type||a.type.dflt]||{})._module),!u)return!1;if(!(i=(r=u.attributes)&&r[o])){var h=u.basePlotModule;h&&h.attributes&&(i=h.attributes[o])}i||(i=a[o])}return _(i,e,s)},e.getLayoutValObject=function(t,e){var r=function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var c;for(r=0;r=i&&(r._input||{})._templateitemname;s&&(o=i);var l,c=e+"["+o+"]";function u(){l={},s&&(l[c]={},l[c][a]=s)}function h(t,e){s?n.nestedProperty(l[c],t).set(e):l[c+"."+t]=e}function f(){var t=l;return u(),t}return u(),{modifyBase:function(t,e){l[t]=e},modifyItem:h,getUpdateObj:f,applyUpdate:function(e,r){e&&h(e,r);var i=f();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},71817:function(t,e,r){"use strict";var n=r(45568),i=r(33626),a=r(44122),o=r(34809),s=r(30635),l=r(34823),c=r(78766),u=r(62203),h=r(17240),f=r(95433),p=r(29714),d=r(4530),m=r(84391),g=m.enforce,y=m.clean,v=r(32919).doAutoRange,x="start",_=r(54826).zindexSeparator;function b(t,e,r){for(var n=0;n=t[1]||i[1]<=t[0])&&a[0]e[0])return!0}return!1}function w(t){var r,i,s,l,h,m,g=t._fullLayout,y=g._size,v=y.p,x=p.list(t,"",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":g.width+"px",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":g.height+"px"}).selectAll(".main-svg").call(u.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),e.drawMainTitle(t),f.manage(t),!g._has("cartesian"))return a.previousPromises(t);function w(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-v-n:e._offset+e._length+v+n:y.t+y.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+v+n:e._offset-v-n:y.l+y.w*(t.position||0)+n%1}for(r=0;r.5?"t":"b",o=t._fullLayout.margin[a],s=0;return"paper"===e.yref?s=r+e.pad.t+e.pad.b:"container"===e.yref&&(s=function(t,e,r,n,i){var a=0;return"middle"===r&&(a+=i/2),"t"===t?("top"===r&&(a+=i),a+=n-e*n):("bottom"===r&&(a+=i),a+=e*n),a}(a,n,i,t._fullLayout.height,r)+e.pad.t+e.pad.b),s>o?s:0}(t,e,m);if(g>0){!function(t,e,r,n){var i="title.automargin",s=t._fullLayout.title,l=s.y>.5?"t":"b",c={x:s.x,y:s.y,t:0,b:0},u={};"paper"===s.yref&&function(t,e,r,n,i){var a="paper"===e.yref?t._fullLayout._size.h:t._fullLayout.height,s=o.isTopAnchor(e)?n:n-i,l="b"===r?a-s:s;return!(o.isTopAnchor(e)&&"t"===r||o.isBottomAnchor(e)&&"b"===r)&&lT?u.push({code:"unused",traceType:v,templateCount:w,dataCount:T}):T>w&&u.push({code:"reused",traceType:v,templateCount:w,dataCount:T})}}else u.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var a=e[n],o=m(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&u.push({code:"missing",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&g(a)&&t(a,o)}}({data:p,layout:f},""),u.length)return u.map(y)}},80491:function(t,e,r){"use strict";var n=r(10721),i=r(31420),a=r(44122),o=r(34809),s=r(84619),l=r(6243),c=r(72914),u=r(29697).version,h={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};t.exports=function(t,e){var r,f,p,d;function m(t){return!(t in e)||o.validate(e[t],h[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],f=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),f=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!m("width")&&null!==e.width||!m("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!m("format"))throw new Error("Export format is not "+o.join2(h.format.values,", "," or ")+".");var g={};function y(t,r){return o.coerce(e,g,h,t,r)}var v=y("format"),x=y("width"),_=y("height"),b=y("scale"),w=y("setBackground"),T=y("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var A=o.extendFlat({},f);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),_?A.height=_:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function C(){return new Promise((function(t,e){var r=l(k,v,b),n=k._fullLayout.width,h=k._fullLayout.height;function f(){i.purge(k),document.body.removeChild(k)}if("full-json"===v){var p=a.graphJson(k,!1,"keepdata","object",!0,!0);return p.version=u,p=JSON.stringify(p),f(),t(T?p:s.encodeJSON(p))}if(f(),"svg"===v)return t(T?r:s.encodeSVG(r));var d=document.createElement("canvas");d.id=o.randstr(),c({format:v,width:n,height:h,scale:b,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.newPlot(k,r,A,M).then(S).then(E).then(C).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,""):t}(e))})).catch((function(t){e(t)}))}))}},2466:function(t,e,r){"use strict";var n=r(34809),i=r(44122),a=r(57297),o=r(24452).dfltConfig,s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,i,a,o){o=o||[];for(var h=Object.keys(t),f=0;fx.length&&i.push(p("unused",a,y.concat(x.length)));var A,M,S,E,C,L=x.length,I=Array.isArray(k);if(I&&(L=Math.min(L,k.length)),2===_.dimensions)for(M=0;Mx[M].length&&i.push(p("unused",a,y.concat(M,x[M].length)));var P=x[M].length;for(A=0;A<(I?Math.min(P,k[M].length):P);A++)S=I?k[M][A]:k,E=v[M][A],C=x[M][A],n.validate(E,S)?C!==E&&C!==+E&&i.push(p("dynamic",a,y.concat(M,A),E,C)):i.push(p("value",a,y.concat(M,A),E))}else i.push(p("array",a,y.concat(M),v[M]));else for(M=0;M1&&f.push(p("object","layout"))),i.supplyDefaults(d);for(var m=d._fullData,g=r.length,y=0;y0&&Math.round(h)===h))return{vals:i};c=h}for(var f=e.calendar,p="start"===l,d="end"===l,m=t[r+"period0"],g=a(m,f)||0,y=[],v=[],x=[],_=i.length,b=0;b<_;b++){var w,T,k,A=i[b];if(c){for(w=Math.round((A-g)/(c*s)),k=o(g,c*w,f);k>A;)k=o(k,-c,f);for(;k<=A;)k=o(k,c,f);T=o(k,-c,f)}else{for(k=g+(w=Math.round((A-g)/u))*u;k>A;)k-=u;for(;k<=A;)k+=u;T=k-u}y[b]=p?T:d?k:(T+k)/2,v[b]=T,x[b]=k}return{vals:y,starts:v,ends:x}}},55126:function(t){"use strict";t.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},32919:function(t,e,r){"use strict";var n=r(45568),i=r(10721),a=r(34809),o=r(63821).FP_SAFE,s=r(33626),l=r(62203),c=r(5975),u=c.getFromId,h=c.isLinked;function f(t,e){var r,n,i=[],o=t._fullLayout,s=d(o,e,0),l=d(o,e,1),c=g(t,e),u=c.min,h=c.max;if(0===u.length||0===h.length)return a.simpleMap(e.range,e.r2l);var f=u[0].val,m=h[0].val;for(r=1;r0&&((A=L-s(_)-l(b))>I?M/A>P&&(w=_,T=b,P=M/A):M/L>P&&(w={val:_.val,nopad:1},T={val:b.val,nopad:1},P=M/L));if(f===m){var z=f-1,O=f+1;if(E)if(0===f)i=[0,1];else{var D=(f>0?h:u).reduce((function(t,e){return Math.max(t,l(e))}),0),R=f/(1-Math.min(.5,D/L));i=f>0?[0,R]:[R,0]}else i=C?[Math.max(0,z),Math.max(1,O)]:[z,O]}else E?(w.val>=0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:0,nopad:1})):C&&(w.val-P*s(w)<0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:1,nopad:1})),P=(T.val-w.val-p(e,_.val,b.val))/(L-s(w)-l(T)),i=[w.val-P*s(w),T.val+P*l(T)];return i=k(i,e),e.limitRange&&e.limitRange(),v&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function p(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),C=A(r.vpadminus||r.vpad);if(!T){if(f=1/0,p=-1/0,w)for(n=0;n0&&(f=a),a>p&&a-o&&(f=a),a>p&&a=P;n--)I(n);return{min:d,max:m,opts:r}},concatExtremes:g};var m=3;function g(t,e,r){var n,i,a,o=e._id,s=t._fullData,l=t._fullLayout,c=[],h=[];function f(t,e){for(n=0;n=r&&(c.extrapad||!o)){s=!1;break}i(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(l,1),l--)}if(s){var u=a&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function _(t){return i(t)&&Math.abs(t)=e}function T(t,e,r){return void 0===e||void 0===r||(e=t.d2l(e))=c&&(o=c,r=c),s<=c&&(s=c,n=c)}}return r=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.minallowed&&T(e,r.minallowed,r.maxallowed)?r.minallowed:r&&void 0!==r.clipmin&&T(e,r.clipmin,r.clipmax)?Math.max(t,e.d2l(r.clipmin)):t}(r,e),n=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.maxallowed&&T(e,r.minallowed,r.maxallowed)?r.maxallowed:r&&void 0!==r.clipmax&&T(e,r.clipmin,r.clipmax)?Math.min(t,e.d2l(r.clipmax)):t}(n,e),[r,n]}},75511:function(t){"use strict";t.exports=function(t,e,r){var n,i;if(r){var a="reversed"===e||"min reversed"===e||"max reversed"===e;n=r[a?1:0],i=r[a?0:1]}var o=t("autorangeoptions.minallowed",null===i?n:void 0),s=t("autorangeoptions.maxallowed",null===n?i:void 0);void 0===o&&t("autorangeoptions.clipmin"),void 0===s&&t("autorangeoptions.clipmax"),t("autorangeoptions.include")}},29714:function(t,e,r){"use strict";var n=r(45568),i=r(10721),a=r(44122),o=r(33626),s=r(34809),l=s.strTranslate,c=r(30635),u=r(17240),h=r(78766),f=r(62203),p=r(25829),d=r(68599),m=r(63821),g=m.ONEMAXYEAR,y=m.ONEAVGYEAR,v=m.ONEMINYEAR,x=m.ONEMAXQUARTER,_=m.ONEAVGQUARTER,b=m.ONEMINQUARTER,w=m.ONEMAXMONTH,T=m.ONEAVGMONTH,k=m.ONEMINMONTH,A=m.ONEWEEK,M=m.ONEDAY,S=M/2,E=m.ONEHOUR,C=m.ONEMIN,L=m.ONESEC,I=m.ONEMILLI,P=m.ONEMICROSEC,z=m.MINUS_SIGN,O=m.BADNUM,D={K:"zeroline"},R={K:"gridline",L:"path"},F={K:"minor-gridline",L:"path"},B={K:"tick",L:"path"},N={K:"tick",L:"text"},j={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},U=r(4530),V=U.MID_SHIFT,q=U.CAP_SHIFT,H=U.LINE_SPACING,G=U.OPPOSITE_SIDE,Z=t.exports={};Z.setConvert=r(19091);var W=r(9666),Y=r(5975),X=Y.idSort,$=Y.isLinked;Z.id2name=Y.id2name,Z.name2id=Y.name2id,Z.cleanId=Y.cleanId,Z.list=Y.list,Z.listIds=Y.listIds,Z.getFromId=Y.getFromId,Z.getFromTrace=Y.getFromTrace;var J=r(32919);Z.getAutoRange=J.getAutoRange,Z.findExtremes=J.findExtremes;var K=1e-4;function Q(t){var e=(t[1]-t[0])*K;return[t[0]-e,t[1]+e]}Z.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],c=n+"ref",u={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+" domain"}))),u[c]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,u,c)},Z.getRefType=function(t){return void 0===t?t:"paper"===t?"paper":"pixel"===t?"pixel":/( domain)$/.test(t)?"domain":"range"},Z.coercePosition=function(t,e,r,n,i,a){var o,l;if("range"!==Z.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var c=Z.getFromId(e,n);l=r(i,a=c.fraction2r(a)),o=c.cleanPos}t[i]=o(l)},Z.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:Z.getFromId(e,r).cleanPos)(t)},Z.redrawComponents=function(t,e){e=e||Z.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),c={},u=0;un&&f2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},Z.saveRangeInitial=function(t,e){for(var r=Z.list(t,"",!0),n=!1,i=0;i.3*f||u(n)||u(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=Z.tickIncrement(t,"M6","reverse")+1.5*M:a.exactMonths>.8?t=Z.tickIncrement(t,"M1","reverse")+15.5*M:t-=S;var l=Z.tickIncrement(t,r);if(l<=n)return l}return t}(v,t,y,c,a)),g=v;g<=u;)g=Z.tickIncrement(g,y,!1,a);return{start:e.c2r(v,0,a),end:e.c2r(g,0,a),size:y,_dataSpan:u-c}},Z.prepMinorTicks=function(t,e,r){if(!e.minor.dtick){delete t.dtick;var n,a=e.dtick&&i(e._tmin);if(a){var o=Z.tickIncrement(e._tmin,e.dtick,!0);n=[e._tmin,.99*o+.01*e._tmin]}else{var l=s.simpleMap(e.range,e.r2l);n=[l[0],.8*l[0]+.2*l[1]]}if(t.range=s.simpleMap(n,e.l2r),t._isMinor=!0,Z.prepTicks(t,r),a){var c=i(e.dtick),u=i(t.dtick),h=c?e.dtick:+e.dtick.substring(1),f=u?t.dtick:+t.dtick.substring(1);c&&u?nt(h,f)?h===2*A&&f===2*M&&(t.dtick=A):h===2*A&&f===3*M?t.dtick=A:h!==A||(e._input.minor||{}).nticks?it(h/f,2.5)?t.dtick=h/2:t.dtick=h:t.dtick=M:"M"===String(e.dtick).charAt(0)?u?t.dtick="M1":nt(h,f)?h>=12&&2===f&&(t.dtick="M3"):t.dtick=e.dtick:"L"===String(t.dtick).charAt(0)?"L"===String(e.dtick).charAt(0)?nt(h,f)||(t.dtick=it(h/f,2.5)?e.dtick/2:e.dtick):t.dtick="D1":"D2"===t.dtick&&+e.dtick>1&&(t.dtick=1)}t.range=e.range}void 0===e.minor._tick0Init&&(t.tick0=e.tick0)},Z.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if("auto"===t.tickmode||!t.dtick){var n,a=t.nticks;a||("category"===t.type||"multicategory"===t.type?(n=t.tickfont?s.bigFont(t.tickfont.size||12):15,a=t._length/n):(n="y"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),"radialaxis"===t._name&&(a*=2)),t.minor&&"array"!==t.minor.tickmode||"array"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,Z.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}"period"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||"M"!==t.dtick.charAt(0))}var n=r(),a=Z.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtickt.range[1],p=!t.ticklabelindex||s.isArrayOrTypedArray(t.ticklabelindex)?t.ticklabelindex:[t.ticklabelindex],d=s.simpleMap(t.range,t.r2l,void 0,void 0,e),m=d[1]=(V?0:1);q--){var H=!q;q?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var G=q?t:s.extendFlat({},t,t.minor);if(H?Z.prepMinorTicks(G,t,e):Z.prepTicks(G,e),"array"!==G.tickmode)if("sync"!==G.tickmode){var W=Q(d),Y=W[0],X=W[1],$=i(G.dtick),J="log"===l&&!($||"L"===G.dtick.charAt(0)),K=Z.tickFirst(G,e);if(q){if(t._tmin=K,K=X:nt<=X;nt=Z.tickIncrement(nt,it,m,c)){if(q&&tt++,G.rangebreaks&&!m){if(nt=D)break}if(N.length>R||nt===rt)break;rt=nt;var at={value:nt};q?(J&&nt!==(0|nt)&&(at.simpleLabel=!0),u>1&&tt%u&&(at.skipLabel=!0),N.push(at)):(at.minor=!0,j.push(at))}}else N=[],F=st(t);else q?(N=[],F=lt(t,!H)):(j=[],B=lt(t,!H))}!j||j.length<2?p=!1:(r=(j[1].value-j[0].value)*(f?-1:1),n=t.tickformat,(/%f/.test(n)?r>=P:/%L/.test(n)?r>=I:/%[SX]/.test(n)?r>=L:/%M/.test(n)?r>=C:/%[HI]/.test(n)?r>=E:/%p/.test(n)?r>=S:/%[Aadejuwx]/.test(n)?r>=M:/%[UVW]/.test(n)?r>=A:/%[Bbm]/.test(n)?r>=k:/%[q]/.test(n)?r>=b:!/%[Yy]/.test(n)||r>=v)||(p=!1));if(p){var ot=N.concat(j);h&&N.length&&(ot=ot.slice(1)),(ot=ot.sort((function(t,e){return t.value-e.value})).filter((function(t,e,r){return 0===e||t.value!==r[e-1].value}))).map((function(t,e){return void 0!==t.minor||t.skipLabel?null:e})).filter((function(t){return null!==t})).forEach((function(t){p.map((function(e){var r=t+e;r>=0&&r0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,c=t[o].value,u=Math.abs(c-l),h=r||u,f=0;h>=v?f=u>=v&&u<=g?u:y:r===_&&h>=b?f=u>=b&&u<=x?u:_:h>=k?f=u>=k&&u<=w?u:T:r===A&&h>=A?f=A:h>=M?f=M:r===S&&h>=S?f=S:r===E&&h>=E&&(f=E),f>=u&&(f=u,s=!0);var p=i+f;if(e.rangebreaks&&f>0){for(var d=0,m=0;m<84;m++){var C=(m+.5)/84;e.maskBreaks(i*(1-C)+C*p)!==O&&d++}(f*=d/84)||(t[n].drop=!0),s&&u>A&&(f=u)}(f>0||0===n)&&(t[n].periodX=i+f/2)}}(U,t,t._definedDelta),t.rangebreaks){var gt="y"===t._id.charAt(0),yt=1;"auto"===t.tickmode&&(yt=t.tickfont?t.tickfont.size:12);var vt=NaN;for(a=N.length-1;a>-1;a--)if(N[a].drop)N.splice(a,1);else{N[a].value=Ft(N[a].value,t);var xt=t.c2p(N[a].value);(gt?vt>xt-yt:vtD||nD&&(r.periodX=D),n10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=M&&a<=10||e>=15*M)t._tickround="d";else if(e>=C&&a<=16||e>=E)t._tickround="M";else if(e>=L&&a<=19||e>=C)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01),u=void 0===t.minexponent?3:t.minexponent;Math.abs(c)>u&&(_t(t.exponentformat)&&!bt(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function vt(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontTextcase:n.textcase,fontLineposition:n.lineposition,fontShadow:n.shadow,fontColor:n.color}}Z.autoTicks=function(t,e,r){var n;function a(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar,0);var o=2*e;if(o>y)e/=y,n=a(10),t.dtick="M"+12*gt(e,n,ct);else if(o>T)e/=T,t.dtick="M"+gt(e,1,ut);else if(o>M){if(t.dtick=gt(e,M,t._hasDayOfWeekBreaks?[1,2,7,14]:ft),!r){var l=Z.getTickFormat(t),c="period"===t.ticklabelmode;c&&(t._rawTick0=t.tick0),/%[uVW]/.test(l)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),c&&(t._dowTick0=t.tick0)}}else o>E?t.dtick=gt(e,E,ut):o>C?t.dtick=gt(e,C,ht):o>L?t.dtick=gt(e,L,ht):(n=a(10),t.dtick=gt(e,n,ct))}else if("log"===t.type){t.tick0=0;var u=s.simpleMap(t.range,t.r2l);if(t._isMinor&&(e*=1.5),e>.7)t.dtick=Math.ceil(e);else if(Math.abs(u[1]-u[0])<1){var h=1.5*Math.abs((u[1]-u[0])/e);e=Math.abs(Math.pow(10,u[1])-Math.pow(10,u[0]))/h,n=a(10),t.dtick="L"+gt(e,n,ct)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):Rt(t)?(t.tick0=0,n=1,t.dtick=gt(e,n,mt)):(t.tick0=0,n=a(10),t.dtick=gt(e,n,ct));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var f=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(f)}},Z.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),c=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,c,a);if("L"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if("D"===l){var u="D2"===e?dt:pt,h=t+.01*o,f=s.roundUp(s.mod(h,1),u,r);return Math.floor(h)+Math.log(n.round(Math.pow(10,f),1))/Math.LN10}throw"unrecognized dtick "+String(e)},Z.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1]=0&&r<=t._length?e:null};if(l&&s.isArrayOrTypedArray(t.ticktext)){var p=s.simpleMap(t.range,t.r2l),d=(Math.abs(p[1]-p[0])-(t._lBreaks||0))/1e4;for(a=0;a ")}else t._prevDateHead=l,c+="
"+l;e.text=c}(t,o,r,c):"log"===u?function(t,e,r,n,a){var o=t.dtick,l=e.x,c=t.tickformat,u="string"==typeof o&&o.charAt(0);if("never"===a&&(a=""),n&&"L"!==u&&(o="L3",u="L"),c||"L"===u)e.text=wt(Math.pow(10,l),t,a,n);else if(i(o)||"D"===u&&s.mod(l+.01,1)<.1){var h=Math.round(l),f=Math.abs(h),p=t.exponentformat;"power"===p||_t(p)&&bt(h)?(e.text=0===h?1:1===h?"10":"10"+(h>1?"":z)+f+"",e.fontSize*=1.25):("e"===p||"E"===p)&&f>2?e.text="1"+p+(h>0?"+":z)+f:(e.text=wt(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==u)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,g):"category"===u?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=""),e.text=String(r)}(t,o):"multicategory"===u?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?e.text=o+" - "+a:(e.text=a,e.text2=o)}(t,o,r):Rt(t)?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=wt(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=wt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="π":e.text=o[0]+"π":e.text=["",o[0],"","⁄","",o[1],"","π"].join(""),l&&(e.text=z+e.text)}}}}(t,o,r,c,g):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide"),e.text=wt(e.x,t,i,n)}(t,o,0,c,g),n||(t.tickprefix&&!m(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!m(t.showticksuffix)&&(o.text+=t.ticksuffix)),t.labelalias&&t.labelalias.hasOwnProperty(o.text)){var y=t.labelalias[o.text];"string"==typeof y&&(o.text=y)}return("boundaries"===t.tickson||t.showdividers)&&(o.xbnd=[f(o.x-.5),f(o.x+t.dtick-.5)]),o},Z.hoverLabelText=function(t,e,r){r&&(t=s.extendFlat({},t,{hoverformat:r}));var n=s.isArrayOrTypedArray(e)?e[0]:e,i=s.isArrayOrTypedArray(e)?e[1]:void 0;if(void 0!==i&&i!==n)return Z.hoverLabelText(t,n,r)+" - "+Z.hoverLabelText(t,i,r);var a="log"===t.type&&n<=0,o=Z.tickText(t,t.c2l(a?-n:n),"hover").text;return a?0===n?"0":z+o:o};var xt=["f","p","n","μ","m","","k","M","G","T"];function _t(t){return"SI"===t||"B"===t}function bt(t){return t>14||t<-15}function wt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",c=e._tickexponent,u=Z.getTickFormat(e),h=e.separatethousands;if(n){var f={exponentformat:l,minexponent:e.minexponent,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};yt(f),o=(Number(f._tickround)||0)+4,c=f._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,z);var p,d=Math.pow(10,-o)/2;if("none"===l&&(c=0),(t=Math.abs(t))"+p+"":"B"===l&&9===c?t+="B":_t(l)&&(t+=xt[c/3+5])),a?z+t:t}function Tt(t,e){if(t){var r=Object.keys(j).reduce((function(t,r){return-1!==e.indexOf(r)&&j[r].forEach((function(e){t[e]=1})),t}),{});Object.keys(t).forEach((function(e){r[e]||(1===e.length?t[e]=0:delete t[e])}))}}function kt(t,e){for(var r=[],n={},i=0;i1&&r=i.min&&t=0,a=u(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e=o(i)))){r=n;break}break;case"log":for(e=0;e=0&&i.unshift(i.splice(n,1).shift())}}));var o={false:{left:0,right:0}};return s.syncOrAsync(i.map((function(e){return function(){if(e){var n=Z.getFromId(t,e);r||(r={}),r.axShifts=o,r.overlayingShiftedAx=a;var i=Z.drawOne(t,n,r);return n._shiftPusher&&jt(n,n._fullDepth||0,o,!0),n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},Z.drawOne=function(t,e,r){var n,i,l,p=(r=r||{}).axShifts||{},d=r.overlayingShiftedAx||[];e.setScale();var m=t._fullLayout,g=e._id,y=g.charAt(0),v=Z.counterLetter(g),x=m._plots[e._mainSubplot];if(x){if(e._shiftPusher=e.autoshift||-1!==d.indexOf(e._id)||-1!==d.indexOf(e.overlaying),e._shiftPusher&"free"===e.anchor){var _=e.linewidth/2||0;"inside"===e.ticks&&(_+=e.ticklen),jt(e,_,p,!0),jt(e,e.shift||0,p,!1)}!0===r.skipTitle&&void 0!==e._shift||(e._shift=function(t,e){return t.autoshift?e[t.overlaying][t.side]:t.shift||0}(e,p));var b=x[y+"axislayer"],w=e._mainLinePosition,T=w+=e._shift,k=e._mainMirrorPosition,A=e._vals=Z.calcTicks(e),M=[e.mirror,T,k].join("_");for(n=0;n0?r.bottom-u:0,h))));var f=0,p=0;if(e._shiftPusher&&(f=Math.max(h,r.height>0?"l"===l?u-r.left:r.right-u:0),e.title.text!==m._dfltTitle[y]&&(p=(e._titleStandoff||0)+(e._titleScoot||0),"l"===l&&(p+=St(e))),e._fullDepth=Math.max(f,p)),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var d=[0,1],g="number"==typeof e._shift?e._shift:0;if("x"===y){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?u-r.top:0,h),d.reverse()),r.width>0){var x=r.right-(e._offset+e._length);x>0&&(n.xr=1,n.r=x);var _=e._offset-r.left;_>0&&(n.xl=0,n.l=_)}}else if("l"===l?(e._depth=Math.max(r.height>0?u-r.left:0,h),n[l]=e._depth-g):(e._depth=Math.max(r.height>0?r.right-u:0,h),n[l]=e._depth+g,d.reverse()),r.height>0){var b=r.bottom-(e._offset+e._length);b>0&&(n.yb=0,n.b=b);var w=e._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[v]="free"===e.anchor?e.position:e._anchorAxis.domain[d[0]],e.title.text!==m._dfltTitle[y]&&(n[l]+=St(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[c]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[c]+=h),!0===e.mirror||"ticks"===e.mirror?i[v]=e._anchorAxis.domain[d[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(i[v]=[e._counterDomainMin,e._counterDomainMax][d[1]]))}ht&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),"string"==typeof e.automargin&&(Tt(n,e.automargin),Tt(i,e.automargin)),a.autoMargin(t,Lt(e),n),a.autoMargin(t,It(e),i),a.autoMargin(t,Pt(e),s)})),s.syncOrAsync(ct)}}function ft(t){var r=g+(t||"tick");return S[r]||(S[r]=function(t,e,r){var n,i,a,o;if(t._selections[e].size())n=1/0,i=-1/0,a=1/0,o=-1/0,t._selections[e].each((function(){var t=Ct(this),e=f.bBox(t.node().parentNode);n=Math.min(n,e.top),i=Math.max(i,e.bottom),a=Math.min(a,e.left),o=Math.max(o,e.right)}));else{var s=Z.makeLabelFns(t,r);n=i=s.yFn({dx:0,dy:0,fontSize:0}),a=o=s.xFn({dx:0,dy:0,fontSize:0})}return{top:n,bottom:i,left:a,right:o,height:i-n,width:o-a}}(e,r,T)),S[r]}},Z.getTickSigns=function(t,e){var r=t._id.charAt(0),n={x:"top",y:"right"}[r],i=t.side===n?1:-1,a=[-1,1,i,-i];return"inside"!==(e?(t.minor||{}).ticks:t.ticks)==("x"===r)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},Z.makeTransTickFn=function(t){return"x"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},Z.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||"",r=function(t){return-1!==e.indexOf(t)},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var c=t.side,u=l?(t.tickwidth||0)/2:0,h=3,f=t.tickfont?t.tickfont.size:12;return(o||n)&&(u+=f*q,h+=(t.linewidth||0)/2),(i||a)&&(u+=(t.linewidth||0)/2,h+=3),s&&"top"===c&&(h-=f*(1-q)),(i||n)&&(u=-u),"bottom"!==c&&"right"!==c||(h=-h),[l?u:0,s?h:0]}(t),r=t.ticklabelshift||0,n=t.ticklabelstandoff||0,i=e[0],a=e[1],o=t.range[0]>t.range[1],s=t.ticklabelposition&&-1!==t.ticklabelposition.indexOf("inside"),c=!s;if(r&&(r*=o?-1:1),n){var u=t.side;n*=s&&("top"===u||"left"===u)||c&&("bottom"===u||"right"===u)?1:-1}return"x"===t._id.charAt(0)?function(e){return l(i+t._offset+t.l2p(At(e))+r,a+n)}:function(e){return l(a+n,i+t._offset+t.l2p(At(e))+r)}},Z.makeTickPath=function(t,e,r,n){n||(n={});var i=n.minor;if(i&&!t.minor)return"";var a=void 0!==n.len?n.len:i?t.minor.ticklen:t.ticklen,o=t._id.charAt(0),s=(t.linewidth||1)/2;return"x"===o?"M0,"+(e+s*r)+"v"+a*r:"M"+(e+s*r)+",0h"+a*r},Z.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||"",a=function(t){return-1!==n.indexOf(t)},o=a("top"),l=a("left"),c=a("right"),u=a("bottom")||l||o||c,h=a("inside"),f="inside"===n&&"inside"===t.ticks||!h&&"outside"===t.ticks&&"boundaries"!==t.tickson,p=0,d=0,m=f?t.ticklen:0;if(h?m*=-1:u&&(m=0),f&&(p+=m,r)){var g=s.deg2rad(r);p=m*Math.cos(g)+1,d=m*Math.sin(g)}t.showticklabels&&(f||t.showline)&&(p+=.2*t.tickfont.size);var y,v,x,_,b,w={labelStandoff:p+=(t.linewidth||1)/2*(h?-1:1),labelShift:d},T=0,k=t.side,A=t._id.charAt(0),M=t.tickangle;if("x"===A)_=(b=!h&&"bottom"===k||h&&"top"===k)?1:-1,h&&(_*=-1),y=d*_,v=e+p*_,x=b?1:-.2,90===Math.abs(M)&&(h?x+=V:x=-90===M&&"bottom"===k?q:90===M&&"top"===k?V:.5,T=V/2*(M/90)),w.xFn=function(t){return t.dx+y+T*t.fontSize},w.yFn=function(t){return t.dy+v+t.fontSize*x},w.anchorFn=function(t,e){if(u){if(l)return"end";if(c)return"start"}return i(e)&&0!==e&&180!==e?e*_<0!==h?"end":"start":"middle"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side!==h?-n:0};else if("y"===A){if(_=(b=!h&&"left"===k||h&&"right"===k)?1:-1,h&&(_*=-1),y=p,v=d*_,x=0,h||90!==Math.abs(M)||(x=-90===M&&"left"===k||90===M&&"right"===k?q:.5),h){var S=i(M)?+M:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*q*_,x=0}}w.xFn=function(t){return t.dx+e-(y+t.fontSize*x)*_+T*t.fontSize},w.yFn=function(t){return t.dy+v+t.fontSize*V},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?"middle":b?"end":"start"},w.heightFn=function(e,r,n){return"right"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},Z.drawTicks=function(t,e,r){r=r||{};var i=e._id+"tick",a=[].concat(e.minor&&e.minor.ticks?r.vals.filter((function(t){return t.minor&&!t.noTick})):[]).concat(e.ticks?r.vals.filter((function(t){return!t.minor&&!t.noTick})):[]),o=r.layer.selectAll("path."+i).data(a,Mt);o.exit().remove(),o.enter().append("path").classed(i,1).classed("ticks",1).classed("crisp",!1!==r.crisp).each((function(t){return h.stroke(n.select(this),t.minor?e.minor.tickcolor:e.tickcolor)})).style("stroke-width",(function(r){return f.crispRound(t,r.minor?e.minor.tickwidth:e.tickwidth,1)+"px"})).attr("d",r.path).style("display",null),Nt(e,[B]),o.attr("transform",r.transFn)},Z.drawGrid=function(t,e,r){if(r=r||{},"sync"!==e.tickmode){var i=e._id+"grid",a=e.minor&&e.minor.showgrid,o=a?r.vals.filter((function(t){return t.minor})):[],s=e.showgrid?r.vals.filter((function(t){return!t.minor})):[],l=r.counterAxis;if(l&&Z.shouldShowZeroLine(t,e,l))for(var c="array"===e.tickmode,u=0;u=0;y--){var v=y?m:g;if(v){var x=v.selectAll("path."+i).data(y?s:o,Mt);x.exit().remove(),x.enter().append("path").classed(i,1).classed("crisp",!1!==r.crisp),x.attr("transform",r.transFn).attr("d",r.path).each((function(t){return h.stroke(n.select(this),t.minor?e.minor.gridcolor:e.gridcolor||"#ddd")})).style("stroke-dasharray",(function(t){return f.dashStyle(t.minor?e.minor.griddash:e.griddash,t.minor?e.minor.gridwidth:e.gridwidth)})).style("stroke-width",(function(t){return(t.minor?d:e._gw)+"px"})).style("display",null),"function"==typeof r.path&&x.attr("d",r.path)}}Nt(e,[R,F])}},Z.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+"zl",i=Z.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each((function(){r.layer.selectAll("path").sort((function(t,e){return X(t.id,e.id)}))})),a.attr("transform",r.transFn).attr("d",r.path).call(h.stroke,e.zerolinecolor||h.defaultLine).style("stroke-width",f.crispRound(t,e.zerolinewidth,e._gw||1)+"px").style("display",null),Nt(e,[D])},Z.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,u=r.cls||o+"tick",h=r.vals.filter((function(t){return t.text})),p=r.labelFns,d=r.secondary?0:e.tickangle,m=(e._prevTickAngles||{})[u],g=r.layer.selectAll("g."+u).data(e.showticklabels?h:[],Mt),y=[];function v(t,a){t.each((function(t){var o=n.select(this),s=o.select(".text-math-group"),u=p.anchorFn(t,a),h=r.transFn.call(o.node(),t)+(i(a)&&0!=+a?" rotate("+a+","+p.xFn(t)+","+(p.yFn(t)-t.fontSize/2)+")":""),d=c.lineCount(o),m=H*t.fontSize,g=p.heightFn(t,i(a)?+a:0,(d-1)*m);if(g&&(h+=l(0,g)),s.empty()){var y=o.select("text");y.attr({transform:h,"text-anchor":u}),y.style("opacity",1),e._adjustTickLabelsOverflow&&e._adjustTickLabelsOverflow()}else{var v=f.bBox(s.node()).width*{end:-.5,start:.5}[u];s.attr("transform",h+l(v,0))}}))}g.enter().append("g").classed(u,1).append("text").attr("text-anchor","middle").each((function(e){var r=n.select(this),i=t._promises.length;r.call(c.positionText,p.xFn(e),p.yFn(e)).call(f.font,{family:e.font,size:e.fontSize,color:e.fontColor,weight:e.fontWeight,style:e.fontStyle,variant:e.fontVariant,textcase:e.fontTextcase,lineposition:e.fontLineposition,shadow:e.fontShadow}).text(e.text).call(c.convertToTspans,t),t._promises[i]?y.push(t._promises.pop().then((function(){v(r,d)}))):v(r,d)})),Nt(e,[N]),g.exit().remove(),r.repositionOnUpdate&&g.each((function(t){n.select(this).select("text").call(c.positionText,p.xFn(t),p.yFn(t))})),e._adjustTickLabelsOverflow=function(){var r=e.ticklabeloverflow;if(r&&"allow"!==r){var i=-1!==r.indexOf("hide"),o="x"===e._id.charAt(0),l=0,c=o?t._fullLayout.width:t._fullLayout.height;if(-1!==r.indexOf("domain")){var u=s.simpleMap(e.range,e.r2l);l=e.l2p(u[0])+e._offset,c=e.l2p(u[1])+e._offset}var h=Math.min(l,c),p=Math.max(l,c),d=e.side,m=1/0,y=-1/0;for(var v in g.each((function(t){var r=n.select(this);if(r.select(".text-math-group").empty()){var a=f.bBox(r.node()),s=0;o?(a.right>p||a.leftp||a.top+(e.tickangle?0:t.fontSize/4)e["_visibleLabelMin_"+r._id]?l.style("display","none"):"tick"!==t.K||i||l.style("display",null)}))}))}))}))},v(g,m+1?m:d);var x=null;e._selections&&(e._selections[u]=g);var _=[function(){return y.length&&Promise.all(y)}];e.automargin&&a._redrawFromAutoMarginCount&&90===m?(x=m,_.push((function(){v(g,m)}))):_.push((function(){if(v(g,d),h.length&&e.autotickangles&&("log"!==e.type||"D"!==String(e.dtick).charAt(0))){x=e.autotickangles[0];var t,n=0,i=[],a=1;g.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),o=Ct(this),s=f.bBox(o.node());a=Math.max(a,c.lineCount(o)),i.push({top:0,bottom:10,height:10,left:r-s.width/2,right:r+s.width/2+2,width:s.width+2})}));var o=("boundaries"===e.tickson||e.showdividers)&&!r.secondary,l=h.length,u=Math.abs((h[l-1].x-h[0].x)*e._m)/(l-1),p=o?u/2:u,m=o?e.ticklen:1.25*n*a,y=p/Math.sqrt(Math.pow(p,2)+Math.pow(m,2)),_=e.autotickangles.map((function(t){return t*Math.PI/180})),b=_.find((function(t){return Math.abs(Math.cos(t))<=y}));void 0===b&&(b=_.reduce((function(t,e){return Math.abs(Math.cos(t))j*O&&(I=O,E[S]=C[S]=P[S])}var U=Math.abs(I-L);U-k>0?k*=1+k/(U-=k):k=0,"y"!==e._id.charAt(0)&&(k=-k),E[M]=w.p2r(w.r2p(C[M])+A*k),"min"===w.autorange||"max reversed"===w.autorange?(E[0]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0):"max"!==w.autorange&&"min reversed"!==w.autorange||(E[1]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0),a._insideTickLabelsUpdaterange[w._name+".range"]=E}var V=s.syncOrAsync(_);return V&&V.then&&t._promises.push(V),V},Z.getPxPosition=function(t,e){var r,n=t._fullLayout._size,i=e._id.charAt(0),a=e.side;return"free"!==e.anchor?r=e._anchorAxis:"x"===i?r={_offset:n.t+(1-(e.position||0))*n.h,_length:0}:"y"===i&&(r={_offset:n.l+(e.position||0)*n.w+e._shift,_length:0}),"top"===a||"left"===a?r._offset:"bottom"===a||"right"===a?r._offset+r._length:void 0},Z.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&("linear"===e.type||"-"===e.type)&&!(e.rangebreaks&&e.maskBreaks(0)===O)&&(Et(e,0)||!function(t,e,r,n){var i=r._mainAxis;if(i){var a=t._fullLayout,o=e._id.charAt(0),s=Z.counterLetter(e._id),l=e._offset+(Math.abs(n[0])1)for(n=1;n2*o}(i,e))return"date";var g="strict"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=h(r),i=0,o=0,s={},u=0;u2*i}(i,g)?"category":function(t,e){for(var r=t.length,n=0;n=2){var s,c,u="";if(2===o.length)for(s=0;s<2;s++)if(c=b(o[s])){u=y;break}var h=i("pattern",u);if(h===y)for(s=0;s<2;s++)(c=b(o[s]))&&(e.bounds[s]=o[s]=c-1);if(h)for(s=0;s<2;s++)switch(c=o[s],h){case y:if(!n(c))return void(e.enabled=!1);if((c=+c)!==Math.floor(c)||c<0||c>=7)return void(e.enabled=!1);e.bounds[s]=o[s]=c;break;case v:if(!n(c))return void(e.enabled=!1);if((c=+c)<0||c>24)return void(e.enabled=!1);e.bounds[s]=o[s]=c}if(!1===r.autorange){var f=r.range;if(f[0]f[1])return void(e.enabled=!1)}else if(o[0]>f[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},e.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(" ")[0]},e.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},46473:function(t,e,r){"use strict";var n=r(87800).isTypedArraySpec;t.exports=function(t,e,r,i){if("category"===e.type){var a,o=t.categoryarray,s=Array.isArray(o)&&o.length>0||n(o);s&&(a="array");var l,c=r("categoryorder",a);"array"===c&&(l=r("categoryarray")),s||"array"!==c||(c=e.categoryorder="trace"),"trace"===c?e._initialCategories=[]:"array"===c?e._initialCategories=l.slice():(l=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nn?i.substr(n):a.substr(r))+o:i+a+t*e:o}function g(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;oc*x)||T)for(r=0;rz&&FI&&(I=F);f/=(I-L)/(2*P),L=l.l2r(L),I=l.l2r(I),l.range=l._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function N(t,e,r,n,i){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",c(r,n)).attr("d",i+"Z")}function j(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:h.background,stroke:h.defaultLine,"stroke-width":1,opacity:0}).attr("transform",c(e,r)).attr("d","M0,0Z")}function U(t,e,r,n,i,a){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),V(t,e,i,a)}function V(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function q(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function H(t){P&&t.data&&t._context.showTips&&(i.notifier(i._(t,"Double-click to zoom back out"),"long"),P=!1)}function G(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,I)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function Z(t,e,r,n,a){for(var o,s,l,c,u=!1,h={},f={},p=(a||{}).xaHash,d=(a||{}).yaHash,m=0;m=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(q(i),2!==t||yt||Ht(),gt)o.indexOf("select")>-1&&S(r,i,$,J,e.id,It),o.indexOf("event")>-1&&p.click(i,r,e.id);else if(1===t&&yt){var s=m?z:P,c="s"===m||"w"===y?0:1,h=s._name+".range["+c+"]",f=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return"date"===t.type?n:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,a("."+r+"g")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,a("."+String(r)+"g")(n))}(s,c),d="left",g="middle";if(s.fixedrange)return;m?(g="n"===m?"top":"bottom","right"===s.side&&(d="right")):"e"===y&&(d="right"),i._context.showAxisRangeEntryBoxes&&n.select(_t).call(u.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(f),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:d,verticalAlign:g}).on("edit",(function(t){var e=s.d2r(t);void 0!==e&&l.call("_guiRelayout",i,h,e)}))}}}function Ot(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(tt,pt*e+bt)),i=Math.max(0,Math.min(et,dt*r+wt)),a=Math.abs(n-bt),o=Math.abs(i-wt);function s(){St="",Tt.r=Tt.l,Tt.t=Tt.b,Ct.attr("d","M0,0Z")}if(Tt.l=Math.min(bt,n),Tt.r=Math.max(bt,n),Tt.t=Math.min(wt,i),Tt.b=Math.max(wt,i),rt.isSubplotConstrained)a>I||o>I?(St="xy",a/tt>o/et?(o=a*et/tt,wt>i?Tt.t=wt-o:Tt.b=wt+o):(a=o*tt/et,bt>n?Tt.l=bt-a:Tt.r=bt+a),Ct.attr("d",G(Tt))):s();else if(nt.isSubplotConstrained)if(a>I||o>I){St="xy";var l=Math.min(Tt.l/tt,(et-Tt.b)/et),c=Math.max(Tt.r/tt,(et-Tt.t)/et);Tt.l=l*tt,Tt.r=c*tt,Tt.b=(1-l)*et,Tt.t=(1-c)*et,Ct.attr("d",G(Tt))}else s();else!at||o0){var u;if(nt.isSubplotConstrained||!it&&1===at.length){for(u=0;u<$.length;u++)$[u].range=$[u]._r.slice(),E($[u],1-r/et);o=(e=r*tt/et)/2}if(nt.isSubplotConstrained||!at&&1===it.length){for(u=0;u1&&(void 0!==a.maxallowed&&st===(a.range[0]1&&(void 0!==o.maxallowed&<===(o.range[0]1)if(l)e.xlines=f(n,"path","xlines-above"),e.ylines=f(n,"path","ylines-above"),e.xaxislayer=f(n,"g","xaxislayer-above"),e.yaxislayer=f(n,"g","yaxislayer-above");else{if(!a){var h=f(n,"g","layer-subplot");e.shapelayer=f(h,"g","shapelayer"),e.imagelayer=f(h,"g","imagelayer"),e.minorGridlayer=f(n,"g","minor-gridlayer"),e.gridlayer=f(n,"g","gridlayer"),e.zerolinelayer=f(n,"g","zerolinelayer");var m=f(n,"g","layer-between");e.shapelayerBetween=f(m,"g","shapelayer"),e.imagelayerBetween=f(m,"g","imagelayer"),f(n,"path","xlines-below"),f(n,"path","ylines-below"),e.overlinesBelow=f(n,"g","overlines-below"),f(n,"g","xaxislayer-below"),f(n,"g","yaxislayer-below"),e.overaxesBelow=f(n,"g","overaxes-below")}e.overplot=f(n,"g","overplot"),e.plot=f(e.overplot,"g",i),a||(e.xlines=f(n,"path","xlines-above"),e.ylines=f(n,"path","ylines-above"),e.overlinesAbove=f(n,"g","overlines-above"),f(n,"g","xaxislayer-above"),f(n,"g","yaxislayer-above"),e.overaxesAbove=f(n,"g","overaxes-above"),e.xlines=n.select(".xlines-"+o),e.ylines=n.select(".ylines-"+s),e.xaxislayer=n.select(".xaxislayer-"+o),e.yaxislayer=n.select(".yaxislayer-"+s))}else{var g=e.mainplotinfo,y=g.plotgroup,v=i+"-x",x=i+"-y";e.minorGridlayer=g.minorGridlayer,e.gridlayer=g.gridlayer,e.zerolinelayer=g.zerolinelayer,f(g.overlinesBelow,"path",v),f(g.overlinesBelow,"path",x),f(g.overaxesBelow,"g",v),f(g.overaxesBelow,"g",x),e.plot=f(g.overplot,"g",i),f(g.overlinesAbove,"path",v),f(g.overlinesAbove,"path",x),f(g.overaxesAbove,"g",v),f(g.overaxesAbove,"g",x),e.xlines=y.select(".overlines-"+o).select("."+v),e.ylines=y.select(".overlines-"+s).select("."+x),e.xaxislayer=y.select(".overaxes-"+o).select("."+v),e.yaxislayer=y.select(".overaxes-"+s).select("."+x)}a||(l||(p(e.minorGridlayer,"g",e.xaxis._id),p(e.minorGridlayer,"g",e.yaxis._id),e.minorGridlayer.selectAll("g").map((function(t){return t[0]})).sort(c.idSort),p(e.gridlayer,"g",e.xaxis._id),p(e.gridlayer,"g",e.yaxis._id),e.gridlayer.selectAll("g").map((function(t){return t[0]})).sort(c.idSort)),e.xlines.style("fill","none").classed("crisp",!0),e.ylines.style("fill","none").classed("crisp",!0))}function y(t,e){if(t){var r={};for(var i in t.each((function(t){var i=t[0];n.select(this).remove(),v(i,e),r[i]=!0})),e._plots)for(var a=e._plots[i].overlays||[],o=0;o0){var g=p.id;if(-1!==g.indexOf(d))continue;g+=d+(u+1),p=a.extendFlat({},p,{id:g,plot:o._cartesianlayer.selectAll(".subplot").select("."+g)})}for(var y,v=[],x=0;x1&&(w+=d+b),_.push(n+w),r=0;r_[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s),"sync"===e.tickmode&&(e.tickmode="auto")}return r("layer"),e}},54616:function(t,e,r){"use strict";var n=r(87703);t.exports=function(t,e,r,i,a){a||(a={});var o=a.tickSuffixDflt,s=n(t);r("tickprefix")&&r("showtickprefix",s),r("ticksuffix",o)&&r("showticksuffix",s)}},90259:function(t,e,r){"use strict";var n=r(75511);t.exports=function(t,e,r,i){var a=e._template||{},o=e.type||a.type||"-";r("minallowed"),r("maxallowed");var s,l=r("range");l||i.noInsiderange||"log"===o||(!(s=r("insiderange"))||null!==s[0]&&null!==s[1]||(e.insiderange=!1,s=void 0),s&&(l=r("range",s)));var c,u=e.getAutorangeDflt(l,i),h=r("autorange",u);!l||(null!==l[0]||null!==l[1])&&(null!==l[0]&&null!==l[1]||"reversed"!==h&&!0!==h)&&(null===l[0]||"min"!==h&&"max reversed"!==h)&&(null===l[1]||"max"!==h&&"min reversed"!==h)||(l=void 0,delete e.range,e.autorange=!0,c=!0),c||(h=r("autorange",u=e.getAutorangeDflt(l,i))),h&&(n(r,h,l),"linear"!==o&&"-"!==o||r("rangemode")),e.cleanRange()}},67611:function(t,e,r){"use strict";var n=r(4530).FROM_BL;t.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},19091:function(t,e,r){"use strict";var n=r(45568),i=r(42696).aL,a=r(34809),o=a.numberFormat,s=r(10721),l=a.cleanNumber,c=a.ms2DateTime,u=a.dateTime2ms,h=a.ensureNumber,f=a.isArrayOrTypedArray,p=r(63821),d=p.FP_SAFE,m=p.BADNUM,g=p.LOG_CLIP,y=p.ONEWEEK,v=p.ONEDAY,x=p.ONEHOUR,_=p.ONEMIN,b=p.ONESEC,w=r(5975),T=r(54826),k=T.HOUR_PATTERN,A=T.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function S(t){return null!=t}t.exports=function(t,e){e=e||{};var r=t._id||"x",p=r.charAt(0);function E(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return m}function C(e,r,n,i){if((i||{}).msUTC&&s(e))return+e;var o=u(e,n||t.calendar);if(o===m){if(!s(e))return m;e=+e;var l=Math.floor(10*a.mod(e+.05,1)),c=Math.round(e-l/10);o=u(new Date(c))+l/10}return o}function L(e,r,n){return c(e,r,n||t.calendar)}function I(e){return t._categories[Math.round(e)]}function P(e){if(S(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return m}function z(e){if(t._categoriesMap)return t._categoriesMap[e]}function O(t){var e=z(t);return void 0!==e?e:s(t)?+t:void 0}function D(t){return s(t)?+t:z(t)}function R(t,e,r){return n.round(r+e*t,2)}function F(t,e,r){return(t-r)/e}var B=function(e){return s(e)?R(e,t._m,t._b):m},N=function(e){return F(e,t._m,t._b)};if(t.rangebreaks){var j="y"===p;B=function(e){if(!s(e))return m;var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,a=i*e,o=0,l=0;lu)){o=a<(c+u)/2?l:l+1;break}o=l+1}var h=t._B[o]||0;return isFinite(h)?R(e,t._m2,h):0},N=function(e){var r=t._rangebreaks.length;if(!r)return F(e,t._m,t._b);for(var n=0,i=0;it._rangebreaks[i].pmax&&(n=i+1);return F(e,t._m2,t._B[n])}}t.c2l="log"===t.type?E:h,t.l2c="log"===t.type?M:h,t.l2p=B,t.p2l=N,t.c2p="log"===t.type?function(t,e){return B(E(t,e))}:B,t.p2c="log"===t.type?function(t){return M(N(t))}:N,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=l,t.c2d=t.c2r=t.l2d=t.l2r=h,t.d2p=t.r2p=function(e){return t.l2p(l(e))},t.p2d=t.p2r=N,t.cleanPos=h):"log"===t.type?(t.d2r=t.d2l=function(t,e){return E(l(t),e)},t.r2d=t.r2c=function(t){return M(l(t))},t.d2c=t.r2l=l,t.c2d=t.l2r=h,t.c2r=E,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(N(t))},t.r2p=function(e){return t.l2p(l(e))},t.p2r=N,t.cleanPos=h):"date"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=C,t.c2d=t.c2r=t.l2d=t.l2r=L,t.d2p=t.r2p=function(e,r,n){return t.l2p(C(e,0,n))},t.p2d=t.p2r=function(t,e,r){return L(N(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,m,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=P,t.r2d=t.c2d=t.l2d=I,t.d2r=t.d2l_noadd=O,t.r2c=function(e){var r=D(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=h,t.r2l=D,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return I(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:h(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=I,t.d2r=t.d2l_noadd=O,t.r2c=function(e){var r=O(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=z,t.l2r=t.c2r=h,t.r2l=O,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return I(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:h(t)},t.setupMultiCategory=function(n){var i,o,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var c in l)if(c!==r){var u=e[w.id2name(c)];s=s.concat(u._traceIndices)}var h=[[0,{}],[0,{}]],d=[];for(i=0;il[1]&&(i[s?0:1]=n),i[0]===i[1]){var c=t.l2r(r),u=t.l2r(n);if(void 0!==r){var h=c+1;void 0!==n&&(h=Math.min(h,u)),i[s?1:0]=h}if(void 0!==n){var f=u+1;void 0!==r&&(f=Math.max(f,c)),i[s?0:1]=f}}}},t.cleanRange=function(e,r){t._cleanRange(e,r),t.limitRange(e)},t._cleanRange=function(e,r){r||(r={}),e||(e="range");var n,i,o=a.nestedProperty(t,e).get();if(i=(i="date"===t.type?a.dfltRange(t.calendar):"y"===p?T.DFLTRANGEY:"realaxis"===t._name?[0,1]:r.dfltRange||T.DFLTRANGEX).slice(),"tozero"!==t.rangemode&&"nonnegative"!==t.rangemode||(i[0]=0),o&&2===o.length){var l=null===o[0],c=null===o[1];for("date"!==t.type||t.autorange||(o[0]=a.cleanDate(o[0],m,t.calendar),o[1]=a.cleanDate(o[1],m,t.calendar)),n=0;n<2;n++)if("date"===t.type){if(!a.isDateTime(o[n],t.calendar)){t[e]=i;break}if(t.r2l(o[0])===t.r2l(o[1])){var u=a.constrain(t.r2l(o[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);o[0]=t.l2r(u-1e3),o[1]=t.l2r(u+1e3);break}}else{if(!s(o[n])){if(l||c||!s(o[1-n])){t[e]=i;break}o[n]=o[1-n]*(n?10:.1)}if(o[n]<-d?o[n]=-d:o[n]>d&&(o[n]=d),o[0]===o[1]){var h=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=h,o[1]+=h}}}else a.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t.overlaying){var i=w.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(a);var s,l,c=t.r2l(t[a][0],o),u=t.r2l(t[a][1],o),h="y"===p;if(h?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks&&(t._rangebreaks=t.locateBreaks(Math.min(c,u),Math.max(c,u)),t._rangebreaks.length)){for(s=0;su&&(f=!f),f&&t._rangebreaks.reverse();var d=f?-1:1;for(t._m2=d*t._length/(Math.abs(u-c)-t._lBreaks),t._B.push(-t._m2*(h?u:c)),s=0;si&&(i+=7,oi&&(i+=24,o=n&&o=n&&e=s.min&&(ts.max&&(s.max=n),i=!1)}i&&c.push({min:t,max:n})}};for(n=0;nr.duration?(function(){for(var r={},n=0;n rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,c=i._length,u=l._length,h=!!e.xr1,f=!!e.yr1,p=[];if(h){var d=a.simpleMap(e.xr0,i.r2l),m=a.simpleMap(e.xr1,i.r2l),g=d[1]-d[0],y=m[1]-m[0];p[0]=(d[0]*(1-r)+r*m[0]-d[0])/(d[1]-d[0])*c,p[2]=c*(1-r+r*y/g),i.range[0]=i.l2r(d[0]*(1-r)+r*m[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*m[1])}else p[0]=0,p[2]=c;if(f){var v=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),_=v[1]-v[0],b=x[1]-x[0];p[1]=(v[1]*(1-r)+r*x[1]-v[1])/(v[0]-v[1])*u,p[3]=u*(1-r+r*b/_),l.range[0]=i.l2r(v[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(v[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=u;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=h?c/p[2]:1,T=f?u/p[3]:1,k=h?p[0]:0,A=f?p[1]:0,M=h?p[0]/p[2]*c:0,S=f?p[1]/p[3]*u:0,E=i._offset-M,C=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,C).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},4392:function(t,e,r){"use strict";var n=r(33626).traceIs,i=r(9666);function a(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=a(t),i=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}t.exports=function(t,e,r,s){r("autotypenumbers",s.autotypenumbersDflt),"-"===r("type",(s.splomStash||{}).type)&&(function(t,e){if("-"===t.type){var r,s=t._id,l=s.charAt(0);-1!==s.indexOf("scene")&&(s=l);var c=function(t,e,r){for(var n=0;n0&&(i["_"+r+"axes"]||{})[e])return i;if((i[r+"axis"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,s,l);if(c)if("histogram"!==c.type||l!=={v:"y",h:"x"}[c.orientation||"v"]){var u=l+"calendar",h=c[u],f={noMultiCategory:!n(c,"cartesian")||n(c,"noMultiCategory")};if("box"===c.type&&c._hasPreCompStats&&l==={h:"x",v:"y"}[c.orientation||"v"]&&(f.noMultiCategory=!0),f.autotypenumbers=t.autotypenumbers,o(c,l)){var p=a(c),d=[];for(r=0;r0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}e.manageCommandObserver=function(t,r,n,o){var s={},l=!0;r&&r._commandObserver&&(s=r._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=e.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(r&&r._commandObserver){if(c)return s;if(r._commandObserver.remove)return r._commandObserver.remove(),r._commandObserver=null,s}if(c){a(t,c,s.cache),s.check=function(){if(l){var e=a(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],h=0;h0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}t.exports=function(t){return new M(t)},S.plot=function(t,e,r,n){var i=this;if(n)return i.update(t,e,!0);i._geoCalcData=t,i._fullLayout=e;var a=e[this.id],o=[],s=!1;for(var l in w.layerNameToAdjective)if("frame"!==l&&a["show"+l]){s=!0;break}for(var c=!1,u=0;u0&&o._module.calcGeoJSON(a,e)}if(!r){if(this.updateProjection(t,e))return;this.viewInitial&&this.scope===n.scope||this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(e,n),this.updateDims(e,n),this.updateFx(e,n),d.generalUpdatePerTraceModule(this.graphDiv,this,t,n);var s=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=s.selectAll(".point"),this.dataPoints.text=s.selectAll("text"),this.dataPaths.line=s.selectAll(".js-line");var l=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=l.selectAll("path"),this._render()},S.updateProjection=function(t,e){var r=this.graphDiv,n=e[this.id],l=e._size,u=n.domain,h=n.projection,f=n.lonaxis,p=n.lataxis,d=f._ax,m=p._ax,y=this.projection=function(t){var e=t.projection,r=e.type,n=w.projNames[r];n="geo"+c.titleCase(n);for(var l=(i[n]||s[n])(),u=t._isSatellite?180*Math.acos(1/e.distance)/Math.PI:t._isClipped?w.lonaxisSpan[r]/2:null,h=["center","rotate","parallels","clipExtent"],f=function(t){return t?l:[]},p=0;pu*Math.PI/180}return!1},l.getPath=function(){return a().projection(l)},l.getBounds=function(t){return l.getPath().bounds(t)},l.precision(w.precision),t._isSatellite&&l.tilt(e.tilt).distance(e.distance),u&&l.clipAngle(u-w.clipPad),l}(n),v=[[l.l+l.w*u.x[0],l.t+l.h*(1-u.y[1])],[l.l+l.w*u.x[1],l.t+l.h*(1-u.y[0])]],x=n.center||{},_=h.rotation||{},b=f.range||[],T=p.range||[];if(n.fitbounds){d._length=v[1][0]-v[0][0],m._length=v[1][1]-v[0][1],d.range=g(r,d),m.range=g(r,m);var k=(d.range[0]+d.range[1])/2,A=(m.range[0]+m.range[1])/2;if(n._isScoped)x={lon:k,lat:A};else if(n._isClipped){x={lon:k,lat:A},_={lon:k,lat:A,roll:_.roll};var M=h.type,S=w.lonaxisSpan[M]/2||180,C=w.lataxisSpan[M]/2||90;b=[k-S,k+S],T=[A-C,A+C]}else x={lon:k,lat:A},_={lon:k,lat:_.lat,roll:_.roll}}y.center([x.lon-_.lon,x.lat-_.lat]).rotate([-_.lon,-_.lat,_.roll]).parallels(h.parallels);var L=E(b,T);y.fitExtent(v,L);var I=this.bounds=y.getBounds(L),P=this.fitScale=y.scale(),z=y.translate();if(n.fitbounds){var O=y.getBounds(E(d.range,m.range)),D=Math.min((I[1][0]-I[0][0])/(O[1][0]-O[0][0]),(I[1][1]-I[0][1])/(O[1][1]-O[0][1]));isFinite(D)?y.scale(D*P):c.warn("Something went wrong during"+this.id+"fitbounds computations.")}else y.scale(h.scale*P);var R=this.midPt=[(I[0][0]+I[1][0])/2,(I[0][1]+I[1][1])/2];if(y.translate([z[0]+(R[0]-z[0]),z[1]+(R[1]-z[1])]).clipExtent(I),n._isAlbersUsa){var F=y([x.lon,x.lat]),B=y.translate();y.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function s(t){return"lonaxis"===t||"lataxis"===t}function l(t){return Boolean(w.lineLayers[t])}function c(t){return Boolean(w.fillLayers[t])}var u=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(t){return l(t)||c(t)?e["show"+t]:!s(t)||e[t].showgrid})),p=r.framework.selectAll(".layer").data(u,String);p.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),p.enter().append("g").attr("class",(function(t){return"layer "+t})).each((function(t){var e=a[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):s(t)?o[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):l(t)?o[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):c(t)&&(o[t]=e.append("path").style("stroke","none"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];"frame"===r?n.datum(w.sphereSVG):l(r)||c(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=w.scopeDefaults[e.scope];"lonaxis"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):"lataxis"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};m.setConvert(l,r);var c=m.calcTicks(l);e.isScoped||"lonaxis"!==t||c.pop();for(var u=c.length,h=new Array(u),f=0;f-1&&_(n.event,i,[r.xaxis],[r.yaxis],r.id,u),s.indexOf("event")>-1&&p.click(i,n.event))}))}function h(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},S.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",i),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(f.setClipUrl,i,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:"x",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:"y",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},m.setConvert(t.mockAxis,r)},S.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,"projection.scale":n.scale},e=t._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:t._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},c.extendFlat(this.viewInitial,e)},S.render=function(t){this._hasMarkerAngles&&t?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?u(r[0],r[1]):null}function i(t){return e.isLonLatOverEdges(t.lonlat)?"none":null}for(t in this.basePaths)this.basePaths[t].attr("d",r);for(t in this.dataPaths)this.dataPaths[t].attr("d",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr("display",i).attr("transform",n)}},47544:function(t,e,r){"use strict";var n=r(4173).fX,i=r(34809).counterRegex,a=r(6493),o="geo",s=i(o),l={};l[o]={valType:"subplotid",dflt:o,editType:"calc"},t.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:r(42194),supplyLayoutDefaults:r(31653),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[o],s=0;s0&&I<0&&(I+=360);var P,z,O,D=(L+I)/2;if(!p){var R=d?h.projRotate:[D,0,0];P=r("projection.rotation.lon",R[0]),r("projection.rotation.lat",R[1]),r("projection.rotation.roll",R[2]),r("showcoastlines",!d&&x)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean",!!x&&void 0)&&r("oceancolor")}p?(z=-96.6,O=38.7):(z=d?D:P,O=(C[0]+C[1])/2),r("center.lon",z),r("center.lat",O),m&&(r("projection.tilt"),r("projection.distance")),g&&r("projection.parallels",h.projParallels||[0,60]),r("projection.scale"),r("showland",!!x&&void 0)&&r("landcolor"),r("showlakes",!!x&&void 0)&&r("lakecolor"),r("showrivers",!!x&&void 0)&&(r("rivercolor"),r("riverwidth")),r("showcountries",d&&"usa"!==u&&x)&&(r("countrycolor"),r("countrywidth")),("usa"===u||"north america"===u&&50===c)&&(r("showsubunits",x),r("subunitcolor"),r("subunitwidth")),d||r("showframe",x)&&(r("framecolor"),r("framewidth")),r("bgcolor"),r("fitbounds")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):y?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}t.exports=function(t,e,r){i(t,e,r,{type:"geo",attributes:s,handleDefaults:c,fullData:r,partition:"y"})}},14309:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=r(33626),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},c={cursor:"auto"};function u(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function h(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],c=o._fullLayout,u=c[n],h={},f={};function p(t,e){h[n+"."+t]=i.nestedProperty(l,t).get(),a.call("_storeDirectGUIEdit",s,c._preGUI,h);var r=i.nestedProperty(u,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),f[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",f)}function f(t,e){var r=u(0,e);function i(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",(function(){n.select(this).style(l)})).on("zoom",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render(!0);var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})})).on("zoomend",(function(){n.select(this).style(c),h(t,e,i)})),r}function p(t,e){var r,i,a,o,s,f,p,d,m,g=u(0,e);function y(t){return e.invert(t)}function v(r){var n=e.rotate(),i=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=y(r)})).on("zoom",(function(){if(f=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return g.scale(e.scale()),void g.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?y(f)&&(d=y(f),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=y(r=f),m=!0,t.render(!0);var l=e.rotate(),c=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":c[0],"geo.center.lat":c[1],"geo.projection.rotation.lon":-l[0]})})).on("zoomend",(function(){n.select(this).style(c),m&&h(t,e,v)})),g}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=u(0,e),f=function(t){for(var e=0,r=arguments.length,i=[];++ed?(a=(h>0?90:-90)-p,i=0):(a=Math.asin(h/d)*s-p,i=Math.sqrt(d*d-h*h));var m=180-a-2*p,y=(Math.atan2(f,u)-Math.atan2(c,i))*s,x=(Math.atan2(f,u)-Math.atan2(c,-i))*s;return g(r[0],r[1],a,y)<=g(r[0],r[1],m,x)?[a,y,r[2]]:[m,x,r[2]]}(T,r,E);isFinite(k[0])&&isFinite(k[1])&&isFinite(k[2])||(k=E),e.rotate(k),E=k}}else r=m(e,M=_);f.of(this,arguments)({type:"zoom"})})),A=f.of(this,arguments),p++||A({type:"zoomstart"})})).on("zoomend",(function(){var r;n.select(this).style(c),d.call(a,"zoom",null),r=f.of(this,arguments),--p||r({type:"zoomend"}),h(t,e,y)})).on("zoom.redraw",(function(){t.render(!0);var r=e.rotate();t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})})),n.rebind(a,f,"on")}function m(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t,e,r,n){var i=y(r-t),a=y(n-e);return Math.sqrt(i*i+a*a)}function y(t){return(t%360+540)%360-180}function v(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return i[a]=t[a]*l-t[s]*c,i[s]=t[s]*l+t[a]*c,i}function x(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(a)*b*(s>=0?1:-1),c.boxEnd[1]l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(b))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/b*(a>=0?1:-1),c.boxEnd[0]l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(b)))}}else c.boxEnabled?(a=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],a||s?(a&&(g(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(g(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&&(c.boxInited=!1);break;case"pan":c.boxEnabled=!1,c.boxInited=!1,e?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=i),Math.abs(c.dragStart[0]-n).999&&(g="turntable"):g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",n.getDfltFromLayout("hovermode"))}t.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:u,attributes:l,handleDefaults:h,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},77168:function(t,e,r){"use strict";var n=r(63397),i=r(13792).u,a=r(93049).extendFlat,o=r(34809).counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}t.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:i({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},64087:function(t,e,r){"use strict";var n=r(55010),i=["xaxis","yaxis","zaxis"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},t.exports=function(t){var e=new a;return e.merge(t),e}},32412:function(t,e,r){"use strict";t.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],c=0;c<3;++c){var u=s[a[c]];if(u._length=(r[c].hi-r[c].lo)*r[c].pixelsPerDataUnit/t.dataScale[c],Math.abs(u._length)===1/0||isNaN(u._length))l[c]=[];else{u._input_range=u.range.slice(),u.range[0]=r[c].lo/t.dataScale[c],u.range[1]=r[c].hi/t.dataScale[c],u._m=1/(t.dataScale[c]*r[c].pixelsPerDataUnit),u.range[0]===u.range[1]&&(u.range[0]-=1,u.range[1]+=1);var h=u.tickmode;if("auto"===u.tickmode){u.tickmode="linear";var f=u.nticks||i.constrain(u._length/40,4,9);n.autoTicks(u,Math.abs(u.range[1]-u.range[0])/f)}for(var p=n.calcTicks(u,{msUTC:!0}),d=0;d/g," "));l[c]=p,u.tickmode=h}}for(e.ticks=l,c=0;c<3;++c)for(o[c]=.5*(t.glplot.bounds[0][c]+t.glplot.bounds[1][c]),d=0;d<2;++d)e.bounds[d][c]=t.glplot.bounds[d][c];t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;ar.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!c&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit("plotly_relayouting",e)}})),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",(function(r){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},k.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),_(e),e.glplot.axes.update(e.axesOptions);for(var c=Object.keys(e.traces),u=null,f=e.glplot.selection,m=0;m")):"isosurface"===t.type||"volume"===t.type?(k.valueLabel=p.hoverLabelText(e._mockAxis,e._mockAxis.d2l(f.traceCoordinate[3]),t.valuehoverformat),E.push("value: "+k.valueLabel),f.textLabel&&E.push(f.textLabel),x=E.join("
")):x=f.textLabel;var C={x:f.traceCoordinate[0],y:f.traceCoordinate[1],z:f.traceCoordinate[2],data:b._input,fullData:b,curveNumber:b.index,pointNumber:T};d.appendArrayPointValue(C,b,T),t._module.eventData&&(C=b._module.eventData(C,f,b,{},T));var L={points:[C]};if(e.fullSceneLayout.hovermode){var I=[];d.loneHover({trace:b,x:(.5+.5*v[0]/v[3])*s,y:(.5-.5*v[1]/v[3])*l,xLabel:k.xLabel,yLabel:k.yLabel,zLabel:k.zLabel,text:x,name:u.name,color:d.castHoverOption(b,T,"bgcolor")||u.color,borderColor:d.castHoverOption(b,T,"bordercolor"),fontFamily:d.castHoverOption(b,T,"font.family"),fontSize:d.castHoverOption(b,T,"font.size"),fontColor:d.castHoverOption(b,T,"font.color"),nameLength:d.castHoverOption(b,T,"namelength"),textAlign:d.castHoverOption(b,T,"align"),hovertemplate:h.castOption(b,T,"hovertemplate"),hovertemplateLabels:h.extendFlat({},C,k),eventData:[C]},{container:n,gd:r,inOut_bbox:I}),C.bbox=I[0]}f.distance<5&&(f.buttons||w)?r.emit("plotly_click",L):r.emit("plotly_hover",L),this.oldEventData=L}else d.loneUnhover(n),this.oldEventData&&r.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)},k.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):h.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(e)};var M=["xaxis","yaxis","zaxis"];function S(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=M[i],o=a.charAt(0),s=n[a],l=e[o],c=e[o+"calendar"],u=e["_"+o+"length"];if(h.isArrayOrTypedArray(l))for(var f,p=0;p<(u||l.length);p++)if(h.isArrayOrTypedArray(l[p]))for(var d=0;dy[1][o])y[0][o]=-1,y[1][o]=1;else{var P=y[1][o]-y[0][o];y[0][o]-=P/32,y[1][o]+=P/32}if(_=[y[0][o],y[1][o]],_=b(_,l),y[0][o]=_[0],y[1][o]=_[1],l.isReversed()){var z=y[0][o];y[0][o]=y[1][o],y[1][o]=z}}else _=l.range,y[0][o]=l.r2l(_[0]),y[1][o]=l.r2l(_[1]);y[0][o]===y[1][o]&&(y[0][o]-=1,y[1][o]+=1),v[o]=y[1][o]-y[0][o],l.range=[y[0][o],y[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*p[o],max:l.range[1]*p[o]})}var O=u.aspectmode;if("cube"===O)g=[1,1,1];else if("manual"===O){var D=u.aspectratio;g=[D.x,D.y,D.z]}else{if("auto"!==O&&"data"!==O)throw new Error("scene.js aspectRatio was not one of the enumerated types");var R=[1,1,1];for(o=0;o<3;++o){var F=x[c=(l=u[M[o]]).type];R[o]=Math.pow(F.acc,1/F.count)/p[o]}g="data"===O||Math.max.apply(null,R)/Math.min.apply(null,R)<=4?R:[1,1,1]}u.aspectratio.x=h.aspectratio.x=g[0],u.aspectratio.y=h.aspectratio.y=g[1],u.aspectratio.z=h.aspectratio.z=g[2],n.glplot.setAspectratio(u.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:u.aspectratio.x,y:u.aspectratio.y,z:u.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=u.aspectmode);var B=u.domain||null,N=e._size||null;if(B&&N){var j=n.container.style;j.position="absolute",j.left=N.l+B.x[0]*N.w+"px",j.top=N.t+(1-B.y[1])*N.h+"px",j.width=N.w*(B.x[1]-B.x[0])+"px",j.height=N.h*(B.y[1]-B.y[0])+"px"}n.glplot.redraw()}},k.destroy=function(){var t=this;t.glplot&&(t.camera.mouseListener.enabled=!1,t.container.removeEventListener("wheel",t.camera.wheelListener),t.camera=null,t.glplot.dispose(),t.container.parentNode.removeChild(t.container),t.glplot=null)},k.getCamera=function(){var t,e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),{up:{x:(t=e.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}}},k.setViewport=function(t){var e,r=this,n=t.camera;r.camera.lookAt.apply(this,[[(e=n).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),r.glplot.setAspectratio(t.aspectratio),"orthographic"===n.projection.type!==r.camera._ortho&&(r.glplot.redraw(),r.glplot.clearRGBA(),r.glplot.dispose(),r.initializeGLPlot())},k.isCameraChanged=function(t){var e=this.getCamera(),r=h.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},k.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=h.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},k.saveLayout=function(t){var e,r,n,i,a,o,s=this,l=s.fullLayout,c=s.isCameraChanged(t),f=s.isAspectChanged(t),p=c||f;if(p){var d={};c&&(e=s.getCamera(),n=(r=h.nestedProperty(t,s.id+".camera")).get(),d[s.id+".camera"]=n),f&&(i=s.glplot.getAspectratio(),o=(a=h.nestedProperty(t,s.id+".aspectratio")).get(),d[s.id+".aspectratio"]=o),u.call("_storeDirectGUIEdit",t,l._preGUI,d),c&&(r.set(e),h.nestedProperty(l,s.id+".camera").set(e)),f&&(a.set(i),h.nestedProperty(l,s.id+".aspectratio").set(i),s.glplot.redraw())}return p},k.updateFx=function(t,e){var r=this,n=r.camera;if(n)if("orbit"===t)n.mode="orbit",n.keyBindingMode="rotate";else if("turntable"===t){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,c=o.up.z;if(c/Math.sqrt(s*s+l*l+c*c)<.999){var f=r.id+".camera.up",p={x:0,y:0,z:1},d={};d[f]=p;var m=i.layout;u.call("_storeDirectGUIEdit",m,a._preGUI,d),o.up=p,h.nestedProperty(m,f).set(p)}}else n.keyBindingMode=t;r.fullSceneLayout.hovermode=e},k.toImage=function(t){var e=this;t||(t="png"),e.staticMode&&e.container.appendChild(n),e.glplot.redraw();var r=e.glplot.gl,i=r.drawingBufferWidth,a=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);r.readPixels(0,0,i,a,r.RGBA,r.UNSIGNED_BYTE,o),function(t,e,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(o,i,a);var s=document.createElement("canvas");s.width=i,s.height=a;var l,c=s.getContext("2d",{willReadFrequently:!0}),u=c.createImageData(i,a);switch(u.data.set(o),c.putImageData(u,0,0),t){case"jpeg":l=s.toDataURL("image/jpeg");break;case"webp":l=s.toDataURL("image/webp");break;default:l=s.toDataURL("image/png")}return e.staticMode&&e.container.removeChild(n),l},k.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[M[t]];p.setConvert(e,this.fullLayout),e.setScale=h.noop}},k.make4thDimension=function(){var t=this,e=t.graphDiv._fullLayout;t._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},p.setConvert(t._mockAxis,e)},t.exports=T},88239:function(t){"use strict";t.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;aOpenStreetMap contributors',tiles:["https://tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-positron":a,"carto-darkmatter":o,"carto-voyager":s,"carto-positron-nolabels":"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json","carto-darkmatter-nolabels":"https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json","carto-voyager-nolabels":"https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json"},c=n(l);t.exports={styleValueDflt:"basic",stylesMap:l,styleValuesMap:c,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",missingStyleErrorMsg:["No valid maplibre style found, please set `map.style` to one of:",c.join(", "),"or use a tile service."].join("\n"),mapOnErrorMsg:"Map error."}},4657:function(t,e,r){"use strict";var n=r(34809);t.exports=function(t,e){var r=t.split(" "),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(i){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(a){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}},34091:function(t,e,r){"use strict";var n=r(34809),i=n.strTranslate,a=n.strScale,o=r(4173).fX,s=r(62972),l=r(45568),c=r(62203),u=r(30635),h=r(38793),f="map";e.name=f,e.attr="subplot",e.idRoot=f,e.idRegex=e.attrRegex=n.counterRegex(f),e.attributes={subplot:{valType:"subplotid",dflt:"map",editType:"calc"}},e.layoutAttributes=r(8257),e.supplyLayoutDefaults=r(97446),e.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[f],a=0;ax/2){var _=m.split("|").join("
");y.text(_).attr("data-unformatted",_).call(u.convertToTspans,t),v=c.bBox(y.node())}y.attr("transform",i(-3,8-v.height)),g.insert("rect",".static-attribution").attr({x:-v.width-6,y:-v.height-3,width:v.width+6,height:v.height+3,fill:"rgba(255, 255, 255, 0.75)"});var b=1;v.width+6>x&&(b=x/(v.width+6));var w=[n.l+n.w*p.x[1],n.t+n.h*(1-p.y[0])];g.attr("transform",i(w[0],w[1])+a(b))}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots[f],n=0;n0){for(var r=0;r0}function u(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity});break;case"raster":n.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=c(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,c(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};return"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates),a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution)),a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapLayerId=function(t){if("traces"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf("event")>-1&&c.click(n,e.originalEvent)}}},_.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(c)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),f(o)||h(o)?(r.dragPan.disable(),r.on("zoomstart",e.clearOutline),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearOutline),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener("touchstart",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function c(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},_.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},_.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;eOpenStreetMap contributors',o=['© Carto',a].join(" "),s=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under ODbL'].join(" "),l={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:a,tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:o,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:o,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:s,tiles:["https://tiles.stadiamaps.com/tiles/stamen_terrain/{z}/{x}/{y}.png?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:s,tiles:["https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}.png?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under CC BY SA'].join(" "),tiles:["https://tiles.stadiamaps.com/tiles/stamen_watercolor/{z}/{x}/{y}.jpg?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"}},c=n(l);t.exports={requiredVersion:i,styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:l,styleValuesNonMapbox:c,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install @plotly/mapbox-gl@"+i+"."].join("\n"),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:"," Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join("\n"),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",c.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join("\n"),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multipleaccess tokens on the same page."].join("\n"),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')'}}},2178:function(t,e,r){"use strict";var n=r(34809);t.exports=function(t,e){var r=t.split(" "),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(i){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(a){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}},68192:function(t,e,r){"use strict";var n=r(32280),i=r(34809),a=i.strTranslate,o=i.strScale,s=r(4173).fX,l=r(62972),c=r(45568),u=r(62203),h=r(30635),f=r(5417),p="mapbox",d=e.constants=r(44245);e.name=p,e.attr="subplot",e.idRoot=p,e.idRegex=e.attrRegex=i.counterRegex(p);var m=["mapbox subplots and traces are deprecated!","Please consider switching to `map` subplots and traces.","Learn more at: https://plotly.com/javascript/maplibre-migration/"].join(" ");e.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},e.layoutAttributes=r(67514),e.supplyLayoutDefaults=r(86989);var g=!0;function y(t){return"string"==typeof t&&(-1!==d.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://")||0===t.indexOf("stamen"))}e.plot=function(t){g&&(g=!1,i.warn(m));var e=t._fullLayout,r=t.calcdata,a=e._subplots[p];if(n.version!==d.requiredVersion)throw new Error(d.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],a=[],o=!1,s=!1,l=0;l1&&i.warn(d.multipleTokensErrorMsg),n[0]):(a.length&&i.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,a);n.accessToken=o;for(var l=0;lw/2){var T=v.split("|").join("
");_.text(T).attr("data-unformatted",T).call(h.convertToTspans,t),b=u.bBox(_.node())}_.attr("transform",a(-3,8-b.height)),x.insert("rect",".static-attribution").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:"rgba(255, 255, 255, 0.75)"});var k=1;b.width+6>w&&(k=w/(b.width+6));var A=[n.l+n.w*f.x[1],n.t+n.h*(1-f.y[0])];x.attr("transform",a(A[0],A[1])+o(k))}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots[p],n=0;n0){for(var r=0;r0}function u(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity});break;case"raster":n.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=c(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,c(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};return"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates),a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution)),a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if("traces"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf("event")>-1&&c.click(n,e.originalEvent)}}},_.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(c)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),f(o)||h(o)?(r.dragPan.disable(),r.on("zoomstart",e.clearOutline),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearOutline),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener("touchstart",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function c(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},_.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},_.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),l=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",(function(){w.sendDataToCloud(t)}));else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?" - ":"")}},w.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit("plotly_beforeexport");var r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=w.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1}};var A=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],M=["year","month","dayMonth","dayMonthYear"];function S(t,e){var r=t._context.locale;r||(r="en-US");var n=!1,i={};function a(t){for(var r=!0,a=0;a1&&O.length>1){for(l.getComponentMethod("grid","sizeDefaults")(c,s),o=0;o15&&O.length>15&&0===s.shapes.length&&0===s.images.length,w.linkSubplots(f,s,u,n),w.cleanPlot(f,s,u,n);var N=!(!n._has||!n._has("gl2d")),j=!(!s._has||!s._has("gl2d")),U=!(!n._has||!n._has("cartesian"))||N,V=!(!s._has||!s._has("cartesian"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(s._shouldCreateBgLayer=!0),n._zoomlayer&&!t._dragging&&m({_fullLayout:n}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i0){var u=1-2*s;n=Math.round(u*n),i=Math.round(u*i)}}var f=w.layoutAttributes.width.min,p=w.layoutAttributes.height.min;n1,m=!e.height&&Math.abs(r.height-i)>1;(m||d)&&(d&&(r.width=n),m&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),w.sanitizeMargins(r)},w.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=l.componentsRegistry,c=e._basePlotModules,u=l.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var f in c.length||c.push(u),e._has("cartesian")&&(l.getComponentMethod("grid","contentDefaults")(t,e),u.finalizeSubplots(t,e)),e._subplots)e._subplots[f].sort(h.subplotSort);for(a=0;a1&&(r.l/=y,r.r/=y)}if(p){var v=(r.t+r.b)/p;v>1&&(r.t/=v,r.b/=v)}var x=void 0!==r.xl?r.xl:r.x,_=void 0!==r.xr?r.xr:r.x,b=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[e]={l:{val:x,size:r.l+g},r:{val:_,size:r.r+g},b:{val:T,size:r.b+g},t:{val:b,size:r.t+g}},m[e]=1}else delete d[e],delete m[e];if(!n._replotting)return w.doAutoMargin(t)}},w.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),P(e);var i=e._size,a=e.margin,s={t:0,b:0,l:0,r:0},c=h.extendFlat({},i),u=a.l,f=a.r,p=a.t,m=a.b,g=e._pushmargin,y=e._pushmarginIds,v=e.minreducedwidth,x=e.minreducedheight;if(!1!==a.autoexpand){for(var _ in g)y[_]||delete g[_];var b=t._fullLayout._reservedMargin;for(var T in b)for(var k in b[T]){var A=b[T][k];s[k]=Math.max(s[k],A)}for(var M in g.base={l:{val:0,size:u},r:{val:1,size:f},t:{val:1,size:p},b:{val:0,size:m}},s){var S=0;for(var E in g)"base"!==E&&o(g[E][M].size)&&(S=g[E][M].size>S?g[E][M].size:S);var C=Math.max(0,a[M]-S);s[M]=Math.max(0,s[M]-C)}for(var L in g){var I=g[L].l||{},z=g[L].b||{},O=I.val,D=I.size,R=z.val,F=z.size,B=r-s.r-s.l,N=n-s.t-s.b;for(var j in g){if(o(D)&&g[j].r){var U=g[j].r.val,V=g[j].r.size;if(U>O){var q=(D*U+(V-B)*O)/(U-O),H=(V*(1-O)+(D-B)*(1-U))/(U-O);q+H>u+f&&(u=q,f=H)}}if(o(F)&&g[j].t){var G=g[j].t.val,Z=g[j].t.size;if(G>R){var W=(F*G+(Z-N)*R)/(G-R),Y=(Z*(1-R)+(F-N)*(1-G))/(G-R);W+Y>m+p&&(m=W,p=Y)}}}}}var X=h.constrain(r-a.l-a.r,2,v),$=h.constrain(n-a.t-a.b,2,x),J=Math.max(0,r-X),K=Math.max(0,n-$);if(J){var Q=(u+f)/J;Q>1&&(u/=Q,f/=Q)}if(K){var tt=(m+p)/K;tt>1&&(m/=tt,p/=tt)}if(i.l=Math.round(u)+s.l,i.r=Math.round(f)+s.r,i.t=Math.round(p)+s.t,i.b=Math.round(m)+s.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&(w.didMarginChange(c,i)||function(t){if("_redrawFromAutoMarginCount"in t._fullLayout)return!1;var e=d.list(t,"",!0);for(var r in e)if(e[r].autoshift||e[r].shift)return!0;return!1}(t))){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var et=3*(1+Object.keys(y).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return l.call("redraw",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit("plotly_transitioninterrupted",[])}));var a=0,o=0;function s(){return a++,function(){var e;o++,n||o!==a||(e=i,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return l.call("redraw",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])})).then(e)))}}r.runFn(s),setTimeout(s())}))}],a=h.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}w.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},w.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&w.supplyDefaults(t);var o=i?t._fullData:t.data,l=i?t._fullLayout:t.layout,c=(t._transitionData||{})._frames;function u(t,e){if("function"==typeof t)return e?"_function_":null;if(h.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===["_","["].indexOf(a.charAt(0)))if("function"!=typeof t[a]){if("keepdata"===r){if("src"===a.substr(a.length-3))return}else if("keepstream"===r){if("string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0&&!h.isPlainObject(t.stream))return}else if("keepall"!==r&&"string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0)return;i[a]=u(t[a],e)}else e&&(i[a]="_function")})),i}var a=Array.isArray(t),o=h.isTypedArray(t);if((a||o)&&t.dtype&&t.shape){var l=t.bdata;return u({dtype:t.dtype,shape:t.shape,bdata:h.isArrayBuffer(l)?s.encode(l):l},e)}return a?t.map((function(t){return u(t,e)})):o?h.simpleMap(t,h.identity):h.isJSDate(t)?h.ms2DateTimeLocal(+t):t}var f={data:(o||[]).map((function(t){var r=u(t);return e&&delete r.fit,r}))};if(!e&&(f.layout=u(l),i)){var p=l._size;f.layout.computed={margin:{b:p.b,l:p.l,r:p.r,t:p.t}}}return c&&(f.frames=u(c)),a&&(f.config=u(t._context,!0)),"object"===n?f:JSON.stringify(f)},w.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;a--)if(l[a].enabled){r._indexToPoints=l[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:p,y:p}]),o[0].t||(o[0].t={}),o[0].trace=r,f[e]=o}}for(R(o,s,u),i=0;i1e-10?t:0}function f(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:c,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),c=(-o+l)/(2*a),u=(-o-l)/(2*a);return[[c,e*c+i+n],[u,e*u+i+n]]},clampTiny:h,pathPolygon:function(t,e,r,n,i,a){return"M"+f(u(t,e,r,n),i,a).join("L")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t=90||i>90&&a>=450?1:s<=0&&c<=0?0:Math.max(s,c),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&c>=0?0:Math.min(s,c),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),e]}(d),b=_[2]-_[0],w=_[3]-_[1],T=p/f,k=Math.abs(w/b);T>k?(m=f,x=(p-(g=f*k))/i.h/2,y=[s[0],s[1]],v=[h[0]+x,h[1]-x]):(g=p,x=(f-(m=p/k))/i.w/2,y=[s[0]+x,s[1]-x],v=[h[0],h[1]]),r.xLength2=m,r.yLength2=g,r.xDomain2=y,r.yDomain2=v;var A,M=r.xOffset2=i.l+i.w*y[0],S=r.yOffset2=i.t+i.h*(1-v[1]),E=r.radius=m/b,C=r.innerRadius=r.getHole(e)*E,L=r.cx=M-E*_[0],I=r.cy=S+E*_[3],P=r.cxx=L-M,z=r.cyy=I-S,O=a.side;"counterclockwise"===O?(A=O,O="top"):"clockwise"===O&&(A=O,O="bottom"),r.radialAxis=r.mockAxis(t,e,a,{_id:"x",side:O,_trueSide:A,domain:[C/i.w,E/i.w]}),r.angularAxis=r.mockAxis(t,e,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(t,e),r.updateAngularAxis(t,e),r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.xaxis=r.mockCartesianAxis(t,e,{_id:"x",domain:y}),r.yaxis=r.mockCartesianAxis(t,e,{_id:"y",domain:v});var F=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",F).attr("transform",l(P,z)),n.frontplot.attr("transform",l(M,S)).call(u.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",F).attr("transform",l(L,I)).call(c.fill,e.bgcolor)},N.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},N.mockCartesianAxis=function(t,e,r){var n=this,i=n.isSmith,a=r._id,s=o.extendFlat({type:"linear"},r);p(s,t);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var t=n.sectorBBox,r=l[a],i=n.radialAxis._rl,o=(i[1]-i[0])/(1-n.getHole(e));s.range=[t[r[0]]*o,t[r[1]]*o]},s.isPtWithinRange="x"!==a||i?function(){return!0}:function(t){return n.isPtInside(t)},s.setRange(),s.setScale(),s},N.doAutoRange=function(t,e){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(e);m(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")],void 0!==i.minallowed){var s=i.r2l(i.minallowed);i._rl[0]>i._rl[1]?i._rl[1]=Math.max(i._rl[1],s):i._rl[0]=Math.max(i._rl[0],s)}if(void 0!==i.maxallowed){var l=i.r2l(i.maxallowed);i._rl[0]90&&m<=270&&(g.tickangle=180);var x=v?function(t){var e=z(r,L([t.x,0]));return l(e[0]-h,e[1]-p)}:function(t){return l(g.l2p(t.x)+u,0)},_=v?function(t){return P(r,t.x,-1/0,1/0)}:function(t){return r.pathArc(g.r2p(t.x)+u)},b=j(d);if(r.radialTickLayout!==b&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=b),y){g.setScale();var w=0,T=v?(g.tickvals||[]).filter((function(t){return t>=0})).map((function(t){return f.tickText(g,t,!0,!1)})):f.calcTicks(g),k=v?T:f.clipEnds(g,T),A=f.getTickSigns(g)[2];v&&(("top"===g.ticks&&"bottom"===g.side||"bottom"===g.ticks&&"top"===g.side)&&(A=-A),"top"===g.ticks&&"top"===g.side&&(w=-g.ticklen),"bottom"===g.ticks&&"bottom"===g.side&&(w=g.ticklen)),f.drawTicks(n,g,{vals:T,layer:i["radial-axis"],path:f.makeTickPath(g,0,A),transFn:x,crisp:!1}),f.drawGrid(n,g,{vals:k,layer:i["radial-grid"],path:_,transFn:o.noop,crisp:!1}),f.drawLabels(n,g,{vals:T,layer:i["radial-axis"],transFn:x,labelFns:f.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?F(U(R(d.angle),r.vangles)):d.angle,S=l(h,p),E=S+s(-M);V(i["radial-axis"],y&&(d.showticklabels||d.ticks),{transform:E}),V(i["radial-grid"],y&&d.showgrid,{transform:v?"":S}),V(i["radial-line"].select("line"),y&&d.showline,{x1:v?-a:u,y1:0,x2:a,y2:0,transform:E}).attr("stroke-width",d.linewidth).call(c.stroke,d.linecolor)},N.updateRadialAxisTitle=function(t,e,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(e),c=n.id+"title",h=0;if(l.title){var f=u.bBox(n.layers["radial-axis"].node()).height,p=l.title.font.size,d=l.side;h="top"===d?p:"counterclockwise"===d?-(f+.4*p):f+.8*p}var m=void 0!==r?r:n.radialAxisAngle,g=R(m),y=Math.cos(g),v=Math.sin(g),_=o+a/2*y+h*v,b=s-a/2*v+h*y;n.layers["radial-axis-title"]=x.draw(i,c,{propContainer:l,propName:n.id+".radialaxis.title",placeholder:O(i,"Click to enter radial axis title"),attributes:{x:_,y:b,"text-anchor":"middle"},transform:{rotate:-m}})}},N.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,u=r.innerRadius,h=r.cx,p=r.cy,d=r.getAngular(e),m=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey("angularaxis.rotation",d.rotation),m.setGeometry(),m.setScale());var y=g?function(t){var e=z(r,L([0,t.x]));return Math.atan2(e[0]-h,e[1]-p)-Math.PI/2}:function(t){return m.t2g(t.x)};"linear"===m.type&&"radians"===m.thetaunit&&(m.tick0=F(m.tick0),m.dtick=F(m.dtick));var v=function(t){return l(h+a*Math.cos(t),p-a*Math.sin(t))},x=g?function(t){var e=z(r,L([0,t.x]));return l(e[0],e[1])}:function(t){return v(y(t))},_=g?function(t){var e=z(r,L([0,t.x])),n=Math.atan2(e[0]-h,e[1]-p)-Math.PI/2;return l(e[0],e[1])+s(-F(n))}:function(t){var e=y(t);return v(e)+s(-F(e))},b=g?function(t){return I(r,t.x,0,1/0)}:function(t){var e=y(t),r=Math.cos(e),n=Math.sin(e);return"M"+[h+u*r,p-u*n]+"L"+[h+a*r,p-a*n]},w=f.makeLabelFns(m,0).labelStandoff,T={xFn:function(t){var e=y(t);return Math.cos(e)*w},yFn:function(t){var e=y(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(w+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*M)},anchorFn:function(t){var e=y(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=y(t);return-.5*(1+Math.sin(n))*r}},k=j(d);r.angularTickLayout!==k&&(i["angular-axis"].selectAll("."+m._id+"tick").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(m.tickvals||[]).map((function(t){return f.tickText(m,t,!0,!1)})):f.calcTicks(m);if(g&&(S[0].text="∞",S[0].fontSize*=1.75),"linear"===e.gridshape?(A=S.map(y),o.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,"category"===m.type&&(S=S.filter((function(t){return o.isAngleInsideSector(y(t),r.sectorInRad)}))),m.visible){var E="inside"===m.ticks?-1:1,C=(m.linewidth||1)/2;f.drawTicks(n,m,{vals:S,layer:i["angular-axis"],path:"M"+E*C+",0h"+E*m.ticklen,transFn:_,crisp:!1}),f.drawGrid(n,m,{vals:S,layer:i["angular-grid"],path:b,transFn:o.noop,crisp:!1}),f.drawLabels(n,m,{vals:S,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:x,labelFns:T})}V(i["angular-line"].select("path"),d.showline,{d:r.pathSubplot(),transform:l(h,p)}).attr("stroke-width",d.linewidth).call(c.stroke,d.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1)),this.updateHoverAndMainDrag(t))},N.updateHoverAndMainDrag=function(t){var e,r,s=this,c=s.isSmith,u=s.gd,h=s.layers,f=t._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,m=s.radius,x=s.innerRadius,T=s.cx,k=s.cy,A=s.cxx,M=s.cyy,C=s.sectorInRad,L=s.vangles,I=s.radialAxis,P=E.clampTiny,z=E.findXYatLength,O=E.findEnclosingVertexAngles,D=S.cornerHalfWidth,R=S.cornerLen/2,F=g.makeDragger(h,"path","maindrag",!1===t.dragmode?"none":"crosshair");n.select(F).attr("d",s.pathSubplot()).attr("transform",l(T,k)),F.onmousemove=function(t){v.hover(u,t,s.id),u._fullLayout._lasthover=F,u._fullLayout._hoversubplot=s.id},F.onmouseout=function(t){u._dragging||y.unhover(u,t)};var B,N,j,U,V,q,H,G,Z,W={element:F,gd:u,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function Y(t,e){return Math.sqrt(t*t+e*e)}function X(t,e){return Y(t-A,e-M)}function $(t,e){return Math.atan2(M-e,t-A)}function J(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function K(t,e){if(0===t)return s.pathSector(2*D);var r=R/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,m)),o=a-D,l=a+D;return"M"+J(o,n)+"A"+[o,o]+" 0,0,0 "+J(o,i)+"L"+J(l,i)+"A"+[l,l]+" 0,0,1 "+J(l,n)+"Z"}function Q(t,e,r){if(0===t)return s.pathSector(2*D);var n,i,a=J(t,e),o=J(t,r),l=P((a[0]+o[0])/2),c=P((a[1]+o[1])/2);if(l&&c){var u=c/l,h=-1/u,f=z(D,u,l,c);n=z(R,h,f[0][0],f[0][1]),i=z(R,h,f[1][0],f[1][1])}else{var p,d;c?(p=R,d=D):(p=D,d=R),n=[[l-p,c-d],[l+p,c-d]],i=[[l-p,c+d],[l+p,c+d]]}return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function tt(t,e){return e=Math.max(Math.min(e,m),x),tp?(t-1&&1===t&&b(e,u,[s.xaxis],[s.yaxis],s.id,W),r.indexOf("event")>-1&&v.click(u,e,s.id)}W.prepFn=function(t,n,a){var l=u._fullLayout.dragmode,h=F.getBoundingClientRect();u._fullLayout._calcInverseTransform(u);var p=u._fullLayout._invTransform;e=u._fullLayout._invScaleX,r=u._fullLayout._invScaleY;var d=o.apply3DTransform(p)(n-h.left,a-h.top);if(B=d[0],N=d[1],L){var y=E.findPolygonOffset(m,C[0],C[1],L);B+=A+y[0],N+=M+y[1]}switch(l){case"zoom":W.clickFn=st,c||(W.moveFn=L?it:rt,W.doneFn=at,function(){j=null,U=null,V=s.pathSubplot(),q=!1;var t=u._fullLayout[s.id];H=i(t.bgcolor).getLuminance(),(G=g.makeZoombox(f,H,T,k,V)).attr("fill-rule","evenodd"),Z=g.makeCorners(f,T,k),w(u)}());break;case"select":case"lasso":_(t,n,a,W,l)}},y.init(W)},N.updateRadialDrag=function(t,e,r){var i=this,c=i.gd,u=i.layers,h=i.radius,f=i.innerRadius,p=i.cx,d=i.cy,m=i.radialAxis,v=S.radialDragBoxSize,x=v/2;if(m.visible){var _,b,T,M=R(i.radialAxisAngle),E=m._rl,C=E[0],L=E[1],I=E[r],P=.75*(E[1]-E[0])/(1-i.getHole(e))/h;r?(_=p+(h+x)*Math.cos(M),b=d-(h+x)*Math.sin(M),T="radialdrag"):(_=p+(f-x)*Math.cos(M),b=d-(f-x)*Math.sin(M),T="radialdrag-inner");var z,O,D,B=g.makeRectDragger(u,T,"crosshair",-x,-x,v,v),N={element:B,gd:c};!1===t.dragmode&&(N.dragmode=!1),V(n.select(B),m.visible&&f0==(r?D>C:Dn?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,r){var n,i,a=e[r],o=e._length,s=function(r){return t.d2c(r,e.thetaunit)};if(a)for(n=new Array(o),i=0;i0?1:0}function r(t){var e=t[0],r=t[1];if(!isFinite(e)||!isFinite(r))return[1,0];var n=(e+1)*(e+1)+r*r;return[(e*e+r*r-1)/n,2*r/n]}function n(t,e){var r=e[0],n=e[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function i(t,e){return e*t.radius}t.exports={smith:r,reactanceArc:function(t,e,a,o){var s=n(t,r([a,e])),l=s[0],c=s[1],u=n(t,r([o,e])),h=u[0],f=u[1];if(0===e)return["M"+l+","+c,"L"+h+","+f].join(" ");var p=i(t,1/Math.abs(e));return["M"+l+","+c,"A"+p+","+p+" 0 0,"+(e<0?1:0)+" "+h+","+f].join(" ")},resistanceArc:function(t,a,o,s){var l=i(t,1/(a+1)),c=n(t,r([a,o])),u=c[0],h=c[1],f=n(t,r([a,s])),p=f[0],d=f[1];if(e(o)!==e(s)){var m=n(t,r([a,0]));return["M"+u+","+h,"A"+l+","+l+" 0 0,"+(00){for(var n=[],i=0;i=u&&(f.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function m(t,e,r,n){var i=f[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o("uirevision",n.uirevision),e.type="linear";var p=o("color"),d=p!==i.color.dflt?p:r.font.color,m=e._name.charAt(0).toUpperCase(),g="Component "+m,y=o("title.text",g);e._hovertitle=y===g?y:m,a.coerceFont(o,"title.font",r.font,{overrideDflt:{size:a.bigFont(r.font.size),color:d}}),o("min"),u(t,e,o,"linear"),l(t,e,o,"linear"),s(t,e,o,"linear",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),c(t,e,o,{outerTicks:!0}),o("showticklabels")&&(a.coerceFont(o,"tickfont",r.font,{overrideDflt:{color:d}}),o("tickangle"),o("tickformat")),h(t,e,o,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o("hoverformat"),o("layer")}t.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:f,handleDefaults:d,font:e.font,paper_bgcolor:e.paper_bgcolor})}},83637:function(t,e,r){"use strict";var n=r(45568),i=r(65657),a=r(33626),o=r(34809),s=o.strTranslate,l=o._,c=r(78766),u=r(62203),h=r(19091),f=r(93049).extendFlat,p=r(44122),d=r(29714),m=r(14751),g=r(32141),y=r(70414),v=y.freeMode,x=y.rectMode,_=r(17240),b=r(44844).prepSelect,w=r(44844).selectOnClick,T=r(44844).clearOutline,k=r(44844).clearSelectionsCache,A=r(54826);function M(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.updateFx(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}t.exports=M;var S=M.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=this,n=e[r.id],i=e._size;r._hasClipOnAxisFalse=!1;for(var a=0;aE*_?i=(a=_)*E:a=(i=x)/E,o=y*i/x,l=v*a/_,r=e.l+e.w*m-i/2,n=e.t+e.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=b,p.xaxis={type:"linear",range:[w+2*k-b,b-w-2*T],domain:[m-o/2,m+o/2],_id:"x"},h(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:"linear",range:[w,b-T-k],domain:[g-l/2,g+l/2],_id:"y"},h(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=f({},t.aaxis,{range:[w,b-T-k],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});h(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=f({},t.baxis,{range:[b-w-k,T],side:"bottom",domain:p.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});h(S,p.graphDiv._fullLayout),S.setScale();var C=p.caxis=f({},t.caxis,{range:[b-w-T,k],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});h(C,p.graphDiv._fullLayout),C.setScale();var L="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDef.select("path").attr("d",L),p.layers.plotbg.select("path").attr("d",L);var I="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDefRelative.select("path").attr("d",I);var P=s(r,n);p.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),p.clipDefRelative.select("path").attr("transform",null);var z=s(r-S._offset,n+a);p.layers.baxis.attr("transform",z),p.layers.bgrid.attr("transform",z);var O=s(r+i/2,n)+"rotate(30)"+s(0,-M._offset);p.layers.aaxis.attr("transform",O),p.layers.agrid.attr("transform",O);var D=s(r+i/2,n)+"rotate(-30)"+s(0,-C._offset);p.layers.caxis.attr("transform",D),p.layers.cgrid.attr("transform",D),p.drawAxes(!0),p.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(c.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),p.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(c.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),p.layers.cline.select("path").attr("d",C.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(c.stroke,C.linecolor||"#000").style("stroke-width",(C.linewidth||0)+"px"),p.graphDiv._context.staticPlot||p.initInteractions(),u.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+"title",i=e.layers,a=e.aaxis,o=e.baxis,s=e.caxis;if(e.drawAx(a),e.drawAx(o),e.drawAx(s),t){var c=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?.75*s.tickfont.size:0)+("outside"===s.ticks?.87*s.ticklen:0)),u=(o.showticklabels?o.tickfont.size:0)+("outside"===o.ticks?o.ticklen:0)+3;i["a-title"]=_.draw(r,"a"+n,{propContainer:a,propName:e.id+".aaxis.title",placeholder:l(r,"Click to enter Component A title"),attributes:{x:e.x0+e.w/2,y:e.y0-a.title.font.size/3-c,"text-anchor":"middle"}}),i["b-title"]=_.draw(r,"b"+n,{propContainer:o,propName:e.id+".baxis.title",placeholder:l(r,"Click to enter Component B title"),attributes:{x:e.x0-u,y:e.y0+e.h+.83*o.title.font.size+u,"text-anchor":"middle"}}),i["c-title"]=_.draw(r,"c"+n,{propContainer:s,propName:e.id+".caxis.title",placeholder:l(r,"Click to enter Component C title"),attributes:{x:e.x0+e.w+u,y:e.y0+e.h+.83*s.title.font.size+u,"text-anchor":"middle"}})}},S.drawAx=function(t){var e,r=this,n=r.graphDiv,i=t._name,a=i.charAt(0),s=t._id,l=r.layers[i],c=a+"tickLayout",u=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);r[c]!==u&&(l.selectAll("."+s+"tick").remove(),r[c]=u),t.setScale();var h=d.calcTicks(t),f=d.clipEnds(t,h),p=d.makeTransTickFn(t),m=d.getTickSigns(t)[2],g=o.deg2rad(30),y=m*(t.linewidth||1)/2,v=m*t.ticklen,x=r.w,_=r.h,b="b"===a?"M0,"+y+"l"+Math.sin(g)*v+","+Math.cos(g)*v:"M"+y+",0l"+Math.cos(g)*v+","+-Math.sin(g)*v,w={a:"M0,0l"+_+",-"+x/2,b:"M0,0l-"+x/2+",-"+_,c:"M0,0l-"+_+","+x/2}[a];d.drawTicks(n,t,{vals:"inside"===t.ticks?f:h,layer:l,path:b,transFn:p,crisp:!1}),d.drawGrid(n,t,{vals:f,layer:r.layers[a+"grid"],path:w,transFn:p,crisp:!1}),d.drawLabels(n,t,{vals:h,layer:l,transFn:p,labelFns:d.makeLabelFns(t,0,30)})};var C=A.MINZOOM/2+.87,L="m-0.87,.5h"+C+"v3h-"+(C+5.2)+"l"+(C/2+2.6)+",-"+(.87*C+4.5)+"l2.6,1.5l-"+C/2+","+.87*C+"Z",I="m0.87,.5h-"+C+"v3h"+(C+5.2)+"l-"+(C/2+2.6)+",-"+(.87*C+4.5)+"l-2.6,1.5l"+C/2+","+.87*C+"Z",P="m0,1l"+C/2+","+.87*C+"l2.6,-1.5l-"+(C/2+2.6)+",-"+(.87*C+4.5)+"l-"+(C/2+2.6)+","+(.87*C+4.5)+"l2.6,1.5l"+C/2+",-"+.87*C+"Z",z=!0;function O(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}S.clearOutline=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,h,f,p,d,y,_,T,k,M=this,S=M.layers.plotbg.select("path").node(),C=M.graphDiv,D=C._fullLayout._zoomlayer;function R(t){var e={};return e[M.id+".aaxis.min"]=t.a,e[M.id+".baxis.min"]=t.b,e[M.id+".caxis.min"]=t.c,e}function F(t,e){var r=C._fullLayout.clickmode;O(C),2===t&&(C.emit("plotly_doubleclick",null),a.call("_guiRelayout",C,R({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&w(e,C,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf("event")>-1&&g.click(C,e,M.id)}function B(t,e){return 1-e/M.h}function N(t,e){return 1-(t+(M.h-e)/Math.sqrt(3))/M.w}function j(t,e){return(t-(M.h-e)/Math.sqrt(3))/M.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),c=Math.max(0,Math.min(1,N(r,n),N(o,s))),u=Math.max(0,Math.min(1,j(r,n),j(o,s))),m=(l/2+u)*M.w,g=(1-l/2-c)*M.w,v=(m+g)/2,x=g-m,b=(1-l)*M.h,w=b-x/E;x.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),k.transition().style("opacity",1).duration(200),_=!0),C.emit("plotly_relayouting",R(p))}function V(){O(C),p!==h&&(a.call("_guiRelayout",C,R(p)),z&&C.data&&C._context.showTips&&(o.notifier(l(C,"Double-click to zoom back out"),"long"),z=!1))}function q(t,e){var r=t/M.xaxis._m,n=e/M.yaxis._m,i=[(p={a:h.a-n,b:h.b+(r+n)/2,c:h.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),c=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[c]},e=(h.a-p.a)*M.yaxis._m,t=(h.c-p.c-h.b+p.b)*M.xaxis._m);var f=s(M.x0+t,M.y0+e);M.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",f);var d=s(-t,-e);M.clipDefRelative.select("path").attr("transform",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(".scatterlayer").selectAll(".trace").call(u.hideOutsideRangePoints,M),C.emit("plotly_relayouting",R(p))}function H(){a.call("_guiRelayout",C,R(p))}this.dragOptions={element:S,gd:C,plotinfo:{id:M.id,domain:C._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(a,l,u){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],t=C._fullLayout._invScaleX,e=C._fullLayout._invScaleY;var m=M.dragOptions.dragmode=C._fullLayout.dragmode;v(m)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,"zoom"===m?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,C._fullLayout._calcInverseTransform(C);var u=C._fullLayout._invTransform,m=o.apply3DTransform(u)(r,n);r=m[0],n=m[1],h={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=h,f=M.aaxis.range[1]-h.a,d=i(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),y="M0,"+M.h+"L"+M.w/2+", 0L"+M.w+","+M.h+"Z",_=!1,T=D.append("path").attr("class","zoombox").attr("transform",s(M.x0,M.y0)).style({fill:d>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",y),k=D.append("path").attr("class","zoombox-corners").attr("transform",s(M.x0,M.y0)).style({fill:c.background,stroke:c.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),M.clearOutline(C)}(0,l,u)):"pan"===m?(M.dragOptions.moveFn=q,M.dragOptions.clickFn=F,M.dragOptions.doneFn=H,h={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=h,M.clearOutline(C)):(x(m)||v(m))&&b(a,l,u,M.dragOptions,m)}},S.onmousemove=function(t){g.hover(C,t,M.id),C._fullLayout._lasthover=S,C._fullLayout._hoversubplot=M.id},S.onmouseout=function(t){C._dragging||m.unhover(C,t)},m.init(this.dragOptions)}},33626:function(t,e,r){"use strict";var n=r(48636),i=r(4969),a=r(36539),o=r(56174),s=r(95425).addStyleRule,l=r(93049),c=r(9829),u=r(6704),h=l.extendFlat,f=l.extendDeepAll;function p(t){var i=t.name,a=t.categories,o=t.meta;if(e.modules[i])n.log("Type "+i+" already registered");else{e.subplotsRegistry[t.basePlotModule.name]||function(t){var r=t.name;if(e.subplotsRegistry[r])n.log("Plot type "+r+" already registered.");else for(var i in y(t),e.subplotsRegistry[r]=t,e.componentsRegistry)_(i,t.name)}(t.basePlotModule);for(var l={},c=0;c-1&&(h[p[r]].title={text:""});for(r=0;r")?"":e.html(t).text()}));return e.remove(),r}(w)).replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(u,"'"),i.isIE()&&(w=(w=(w=w.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),w}},35374:function(t,e,r){"use strict";var n=r(34809);t.exports=function(t,e){for(var r=0;rh+c||!n(u))}for(var p=0;p=0)return t}else if("string"==typeof t&&"%"===(t=t.trim()).slice(-1)&&n(t.slice(0,-1))&&(t=+t.slice(0,-1))>=0)return t+"%"}function d(t,e,r,n,a,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),c=!(!1===o.moduleHasConstrain),u=!(!1===o.moduleHasCliponaxis),h=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=!!o.hasPathbar,m=Array.isArray(a)||"auto"===a,g=m||"inside"===a,y=m||"outside"===a;if(g||y){var v=f(n,"textfont",r.font),x=i.extendFlat({},v),_=!(t.textfont&&t.textfont.color);if(_&&delete x.color,f(n,"insidetextfont",x),d){var b=i.extendFlat({},v);_&&delete b.color,f(n,"pathbar.textfont",b)}y&&f(n,"outsidetextfont",v),s&&n("selected.textfont.color"),l&&n("unselected.textfont.color"),c&&n("constraintext"),u&&n("cliponaxis"),h&&n("textangle"),n("texttemplate")}g&&p&&n("insidetextanchor")}t.exports={supplyDefaults:function(t,e,r,n){function u(r,n){return i.coerce(t,e,h,r,n)}if(s(t,e,n,u)){l(t,e,n,u),u("xhoverformat"),u("yhoverformat"),u("zorder"),u("orientation",e.x&&!e.y?"h":"v"),u("base"),u("offset"),u("width"),u("text"),u("hovertext"),u("hovertemplate");var f=u("textposition");d(t,0,n,u,f,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),c(t,e,u,r,n);var p=(e.marker.line||{}).color,m=o.getComponentMethod("errorbars","supplyDefaults");m(t,e,p||a.defaultLine,{axis:"y"}),m(t,e,p||a.defaultLine,{axis:"x",inherit:"y"}),i.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1},crossTraceDefaults:function(t,e){var r,n;function a(t,e){return i.coerce(n._input,n,h,t,e)}for(var o=0;oa))return e}return void 0!==r?r:t.dflt},e.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},e.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},e.getValue=function(t,e){var r;return a(t)?e0?e+=r:u<0&&(e-=r)}return e}function O(t){var e=u,r=t.b,i=z(t);return n.inbox(r-e,i-e,b+(i-e)/(i-r)-1)}var D=t[h+"a"],R=t[f+"a"];m=Math.abs(D.r2c(D.range[1])-D.r2c(D.range[0]));var F=n.getDistanceFunction(i,p,d,(function(t){return(p(t)+d(t))/2}));if(n.getClosest(g,F,t),!1!==t.index&&g[t.index].p!==c){k||(C=function(t){return Math.min(A(t),t.p-v.bargroupwidth/2)},L=function(t){return Math.max(M(t),t.p+v.bargroupwidth/2)});var B=g[t.index],N=y.base?B.b+B.s:B.s;t[f+"0"]=t[f+"1"]=R.c2p(B[f],!0),t[f+"LabelVal"]=N;var j=v.extents[v.extents.round(B.p)];t[h+"0"]=D.c2p(x?C(B):j[0],!0),t[h+"1"]=D.c2p(x?L(B):j[1],!0);var U=void 0!==B.orig_p;return t[h+"LabelVal"]=U?B.orig_p:B.p,t.labelLabel=l(D,t[h+"LabelVal"],y[h+"hoverformat"]),t.valueLabel=l(R,t[f+"LabelVal"],y[f+"hoverformat"]),t.baseLabel=l(R,B.b,y[f+"hoverformat"]),t.spikeDistance=(function(t){var e=u,r=t.b,i=z(t);return n.inbox(r-e,i-e,w+(i-e)/(i-r)-1)}(B)+function(t){return I(A(t),M(t),w)}(B))/2,t[h+"Spike"]=D.c2p(B.p,!0),o(B,y,t),t.hovertemplate=y.hovertemplate,t}}function h(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}t.exports={hoverPoints:function(t,e,r,n,a){var o=u(t,e,r,n,a);if(o){var s=o.cd,l=s[0].trace,c=s[o.index];return o.color=h(l,c),i.getComponentMethod("errorbars","hoverInfo")(c,l,o),[o]}},hoverOnBars:u,getTraceColor:h}},58218:function(t,e,r){"use strict";t.exports={attributes:r(81481),layoutAttributes:r(25412),supplyDefaults:r(17550).supplyDefaults,crossTraceDefaults:r(17550).crossTraceDefaults,supplyLayoutDefaults:r(78931),calc:r(67565),crossTraceCalc:r(24782).crossTraceCalc,colorbar:r(21146),arraysToCalcdata:r(35374),plot:r(32995).plot,style:r(6851).style,styleOnSelect:r(6851).styleOnSelect,hoverPoints:r(91664).hoverPoints,eventData:r(59541),selectPoints:r(88384),moduleType:"trace",name:"bar",basePlotModule:r(37703),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},25412:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},barcornerradius:{valType:"any",editType:"calc"}}},78931:function(t,e,r){"use strict";var n=r(33626),i=r(29714),a=r(34809),o=r(25412),s=r(17550).validateCornerradius;t.exports=function(t,e,r){function l(r,n){return a.coerce(t,e,o,r,n)}for(var c=!1,u=!1,h=!1,f={},p=l("barmode"),d=0;d0)-(t<0)}function A(t,e){return t0}function E(t,e,r,n,i){return!(t<0||e<0)&&(r<=t&&n<=e||r<=e&&n<=t||(i?t>=r*(e/n):e>=n*(t/r)))}function C(t){return"auto"===t?0:t}function L(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function I(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,c=a.anchor,u="end"===c,h="start"===c,f=((a.leftToRight||0)+1)/2,p=1-f,d=a.hasB,m=a.r,g=a.overhead,y=i.width,v=i.height,x=Math.abs(e-t),_=Math.abs(n-r),w=x>2*b&&_>2*b?b:0;x-=2*w,_-=2*w;var T=C(l);"auto"!==l||y<=x&&v<=_||!(y>x||v>_)||(y>_||v>x)&&yb){var E=function(t,e,r,n,i,a,o,s,l){var c,u,h,f,p=Math.max(0,Math.abs(e-t)-2*b),d=Math.max(0,Math.abs(n-r)-2*b),m=a-b,g=o?m-Math.sqrt(m*m-(m-o)*(m-o)):m,y=l?2*m:s?m-o:2*g,v=l?2*m:s?2*g:m-o;return i.y/i.x>=d/(p-y)?f=d/i.y:i.y/i.x<=(d-v)/p?f=p/i.x:!l&&s?(c=i.x*i.x+i.y*i.y/4,h=(p-m)*(p-m)+(d/2-m)*(d/2-m)-m*m,f=(-(u=-2*i.x*(p-m)-i.y*(d/2-m))+Math.sqrt(u*u-4*c*h))/(2*c)):l?(c=(i.x*i.x+i.y*i.y)/4,h=(p/2-m)*(p/2-m)+(d/2-m)*(d/2-m)-m*m,f=(-(u=-i.x*(p/2-m)-i.y*(d/2-m))+Math.sqrt(u*u-4*c*h))/(2*c)):(c=i.x*i.x/4+i.y*i.y,h=(p/2-m)*(p/2-m)+(d-m)*(d-m)-m*m,f=(-(u=-i.x*(p/2-m)-2*i.y*(d-m))+Math.sqrt(u*u-4*c*h))/(2*c)),{scale:f=Math.min(1,f),pad:s?Math.max(0,m-Math.sqrt(Math.max(0,m*m-(m-(d-i.y*f)/2)*(m-(d-i.y*f)/2)))-o):Math.max(0,m-Math.sqrt(Math.max(0,m*m-(m-(p-i.x*f)/2)*(m-(p-i.x*f)/2)))-o)}}(t,e,r,n,S,m,g,o,d);k=E.scale,M=E.pad}else k=1,s&&(k=Math.min(1,x/S.x,_/S.y)),M=0;var I=i.left*p+i.right*f,P=(i.top+i.bottom)/2,z=(t+b)*p+(e-b)*f,O=(r+n)/2,D=0,R=0;if(h||u){var F=(o?S.x:S.y)/2;m&&(u||d)&&(w+=M);var B=o?A(t,e):A(r,n);o?h?(z=t+B*w,D=-B*F):(z=e-B*w,D=B*F):h?(O=r+B*w,R=-B*F):(O=n-B*w,R=B*F)}return{textX:I,textY:P,targetX:z,targetY:O,anchorX:D,anchorY:R,scale:k,rotate:T}}t.exports={plot:function(t,e,r,h,g,y){var w=e.xaxis,P=e.yaxis,z=t._fullLayout,O=t._context.staticPlot;g||(g={mode:z.barmode,norm:z.barmode,gap:z.bargap,groupgap:z.bargroupgap},p("bar",z));var D=a.makeTraceGroups(h,r,"trace bars").each((function(r){var c=n.select(this),h=r[0].trace,p=r[0].t,D="waterfall"===h.type,R="funnel"===h.type,F="histogram"===h.type,B="bar"===h.type,N=B||R,j=0;D&&h.connector.visible&&"between"===h.connector.mode&&(j=h.connector.line.width/2);var U="h"===h.orientation,V=S(g),q=a.ensureSingle(c,"g","points"),H=T(h),G=q.selectAll("g.point").data(a.identity,H);G.enter().append("g").classed("point",!0),G.exit().remove(),G.each((function(c,T){var S,D,R=n.select(this),q=function(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),n?[i,a]:[a,i]}(c,w,P,U),H=q[0][0],G=q[0][1],Z=q[1][0],W=q[1][1],Y=0==(U?G-H:W-Z);if(Y&&N&&m.getLineWidth(h,c)&&(Y=!1),Y||(Y=!(i(H)&&i(G)&&i(Z)&&i(W))),c.isBlank=Y,Y&&(U?G=H:W=Z),j&&!Y&&(U?(H-=A(H,G)*j,G+=A(H,G)*j):(Z-=A(Z,W)*j,W+=A(Z,W)*j)),"waterfall"===h.type){if(!Y){var X=h[c.dir].marker;S=X.line.width,D=X.color}}else S=m.getLineWidth(h,c),D=c.mc||h.marker.color;function $(t){var e=n.round(S/2%1,2);return 0===g.gap&&0===g.groupgap?n.round(Math.round(t)-e,2):t}var J=s.opacity(D)<1||S>.01?$:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?$(t):t>e?Math.ceil(t):Math.floor(t)};t._context.staticPlot||(H=J(H,G,U),G=J(G,H,U),Z=J(Z,W,!U),W=J(W,Z,!U));var K,Q=U?w.c2p:P.c2p;K=c.s0>0?c._sMax:c.s0<0?c._sMin:c.s1>0?c._sMax:c._sMin;var tt,et,rt=B||F?function(t,e){if(!t)return 0;var r,n=U?Math.abs(W-Z):Math.abs(G-H),i=U?Math.abs(G-H):Math.abs(W-Z),a=J(Math.abs(Q(K,!0)-Q(0,!0))),o=c.hasB?Math.min(n/2,i/2):Math.min(n/2,a);return r="%"===e?n*(Math.min(50,t)/100):t,J(Math.max(Math.min(r,o),0))}(p.cornerradiusvalue,p.cornerradiusform):0,nt="M"+H+","+Z+"V"+W+"H"+G+"V"+Z+"Z",it=0;if(rt&&c.s){var at=0===k(c.s0)||k(c.s)===k(c.s0)?c.s1:c.s0;if((it=J(c.hasB?0:Math.abs(Q(K,!0)-Q(at,!0))))0?Math.sqrt(it*(2*rt-it)):0,ht=ot>0?Math.max:Math.min;tt="M"+H+","+Z+"V"+(W-ct*st)+"H"+ht(G-(rt-it)*ot,H)+"A "+rt+","+rt+" 0 0 "+lt+" "+G+","+(W-rt*st-ut)+"V"+(Z+rt*st+ut)+"A "+rt+","+rt+" 0 0 "+lt+" "+ht(G-(rt-it)*ot,H)+","+(Z+ct*st)+"Z"}else if(c.hasB)tt="M"+(H+rt*ot)+","+Z+"A "+rt+","+rt+" 0 0 "+lt+" "+H+","+(Z+rt*st)+"V"+(W-rt*st)+"A "+rt+","+rt+" 0 0 "+lt+" "+(H+rt*ot)+","+W+"H"+(G-rt*ot)+"A "+rt+","+rt+" 0 0 "+lt+" "+G+","+(W-rt*st)+"V"+(Z+rt*st)+"A "+rt+","+rt+" 0 0 "+lt+" "+(G-rt*ot)+","+Z+"Z";else{var ft=(et=Math.abs(W-Z)+it)0?Math.sqrt(it*(2*rt-it)):0,dt=st>0?Math.max:Math.min;tt="M"+(H+ft*ot)+","+Z+"V"+dt(W-(rt-it)*st,Z)+"A "+rt+","+rt+" 0 0 "+lt+" "+(H+rt*ot-pt)+","+W+"H"+(G-rt*ot+pt)+"A "+rt+","+rt+" 0 0 "+lt+" "+(G-ft*ot)+","+dt(W-(rt-it)*st,Z)+"V"+Z+"Z"}}else tt=nt}else tt=nt;var mt=M(a.ensureSingle(R,"path"),z,g,y);if(mt.style("vector-effect",O?"none":"non-scaling-stroke").attr("d",isNaN((G-H)*(W-Z))||Y&&t._context.staticPlot?"M0,0Z":tt).call(l.setClipUrl,e.layerClipId,t),!z.uniformtext.mode&&V){var gt=l.makePointStyleFns(h);l.singlePointStyle(c,mt,h,gt,t)}!function(t,e,r,n,i,s,c,h,p,g,y,w,T){var k,S=e.xaxis,P=e.yaxis,z=t._fullLayout;function O(e,r,n){return a.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+k,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t)}var D=n[0].trace,R="h"===D.orientation,F=function(t,e,r,n,i){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,"texttemplate");if(!s)return"";var l,c,h,f,p="histogram"===o.type,d="waterfall"===o.type,m="funnel"===o.type,g="h"===o.orientation;function y(t){return u(f,f.c2l(t),!0).text}g?(l="y",c=i,h="x",f=n):(l="x",c=n,h="y",f=i);var v,x=e[r],b={};b.label=x.p,b.labelLabel=b[l+"Label"]=(v=x.p,u(c,c.c2l(v),!0).text);var w=a.castOption(o,x.i,"text");(0===w||w)&&(b.text=w),b.value=x.s,b.valueLabel=b[h+"Label"]=y(x.s);var T={};_(T,o,x.i),(p||void 0===T.x)&&(T.x=g?b.value:b.label),(p||void 0===T.y)&&(T.y=g?b.label:b.value),(p||void 0===T.xLabel)&&(T.xLabel=g?b.valueLabel:b.labelLabel),(p||void 0===T.yLabel)&&(T.yLabel=g?b.labelLabel:b.valueLabel),d&&(b.delta=+x.rawS||x.s,b.deltaLabel=y(b.delta),b.final=x.v,b.finalLabel=y(b.final),b.initial=b.final-b.delta,b.initialLabel=y(b.initial)),m&&(b.value=x.s,b.valueLabel=y(b.value),b.percentInitial=x.begR,b.percentInitialLabel=a.formatPercent(x.begR),b.percentPrevious=x.difR,b.percentPreviousLabel=a.formatPercent(x.difR),b.percentTotal=x.sumR,b.percenTotalLabel=a.formatPercent(x.sumR));var k=a.castOption(o,x.i,"customdata");return k&&(b.customdata=k),a.texttemplateString(s,b,t._d3locale,T,b,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o="h"===i.orientation,s="waterfall"===i.type,l="funnel"===i.type;function c(t){return u(o?r:n,+t,!0).text}var h,f,p=i.textinfo,d=t[e],m=p.split("+"),g=[],y=function(t){return-1!==m.indexOf(t)};if(y("label")&&g.push((f=t[e].p,u(o?n:r,f,!0).text)),y("text")&&(0===(h=a.castOption(i,d.i,"text"))||h)&&g.push(h),s){var v=+d.rawS||d.s,x=d.v,_=x-v;y("initial")&&g.push(c(_)),y("delta")&&g.push(c(v)),y("final")&&g.push(c(x))}if(l){y("value")&&g.push(c(d.s));var b=0;y("percent initial")&&b++,y("percent previous")&&b++,y("percent total")&&b++;var w=b>1;y("percent initial")&&(h=a.formatPercent(d.begR),w&&(h+=" of initial"),g.push(h)),y("percent previous")&&(h=a.formatPercent(d.difR),w&&(h+=" of previous"),g.push(h)),y("percent total")&&(h=a.formatPercent(d.sumR),w&&(h+=" of total"),g.push(h))}return g.join("
")}(e,r,n,i):m.getValue(s.text,r),m.coerceString(v,o)}(z,n,i,S,P);k=function(t,e){var r=m.getValue(t.textposition,e);return m.coerceEnumerated(x,r)}(D,i);var B="stack"===w.mode||"relative"===w.mode,N=n[i],j=!B||N._outmost,U=N.hasB,V=g&&g-y>b;if(F&&"none"!==k&&(!N.isBlank&&s!==c&&h!==p||"auto"!==k&&"inside"!==k)){var q=z.font,H=d.getBarColor(n[i],D),G=d.getInsideTextFont(D,i,q,H),Z=d.getOutsideTextFont(D,i,q),W=D.insidetextanchor||"end",Y=r.datum();R?"log"===S.type&&Y.s0<=0&&(s=S.range[0]0&&K>0;it=V?U?E(rt-2*g,nt,J,K,R)||E(rt,nt-2*g,J,K,R):R?E(rt-(g-y),nt,J,K,R)||E(rt,nt-2*(g-y),J,K,R):E(rt,nt-(g-y),J,K,R)||E(rt-2*(g-y),nt,J,K,R):E(rt,nt,J,K,R),at&&it?k="inside":(k="outside",X.remove(),X=null)}else k="inside";if(!X){var ot=(X=O(r,F,Q=a.ensureUniformFontSize(t,"outside"===k?Z:G))).attr("transform");if(X.attr("transform",""),J=($=l.bBox(X.node())).width,K=$.height,X.attr("transform",ot),J<=0||K<=0)return void X.remove()}var st,lt=D.textangle;st="outside"===k?function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,c=a.angle||0,u=i.width,h=i.height,f=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*b?b:0:f>2*b?b:0;var d=1;l&&(d=s?Math.min(1,p/h):Math.min(1,f/u));var m=C(c),g=L(i,m),y=(s?g.x:g.y)/2,v=(i.left+i.right)/2,x=(i.top+i.bottom)/2,_=(t+e)/2,w=(r+n)/2,T=0,k=0,M=s?A(e,t):A(r,n);return s?(_=e-M*o,T=M*y):(w=n+M*o,k=-M*y),{textX:v,textY:x,targetX:_,targetY:w,anchorX:T,anchorY:k,scale:d,rotate:m}}(s,c,h,p,$,{isHorizontal:R,constrained:"both"===D.constraintext||"outside"===D.constraintext,angle:lt}):I(s,c,h,p,$,{isHorizontal:R,constrained:"both"===D.constraintext||"inside"===D.constraintext,angle:lt,anchor:W,hasB:U,r:g,overhead:y}),st.fontSize=Q.size,f("histogram"===D.type?"bar":D.type,st,z),N.transform=st;var ct=M(X,z,w,T);a.setTransormAndDisplay(ct,st)}else r.select("text").remove()}(t,e,R,r,T,H,G,Z,W,rt,it,g,y),e.layerClipId&&l.hideOutsideRangePoint(c,R.select("text"),w,P,h.xcalendar,h.ycalendar)}));var Z=!1===h.cliponaxis;l.setClipUrl(c,Z?null:e.layerClipId,t)}));c.getComponentMethod("errorbars","plot")(t,D,e,g)},toMoveInsideBar:I}},88384:function(t){"use strict";function e(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}t.exports=function(t,r){var n,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l="funnel"===s.type,c="h"===s.orientation,u=[];if(!1===r)for(n=0;n1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")})),e.selectAll("g.points").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:m,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll("text"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:v,getOutsideTextFont:x,getBarColor:b,resizeText:l}},59760:function(t,e,r){"use strict";var n=r(78766),i=r(65477).hasColorscale,a=r(39356),o=r(34809).coercePattern;t.exports=function(t,e,r,s,l){var c=r("marker.color",s),u=i(t,"marker");u&&a(t,e,l,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),i(t,"marker.line")&&a(t,e,l,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),o(r,"marker.pattern",c,u),r("selected.marker.color"),r("unselected.marker.color")}},84102:function(t,e,r){"use strict";var n=r(45568),i=r(34809);function a(t){return"_"+t+"Text_minsize"}t.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=of.range[1]&&(x+=Math.PI),n.getClosest(c,(function(t){return m(v,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?g+Math.min(1,Math.abs(t.thetag1-t.thetag0)/y)-1+(t.rp1-v)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var _=c[t.index];t.x0=t.x1=_.ct[0],t.y0=t.y1=_.ct[1];var b=i.extendFlat({},_,{r:_.s,theta:_.p});return o(_,u,t),s(b,u,h,t),t.hovertemplate=u.hovertemplate,t.color=a(u,_),t.xLabelVal=t.yLabelVal=void 0,_.s<0&&(t.idealAlign="left"),[t]}}},89362:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"barpolar",basePlotModule:r(31645),categories:["polar","bar","showLegend"],attributes:r(32225),layoutAttributes:r(42956),supplyDefaults:r(77318),supplyLayoutDefaults:r(60507),calc:r(27941).calc,crossTraceCalc:r(27941).crossTraceCalc,plot:r(11627),colorbar:r(21146),formatLabels:r(33368),style:r(6851).style,styleOnSelect:r(6851).styleOnSelect,hoverPoints:r(83080),selectPoints:r(88384),meta:{}}},42956:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},60507:function(t,e,r){"use strict";var n=r(34809),i=r(42956);t.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l0?(c=o,u=l):(c=l,u=o);var h=[s.findEnclosingVertexAngles(c,t.vangles)[0],(c+u)/2,s.findEnclosingVertexAngles(u,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,c,u,h,e,r)}:function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),d=e.layers.frontplot.select("g.barlayer");a.makeTraceGroups(d,r,"trace bars").each((function(){var r=n.select(this),s=a.ensureSingle(r,"g","points").selectAll("g.point").data(a.identity);s.enter().append("g").style("vector-effect",l?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=h.c2p(t.s0),s=t.rp1=h.c2p(t.s1),l=t.thetag0=f.c2g(t.p0),d=t.thetag1=f.c2g(t.p1);if(i(o)&&i(s)&&i(l)&&i(d)&&o!==s&&l!==d){var m=h.c2g(t.s1),g=(l+d)/2;t.ct=[c.c2p(m*Math.cos(g)),u.c2p(m*Math.sin(g))],e=p(o,s,l,d)}else e="M0,0Z";a.ensureSingle(r,"path").attr("d",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},64625:function(t,e,r){"use strict";var n=r(19326),i=r(36640),a=r(81481),o=r(10229),s=r(80712).axisHoverFormat,l=r(3208).rb,c=r(93049).extendFlat,u=i.marker,h=u.line;t.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,xhoverformat:s("x"),yhoverformat:s("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},sdmultiple:{valType:"number",min:0,editType:"calc",dflt:1},sizemode:{valType:"enumerated",values:["quartiles","sd"],editType:"calc",dflt:"quartiles"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:c({},u.symbol,{arrayOk:!1,editType:"plot"}),opacity:c({},u.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:c({},u.angle,{arrayOk:!1,editType:"calc"}),size:c({},u.size,{arrayOk:!1,editType:"calc"}),color:c({},u.color,{arrayOk:!1,editType:"style"}),line:{color:c({},h.color,{arrayOk:!1,dflt:o.defaultLine,editType:"style"}),width:c({},h.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n(),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},showwhiskers:{valType:"boolean",editType:"calc"},offsetgroup:a.offsetgroup,alignmentgroup:a.alignmentgroup,selected:{marker:i.selected.marker,editType:"style"},unselected:{marker:i.unselected.marker,editType:"style"},text:c({},i.text,{}),hovertext:c({},i.hovertext,{}),hovertemplate:l({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"},zorder:i.zorder}},89429:function(t,e,r){"use strict";var n=r(10721),i=r(29714),a=r(40528),o=r(34809),s=r(63821).BADNUM,l=o._;t.exports=function(t,e){var r,c,v,x,_,b,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||"x"),A=i.getFromId(t,e.yaxis||"y"),M=[],S="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(v=k,x="x",_=A,b="y",w=!!e.yperiodalignment):(v=A,x="y",_=k,b="x",w=!!e.xperiodalignment);var E,C,L,I,P,z,O=function(t,e,r,i){var s,l=e+"0"in t;if(e in t||l&&"d"+e in t){var c=r.makeCalcdata(t,e);return[a(t,r,e,c).vals,c]}s=l?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||o.isDateTime(t.name)&&"date"===r.type)?t.name:i;for(var u="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]),h=t._length,f=new Array(h),p=0;pE.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return v.d2c((e[t]||[])[r])},q=1/0,H=-1/0;for(r=0;r=E.q1&&E.q3>=E.med){var Z=V("lowerfence");E.lf=Z!==s&&Z<=E.q1?Z:p(E,L,I);var W=V("upperfence");E.uf=W!==s&&W>=E.q3?W:d(E,L,I);var Y=V("mean");E.mean=Y!==s?Y:I?o.mean(L,I):(E.q1+E.q3)/2;var X=V("sd");E.sd=Y!==s&&X>=0?X:I?o.stdev(L,I,E.mean):E.q3-E.q1,E.lo=m(E),E.uo=g(E);var $=V("notchspan");$=$!==s&&$>0?$:y(E,I),E.ln=E.med-$,E.un=E.med+$;var J=E.lf,K=E.uf;e.boxpoints&&L.length&&(J=Math.min(J,L[0]),K=Math.max(K,L[I-1])),e.notched&&(J=Math.min(J,E.ln),K=Math.max(K,E.un)),E.min=J,E.max=K}else{var Q;o.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+E.q1,"median = "+E.med,"q3 = "+E.q3].join("\n")),Q=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}q=Math.min(q,E.min),H=Math.max(H,E.max),E.pts2=C.filter(j),M.push(E)}}e._extremes[v._id]=i.findExtremes(v,[q,H],{padded:!0})}else{var tt=v.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&it0){var ut,ht;(E={}).pos=E[b]=B[r],C=E.pts=nt[r].sort(h),I=(L=E[x]=C.map(f)).length,E.min=L[0],E.max=L[I-1],E.mean=o.mean(L,I),E.sd=o.stdev(L,I,E.mean)*e.sdmultiple,E.med=o.interp(L,.5),I%2&&(lt||ct)?(lt?(ut=L.slice(0,I/2),ht=L.slice(I/2+1)):ct&&(ut=L.slice(0,I/2+1),ht=L.slice(I/2)),E.q1=o.interp(ut,.5),E.q3=o.interp(ht,.5)):(E.q1=o.interp(L,.25),E.q3=o.interp(L,.75)),E.lf=p(E,L,I),E.uf=d(E,L,I),E.lo=m(E),E.uo=g(E);var ft=y(E,I);E.ln=E.med-ft,E.un=E.med+ft,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=C.filter(j),M.push(E)}e.notched&&o.isTypedArray(tt)&&(tt=Array.from(tt)),e._extremes[v._id]=i.findExtremes(v,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(M[0].t={num:T[S],dPos:N,posLetter:b,valLetter:x,labels:{med:l(t,"median:"),min:l(t,"min:"),q1:l(t,"q1:"),q3:l(t,"q3:"),max:l(t,"max:"),mean:"sd"===e.boxmean||"sd"===e.sizemode?l(t,"mean ± σ:").replace("σ",1===e.sdmultiple?"σ":e.sdmultiple+"σ"):l(t,"mean:"),lf:l(t,"lower fence:"),uf:l(t,"upper fence:")}},T[S]++,M):[{t:{empty:!0}}]};var c={text:"tx",hovertext:"htx"};function u(t,e,r){for(var n in c)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[c[n]]=e[n][r[0]][r[1]]):t[c[n]]=e[n][r])}function h(t,e){return t.v-e.v}function f(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function m(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function y(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},81606:function(t,e,r){"use strict";var n=r(29714),i=r(34809),a=r(84391).getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,c,u=e.calcdata,h=e._fullLayout,f=o._id,p=f.charAt(0),d=[],m=0;for(s=0;s1,_=1-h[t+"gap"],b=1-h[t+"groupgap"];for(s=0;s0){var H=E.pointpos,G=E.jitter,Z=E.marker.size/2,W=0;H+G>=0&&((W=V*(H+G))>M?(q=!0,j=Z,B=W):W>R&&(j=Z,B=M)),W<=M&&(B=M);var Y=0;H-G<=0&&((Y=-V*(H-G))>S?(q=!0,U=Z,N=Y):Y>F&&(U=Z,N=S)),Y<=S&&(N=S)}else B=M,N=S;var X=new Array(c.length);for(l=0;l0?(g="v",y=x>0?Math.min(b,_):Math.min(_)):x>0?(g="h",y=Math.min(b)):y=0;if(y){e._length=y;var S=r("orientation",g);e._hasPreCompStats?"v"===S&&0===x?(r("x0",0),r("dx",1)):"h"===S&&0===v&&(r("y0",0),r("dy",1)):"v"===S&&0===x?r("x0"):"h"===S&&0===v&&r("y0"),i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a)}else e.visible=!1}function h(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,c,"marker.outliercolor"),s=r("marker.line.outliercolor"),l="outliers";e._hasPreCompStats?l="all":(o||s)&&(l="suspectedoutliers");var u=r(a+"points",l);u?(r("jitter","all"===u?.3:0),r("pointpos","all"===u?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.angle"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===u&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete e.marker;var h=r("hoveron");"all"!==h&&-1===h.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}t.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,c,r,i)}if(u(t,e,s,i),!1!==e.visible){o(t,e,i,s),s("xhoverformat"),s("yhoverformat");var l=e._hasPreCompStats;l&&(s("lowerfence"),s("upperfence")),s("line.color",(t.marker||{}).color||r),s("line.width"),s("fillcolor",a.addOpacity(e.line.color,.5));var f=!1;if(l){var p=s("mean"),d=s("sd");p&&p.length&&(f=!0,d&&d.length&&(f="sd"))}s("whiskerwidth");var m,g=s("sizemode");"quartiles"===g&&(m=s("boxmean",f)),s("showwhiskers","quartiles"===g),"sd"!==g&&"sd"!==m||s("sdmultiple"),s("width"),s("quartilemethod");var y=!1;if(l){var v=s("notchspan");v&&v.length&&(y=!0)}else n.validate(t.notchwidth,c.notchwidth)&&(y=!0);s("notched",y)&&s("notchwidth"),h(t,e,s,{prefix:"box"}),s("zorder")}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,c,t)}for(var o=0;ot.lo&&(x.so=!0)}return a}));f.enter().append("path").classed("point",!0),f.exit().remove(),f.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,c=e.pos,u=!!c.rangebreaks,h=a.bPos,f=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),d.exit().remove(),d.each((function(t){var e=c.c2l(t.pos+h,!0),i=c.l2p(e-o)+f,a=c.l2p(e+s)+f,d=u?(i+a)/2:c.l2p(e)+f,m=l.c2p(t.mean,!0),g=l.c2p(t.mean-t.sd,!0),y=l.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+m+","+i+"V"+a+("sd"===p?"m0,0L"+g+","+d+"L"+m+","+i+"L"+y+","+d+"Z":"")):n.select(this).attr("d","M"+i+","+m+"H"+a+("sd"===p?"m0,0L"+d+","+g+"L"+i+","+m+"L"+d+","+y+"Z":""))}))}t.exports={plot:function(t,e,r,a){var c=t._context.staticPlot,u=e.xaxis,h=e.yaxis;i.makeTraceGroups(a,r,"trace boxes").each((function(t){var e,r,i=n.select(this),a=t[0],f=a.t,p=a.trace;f.wdPos=f.bdPos*p.whiskerwidth,!0!==p.visible||f.empty?i.remove():("h"===p.orientation?(e=h,r=u):(e=u,r=h),o(i,{pos:e,val:r},p,f,c),s(i,{x:u,y:h},p,f),l(i,{pos:e,val:r},p,f))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},72488:function(t){"use strict";t.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;for(var r=1/0,a=-1/0,o=t.length,s=0;s0?Math.floor:Math.ceil,P=C>0?Math.ceil:Math.floor,z=C>0?Math.min:Math.max,O=C>0?Math.max:Math.min,D=I(S+L),R=P(E-L),F=[[h=M(S)]];for(a=D;a*C=0;i--)a[u-i]=t[h][i],o[u-i]=e[h][i];for(s.push({x:a,y:o,bicubic:l}),i=h,a=[],o=[];i>=0;i--)a[h-i]=t[i][0],o[h-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},4753:function(t,e,r){"use strict";var n=r(29714),i=r(93049).extendFlat;t.exports=function(t,e,r){var a,o,s,l,c,u,h,f,p,d,m,g,y,v,x=t["_"+e],_=t[e+"axis"],b=_._gridlines=[],w=_._minorgridlines=[],T=_._boundarylines=[],k=t["_"+r],A=t[r+"axis"];"array"===_.tickmode&&(_.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,C=M.length,L=t._a.length,I=t._b.length;n.prepTicks(_),"array"===_.tickmode&&delete _.tickvals;var P=_.smoothing?3:1;function z(n){var i,a,o,s,l,c,u,h,p,d,m,g,y=[],v=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(I-2,a))),s=a-o,x.length=I,x.crossLength=L,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),y.push(l[0]+p[0]/3),v.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),y.push(h[0]-d[0]/3),v.push(h[1]-d[1]/3)),y.push(h[0]),v.push(h[1]),l=h;else for(i=t.a2i(n),c=Math.floor(Math.max(0,Math.min(L-2,i))),u=i-c,x.length=L,x.crossLength=I,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},a=0;a0&&(m=t.dxydj([],c,a-1,u,0),y.push(l[0]+m[0]/3),v.push(l[1]+m[1]/3),g=t.dxydj([],c,a-1,u,1),y.push(h[0]-g[0]/3),v.push(h[1]-g[1]/3)),y.push(h[0]),v.push(h[1]),l=h;return x.axisLetter=e,x.axis=_,x.crossAxis=A,x.value=n,x.constvar=r,x.index=f,x.x=y,x.y=v,x.smoothing=A.smoothing,x}function O(n){var i,a,o,s,l,c=[],u=[],h={};if(h.length=x.length,h.crossLength=k.length,"b"===e)for(o=Math.max(0,Math.min(I-2,n)),l=Math.min(1,Math.max(0,n-o)),h.xy=function(e){return t.evalxy([],e,n)},h.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||b.push(i(O(o),{color:_.gridcolor,width:_.gridwidth,dash:_.griddash}));for(f=u;fx.length-1||m<0||m>x.length-1))for(g=x[s],y=x[m],a=0;a<_.minorgridcount;a++)(v=m-s)<=0||(d=g+(y-g)*(a+1)/(_.minorgridcount+1)*(_.arraydtick/v))x[x.length-1]||w.push(i(z(d),{color:_.minorgridcolor,width:_.minorgridwidth,dash:_.minorgriddash}));_.startline&&T.push(i(O(0),{color:_.startlinecolor,width:_.startlinewidth})),_.endline&&T.push(i(O(x.length-1),{color:_.endlinecolor,width:_.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-_.tick0)/_.dtick*(1+l)),Math.ceil((x[0]-_.tick0)/_.dtick/(1+l))].sort((function(t,e){return t-e})))[0],h=c[1],f=u;f<=h;f++)p=_.tick0+_.dtick*f,b.push(i(z(p),{color:_.gridcolor,width:_.gridwidth,dash:_.griddash}));for(f=u-1;fx[x.length-1]||w.push(i(z(d),{color:_.minorgridcolor,width:_.minorgridwidth,dash:_.minorgriddash}));_.startline&&T.push(i(z(x[0]),{color:_.startlinecolor,width:_.startlinewidth})),_.endline&&T.push(i(z(x[x.length-1]),{color:_.endlinecolor,width:_.endlinewidth}))}}},93923:function(t,e,r){"use strict";var n=r(29714),i=r(93049).extendFlat;t.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},87947:function(t,e,r){"use strict";var n=r(45568),i=r(62203),a=r(6720),o=r(3685),s=r(33163),l=r(30635),c=r(34809),u=c.strRotate,h=c.strTranslate,f=r(4530);function p(t,e,r,s,l,c,u){var h="const-"+l+"-lines",f=r.selectAll("."+h).data(c);f.enter().append("path").classed(h,!0).style("vector-effect",u?"none":"non-scaling-stroke"),f.each((function(r){var s=r,l=s.x,c=s.y,u=a([],l,t.c2p),h=a([],c,e.c2p),f="M"+o(u,h,s.smoothing);n.select(this).attr("d",f).style("stroke-width",s.width).style("stroke",s.color).style("stroke-dasharray",i.dashStyle(s.dash,s.width)).style("fill","none")})),f.exit().remove()}function d(t,e,r,a,o,c,f,p){var d=c.selectAll("text."+p).data(f);d.enter().append("text").classed(p,!0);var m=0,g={};return d.each((function(o,c){var f;if("auto"===o.axis.tickangle)f=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;f=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}c||(g={angle:f.angle,flip:f.flip});var d=(o.endAnchor?-1:1)*f.flip,y=n.select(this).attr({"text-anchor":d>0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),v=i.bBox(this);y.attr("transform",h(f.p[0],f.p[1])+u(f.angle)+h(o.axis.labelpadding*d,.3*v.height)),m=Math.max(m,v.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=m,g}t.exports=function(t,e,r,i){var l=t._context.staticPlot,u=e.xaxis,h=e.yaxis,f=t._fullLayout._clips;c.makeTraceGroups(i,r,"trace").each((function(e){var r=n.select(this),i=e[0],m=i.trace,g=m.aaxis,v=m.baxis,x=c.ensureSingle(r,"g","minorlayer"),_=c.ensureSingle(r,"g","majorlayer"),b=c.ensureSingle(r,"g","boundarylayer"),w=c.ensureSingle(r,"g","labellayer");r.style("opacity",m.opacity),p(u,h,_,0,"a",g._gridlines,!0),p(u,h,_,0,"b",v._gridlines,!0),p(u,h,x,0,"a",g._minorgridlines,!0),p(u,h,x,0,"b",v._minorgridlines,!0),p(u,h,b,0,"a-boundary",g._boundarylines,l),p(u,h,b,0,"b-boundary",v._boundarylines,l);var T=d(t,u,h,m,0,w,g._labels,"a-label"),k=d(t,u,h,m,0,w,v._labels,"b-label");!function(t,e,r,n,i,a,o,l){var u,h,f,p,d=c.aggNums(Math.min,null,r.a),m=c.aggNums(Math.max,null,r.a),g=c.aggNums(Math.min,null,r.b),v=c.aggNums(Math.max,null,r.b);u=.5*(d+m),h=g,f=r.ab2xy(u,h,!0),p=r.dxyda_rough(u,h),void 0===o.angle&&c.extendFlat(o,s(r,i,a,f,r.dxydb_rough(u,h))),y(t,e,r,0,f,p,r.aaxis,i,a,o,"a-title"),u=d,h=.5*(g+v),f=r.ab2xy(u,h,!0),p=r.dxydb_rough(u,h),void 0===l.angle&&c.extendFlat(l,s(r,i,a,f,r.dxyda_rough(u,h))),y(t,e,r,0,f,p,r.baxis,i,a,l,"b-title")}(t,w,m,0,u,h,T,k),function(t,e,r,n,i){var s,l,u,h,f=r.select("#"+t._clipPathId);f.size()||(f=r.append("clipPath").classed("carpetclip",!0));var p=c.ensureSingle(f,"path","carpetboundary"),d=e.clipsegments,m=[];for(h=0;h90&&v<270,_=n.select(this);_.text(f.title.text).call(l.convertToTspans,t),x&&(b=(-l.lineCount(_)+g)*m*a-b),_.attr("transform",h(e.p[0],e.p[1])+u(e.angle)+h(0,b)).attr("text-anchor","middle").call(i.font,f.title.font)})),_.exit().remove()}},76842:function(t,e,r){"use strict";var n=r(45923),i=r(98813).findBin,a=r(57075),o=r(13828),s=r(39848),l=r(41839);t.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,h=t.aaxis,f=t.baxis,p=e[0],d=e[c-1],m=r[0],g=r[u-1],y=e[e.length-1]-e[0],v=r[r.length-1]-r[0],x=y*n.RELATIVE_CULL_TOLERANCE,_=v*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,m-=_,g+=_,t.isVisible=function(t,e){return t>p&&tm&&ed||eg},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,h.smoothing,f.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,h.smoothing,f.smoothing),t.dxydi=s([t._xctrl,t._yctrl],h.smoothing,f.smoothing),t.dxydj=l([t._xctrl,t._yctrl],h.smoothing,f.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),c-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),u-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(ne[c-1]|ir[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var h,f,p,d,m=0,g=0,y=[];ne[c-1]?(h=c-2,f=1,m=(n-e[c-1])/(e[c-1]-e[c-2])):f=o-(h=Math.max(0,Math.min(c-2,Math.floor(o)))),ir[u-1]?(p=u-2,d=1,g=(i-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),m&&(t.dxydi(y,h,p,f,d),l[0]+=y[0]*m,l[1]+=y[1]*m),g&&(t.dxydj(y,h,p,f,d),l[0]+=y[0]*g,l[1]+=y[1]*g)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=v*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},13007:function(t,e,r){"use strict";var n=r(34809);t.exports=function(t,e,r){var i,a,o,s=[],l=[],c=t[0].length,u=t.length;function h(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log("Smoother converged to",k,"after",A,"iterations"),t}},10820:function(t,e,r){"use strict";var n=r(34809).isArray1D;t.exports=function(t,e,r){var i=r("x"),a=i&&i.length,o=r("y"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},92802:function(t,e,r){"use strict";var n=r(3208).rb,i=r(6893),a=r(87163),o=r(9829),s=r(10229).defaultLine,l=r(93049).extendFlat,c=i.marker.line;t.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:i.locationmode,z:{valType:"data_array",editType:"calc"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},c.color,{dflt:s}),width:l({},c.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:i.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a("",{cLetter:"z",editTypeOverride:"calc"}))},12702:function(t,e,r){"use strict";var n=r(10721),i=r(63821).BADNUM,a=r(28379),o=r(99203),s=r(48861);function l(t){return t&&"string"==typeof t}t.exports=function(t,e){var r,c=e._length,u=new Array(c);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var h=0;h")}}(t,h,o),[t]}},58075:function(t,e,r){"use strict";t.exports={attributes:r(92802),supplyDefaults:r(51893),colorbar:r(12431),calc:r(12702),calcGeoJSON:r(4700).calcGeoJSON,plot:r(4700).plot,style:r(59342).style,styleOnSelect:r(59342).styleOnSelect,hoverPoints:r(94125),eventData:r(38414),selectPoints:r(43727),moduleType:"trace",name:"choropleth",basePlotModule:r(47544),categories:["geo","noOpacity","showLegend"],meta:{}}},4700:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=r(3994),o=r(11577).getTopojsonFeatures,s=r(32919).findExtremes,l=r(59342).style;t.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,c=r._length,u="geojson-id"===l?a.extractTraceFeature(t):o(r,i.topojson),h=[],f=[],p=0;p=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(a,{type:"geojson",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},86227:function(t,e,r){"use strict";var n=r(92802),i=r(87163),a=r(3208).rb,o=r(9829),s=r(93049).extendFlat;t.exports=s({locations:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},geojson:{valType:"any",editType:"calc"},featureidkey:s({},n.featureidkey,{}),below:{valType:"string",editType:"plot"},text:n.text,hovertext:n.hovertext,marker:{line:{color:s({},n.marker.line.color,{editType:"plot"}),width:s({},n.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:s({},n.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:s({},n.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:s({},n.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:n.hoverinfo,hovertemplate:a({},{keys:["properties"]}),showlegend:s({},o.showlegend,{dflt:!1})},i("",{cLetter:"z",editTypeOverride:"calc"}))},51335:function(t,e,r){"use strict";var n=r(10721),i=r(34809),a=r(88856),o=r(62203),s=r(39532).makeBlank,l=r(3994);function c(t){var e,r=t[0].trace,n=r._opts;if(r.selectedpoints){for(var a=o.makeSelectedPointStyleFns(r),s=0;s=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(a,{type:"geojson",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},49865:function(t,e,r){"use strict";var n=r(87163),i=r(80712).axisHoverFormat,a=r(3208).rb,o=r(42450),s=r(9829),l=r(93049).extendFlat,c={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute","raw"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["norm"]}),uhoverformat:i("u",1),vhoverformat:i("v",1),whoverformat:i("w",1),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),showlegend:l({},s.showlegend,{dflt:!1})};l(c,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"})),["opacity","lightposition","lighting"].forEach((function(t){c[t]=o[t]})),c.hoverinfo=l({},s.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),c.transforms=void 0,t.exports=c},93805:function(t,e,r){"use strict";var n=r(28379);t.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,c=0;co.level||o.starts.length&&a===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,c=-1/0,u=1/0;for(r=0;r":p>c&&(n.prefixBoundary=!0);break;case"<":(pc||n.starts.length&&f===u)&&(n.prefixBoundary=!0);break;case"][":h=Math.min(p[0],p[1]),f=Math.max(p[0],p[1]),hc&&(n.prefixBoundary=!0)}}}},92697:function(t,e,r){"use strict";var n=r(88856),i=r(16438),a=r(48715);t.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,c=o.coloring,u=i(e,{isColorbar:!0});if("heatmap"===c){var h=n.extractOpts(e);r._fillgradient=h.reversescale?n.flipScale(h.colorscale):h.colorscale,r._zrange=[h.min,h.max]}else"fill"===c&&(r._fillcolor=u);r._line={color:"lines"===c?u:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},53156:function(t){"use strict";t.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},29503:function(t,e,r){"use strict";var n=r(10721),i=r(20576),a=r(78766),o=a.addOpacity,s=a.opacity,l=r(20726),c=r(34809).isArrayOrTypedArray,u=l.CONSTRAINT_REDUCTION,h=l.COMPARISON_OPS2;t.exports=function(t,e,r,a,l,f){var p,d,m,g=e.contours,y=r("contours.operation");g._operation=u[y],function(t,e){var r;-1===h.indexOf(e.operation)?(t("contours.value",[0,1]),c(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(c(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),"="===y?p=g.showlines=!0:(p=r("contours.showlines"),m=r("fillcolor",o((t.line||{}).color||l,.5))),p&&(d=r("line.color",m&&s(m)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash")),r("line.smoothing"),i(r,a,d,f)}},22783:function(t,e,r){"use strict";var n=r(20726),i=r(10721);function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}t.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},47495:function(t){"use strict";t.exports=function(t,e,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},1999:function(t,e,r){"use strict";var n=r(34809);function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}t.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),a=t[0],r=0;r1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},48715:function(t){"use strict";t.exports=function(t){return t.end+t.size/1e6}},27657:function(t,e,r){"use strict";var n=r(34809),i=r(53156);function a(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1,[n,a]}(h,r,e),p=[s(t,e,[-f[0],-f[1]])],d=t.z.length,m=t.z[0].length,g=e.slice(),y=f.slice();for(c=0;c<1e4;c++){if(h>20?(h=i.CHOOSESADDLE[h][(f[0]||f[1])<0?0:1],t.crossings[u]=i.SADDLEREMAINDER[h]):delete t.crossings[u],!(f=i.NEWDELTA[h])){n.log("Found bad marching index:",h,e,t.level);break}p.push(s(t,e,f)),e[0]+=f[0],e[1]+=f[1],u=e.join(","),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var v=f[0]&&(e[0]<0||e[0]>m-2)||f[1]&&(e[1]<0||e[1]>d-2);if(e[0]===g[0]&&e[1]===g[1]&&f[0]===y[0]&&f[1]===y[1]||r&&v)break;h=t.crossings[u]}1e4===c&&n.log("Infinite loop in contour?");var x,_,b,w,T,k,A,M,S,E,C,L,I,P,z,O=a(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(c=1;c=B;c--)if((x=F[c])=B&&x+F[_]M&&S--,t.edgepaths[S]=C.concat(p,E));break}V||(t.edgepaths[M]=p.concat(E))}for(M=0;M=v)&&(r<=y&&(r=y),o>=v&&(o=v),l=Math.floor((o-r)/s)+1,c=0),f=0;fy&&(m.unshift(y),g.unshift(g[0])),m[m.length-1]t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}t.exports=function(t){var e,r,a,o,s,l,c,u,h,f=t[0].z,p=f.length,d=f[0].length,m=2===p||2===d;for(r=0;r=0&&(n=v,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-v[1])<.01&&(v[0]-r[0])*(n[0]-v[0])>=0&&(n=v,s=l):i.log("endpt to newendpt is not vert. or horz.",r,n,v)}if(r=n,s>=0)break;h+="L"+n}if(s===t.edgepaths.length){i.log("unclosed perimeter path");break}f=s,(d=-1===p.indexOf(f))&&(f=p[0],h+="Z")}for(f=0;fn.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(h)+Math.cos(c)*o);if(f<1||p<1)return 1/0;var d=y.EDGECOST*(1/(f-1)+1/(p-1));d+=y.ANGLECOST*c*c;for(var m=s-u,g=l-h,v=s+u,x=l+h,_=0;_2*y.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(f<=y.MAXCOST)return u},e.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,c=t.theta,u=Math.sin(c),h=Math.cos(c),f=function(t,e){return[s+t*h-e*u,l+t*u+e*h]},p=[f(-a/2,-o/2),f(-a/2,o/2),f(a/2,o/2),f(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:c,level:e.level,width:a,height:o}),n.push(p)},e.drawLabels=function(t,e,r,a,o){var l=t.selectAll("text").data(e,(function(t){return t.text+","+t.x+","+t.y+","+t.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+i+")"}).call(s.convertToTspans,r)})),o){for(var c="",u=0;ur.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var c,u=r.start,h=r.end,f=t._input.contours;u>h&&(r.start=f.start=h,h=r.end=f.end=u,u=r.start),r.size>0||(c=u===h?1:a(u,h,t.ncontours).dtick,f.size=r.size=c)}}},1328:function(t,e,r){"use strict";var n=r(45568),i=r(62203),a=r(12774),o=r(16438);t.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u="constraint"===a.type,h=!u&&"lines"===a.coloring,f=!u&&"fill"===a.coloring,p=h||f?o(r):null;e.selectAll("g.contourlevel").each((function(t){n.select(this).selectAll("path").call(i.lineGroupStyle,s.width,h?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll("g.contourlabels text").each((function(t){i.font(n.select(this),{weight:d.weight,style:d.style,variant:d.variant,textcase:d.textcase,lineposition:d.lineposition,shadow:d.shadow,family:d.family,size:d.size,color:d.color||(h?p(t.level):s.color)})})),u)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(f){var m;e.selectAll("g.contourfill path").style("fill",(function(t){return void 0===m&&(m=t.level),p(t.level+.5*l)})),void 0===m&&(m=c),e.selectAll("g.contourbg path").style("fill",p(m-.5*l))}})),a(t)}},39889:function(t,e,r){"use strict";var n=r(39356),i=r(20576);t.exports=function(t,e,r,a,o){var s,l=r("contours.coloring"),c="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(c=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),i(r,a,c,o)}},66365:function(t,e,r){"use strict";var n=r(81658),i=r(52240),a=r(87163),o=r(93049).extendFlat,s=i.contours;t.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:"plot"},zorder:i.zorder,transforms:void 0},a("",{cLetter:"z",autoColorDflt:!1}))},80849:function(t,e,r){"use strict";var n=r(28379),i=r(34809),a=r(87869),o=r(93877),s=r(69295),l=r(78106),c=r(80924),u=r(50538),h=r(26571),f=r(62475);t.exports=function(t,e){var r=e._carpetTrace=h(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),u(d,e,e._defaultColor,t._fullLayout)}var m=function(t,e){var r,u,h,f,p,d,m,g=e._carpetTrace,y=g.aaxis,v=g.baxis;y._minDtick=0,v._minDtick=0,i.isArray1D(e.z)&&a(e,y,v,"a","b",["z"]),r=e._a=e._a||e.a,f=e._b=e._b||e.b,r=r?y.makeCalcdata(e,"_a"):[],f=f?v.makeCalcdata(e,"_b"):[],u=e.a0||0,h=e.da||1,p=e.b0||0,d=e.db||1,m=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(m),s(m,e._emptypoints);var x=i.maxRowLength(m),_="scaled"===e.xtype?"":r,b=c(e,_,u,h,x,y),w="scaled"===e.ytype?"":f,T={a:b,b:c(e,w,p,d,m.length,v),z:m};return"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:m,containerStr:"",cLetter:"z"}),[T]}(t,e);return f(e,e._z),m}}},50538:function(t,e,r){"use strict";var n=r(34809),i=r(86073),a=r(66365),o=r(29503),s=r(47495),l=r(39889);t.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,a,r,i)}if(u("carpet"),t.a&&t.b){if(!i(t,e,u,c,"a","b"))return void(e.visible=!1);u("text"),"constraint"===u("contours.type")?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null;u("zorder")}},34406:function(t,e,r){"use strict";t.exports={attributes:r(66365),supplyDefaults:r(50538),colorbar:r(92697),calc:r(80849),plot:r(71815),style:r(1328),moduleType:"trace",name:"contourcarpet",basePlotModule:r(37703),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},71815:function(t,e,r){"use strict";var n=r(45568),i=r(6720),a=r(3685),o=r(62203),s=r(34809),l=r(83545),c=r(27657),u=r(8850),h=r(53156),f=r(1999),p=r(86828),d=r(49886),m=r(26571),g=r(94903);function y(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function v(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}t.exports=function(t,e,r,_){var b=e.xaxis,w=e.yaxis;s.makeTraceGroups(_,r,"contour").each((function(r){var _=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=m(t,k),M=t.calcdata[A.index][0];if(A.visible&&"legendonly"!==A.visible){var S=T.a,E=T.b,C=k.contours,L=p(C,e,T),I="constraint"===C.type,P=C._operation,z=I?"="===P?"lines":"fill":C.coloring,O=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(L);var D=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);c(L,D,R);var F,B,N,j,U=L;"constraint"===C.type&&(U=f(L,P)),function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r=0;j--)F=M.clipsegments[j],B=i([],F.x,b.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var q="M"+V.join("L")+"Z";!function(t,e,r,n,o,l){var c,u,h,f,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(f=0;f=0&&(f=C,d=m):Math.abs(h[1]-f[1])=0&&(f=C,d=m):s.log("endpt to newendpt is not vert. or horz.",h,f,C)}if(d>=0)break;v+=S(h,f),h=f}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}u=d,(_=-1===x.indexOf(u))&&(u=x[0],v+=S(h,f)+"Z",h=null)}for(u=0;um&&(n.max=m),n.len=n.max-n.min}function g(t,e){var r,n=0,o=.1;return(Math.abs(t[0]-l)0?+p[u]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:v})}}var _=o.extractOpts(e),b=_.reversescale?o.flipScale(_.colorscale):_.colorscale,w=b[0][1],T=["interpolate",["linear"],["heatmap-density"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(u=1;u=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),i}},17347:function(t,e,r){"use strict";var n=r(87163),i=r(3208).rb,a=r(9829),o=r(95833),s=r(93049).extendFlat;t.exports=s({lon:o.lon,lat:o.lat,z:{valType:"data_array",editType:"calc"},radius:{valType:"number",editType:"plot",arrayOk:!0,min:1,dflt:30},below:{valType:"string",editType:"plot"},text:o.text,hovertext:o.hovertext,hoverinfo:s({},a.hoverinfo,{flags:["lon","lat","z","text","name"]}),hovertemplate:i(),showlegend:s({},a.showlegend,{dflt:!1})},n("",{cLetter:"z",editTypeOverride:"calc"}))},60675:function(t,e,r){"use strict";var n=r(10721),i=r(34809).isArrayOrTypedArray,a=r(63821).BADNUM,o=r(28379),s=r(34809)._;t.exports=function(t,e){for(var r=e._length,l=new Array(r),c=e.z,u=i(c)&&c.length,h=0;h0?+p[u]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:v})}}var _=o.extractOpts(e),b=_.reversescale?o.flipScale(_.colorscale):_.colorscale,w=b[0][1],T=["interpolate",["linear"],["heatmap-density"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(u=1;u=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),i}},43179:function(t,e,r){"use strict";var n=r(34809);t.exports=function(t,e){for(var r=0;r"),l.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;return n(i)?i:n(a)&&o?a:void 0}(u,f),[l]}}},52213:function(t,e,r){"use strict";t.exports={attributes:r(62824),layoutAttributes:r(93795),supplyDefaults:r(30495).supplyDefaults,crossTraceDefaults:r(30495).crossTraceDefaults,supplyLayoutDefaults:r(34980),calc:r(28152),crossTraceCalc:r(82539),plot:r(83482),style:r(7240).style,hoverPoints:r(27759),eventData:r(29412),selectPoints:r(88384),moduleType:"trace",name:"funnel",basePlotModule:r(37703),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},93795:function(t){"use strict";t.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},34980:function(t,e,r){"use strict";var n=r(34809),i=r(93795);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s path").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(".regions").each((function(){n.select(this).selectAll("path").style("stroke-width",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},63447:function(t,e,r){"use strict";var n=r(55412),i=r(9829),a=r(13792).u,o=r(3208).rb,s=r(3208).ay,l=r(93049).extendFlat;t.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},pattern:n.marker.pattern,editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},i.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:a({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},86817:function(t,e,r){"use strict";var n=r(44122);e.name="funnelarea",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},2807:function(t,e,r){"use strict";var n=r(44148);t.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},79824:function(t,e,r){"use strict";var n=r(34809),i=r(63447),a=r(13792).N,o=r(17550).handleText,s=r(46979).handleLabelsAndValues,l=r(46979).handleMarkerDefaults;t.exports=function(t,e,r,c){function u(r,a){return n.coerce(t,e,i,r,a)}var h=u("labels"),f=u("values"),p=s(h,f),d=p.len;if(e._hasLabels=p.hasLabels,e._hasValues=p.hasValues,!e._hasLabels&&e._hasValues&&(u("label0"),u("dlabel")),d){e._length=d,l(t,e,c,u),u("scalegroup");var m,g=u("text"),y=u("texttemplate");if(y||(m=u("textinfo",Array.isArray(g)?"text+percent":"percent")),u("hovertext"),u("hovertemplate"),y||m&&"none"!==m){var v=u("textposition");o(t,e,c,u,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else"none"===m&&u("textposition","none");a(e,c,u),u("title.text")&&(u("title.position"),n.coerceFont(u,"title.font",c.font)),u("aspectratio"),u("baseratio")}else e.visible=!1}},91132:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"funnelarea",basePlotModule:r(86817),categories:["pie-like","funnelarea","showLegend"],attributes:r(63447),layoutAttributes:r(10270),supplyDefaults:r(79824),supplyLayoutDefaults:r(69161),calc:r(2807).calc,crossTraceCalc:r(2807).crossTraceCalc,plot:r(96673),style:r(13757),styleOne:r(32891),meta:{}}},10270:function(t,e,r){"use strict";var n=r(4031).hiddenlabels;t.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},69161:function(t,e,r){"use strict";var n=r(34809),i=r(10270);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},96673:function(t,e,r){"use strict";var n=r(45568),i=r(62203),a=r(34809),o=a.strScale,s=a.strTranslate,l=r(30635),c=r(32995).toMoveInsideBar,u=r(84102),h=u.recordMinTextSize,f=u.clearMinTextSize,p=r(37252),d=r(35734),m=d.attachFxHandlers,g=d.determineInsideTextFont,y=d.layoutAreas,v=d.prerenderTitles,x=d.positionTitleOutside,_=d.formatSliceLabel;function b(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}t.exports=function(t,e){var r=t._context.staticPlot,u=t._fullLayout;f("funnelarea",u),v(e,t),y(e,u._size),a.makeTraceGroups(u._funnelarealayer,e,"trace").each((function(e){var f=n.select(this),d=e[0],y=d.trace;!function(t){if(t.length){var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),c=e.vTotal,u=c,h=c*l/(1-l)/c,f=[];for(f.push(E()),o=t.length-1;o>-1;o--)if(!(s=t[o]).hidden){var p=s.v/u;h+=p,f.push(E())}var d=1/0,m=-1/0;for(o=0;o-1;o--)if(!(s=t[o]).hidden){var M=f[A+=1][0],S=f[A][1];s.TL=[-M,S],s.TR=[M,S],s.BL=T,s.BR=k,s.pxmid=(b=s.TR,w=s.BR,[.5*(b[0]+w[0]),.5*(b[1]+w[1])]),T=s.TL,k=s.TR}}function E(){var t,e={x:t=Math.sqrt(h),y:-t};return[e.x,e.y]}}(e),f.each((function(){var f=n.select(this).selectAll("g.slice").data(e);f.enter().append("g").classed("slice",!0),f.exit().remove(),f.each((function(o,s){if(o.hidden)n.select(this).selectAll("path,g").remove();else{o.pointNumber=o.i,o.curveNumber=y.index;var f=d.cx,v=d.cy,x=n.select(this),w=x.selectAll("path.surface").data([o]);w.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),x.call(m,t,e);var T="M"+(f+o.TR[0])+","+(v+o.TR[1])+b(o.TR,o.BR)+b(o.BR,o.BL)+b(o.BL,o.TL)+"Z";w.attr("d",T),_(t,o,d);var k=p.castOption(y.textposition,o.pts),A=x.selectAll("g.slicetext").data(o.text&&"none"!==k?[0]:[]);A.enter().append("g").classed("slicetext",!0),A.exit().remove(),A.each((function(){var r=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),p=a.ensureUniformFontSize(t,g(y,o,u.font));r.text(o.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(i.font,p).call(l.convertToTspans,t);var d,m,x,_=i.bBox(r.node()),b=Math.min(o.BL[1],o.BR[1])+v,w=Math.max(o.TL[1],o.TR[1])+v;m=Math.max(o.TL[0],o.BL[0])+f,x=Math.min(o.TR[0],o.BR[0])+f,(d=c(m,x,b,w,_,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=p.size,h(y.type,d,u),e[s].transform=d,a.setTransormAndDisplay(r,d)}))}}));var v=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);v.enter().append("g").classed("titletext",!0),v.exit().remove(),v.each((function(){var e=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),r=y.title.text;y._meta&&(r=a.templateString(r,y._meta)),e.text(r).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(i.font,y.title.font).call(l.convertToTspans,t);var c=x(d,u._size);e.attr("transform",s(c.x,c.y)+o(Math.min(1,c.scale))+s(c.tx,c.ty))}))}))}))}},13757:function(t,e,r){"use strict";var n=r(45568),i=r(32891),a=r(84102).resizeText;t.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(".trace");a(t,e,"funnelarea"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},81658:function(t,e,r){"use strict";var n=r(36640),i=r(9829),a=r(80337),o=r(80712).axisHoverFormat,s=r(3208).rb,l=r(3208).ay,c=r(87163),u=r(93049).extendFlat;t.exports=u({z:{valType:"data_array",editType:"calc"},x:u({},n.x,{impliedEdits:{xtype:"array"}}),x0:u({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:u({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:u({},n.y,{impliedEdits:{ytype:"array"}}),y0:u({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:u({},n.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:u({},n.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:u({},n.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:u({},n.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:u({},n.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:u({},n.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:u({},n.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:o("x"),yhoverformat:o("y"),zhoverformat:o("z",1),hovertemplate:s(),texttemplate:l({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),textfont:a({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style"}),showlegend:u({},i.showlegend,{dflt:!1}),zorder:n.zorder},{transforms:void 0},c("",{cLetter:"z",autoColorDflt:!1}))},51670:function(t,e,r){"use strict";var n=r(33626),i=r(34809),a=r(29714),o=r(40528),s=r(19226),l=r(28379),c=r(87869),u=r(93877),h=r(69295),f=r(78106),p=r(80924),d=r(63821).BADNUM;function m(t){for(var e=[],r=t.length,n=0;n1){var e=(t[t.length-1]-t[0])/(t.length-1),r=Math.abs(e/100);for(k=0;kr)return!1}return!0}(M.rangebreaks||S.rangebreaks)&&(T=function(t,e,r){for(var n=[],i=-1,a=0;a=0;o--)(s=((h[[(r=(a=f[o])[0])-1,i=a[1]]]||m)[2]+(h[[r+1,i]]||m)[2]+(h[[r,i-1]]||m)[2]+(h[[r,i+1]]||m)[2])/20)&&(l[a]=[r,i,s],f.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(a in l)h[a]=l[a],u.push(l[a])}return u.sort((function(t,e){return e[2]-t[2]}))}},93125:function(t,e,r){"use strict";var n=r(32141),i=r(34809),a=i.isArrayOrTypedArray,o=r(29714),s=r(88856).extractOpts;t.exports=function(t,e,r,l,c){c||(c={});var u,h,f,p,d=c.isContour,m=t.cd[0],g=m.trace,y=t.xa,v=t.ya,x=m.x,_=m.y,b=m.z,w=m.xCenter,T=m.yCenter,k=m.zmask,A=g.zhoverformat,M=x,S=_;if(!1!==t.index){try{f=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(f<0||f>=b[0].length||p<0||p>b.length)return}else{if(n.inbox(e-x[0],e-x[x.length-1],0)>0||n.inbox(r-_[0],r-_[_.length-1],0)>0)return;if(d){var E;for(M=[2*x[0]-x[1]],E=1;Em&&(y=Math.max(y,Math.abs(t[a][o]-d)/(g-m))))}return y}t.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r.01;r++)i=o(t,e,a(i));return i>.01&&n.log("interp2d didn't converge quickly",i),t}},63814:function(t,e,r){"use strict";var n=r(34809);t.exports=function(t,e){t("texttemplate");var r=n.extendFlat({},e.font,{color:"auto",size:"auto"});n.coerceFont(t,"textfont",r)}},80924:function(t,e,r){"use strict";var n=r(33626),i=r(34809).isArrayOrTypedArray;t.exports=function(t,e,r,a,o,s){var l,c,u,h=[],f=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(i(e)&&e.length>1&&!p&&"category"!==s.type){var m=e.length;if(!(m<=o))return f?e.slice(0,o):e.slice(0,o+1);if(f||d)h=Array.from(e).slice(0,o);else if(1===o)h="log"===s.type?[.5*e[0],2*e[0]]:[e[0]-.5,e[0]+.5];else if("log"===s.type){for(h=[Math.pow(e[0],1.5)/Math.pow(e[1],.5)],u=1;u0;)k=A.c2p(N[L]),L--;for(k0;)C=M.c2p(j[L]),L--;C=A._length||k<=0||E>=M._length||C<=0)return z.selectAll("image").data([]).exit().remove(),void _(z);"fast"===X?(J=Z,K=G):(J=Q,K=tt);var et=document.createElement("canvas");et.width=J,et.height=K;var rt,nt,it=et.getContext("2d",{willReadFrequently:!0}),at=p(D,{noNumericCheck:!0,returnArray:!0});"fast"===X?(rt=W?function(t){return Z-1-t}:l.identity,nt=Y?function(t){return G-1-t}:l.identity):(rt=function(t){return l.constrain(Math.round(A.c2p(N[t])-r),0,Q)},nt=function(t){return l.constrain(Math.round(M.c2p(j[t])-E),0,tt)});var ot,st,lt,ct,ut=nt(0),ht=[ut,ut],ft=W?0:1,pt=Y?0:1,dt=0,mt=0,gt=0,yt=0;function vt(t,e){if(void 0!==t){var r=at(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),dt+=e,mt+=r[0]*e,gt+=r[1]*e,yt+=r[2]*e,r}return[0,0,0,0]}function xt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return vt(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],c=o-i||0,u=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,vt(i+r.frac*c+n.frac*(u+r.frac*a))}if("default"!==X){var _t,bt=0;try{_t=new Uint8Array(J*K*4)}catch(t){_t=new Array(J*K*4)}if("smooth"===X){var wt,Tt,kt,At=U||N,Mt=V||j,St=new Array(At.length),Et=new Array(Mt.length),Ct=new Array(Q),Lt=U?w:b,It=V?w:b;for(L=0;LXt||Xt>M._length))for(I=Gt;IJt||Jt>A._length)){var Kt=u({x:$t,y:Yt},D,t._fullLayout);Kt.x=$t,Kt.y=Yt;var Qt=O.z[L][I];void 0===Qt?(Kt.z="",Kt.zLabel=""):(Kt.z=Qt,Kt.zLabel=s.tickText(Ut,Qt,"hover").text);var te=O.text&&O.text[L]&&O.text[L][I];void 0!==te&&!1!==te||(te=""),Kt.text=te;var ee=l.texttemplateString(Nt,Kt,t._fullLayout._d3locale,Kt,D._meta||{});if(ee){var re=ee.split("
"),ne=re.length,ie=0;for(P=0;P0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]c?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),c=d(r,a,s),u=t===i?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}t.exports=function(t,e,r,n,a){var s,l,c=-1.1*e,f=-.1*e,p=t-f,d=r[0],m=r[1],g=Math.min(h(d+f,d+p,n,a),h(m+f,m+p,n,a)),y=Math.min(h(d+c,d+f,n,a),h(m+c,m+f,n,a));if(g>y&&yo){var v=s===i?1:6,x=s===i?"M12":"M1";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf("-",v);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,a);if(cr.r2l(B)&&(j=o.tickIncrement(j,_.size,!0,p)),O.start=r.l2r(j),F||i.nestedProperty(e,y+".start").set(O.start)}var U=_.end,V=r.r2l(z.end),q=void 0!==V;if((_.endFound||q)&&V!==r.r2l(U)){var H=q?V:i.aggNums(Math.max,null,d);O.end=r.l2r(H),q||i.nestedProperty(e,y+".start").set(O.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[y]=i.extendFlat({},e[y]||{}),delete e._input[G],delete e[G]),[O,d]}t.exports={calc:function(t,e){var r,a,p,d,m=[],g=[],y="h"===e.orientation,v=o.getFromId(t,y?e.yaxis:e.xaxis),x=y?"y":"x",_={x:"y",y:"x"}[x],b=e[x+"calendar"],w=e.cumulative,T=f(t,e,v,x),k=T[0],A=T[1],M="string"==typeof k.size,S=[],E=M?S:k,C=[],L=[],I=[],P=0,z=e.histnorm,O=e.histfunc,D=-1!==z.indexOf("density");w.enabled&&D&&(z=z.replace(/ ?density$/,""),D=!1);var R,F="max"===O||"min"===O?null:0,B=l.count,N=c[z],j=!1,U=function(t){return v.r2c(t,0,b)};for(i.isArrayOrTypedArray(e[_])&&"count"!==O&&(R=e[_],j="avg"===O,B=l[O]),r=U(k.start),p=U(k.end)+(r-o.tickIncrement(r,k.size,!1,b))/1e6;r=0&&d=0;n--)s(n);else if("increasing"===e){for(n=1;n=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(g,w.direction,w.currentbin);var J=Math.min(m.length,g.length),K=[],Q=0,tt=J-1;for(r=0;r=Q;r--)if(g[r]){tt=r;break}for(r=Q;r<=tt;r++)if(n(m[r])&&n(g[r])){var et={p:m[r],s:g[r],b:0};w.enabled||(et.pts=I[r],Z?et.ph0=et.ph1=I[r].length?A[I[r][0]]:m[r]:(e._computePh=!0,et.ph0=H(S[r]),et.ph1=H(S[r+1],!0))),K.push(et)}return 1===K.length&&(K[0].width1=o.tickIncrement(K[0].p,k.size,!1,b)-K[0].p),s(K,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected(K,e,X),K},calcAllAutoBins:f}},39732:function(t){"use strict";t.exports={eventDataKeys:["binNumber"]}},83380:function(t,e,r){"use strict";var n=r(34809),i=r(5975),a=r(33626).traceIs,o=r(36301),s=r(17550).validateCornerradius,l=n.nestedProperty,c=r(84391).getAxisGroup,u=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],h=["x","y"];t.exports=function(t,e){var r,f,p,d,m,g,y,v=e._histogramBinOpts={},x=[],_={},b=[];function w(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function T(t){return"v"===t.orientation?"x":"y"}function k(t,r,a){var o=t.uid+"__"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+"calendar"]||"",c=v[r],u=!0;c&&(s===c.axType&&l===c.calendar?(u=!1,c.traces.push(t),c.dirs.push(a)):(r=o,s!==c.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+c.axType,"axis."].join(" ")),l!==c.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",c.calendar?"on a "+c.calendar+" calendar":"w/o a set calendar"].join(" ")))),u&&(v[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+"calendar"]||""}),t["_"+a+"bingroup"]=r}for(m=0;mS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],C=[],L=[],I="string"==typeof w.size,P="string"==typeof A.size,z=[],O=[],D=I?z:w,R=P?O:A,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf("density"),q="max"===U||"min"===U?null:0,H=a.count,G=o[j],Z=!1,W=[],Y=[],X="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";X&&"count"!==U&&(Z="avg"===U,H=a[U]);var $=w.size,J=x(w.start),K=x(w.end)+(J-i.tickIncrement(J,$,!1,y))/1e6;for(r=J;r=0&&p=0&&d-1,flipY:L.tiling.flip.indexOf("y")>-1,orientation:L.tiling.orientation,pad:{inner:L.tiling.pad},maxDepth:L._maxDepth}).descendants(),D=1/0,R=-1/0;O.forEach((function(t){var e=t.depth;e>=L._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(D=Math.min(D,e),R=Math.max(R,e))})),d=d.data(O,u.getPtId),L._maxVisibleLayers=isFinite(R)?R-D+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],_),d.order();var F=null;if(T&&S){var B=u.getPtId(S);d.each((function(t){null===F&&u.getPtId(t)===B&&(F={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var N=function(){return F||{x0:0,x1:g,y0:0,y1:y}},j=d;return T&&(j=j.transition().each("end",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),j.each((function(s){s._x0=v(s.x0),s._x1=v(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=v(s.x1-L.tiling.pad),s._hoverY=x(z?s.y1-L.tiling.pad/2:s.y0+L.tiling.pad/2);var d=n.select(this),m=i.ensureSingle(d,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?m.transition().attrTween("d",(function(t){var e=A(t,p,N(),[g,y],{orientation:L.tiling.orientation,flipX:L.tiling.flip.indexOf("x")>-1,flipY:L.tiling.flip.indexOf("y")>-1});return function(t){return _(e(t))}})):m.attr("d",_),d.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),m.call(l,s,L,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=f(s,r,L,e,C)||"";var k=i.ensureSingle(d,"g","slicetext"),S=i.ensureSingle(k,"text","",(function(t){t.attr("data-notex",1)})),O=i.ensureUniformFontSize(t,u.determineTextFont(L,s,C.font));S.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",P?"end":I?"start":"middle").call(a.font,O).call(o.convertToTspans,t),s.textBB=a.bBox(S.node()),s.transform=b(s,{fontSize:O.size}),s.transform.fontSize=O.size,T?S.transition().attrTween("transform",(function(t){var e=M(t,p,N(),[g,y]);return function(t){return w(e(t))}})):S.attr("transform",w(s))})),F}},36858:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"icicle",basePlotModule:r(63387),categories:[],animatable:!0,attributes:r(12505),layoutAttributes:r(60052),supplyDefaults:r(17918),supplyLayoutDefaults:r(11747),calc:r(36349)._,crossTraceCalc:r(36349).t,plot:r(1395),style:r(50579).style,colorbar:r(21146),meta:{}}},60052:function(t){"use strict";t.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},11747:function(t,e,r){"use strict";var n=r(34809),i=r(60052);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("iciclecolorway",e.colorway),r("extendiciclecolors")}},29316:function(t,e,r){"use strict";var n=r(92264),i=r(36141);t.exports=function(t,e,r){var a=r.flipX,o=r.flipY,s="h"===r.orientation,l=r.maxDepth,c=e[0],u=e[1];l&&(c=(t.height+1)*e[0]/Math.min(t.height+1,l),u=(t.height+1)*e[1]/Math.min(t.height+1,l));var h=n.partition().padding(r.pad.inner).size(s?[e[1],c]:[e[0],u])(t);return(s||a||o)&&i(h,e,{swapXY:s,flipX:a,flipY:o}),h}},1395:function(t,e,r){"use strict";var n=r(41567),i=r(23593);t.exports=function(t,e,r,a){return n(t,e,r,a,{type:"icicle",drawDescendants:i})}},50579:function(t,e,r){"use strict";var n=r(45568),i=r(78766),a=r(34809),o=r(84102).resizeText,s=r(72043);function l(t,e,r,n){var o=e.data.data,l=!e.children,c=o.i,u=a.castOption(r,c,"marker.line.color")||i.defaultLine,h=a.castOption(r,c,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",h).call(i.stroke,u).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._iciclelayer.selectAll(".trace");o(t,e,"icicle"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},22153:function(t,e,r){"use strict";for(var n=r(9829),i=r(36640).zorder,a=r(3208).rb,o=r(93049).extendFlat,s=r(42939).colormodel,l=["rgb","rgba","rgba256","hsl","hsla"],c=[],u=[],h=0;h0||n.inbox(r-s.y0,r-(s.y0+s.h*l.dy),0)>0)){var h,f=Math.floor((e-s.x0)/l.dx),p=Math.floor(Math.abs(r-s.y0)/l.dy);if(l._hasZ?h=s.z[p][f]:l._hasSource&&(h=l._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(f,p,1,1).data),h){var d,m=s.hi||l.hoverinfo;if(m){var g=m.split("+");-1!==g.indexOf("all")&&(g=["color"]),-1!==g.indexOf("color")&&(d=!0)}var y,v=o.colormodel[l.colormodel],x=v.colormodel||l.colormodel,_=x.length,b=l._scaler(h),w=v.suffix,T=[];(l.hovertemplate||d)&&(T.push("["+[b[0]+w[0],b[1]+w[1],b[2]+w[2]].join(", ")),4===_&&T.push(", "+b[3]+w[3]),T.push("]"),T=T.join(""),t.extraText=x.toUpperCase()+": "+T),a(l.hovertext)&&a(l.hovertext[p])?y=l.hovertext[p][f]:a(l.text)&&a(l.text[p])&&(y=l.text[p][f]);var k=u.c2p(s.y0+(p+.5)*l.dy),A=s.x0+(f+.5)*l.dx,M=s.y0+(p+.5)*l.dy,S="["+h.slice(0,l.colormodel.length).join(", ")+"]";return[i.extendFlat(t,{index:[p,f],x0:c.c2p(s.x0+f*l.dx),x1:c.c2p(s.x0+(f+1)*l.dx),y0:k,y1:k,color:b,xVal:A,xLabelVal:A,yVal:M,yLabelVal:M,zLabelVal:S,text:y,hovertemplateLabels:{zLabel:S,colorLabel:T,"color[0]Label":b[0]+w[0],"color[1]Label":b[1]+w[1],"color[2]Label":b[2]+w[2],"color[3]Label":b[3]+w[3]}})]}}}},92106:function(t,e,r){"use strict";t.exports={attributes:r(22153),supplyDefaults:r(82766),calc:r(31181),plot:r(36899),style:r(67555),hoverPoints:r(57328),eventData:r(45461),moduleType:"trace",name:"image",basePlotModule:r(37703),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},36899:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=i.strTranslate,o=r(62972),s=r(42939),l=r(95544),c=r(1837).STYLE;t.exports=function(t,e,r,u){var h=e.xaxis,f=e.yaxis,p=!t._context._exportedPlot&&l();i.makeTraceGroups(u,r,"im").each((function(e){var r=n.select(this),l=e[0],u=l.trace,d=("fast"===u.zsmooth||!1===u.zsmooth&&p)&&!u._hasZ&&u._hasSource&&"linear"===h.type&&"linear"===f.type;u._realImage=d;var m,g,y,v,x,_,b=l.z,w=l.x0,T=l.y0,k=l.w,A=l.h,M=u.dx,S=u.dy;for(_=0;void 0===m&&_0;)g=h.c2p(w+_*M),_--;for(_=0;void 0===v&&_0;)x=f.c2p(T+_*S),_--;gz[0];if(O||D){var R=m+E/2,F=v+C/2;I+="transform:"+a(R+"px",F+"px")+"scale("+(O?-1:1)+","+(D?-1:1)+")"+a(-R+"px",-F+"px")+";"}}L.attr("style",I);var B=new Promise((function(t){if(u._hasZ)t();else if(u._hasSource)if(u._canvas&&u._canvas.el.width===k&&u._canvas.el.height===A&&u._canvas.source===u.source)t();else{var e=document.createElement("canvas");e.width=k,e.height=A;var r=e.getContext("2d",{willReadFrequently:!0});u._image=u._image||new Image;var n=u._image;n.onload=function(){r.drawImage(n,0,0),u._canvas={el:e,source:u.source},t()},n.setAttribute("src",u.source)}})).then((function(){var t,e;if(u._hasZ)e=N((function(t,e){var r=b[e][t];return i.isTypedArray(r)&&(r=Array.from(r)),r})),t=e.toDataURL("image/png");else if(u._hasSource)if(d)t=u.source;else{var r=u._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,k,A).data;e=N((function(t,e){var n=4*(e*k+t);return[r[n],r[n+1],r[n+2],r[n+3]]})),t=e.toDataURL("image/png")}L.attr({"xlink:href":t,height:C,width:E,x:m,y:v})}));t._promises.push(B)}function N(t){var e=document.createElement("canvas");e.width=E,e.height=C;var r,n=e.getContext("2d",{willReadFrequently:!0}),a=function(t){return i.constrain(Math.round(h.c2p(w+t*M)-m),0,E)},o=function(t){return i.constrain(Math.round(f.c2p(T+t*S)-v),0,C)},c=s.colormodel[u.colormodel],p=c.colormodel||u.colormodel,d=c.fmt;for(_=0;_0}function T(t){t.each((function(t){v.stroke(n.select(this),t.line.color)})).each((function(t){v.fill(n.select(this),t.color)})).style("stroke-width",(function(t){return t.line.width}))}function k(t,e,r){var n=t._fullLayout,i=o.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),a={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function l(t,e){return o.coerce(i,a,y,t,e)}return m(i,a,l,s,n),g(i,a,l,s),a}function A(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function M(t,e,r,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(a);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(p.convertToTspans,i).call(h.font,e),h.bBox(o.node())}function S(t,e,r,n,i,a){var s="_cache"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=o.aggNums(a,null,[t[s].value,n],2);return t[s].value=l,l}t.exports=function(t,e,r,m){var g,y=t._fullLayout;w(r)&&m&&(g=m()),o.makeTraceGroups(y._indicatorlayer,e,"trace").each((function(e){var m,E,C,L,I,P=e[0].trace,z=n.select(this),O=P._hasGauge,D=P._isAngular,R=P._isBullet,F=P.domain,B={w:y._size.w*(F.x[1]-F.x[0]),h:y._size.h*(F.y[1]-F.y[0]),l:y._size.l+y._size.w*F.x[0],r:y._size.r+y._size.w*(1-F.x[1]),t:y._size.t+y._size.h*(1-F.y[1]),b:y._size.b+y._size.h*F.y[0]},N=B.l+B.w/2,j=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=f.innerRadius*U,q=P.align||"center";if(E=j,O){if(D&&(m=N,E=j+U/2,C=function(t){return function(t,e){return[e/Math.sqrt(t.width/2*(t.width/2)+t.height*t.height),t,e]}(t,.9*V)}),R){var H=f.bulletPadding,G=1-f.bulletNumberDomainSize+H;m=B.l+(G+(1-G)*_[q])*B.w,C=function(t){return A(t,(f.bulletNumberDomainSize-H)*B.w,B.h)}}}else m=B.l+_[q]*B.w,C=function(t){return A(t,B.w,B.h)};!function(t,e,r,i){var c,u,f,m=r[0].trace,g=i.numbersX,y=i.numbersY,T=m.align||"center",A=x[T],E=i.transitionOpts,C=i.onComplete,L=o.ensureSingle(e,"g","numbers"),I=[];m._hasNumber&&I.push("number"),m._hasDelta&&(I.push("delta"),"left"===m.delta.position&&I.reverse());var P=L.selectAll("text").data(I);function z(e,r,n,i){if(!e.match("s")||n>=0==i>=0||r(n).slice(-1).match(b)||r(i).slice(-1).match(b))return r;var a=e.slice().replace("s","f").replace(/\d+/,(function(t){return parseInt(t)-1})),o=k(t,{tickformat:a});return function(t){return Math.abs(t)<1?d.tickText(o,t).text:r(t)}}P.enter().append("text"),P.attr("text-anchor",(function(){return A})).attr("class",(function(t){return t})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),P.exit().remove();var O,D=m.mode+m.align;if(m._hasDelta&&(O=function(){var e=k(t,{tickformat:m.delta.valueformat},m._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=m.delta.suffix,s=m.delta.prefix,l=function(t){return m.delta.relative?t.relativeDelta:t.delta},c=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?m.delta.increasing.symbol:m.delta.decreasing.symbol)+s+e(t)+o},f=function(t){return t.delta>=0?m.delta.increasing.color:m.delta.decreasing.color};void 0===m._deltaLastValue&&(m._deltaLastValue=l(r[0]));var g=L.select("text.delta");function y(){g.text(c(l(r[0]),i)).call(v.fill,f(r[0])).call(p.convertToTspans,t)}return g.call(h.font,m.delta.font).call(v.fill,f({delta:m._deltaLastValue})),w(E)?g.transition().duration(E.duration).ease(E.easing).tween("text",(function(){var t=n.select(this),e=l(r[0]),o=m._deltaLastValue,s=z(m.delta.valueformat,i,o,e),u=a(o,e);return m._deltaLastValue=e,function(e){t.text(c(u(e),s)),t.call(v.fill,f({delta:u(e)}))}})).each("end",(function(){y(),C&&C()})).each("interrupt",(function(){y(),C&&C()})):y(),u=M(c(l(r[0]),i),m.delta.font,A,t),g}(),D+=m.delta.position+m.delta.font.size+m.delta.font.family+m.delta.valueformat,D+=m.delta.increasing.symbol+m.delta.decreasing.symbol,f=u),m._hasNumber&&(function(){var e=k(t,{tickformat:m.number.valueformat},m._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=m.number.suffix,s=m.number.prefix,l=L.select("text.number");function u(){var e="number"==typeof r[0].y?s+i(r[0].y)+o:"-";l.text(e).call(h.font,m.number.font).call(p.convertToTspans,t)}w(E)?l.transition().duration(E.duration).ease(E.easing).each("end",(function(){u(),C&&C()})).each("interrupt",(function(){u(),C&&C()})).attrTween("text",(function(){var t=n.select(this),e=a(r[0].lastY,r[0].y);m._lastValue=r[0].y;var l=z(m.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(s+l(e(r))+o)}})):u(),c=M(s+i(r[0].y)+o,m.number.font,A,t)}(),D+=m.number.font.size+m.number.font.family+m.number.valueformat+m.number.suffix+m.number.prefix,f=c),m._hasDelta&&m._hasNumber){var R,F,B=[(c.left+c.right)/2,(c.top+c.bottom)/2],N=[(u.left+u.right)/2,(u.top+u.bottom)/2],j=.75*m.delta.font.size;"left"===m.delta.position&&(R=S(m,"deltaPos",0,-1*(c.width*_[m.align]+u.width*(1-_[m.align])+j),D,Math.min),F=B[1]-N[1],f={width:c.width+u.width+j,height:Math.max(c.height,u.height),left:u.left+R,right:c.right,top:Math.min(c.top,u.top+F),bottom:Math.max(c.bottom,u.bottom+F)}),"right"===m.delta.position&&(R=S(m,"deltaPos",0,c.width*(1-_[m.align])+u.width*_[m.align]+j,D,Math.max),F=B[1]-N[1],f={width:c.width+u.width+j,height:Math.max(c.height,u.height),left:c.left,right:u.right+R,top:Math.min(c.top,u.top+F),bottom:Math.max(c.bottom,u.bottom+F)}),"bottom"===m.delta.position&&(R=null,F=u.height,f={width:Math.max(c.width,u.width),height:c.height+u.height,left:Math.min(c.left,u.left),right:Math.max(c.right,u.right),top:c.bottom-c.height,bottom:c.bottom+u.height}),"top"===m.delta.position&&(R=null,F=c.top,f={width:Math.max(c.width,u.width),height:c.height+u.height,left:Math.min(c.left,u.left),right:Math.max(c.right,u.right),top:c.bottom-c.height-u.height,bottom:c.bottom}),O.attr({dx:R,dy:F})}(m._hasNumber||m._hasDelta)&&L.attr("transform",(function(){var t=i.numbersScaler(f);D+=t[2];var e,r=S(m,"numbersScale",1,t[0],D,Math.min);m._scaleNumbers||(r=1),e=m._isAngular?y-r*f.bottom:y-r*(f.top+f.bottom)/2,m._numbersTop=r*f.top+e;var n=f[T];"center"===T&&(n=(f.left+f.right)/2);var a=g-r*n;return a=S(m,"numbersTranslate",0,a,D,Math.max),l(a,e)+s(r)}))}(t,z,e,{numbersX:m,numbersY:E,numbersScaler:C,transitionOpts:r,onComplete:g}),O&&(L={range:P.gauge.axis.range,color:P.gauge.bgcolor,line:{color:P.gauge.bordercolor,width:0},thickness:1},I={range:P.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:P.gauge.bordercolor,width:P.gauge.borderwidth},thickness:1});var Z=z.selectAll("g.angular").data(D?e:[]);Z.exit().remove();var W=z.selectAll("g.angularaxis").data(D?e:[]);W.exit().remove(),D&&function(t,e,r,a){var o,s,h,f,p=r[0].trace,m=a.size,g=a.radius,y=a.innerRadius,v=a.gaugeBg,x=a.gaugeOutline,_=[m.l+m.w/2,m.t+m.h/2+g/2],b=a.gauge,A=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function C(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-E;return r<-E?-E:r>E?E:r}function L(t){return n.svg.arc().innerRadius((y+g)/2-t/2*(g-y)).outerRadius((y+g)/2+t/2*(g-y)).startAngle(-E)}function I(t){t.attr("d",(function(t){return L(t.thickness).startAngle(C(t.range[0])).endAngle(C(t.range[1]))()}))}b.enter().append("g").classed("angular",!0),b.attr("transform",l(_[0],_[1])),A.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),A.selectAll("g.xangularaxistick,path,text").remove(),(o=k(t,p.gauge.axis)).type="linear",o.range=p.gauge.axis.range,o._id="xangularaxis",o.ticklabeloverflow="allow",o.setScale();var P=function(t){return(o.range[0]-t.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},z={},O=d.makeLabelFns(o,0).labelStandoff;z.xFn=function(t){var e=P(t);return Math.cos(e)*O},z.yFn=function(t){var e=P(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(O+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*u)},z.anchorFn=function(t){var e=P(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},z.heightFn=function(t,e,r){var n=P(t);return-.5*(1+Math.sin(n))*r};var D=function(t){return l(_[0]+g*Math.cos(t),_[1]-g*Math.sin(t))};h=function(t){return D(P(t))};if(s=d.calcTicks(o),f=d.getTickSigns(o)[2],o.visible){f="inside"===o.ticks?-1:1;var R=(o.linewidth||1)/2;d.drawTicks(t,o,{vals:s,layer:A,path:"M"+f*R+",0h"+f*o.ticklen,transFn:function(t){var e=P(t);return D(e)+"rotate("+-c(e)+")"}}),d.drawLabels(t,o,{vals:s,layer:A,transFn:h,labelFns:z})}var F=[v].concat(p.gauge.steps),B=b.selectAll("g.bg-arc").data(F);B.enter().append("g").classed("bg-arc",!0).append("path"),B.select("path").call(I).call(T),B.exit().remove();var N=L(p.gauge.bar.thickness),j=b.selectAll("g.value-arc").data([p.gauge.bar]);j.enter().append("g").classed("value-arc",!0).append("path");var U,V,q,H=j.select("path");w(M)?(H.transition().duration(M.duration).ease(M.easing).each("end",(function(){S&&S()})).each("interrupt",(function(){S&&S()})).attrTween("d",(U=N,V=C(r[0].lastY),q=C(r[0].y),function(){var t=i(V,q);return function(e){return U.endAngle(t(e))()}})),p._lastValue=r[0].y):H.attr("d","number"==typeof r[0].y?N.endAngle(C(r[0].y)):"M0,0Z"),H.call(T),j.exit().remove(),F=[];var G=p.gauge.threshold.value;(G||0===G)&&F.push({range:[G,G],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var Z=b.selectAll("g.threshold-arc").data(F);Z.enter().append("g").classed("threshold-arc",!0).append("path"),Z.select("path").call(I).call(T),Z.exit().remove();var W=b.selectAll("g.gauge-outline").data([x]);W.enter().append("g").classed("gauge-outline",!0).append("path"),W.select("path").call(I).call(T),W.exit().remove()}(t,0,e,{radius:U,innerRadius:V,gauge:Z,layer:W,size:B,gaugeBg:L,gaugeOutline:I,transitionOpts:r,onComplete:g});var Y=z.selectAll("g.bullet").data(R?e:[]);Y.exit().remove();var X=z.selectAll("g.bulletaxis").data(R?e:[]);X.exit().remove(),R&&function(t,e,r,n){var i,a,o,s,c,u=r[0].trace,h=n.gauge,p=n.layer,m=n.gaugeBg,g=n.gaugeOutline,y=n.size,x=u.domain,_=n.transitionOpts,b=n.onComplete;h.enter().append("g").classed("bullet",!0),h.attr("transform",l(y.l,y.t)),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var A=y.h,M=u.gauge.bar.thickness*A,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(u._hasNumber||u._hasDelta?1-f.bulletNumberDomainSize:1);function C(t){t.attr("width",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr("x",(function(t){return i.c2p(t.range[0])})).attr("y",(function(t){return.5*(1-t.thickness)*A})).attr("height",(function(t){return t.thickness*A}))}(i=k(t,u.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=d.calcTicks(i),o=d.makeTransTickFn(i),s=d.getTickSigns(i)[2],c=y.t+y.h,i.visible&&(d.drawTicks(t,i,{vals:"inside"===i.ticks?d.clipEnds(i,a):a,layer:p,path:d.makeTickPath(i,c,s),transFn:o}),d.drawLabels(t,i,{vals:a,layer:p,transFn:o,labelFns:d.makeLabelFns(i,c)}));var L=[m].concat(u.gauge.steps),I=h.selectAll("g.bg-bullet").data(L);I.enter().append("g").classed("bg-bullet",!0).append("rect"),I.select("rect").call(C).call(T),I.exit().remove();var P=h.selectAll("g.value-bullet").data([u.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",M).attr("y",(A-M)/2).call(T),w(_)?P.select("rect").transition().duration(_.duration).ease(_.easing).each("end",(function(){b&&b()})).each("interrupt",(function(){b&&b()})).attr("width",Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y))):0),P.exit().remove();var z=r.filter((function(){return u.gauge.threshold.value||0===u.gauge.threshold.value})),O=h.selectAll("g.threshold-bullet").data(z);O.enter().append("g").classed("threshold-bullet",!0).append("line"),O.select("line").attr("x1",i.c2p(u.gauge.threshold.value)).attr("x2",i.c2p(u.gauge.threshold.value)).attr("y1",(1-u.gauge.threshold.thickness)/2*A).attr("y2",(1-(1-u.gauge.threshold.thickness)/2)*A).call(v.stroke,u.gauge.threshold.line.color).style("stroke-width",u.gauge.threshold.line.width),O.exit().remove();var D=h.selectAll("g.gauge-outline").data([g]);D.enter().append("g").classed("gauge-outline",!0).append("rect"),D.select("rect").call(C).call(T),D.exit().remove()}(t,0,e,{gauge:Y,layer:X,size:B,gaugeBg:L,gaugeOutline:I,transitionOpts:r,onComplete:g});var $=z.selectAll("text.title").data(e);$.exit().remove(),$.enter().append("text").classed("title",!0),$.attr("text-anchor",(function(){return R?x.right:x[P.title.align]})).text(P.title.text).call(h.font,P.title.font).call(p.convertToTspans,t),$.attr("transform",(function(){var t,e=B.l+B.w*_[P.title.align],r=f.titlePadding,n=h.bBox($.node());return O?(D&&(t=P.gauge.axis.visible?h.bBox(W.node()).top-r-n.bottom:B.t+B.h/2-U/2-n.bottom-r),R&&(t=E-(n.top+n.bottom)/2,e=B.l-f.bulletPadding*B.w)):t=P._numbersTop-r-n.bottom,l(e,t)}))}))}},70252:function(t,e,r){"use strict";var n=r(87163),i=r(80712).axisHoverFormat,a=r(3208).rb,o=r(42450),s=r(9829),l=r(93049).extendFlat,c=r(13582).overrideAll,u=t.exports=c(l({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a(),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),valuehoverformat:i("value",1),showlegend:l({},s.showlegend,{dflt:!1})},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,lightposition:o.lightposition,lighting:o.lighting,flatshading:o.flatshading,contour:o.contour,hoverinfo:l({},s.hoverinfo)}),"calc","nested");u.flatshading.dflt=!0,u.lighting.facenormalsepsilon.dflt=0,u.x.editType=u.y.editType=u.z.editType=u.value.editType="calc+clearAxisTypes",u.transforms=void 0},58988:function(t,e,r){"use strict";var n=r(28379),i=r(36402).processGrid,a=r(36402).filter;t.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n-1}function R(t,e){return null===t?e:t}function F(e,r,n){L();var i,a,o,l=[r],c=[n];if(s>=1)l=[r],c=[n];else if(s>0){var u=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i-1?n[p]:C(d,m,y);f[p]=x>-1?x:P(d,m,y,R(e,v))}i=f[0],a=f[1],o=f[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++g}}function B(t,e,r,n){var i=t[3];in&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}var V=3;function q(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):aMath.abs(C-M)?[A,C]:[C,M];d=!0,Q(r,L[0],L[1]),d=!1}}var z=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach((function(r){for(var n=[],i=0;i0&&(h.push(d.id),"x"===r?f.push([d.distRatio,0,0]):"y"===r?f.push([0,d.distRatio,0]):f.push([0,0,d.distRatio]))}else u=nt(1,"x"===r?_-1:"y"===r?b-1:w-1);h.length>0&&(n[a]="x"===r?tt(e,h,o,s,f,n[a]):"y"===r?et(e,h,o,s,f,n[a]):rt(e,h,o,s,f,n[a]),a++),u.length>0&&(n[a]="x"===r?$(e,u,o,s,n[a]):"y"===r?J(e,u,o,s,n[a]):K(e,u,o,s,n[a]),a++)}var m=t.caps[r];m.show&&m.fill&&(O(m.fill),n[a]="x"===r?$(e,[0,_-1],o,s,n[a]):"y"===r?J(e,[0,b-1],o,s,n[a]):K(e,[0,w-1],o,s,n[a]),a++)}})),0===g&&I(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=y,t._Ys=v,t._Zs=x}(),t}t.exports={findNearestOnAxis:c,generateIsoMeshes:p,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new u(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},44731:function(t,e,r){"use strict";var n=r(34809),i=r(33626),a=r(70252),o=r(39356);function s(t,e,r,n,a){var s=a("isomin"),l=a("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var c=a("x"),u=a("y"),h=a("z"),f=a("value");c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length?(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),a("valuehoverformat"),["x","y","z"].forEach((function(t){a(t+"hoverformat");var e="caps."+t;a(e+".show")&&a(e+".fill");var r="slices."+t;a(r+".show")&&(a(r+".fill"),a(r+".locations"))})),a("spaceframe.show")&&a("spaceframe.fill"),a("surface.show")&&(a("surface.count"),a("surface.fill"),a("surface.pattern")),a("contour.show")&&(a("contour.color"),a("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}t.exports={supplyDefaults:function(t,e,r,i){s(t,e,0,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},75297:function(t,e,r){"use strict";t.exports={attributes:r(70252),supplyDefaults:r(44731).supplyDefaults,calc:r(58988),colorbar:{min:"cmin",max:"cmax"},plot:r(91370).createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:r(2487),categories:["gl3d","showLegend"],meta:{}}},42450:function(t,e,r){"use strict";var n=r(87163),i=r(80712).axisHoverFormat,a=r(3208).rb,o=r(16131),s=r(9829),l=r(93049).extendFlat;t.exports=l({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"}),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:"calc"},lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:"calc"},lighting:l({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:"calc"}),showlegend:l({},s.showlegend,{dflt:!1})})},44878:function(t,e,r){"use strict";var n=r(28379);t.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},82836:function(t,e,r){"use strict";var n=r(99098).gl_mesh3d,i=r(99098).delaunay_triangulate,a=r(99098).alpha_shape,o=r(99098).convex_hull,s=r(46998).parseColorScale,l=r(34809).isArrayOrTypedArray,c=r(55010),u=r(88856).extractOpts,h=r(88239);function f(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var p=f.prototype;function d(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}p.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return l(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},p.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,l=t.x.length,f=h(m(r.xaxis,t.x,e.dataScale[0],t.xcalendar),m(r.yaxis,t.y,e.dataScale[1],t.ycalendar),m(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!y(t.i,l)||!y(t.j,l)||!y(t.k,l))return;n=h(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(f):t.alphahull>0?a(t.alphahull,f):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],a=e.length,o=0;oy):g=A>w,y=A;var M=c(w,T,k,A);M.pos=b,M.yc=(w+A)/2,M.i=_,M.dir=g?"increasing":"decreasing",M.x=M.pos,M.y=[k,T],v&&(M.orig_p=r[_]),d&&(M.tx=e.text[_]),m&&(M.htx=e.hovertext[_]),x.push(M)}else x.push({pos:b,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(f,h),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),x}t.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a"+c.labels[x]+n.hoverLabelText(s,_,l.yhoverformat):((v=i.extendFlat({},f)).y0=v.y1=b,v.yLabelVal=_,v.yLabel=c.labels[x]+n.hoverLabelText(s,_,l.yhoverformat),v.name="",h.push(v),g[_]=v)}return h}function f(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,h=a[0].t,f=u(t,e,r,i);if(!f)return[];var p=a[f.index],d=f.index=p.i,m=p.dir;function g(t){return h.labels[t]+n.hoverLabelText(o,l[t][d],l.yhoverformat)}var y=p.hi||l.hoverinfo,v=y.split("+"),x="all"===y,_=x||-1!==v.indexOf("y"),b=x||-1!==v.indexOf("text"),w=_?[g("open"),g("high"),g("low"),g("close")+" "+c[m]]:[];return b&&s(p,l,w),f.extraText=w.join("
"),f.y0=f.y1=o.c2p(p.yc,!0),[f]}t.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?h(t,e,r,n):f(t,e,r,n)},hoverSplit:h,hoverOnPoints:f}},12683:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"ohlc",basePlotModule:r(37703),categories:["cartesian","svg","showLegend"],meta:{},attributes:r(86706),supplyDefaults:r(22629),calc:r(95694).calc,plot:r(38956),style:r(57406),hoverPoints:r(93245).hoverPoints,selectPoints:r(49343)}},28270:function(t,e,r){"use strict";var n=r(33626),i=r(34809);t.exports=function(t,e,r,a){var o=r("x"),s=r("open"),l=r("high"),c=r("low"),u=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],a),s&&l&&c&&u){var h=Math.min(s.length,l.length,c.length,u.length);return o&&(h=Math.min(h,i.minRowLength(o))),e._length=h,h}}},38956:function(t,e,r){"use strict";var n=r(45568),i=r(34809);t.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,"trace ohlc").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var c=a.tickLen,u=e.selectAll("path").data(i.identity);u.enter().append("path"),u.exit().remove(),u.attr("d",(function(t){if(t.empty)return"M0,0Z";var e=s.c2p(t.pos-c,!0),r=s.c2p(t.pos+c,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return"M"+e+","+o.c2p(t.o,!0)+"H"+n+"M"+n+","+o.c2p(t.h,!0)+"V"+o.c2p(t.l,!0)+"M"+r+","+o.c2p(t.c,!0)+"H"+n}))}}))}},49343:function(t){"use strict";t.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(r))for(e=0;e0||u(s);c&&(o="array");var h=r("categoryorder",o);"array"===h?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),c||"array"!==h||(e.categoryorder="trace")}}t.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:"dimensions",handleItemDefaults:h}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,u,f);o(e,u,f),Array.isArray(p)&&p.length||(e.visible=!1),c(e,p,"values",d),f("hoveron"),f("hovertemplate"),f("arrangement"),f("bundlecolors"),f("sortpaths"),f("counts");var m=u.font;n.coerceFont(f,"labelfont",m,{overrideDflt:{size:Math.round(m.size)}}),n.coerceFont(f,"tickfont",m,{autoShadowDflt:!0,overrideDflt:{size:Math.round(m.size/1.2)}})}},6305:function(t,e,r){"use strict";t.exports={attributes:r(11660),supplyDefaults:r(62651),calc:r(95564),plot:r(37822),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:r(83260),categories:["noOpacity"],meta:{}}},27219:function(t,e,r){"use strict";var n=r(45568),i=r(88640).Dj,a=r(31420),o=r(32141),s=r(34809),l=s.strTranslate,c=r(62203),u=r(65657),h=r(30635);function f(t,e,r,i){var a=e._context.staticPlot,o=t.map(F.bind(0,e,r)),u=i.selectAll("g.parcatslayer").data([null]);u.enter().append("g").attr("class","parcatslayer").style("pointer-events",a?"none":"all");var f=u.selectAll("g.trace.parcats").data(o,p),v=f.enter().append("g").attr("class","trace parcats");f.attr("transform",(function(t){return l(t.x,t.y)})),v.append("g").attr("class","paths");var x=f.select("g.paths").selectAll("path.path").data((function(t){return t.paths}),p);x.attr("fill",(function(t){return t.model.color}));var w=x.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",(function(t){return t.model.color})).attr("fill-opacity",0);b(w),x.attr("d",(function(t){return t.svgD})),w.empty()||x.sort(m),x.exit().remove(),x.on("mouseover",g).on("mouseout",y).on("click",_),v.append("g").attr("class","dimensions");var A=f.select("g.dimensions").selectAll("g.dimension").data((function(t){return t.dimensions}),p);A.enter().append("g").attr("class","dimension"),A.attr("transform",(function(t){return l(t.x,0)})),A.exit().remove();var M=A.selectAll("g.category").data((function(t){return t.categories}),p),S=M.enter().append("g").attr("class","category");M.attr("transform",(function(t){return l(0,t.y)})),S.append("rect").attr("class","catrect").attr("pointer-events","none"),M.select("rect.catrect").attr("fill","none").attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),T(S);var E=M.selectAll("rect.bandrect").data((function(t){return t.bands}),p);E.each((function(){s.raiseToTop(this)})),E.attr("fill",(function(t){return t.color}));var O=E.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);E.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})).attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"})),k(O),E.exit().remove(),S.append("text").attr("class","catlabel").attr("pointer-events","none"),M.select("text.catlabel").attr("text-anchor",(function(t){return d(t)?"start":"end"})).attr("alignment-baseline","middle").style("fill","rgb(0, 0, 0)").attr("x",(function(t){return d(t)?t.width+5:-5})).attr("y",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){c.font(n.select(this),t.parcatsViewModel.categorylabelfont),h.convertToTspans(n.select(this),e)})),S.append("text").attr("class","dimlabel"),M.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"})).attr("x",(function(t){return t.width/2})).attr("y",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){c.font(n.select(this),t.parcatsViewModel.labelfont)})),M.selectAll("rect.bandrect").on("mouseover",C).on("mouseout",L),M.exit().remove(),A.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on("dragstart",I).on("drag",P).on("dragend",z)),f.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")})),f.exit().remove()}function p(t){return t.key}function d(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function m(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor"),C=n.mouse(h)[0];o.loneHover({trace:f,x:_-d.left+m.left,y:b-d.top+m.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:T,idealAlign:C<_?"right":"left",hovertemplate:(f.line||{}).hovertemplate,hovertemplateLabels:M,eventData:[{data:f._input,fullData:f,count:k,probability:A}]},{container:p._hoverlayer.node(),outerContainer:p._paper.node(),gd:h})}}}function y(t){if(!t.parcatsViewModel.dragDimension&&(b(n.select(this)),o.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),t.parcatsViewModel.pathSelection.sort(m),-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip"))){var e=v(t),r=x(t);t.parcatsViewModel.graphDiv.emit("plotly_unhover",{points:e,event:n.event,constraints:r})}}function v(t){for(var e=[],r=O(t.parcatsViewModel),n=0;n1&&f.displayInd===h.dimensions.length-1?(i=c.left,a="left"):(i=c.left+c.width,a="right");var m=u.model.count,g=u.model.categoryLabel,y=m/u.parcatsViewModel.model.count,v={countLabel:m,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==u.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",v.countLabel].join(" ")),-1!==u.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+v.categoryLabel+"):",v.probabilityLabel].join(" "));var _=x.join("
");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:_,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:v,eventData:[{data:p._input,fullData:p,count:m,category:g,probability:y}]}}function C(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,a=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron,c=this;"color"===l?(function(t){var e=n.select(t).datum(),r=A(e);w(r),r.each((function(){s.raiseToTop(this)})),n.select(t.parentNode).selectAll("rect.bandrect").filter((function(t){return t.color===e.color})).each((function(){s.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)}))}(c),S(c,"plotly_hover",n.event)):(function(t){n.select(t.parentNode).selectAll("rect.bandrect").each((function(t){var e=A(t);w(e),e.each((function(){s.raiseToTop(this)}))})),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(c),M(c,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")&&("category"===l?e=E(r,a,c):"color"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),c=n.select(r).datum(),h=c.categoryViewModel,f=h.parcatsViewModel,p=f.model.dimensions[h.model.dimensionInd],d=f.trace,m=l.y+l.height/2;f.dimensions.length>1&&p.displayInd===f.dimensions.length-1?(i=l.left,a="left"):(i=l.left+l.width,a="right");var g=h.model.categoryLabel,y=c.parcatsViewModel.model.count,v=0;c.categoryViewModel.bands.forEach((function(t){t.color===c.color&&(v+=t.count)}));var x=h.model.count,_=0;f.pathSelection.each((function(t){t.model.color===c.color&&(_+=t.model.count)}));var b=v/y,w=v/_,T=v/x,k={countLabel:v,categoryLabel:g,probabilityLabel:b.toFixed(3)},A=[];-1!==h.parcatsViewModel.hoverinfoItems.indexOf("count")&&A.push(["Count:",k.countLabel].join(" ")),-1!==h.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(A.push("P(color ∩ "+g+"): "+k.probabilityLabel),A.push("P("+g+" | color): "+w.toFixed(3)),A.push("P(color | "+g+"): "+T.toFixed(3)));var M=A.join("
"),S=u.mostReadable(c.color,["black","white"]);return{trace:d,x:o*(i-e.left),y:s*(m-e.top),text:M,color:c.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:y,probability:b,categorycount:x,colorcount:_,bandcolorcount:v}]}}(r,a,c):"dimension"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){i.push(E(t,e,this))})),i}(r,a,c)),e&&o.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}))}}function L(t){var e=t.parcatsViewModel;e.dragDimension||(b(e.pathSelection),T(e.dimensionSelection.selectAll("g.category")),k(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),o.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(m),-1!==e.hoverinfoItems.indexOf("skip"))||("color"===t.parcatsViewModel.hoveron?S(this,"plotly_unhover",n.event):M(this,"plotly_unhover",n.event))}function I(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,s.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each((function(e){e.yh.y+h.height/2&&(o.model.displayInd=h.model.displayInd,h.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var f=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==f&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}j(t.parcatsViewModel),N(t.parcatsViewModel),R(t.parcatsViewModel),D(t.parcatsViewModel)}}function z(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=O(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+i+"].displayindex"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var c=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),u=c.map((function(t){return t.categoryValue})),h=c.map((function(t){return t.categoryLabel}));e["dimensions["+t.model.containerInd+"].categoryarray"]=[u],e["dimensions["+t.model.containerInd+"].ticktext"]=[h],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?S(t.potentialClickBand,"plotly_click",n.event.sourceEvent):M(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd&&(t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null),t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,j(t.parcatsViewModel),N(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each((function(){R(t.parcatsViewModel,!0),D(t.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function O(t){for(var e,r=t.graphDiv._fullData,n=0;n=0;s--)u+="C"+c[s]+","+(e[s+1]+n)+" "+l[s]+","+(e[s]+n)+" "+(t[s]+r[s])+","+(e[s]+n),u+="l-"+r[s]+",0 ";return u+"Z"}function N(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function h(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}c.sort((function(e,r){var n=h(e),i=h(r);return"backward"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var f=new Array(c.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),m=0;m0?d*(y.count/p):0;for(var v,x=new Array(n.length),_=0;_1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,c,u=[],h=t.model.maxCats,f=e.categories.length,p=e.count,d=t.height-8*(h-1),m=8*(h-f)/2,g=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(g.sort((function(t,e){return t.displayInd-e.displayInd})),c=0;c0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:m,bands:[],parcatsViewModel:t},m=m+a+8,u.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:u,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}t.exports=function(t,e,r,n){f(r,t,n,e)}},37822:function(t,e,r){"use strict";var n=r(27219);t.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},59549:function(t,e,r){"use strict";var n=r(87163),i=r(25829),a=r(80337),o=r(13792).u,s=r(93049).extendFlat,l=r(78032).templatedArray;t.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:a({editType:"plot"}),tickfont:a({autoShadowDflt:!0,editType:"plot"}),rangefont:a({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},i.tickvals,{editType:"plot"}),ticktext:s({},i.ticktext,{editType:"plot"}),tickformat:s({},i.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}},23245:function(t,e,r){"use strict";var n=r(77911),i=r(45568),a=r(71293).keyFun,o=r(71293).repeat,s=r(34809).sorterAsc,l=r(34809).strTranslate,c=n.bar.snapRatio;function u(t,e){return t*(1-c)+e*c}var h=n.bar.snapClose;function f(t,e){return t*(1-h)+e*h}function p(t,e,r,n){if(function(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],c=l,h=a;i*he){f=r;break}}if(a=u,isNaN(a)&&(a=isNaN(h)||isNaN(f)?isNaN(h)?f:h:e-c[h][1]t[1]+r||e=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);m&&(o.interval=l[a],o.intervalPix=d,o.region=m)}}if(t.ordinal&&!o.region){var g=t.unitTickvals,v=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&v<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),_(t.parentNode)}function T(t,e){var r=b(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a="crosshair";r.clickableOrdinalRange?a="pointer":r.region&&(a=r.region+"-resize"),i.select(document.body).style("cursor",a)}function k(t){t.on("mousemove",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on("mouseleave",(function(t){t.parent.inBrushDrag||v()})).call(i.behavior.drag().on("dragstart",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=b(e,r),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar="ns"===s.region,c.grabbingBar){var u=l.map(e.unitToPaddedPx);c.grabPoint=r-u[0]-n.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),c.startExtent=s.region?l["s"===s.region?1:0]:a,e.parent.inBrushDrag=!0,c.brushStartCallback()}(this,t)})).on("drag",(function(t){w(this,t)})).on("dragend",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,v(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(e),_(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(c?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(e),c?_(t.parentNode,s):(s(),_(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function A(t,e){return t[0]-e[0]}function M(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e),n=r.slice();e.filter.set(n),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t,e,r){var i=t.selectAll("."+n.cn.axisBrush).data(o,a);i.enter().append("g").classed(n.cn.axisBrush,!0),function(t,e,r){var i=r._context.staticPlot,a=t.selectAll(".background").data(o);a.enter().append("rect").classed("background",!0).call(d).call(m).style("pointer-events",i?"none":"auto").attr("transform",l(0,n.verticalPadding)),a.call(k).attr("height",(function(t){return t.height-n.verticalPadding}));var s=t.selectAll(".highlight-shadow").data(o);s.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",e).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),s.attr("y1",(function(t){return t.height})).call(x);var c=t.selectAll(".highlight").data(o);c.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),c.attr("y1",(function(t){return t.height})).call(x)}(i,e,r)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(A)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},79846:function(t,e,r){"use strict";t.exports={attributes:r(59549),supplyDefaults:r(12842),calc:r(20113),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:r(67207),categories:["gl","regl","noOpacity","noHover"],meta:{}}},67207:function(t,e,r){"use strict";var n=r(45568),i=r(4173).eV,a=r(58823),o=r(62972);e.name="parcoords",e.plot=function(t){var e=i(t.calcdata,"parcoords")[0];e.length&&a(t,e)},e.clean=function(t,e,r,n){var i=n._has&&n._has("parcoords"),a=e._has&&e._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},e.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this,r=t.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":r,preserveAspectRatio:"none",x:0,y:0,width:t.style.width,height:t.style.height})})),window.setTimeout((function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}},20113:function(t,e,r){"use strict";var n=r(34809).isArrayOrTypedArray,i=r(88856),a=r(71293).wrap;t.exports=function(t,e){var r,o;return i.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;rh&&(n.log("parcoords traces support up to "+h+" dimensions at the moment"),d.splice(h));var m=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),g=function(t,e,r,o,s){var l=s("line.color",r);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,u);o(e,l,u),Array.isArray(m)&&m.length||(e.visible=!1),f(e,m,"values",g);var y=n.extendFlat({},l.font,{size:Math.round(l.font.size/1.2)});n.coerceFont(u,"labelfont",y),n.coerceFont(u,"tickfont",y,{autoShadowDflt:!0}),n.coerceFont(u,"rangefont",y),u("labelangle"),u("labelside"),u("unselected.line.color"),u("unselected.line.opacity")}},62935:function(t,e,r){"use strict";var n=r(34809).isTypedArray;e.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},e.isOrdinal=function(t){return!!t.tickvals},e.isVisible=function(t){return t.visible||!("visible"in t)}},83910:function(t,e,r){"use strict";var n=r(79846);n.plot=r(58823),t.exports=n},1293:function(t,e,r){"use strict";var n=["precision highp float;","","varying vec4 fragColor;","","attribute vec4 p01_04, p05_08, p09_12, p13_16,"," p17_20, p21_24, p25_28, p29_32,"," p33_36, p37_40, p41_44, p45_48,"," p49_52, p53_56, p57_60, colors;","","uniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,"," loA, hiA, loB, hiB, loC, hiC, loD, hiD;","","uniform vec2 resolution, viewBoxPos, viewBoxSize;","uniform float maskHeight;","uniform float drwLayer; // 0: context, 1: focus, 2: pick","uniform vec4 contextColor;","uniform sampler2D maskTexture, palette;","","bool isPick = (drwLayer > 1.5);","bool isContext = (drwLayer < 0.5);","","const vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);","const vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);","","float val(mat4 p, mat4 v) {"," return dot(matrixCompMult(p, v) * UNITS, UNITS);","}","","float axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {"," float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);"," float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);"," return y1 * (1.0 - ratio) + y2 * ratio;","}","","int iMod(int a, int b) {"," return a - b * (a / b);","}","","bool fOutside(float p, float lo, float hi) {"," return (lo < hi) && (lo > p || p > hi);","}","","bool vOutside(vec4 p, vec4 lo, vec4 hi) {"," return ("," fOutside(p[0], lo[0], hi[0]) ||"," fOutside(p[1], lo[1], hi[1]) ||"," fOutside(p[2], lo[2], hi[2]) ||"," fOutside(p[3], lo[3], hi[3])"," );","}","","bool mOutside(mat4 p, mat4 lo, mat4 hi) {"," return ("," vOutside(p[0], lo[0], hi[0]) ||"," vOutside(p[1], lo[1], hi[1]) ||"," vOutside(p[2], lo[2], hi[2]) ||"," vOutside(p[3], lo[3], hi[3])"," );","}","","bool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {"," return mOutside(A, loA, hiA) ||"," mOutside(B, loB, hiB) ||"," mOutside(C, loC, hiC) ||"," mOutside(D, loD, hiD);","}","","bool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {"," mat4 pnts[4];"," pnts[0] = A;"," pnts[1] = B;"," pnts[2] = C;"," pnts[3] = D;",""," for(int i = 0; i < 4; ++i) {"," for(int j = 0; j < 4; ++j) {"," for(int k = 0; k < 4; ++k) {"," if(0 == iMod("," int(255.0 * texture2D(maskTexture,"," vec2("," (float(i * 2 + j / 2) + 0.5) / 8.0,"," (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight"," ))[3]"," ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),"," 2"," )) return true;"," }"," }"," }"," return false;","}","","vec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {"," float x = 0.5 * sign(v) + 0.5;"," float y = axisY(x, A, B, C, D);"," float z = 1.0 - abs(v);",""," z += isContext ? 0.0 : 2.0 * float("," outsideBoundingBox(A, B, C, D) ||"," outsideRasterMask(A, B, C, D)"," );",""," return vec4("," 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,"," z,"," 1.0"," );","}","","void main() {"," mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);"," mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);"," mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);"," mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);",""," float v = colors[3];",""," gl_Position = position(isContext, v, A, B, C, D);",""," fragColor ="," isContext ? vec4(contextColor) :"," isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));","}"].join("\n"),i=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join("\n"),a=r(77911).maxDimensionCount,o=r(34809),s=1e-6,l=new Uint8Array(4),c=new Uint8Array(4),u={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function h(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function f(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var c=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],h(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*c,a.offset=2*l*n,e(a),l*n+c>>8*e)%256/255}function m(t,e,r){for(var n=new Array(8*e),i=0,a=0;ac&&(c=t[i].dim1.canvasX,o=i);0===s&&h(k,0,0,r.canvasWidth,r.canvasHeight);var u=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&ns._length&&(E=E.slice(0,s._length));var L,I=s.tickvals;function P(t,e){return{val:t,text:L[e]}}function z(t,e){return t.val-e.val}if(a(I)&&I.length){i.isTypedArray(I)&&(I=Array.from(I)),L=s.ticktext,a(L)&&L.length?L.length>I.length?L=L.slice(0,I.length):I.length>L.length&&(I=I.slice(0,L.length)):L=I.map(o(s.tickformat));for(var O=1;O=r||l>=i)return;var c=t.lineLayer.readPixel(s,i-1-l),u=0!==c[3],h=u?c[2]+256*(c[1]+256*c[0]):null,f={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:h};h!==N&&(u?a.hover(f):a.unhover&&a.unhover(f),N=h)}})),B.style("opacity",(function(t){return t.pick?0:1})),p.style("background","rgba(255, 255, 255, 0)");var j=p.selectAll("."+x.cn.parcoords).data(F,m);j.exit().remove(),j.enter().append("g").classed(x.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),j.attr("transform",(function(t){return u(t.model.translateX,t.model.translateY)}));var U=j.selectAll("."+x.cn.parcoordsControlView).data(g,m);U.enter().append("g").classed(x.cn.parcoordsControlView,!0),U.attr("transform",(function(t){return u(t.model.pad.l,t.model.pad.t)}));var V=U.selectAll("."+x.cn.yAxis).data((function(t){return t.dimensions}),m);V.enter().append("g").classed(x.cn.yAxis,!0),U.each((function(t){O(V,t,w)})),B.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=b(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),V.attr("transform",(function(t){return u(t.xScale(t.xIndex),0)})),V.call(n.behavior.drag().origin((function(t){return t})).on("drag",(function(t){var e=t.parent;E.linePickActive(!1),t.x=Math.max(-x.overdrag,Math.min(t.model.width+x.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,V.sort((function(t,e){return t.x-e.x})).each((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio})),O(V,e,w),V.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr("transform",(function(t){return u(t.xScale(t.xIndex),0)})),n.select(this).attr("transform",u(t.x,0)),V.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!C(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on("dragend",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,O(V,e,w),n.select(this).attr("transform",(function(t){return u(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!C(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),E.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),V.exit().remove();var q=V.selectAll("."+x.cn.axisOverlays).data(g,m);q.enter().append("g").classed(x.cn.axisOverlays,!0),q.selectAll("."+x.cn.axis).remove();var H=q.selectAll("."+x.cn.axis).data(g,m);H.enter().append("g").classed(x.cn.axis,!0),H.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return v.isOrdinal(t)?e:D(t.model.dimensions[t.visibleIndex],e)})).scale(r)),f.font(H.selectAll("text"),t.model.tickFont)})),H.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),H.selectAll("text").style("cursor","default");var G=q.selectAll("."+x.cn.axisHeading).data(g,m);G.enter().append("g").classed(x.cn.axisHeading,!0);var Z=G.selectAll("."+x.cn.axisTitle).data(g,m);Z.enter().append("text").classed(x.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",o?"none":"auto"),Z.text((function(t){return t.label})).each((function(e){var r=n.select(this);f.font(r,e.model.labelFont),h.convertToTspans(r,t)})).attr("transform",(function(t){var e=z(t.model.labelAngle,t.model.labelSide),r=x.axisTitleOffset;return(e.dir>0?"":u(0,2*r+t.model.height))+c(e.degrees)+u(-r*e.dx,-r*e.dy)})).attr("text-anchor",(function(t){var e=z(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"}));var W=q.selectAll("."+x.cn.axisExtent).data(g,m);W.enter().append("g").classed(x.cn.axisExtent,!0);var Y=W.selectAll("."+x.cn.axisExtentTop).data(g,m);Y.enter().append("g").classed(x.cn.axisExtentTop,!0),Y.attr("transform",u(0,-x.axisExtentOffset));var X=Y.selectAll("."+x.cn.axisExtentTopText).data(g,m);X.enter().append("text").classed(x.cn.axisExtentTopText,!0).call(P),X.text((function(t){return R(t,!0)})).each((function(t){f.font(n.select(this),t.model.rangeFont)}));var $=W.selectAll("."+x.cn.axisExtentBottom).data(g,m);$.enter().append("g").classed(x.cn.axisExtentBottom,!0),$.attr("transform",(function(t){return u(0,t.model.height+x.axisExtentOffset)}));var J=$.selectAll("."+x.cn.axisExtentBottomText).data(g,m);J.enter().append("text").classed(x.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(P),J.text((function(t){return R(t,!1)})).each((function(t){f.font(n.select(this),t.model.rangeFont)})),_.ensureAxisBrush(q,k,t)}},58823:function(t,e,r){"use strict";var n=r(16019),i=r(22459),a=r(62935).isVisible,o={};function s(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}(t.exports=function(t,e){var r=t._fullLayout;if(i(t,[],o)){var l={},c={},u={},h={},f=r._size;e.forEach((function(e,r){var n=e[0].trace;u[r]=n.index;var i=h[r]=n._fullInput.index;l[r]=t.data[i].dimensions,c[r]=t.data[i].dimensions.slice()})),n(t,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{filterChanged:function(e,n,i){var a=c[e][n],o=i.map((function(t){return t.slice()})),s="dimensions["+n+"].constraintrange",l=r._tracePreGUI[t._fullData[u[e]]._fullInput.uid];if(void 0===l[s]){var f=a.constraintrange;l[s]=f||null}var p=t._fullData[u[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[h[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return s(t,e,r)-s(t,e,n)}}(r,c[e].filter(a));l[e].sort(n),c[e].filter((function(t){return!a(t)})).sort((function(t){return c[e].indexOf(t)})).forEach((function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(c[e].indexOf(t),0,t)})),t.emit("plotly_restyle",[{dimensions:[l[e]]},[h[e]]])}})}}).reglPrecompiled=o},55412:function(t,e,r){"use strict";var n=r(9829),i=r(13792).u,a=r(80337),o=r(10229),s=r(3208).rb,l=r(3208).ay,c=r(93049).extendFlat,u=r(94850).k,h=a({editType:"plot",arrayOk:!0,colorEditType:"plot"});t.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:u,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:c({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:c({},h,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:c({},h,{}),outsidetextfont:c({},h,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:c({},h,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:i({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:c({},h,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},96052:function(t,e,r){"use strict";var n=r(44122);e.name="pie",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},44148:function(t,e,r){"use strict";var n=r(10721),i=r(65657),a=r(78766),o={};function s(t){return function(e,r){return!!e&&!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e)}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r=0})),("funnelarea"===e.type?y:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r="pie");var n=t._fullLayout,i=t.calcdata,a=n[r+"colorway"],s=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=l(a,o));for(var c=0,u=0;u0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}function u(t,e,r,n,i){n("marker.line.width")&&n("marker.line.color",i?void 0:r.paper_bgcolor);var a=n("marker.colors");l(n,"marker.pattern",a),t.marker&&!e.marker.pattern.fgcolor&&(e.marker.pattern.fgcolor=t.marker.colors),e.marker.pattern.bgcolor||(e.marker.pattern.bgcolor=r.paper_bgcolor)}t.exports={handleLabelsAndValues:c,handleMarkerDefaults:u,supplyDefaults:function(t,e,r,n){function l(r,n){return i.coerce(t,e,a,r,n)}var h=c(l("labels"),l("values")),f=h.len;if(e._hasLabels=h.hasLabels,e._hasValues=h.hasValues,!e._hasLabels&&e._hasValues&&(l("label0"),l("dlabel")),f){e._length=f,u(t,e,n,l,!0),l("scalegroup");var p,d=l("text"),m=l("texttemplate");if(m||(p=l("textinfo",i.isArrayOrTypedArray(d)?"text+percent":"percent")),l("hovertext"),l("hovertemplate"),m||p&&"none"!==p){var g=l("textposition");s(t,e,n,l,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||"auto"===g||"outside"===g)&&l("automargin"),("inside"===g||"auto"===g||Array.isArray(g))&&l("insidetextorientation")}else"none"===p&&l("textposition","none");o(e,n,l);var y=l("hole");if(l("title.text")){var v=l("title.position",y?"middle center":"top center");y||"middle center"!==v||(e.title.position="top center"),i.coerceFont(l,"title.font",n.font)}l("sort"),l("direction"),l("rotation"),l("pull")}else e.visible=!1}}},50568:function(t,e,r){"use strict";var n=r(36040).appendArrayMultiPointValues;t.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},75067:function(t,e,r){"use strict";var n=r(62203),i=r(78766);t.exports=function(t,e,r,a){var o=r.marker.pattern;o&&o.shape?n.pointStyle(t,r,a,e):i.fill(t,e.color)}},37252:function(t,e,r){"use strict";var n=r(34809);function i(t){return-1!==t.indexOf("e")?t.replace(/[.]?0+e/,"e"):-1!==t.indexOf(".")?t.replace(/[.]?0+$/,""):t}e.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+"%"},e.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},e.getFirstFilled=function(t,e){if(n.isArrayOrTypedArray(t))for(var r=0;r"),name:h.hovertemplate||-1!==f.indexOf("name")?h.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:g.castOption(b.bgcolor,t.pts)||t.color,borderColor:g.castOption(b.bordercolor,t.pts),fontFamily:g.castOption(w.family,t.pts),fontSize:g.castOption(w.size,t.pts),fontColor:g.castOption(w.color,t.pts),nameLength:g.castOption(b.namelength,t.pts),textAlign:g.castOption(b.align,t.pts),hovertemplate:g.castOption(h.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[y(t,h)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e,inOut_bbox:T}),t.bbox=T[0],c._hasHoverLabel=!0}c._hasHoverEvent=!0,e.emit("plotly_hover",{points:[y(t,h)],event:n.event})}})),t.on("mouseout",(function(t){var r=e._fullLayout,i=e._fullData[c.index],o=n.select(this).datum();c._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[y(o,i)],event:n.event}),c._hasHoverEvent=!1),c._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),c._hasHoverLabel=!1)})),t.on("click",(function(t){var r=e._fullLayout,i=e._fullData[c.index];e._dragging||!1===r.hovermode||(e._hoverdata=[y(t,i)],a.click(e,n.event))}))}function _(t,e,r){var n=g.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=g.castOption(t._input.textfont.color,e.pts));var i=g.castOption(t.insidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.insidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,s=g.castOption(t.insidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,l=g.castOption(t.insidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,c=g.castOption(t.insidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant,u=g.castOption(t.insidetextfont.textcase,e.pts)||g.castOption(t.textfont.textcase,e.pts)||r.textcase,h=g.castOption(t.insidetextfont.lineposition,e.pts)||g.castOption(t.textfont.lineposition,e.pts)||r.lineposition,f=g.castOption(t.insidetextfont.shadow,e.pts)||g.castOption(t.textfont.shadow,e.pts)||r.shadow;return{color:n||o.contrast(e.color),family:i,size:a,weight:s,style:l,variant:c,textcase:u,lineposition:h,shadow:f}}function b(t,e){for(var r,n,i=0;ie&&e>n||r=-4;g-=2)y(Math.PI*g,"tan");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),"tan")}if(h||p){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),"rad");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),"rad")}}if(s||d||h){var v=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/v,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;m.push(a)}(d||p)&&((a=T(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,m.push(a)),(d||f)&&((a=k(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,m.push(a));for(var x=0,_=0,b=0;b=1)break}return m[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*m);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:A(a,o/e),rotate:M(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*m);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:A(a,o/e),rotate:M(i+Math.PI/2)}}function A(t,e){return Math.cos(e)-t*e}function M(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function C(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function L(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=P(a),-1!==a.title.position.indexOf("top")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf("bottom")&&(o.y+=(1+i)*t.r);var l,c=t.r/(void 0===(l=t.trace.aspectratio)?1:l),u=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf("left")?(u+=c,o.x-=(1+i)*c,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf("center")?u*=2:-1!==a.title.position.indexOf("right")&&(u+=c,o.x+=(1+i)*c,s.tx-=t.titleBox.width/2),r=u/t.titleBox.width,n=I(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function I(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function P(t){var e,r=t.pull;if(!r)return 0;if(l.isArrayOrTypedArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}function z(t,e){for(var r=[],n=0;n1?u=(c=r.r)/i.aspectratio:c=(u=r.r)*i.aspectratio,l=(c*=(1+i.baseratio)/2)*u}o=Math.min(o,l/r.vTotal)}for(n=0;n")}if(a){var x=l.castOption(i,e.i,"texttemplate");if(x){var _=function(t){return{label:t.label,value:t.v,valueLabel:g.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:g.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,"customdata")}}(e),b=g.getFirstFilled(i.text,e.pts);(v(b)||""===b)&&(_.text=b),e.text=l.texttemplateString(x,_,t._fullLayout._d3locale,_,i._meta||{})}else e.text=""}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}t.exports={plot:function(t,e){var r=t._context.staticPlot,a=t._fullLayout,f=a._size;d("pie",a),b(e,t),z(e,f);var m=l.makeTraceGroups(a._pielayer,e,"trace").each((function(e){var d=n.select(this),m=e[0],y=m.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=g.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,c="px0",u="px1";if("counterclockwise"===o.direction){for(e=0;ei.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),d.attr("stroke-linejoin","round"),d.each((function(){var v=n.select(this).selectAll("g.slice").data(e);v.enter().append("g").classed("slice",!0),v.exit().remove();var b=[[[],[]],[[],[]]],T=!1;v.each((function(i,o){if(i.hidden)n.select(this).selectAll("path,g").remove();else{i.pointNumber=i.i,i.curveNumber=y.index,b[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var c=m.cx,u=m.cy,f=n.select(this),d=f.selectAll("path.surface").data([i]);if(d.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),f.call(x,t,e),y.pull){var v=+g.castOption(y.pull,i.pts)||0;v>0&&(c+=v*i.pxmid[0],u+=v*i.pxmid[1])}i.cxFinal=c,i.cyFinal=u;var k=y.hole;if(i.v===m.vTotal){var A="M"+(c+i.px0[0])+","+(u+i.px0[1])+I(i.px0,i.pxmid,!0,1)+I(i.pxmid,i.px0,!0,1)+"Z";k?d.attr("d","M"+(c+k*i.px0[0])+","+(u+k*i.px0[1])+I(i.px0,i.pxmid,!1,k)+I(i.pxmid,i.px0,!1,k)+"Z"+A):d.attr("d",A)}else{var M=I(i.px0,i.px1,!0,1);if(k){var S=1-k;d.attr("d","M"+(c+k*i.px1[0])+","+(u+k*i.px1[1])+I(i.px1,i.px0,!1,k)+"l"+S*i.px0[0]+","+S*i.px0[1]+M+"Z")}else d.attr("d","M"+c+","+u+"l"+i.px0[0]+","+i.px0[1]+M+"Z")}D(t,i,m);var E=g.castOption(y.textposition,i.pts),L=f.selectAll("g.slicetext").data(i.text&&"none"!==E?[0]:[]);L.enter().append("g").classed("slicetext",!0),L.exit().remove(),L.each((function(){var r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),f=l.ensureUniformFontSize(t,"outside"===E?function(t,e,r){return{color:g.castOption(t.outsidetextfont.color,e.pts)||g.castOption(t.textfont.color,e.pts)||r.color,family:g.castOption(t.outsidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,size:g.castOption(t.outsidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,weight:g.castOption(t.outsidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,style:g.castOption(t.outsidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,variant:g.castOption(t.outsidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant,textcase:g.castOption(t.outsidetextfont.textcase,e.pts)||g.castOption(t.textfont.textcase,e.pts)||r.textcase,lineposition:g.castOption(t.outsidetextfont.lineposition,e.pts)||g.castOption(t.textfont.lineposition,e.pts)||r.lineposition,shadow:g.castOption(t.outsidetextfont.shadow,e.pts)||g.castOption(t.textfont.shadow,e.pts)||r.shadow}}(y,i,a.font):_(y,i,a.font));r.text(i.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,f).call(h.convertToTspans,t);var d,v=s.bBox(r.node());if("outside"===E)d=C(v,i);else if(d=w(v,i,m),"auto"===E&&d.scale<1){var x=l.ensureUniformFontSize(t,y.outsidetextfont);r.call(s.font,x),d=C(v=s.bBox(r.node()),i)}var b=d.textPosAngle,k=void 0===b?i.pxmid:O(m.r,b);if(d.targetX=c+k[0]*d.rCenter+(d.x||0),d.targetY=u+k[1]*d.rCenter+(d.y||0),R(d,v),d.outside){var A=d.targetY;i.yLabelMin=A-v.height/2,i.yLabelMid=A,i.yLabelMax=A+v.height/2,i.labelExtraX=0,i.labelExtraY=0,T=!0}d.fontSize=f.size,p(y.type,d,a),e[o].transform=d,l.setTransormAndDisplay(r,d)}))}function I(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return"a"+n*m.r+","+n*m.r+" 0 "+i.largeArc+(r?" 1 ":" 0 ")+a+","+o}}));var k=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);if(k.enter().append("g").classed("titletext",!0),k.exit().remove(),k.each((function(){var e,r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),i=y.title.text;y._meta&&(i=l.templateString(i,y._meta)),r.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,y.title.font).call(h.convertToTspans,t),e="middle center"===y.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(m):L(m,f),r.attr("transform",u(e.x,e.y)+c(Math.min(1,e.scale))+u(e.tx,e.ty))})),T&&function(t,e){var r,n,i,a,o,s,c,u,h,f,p,d,m;function y(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function x(t,r){r||(r={});var i,u,h,p,d=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),m=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,v=t.cyFinal+o(t.px0[1],t.px1[1]),x=d-m;if(x*c>0&&(t.labelExtraY=x),l.isArrayOrTypedArray(e.pull))for(u=0;u=(g.castOption(e.pull,h.pts)||0)||((t.pxmid[1]-h.pxmid[1])*c>0?(x=h.cyFinal+o(h.px0[1],h.px1[1])-m-t.labelExtraY)*c>0&&(t.labelExtraY+=x):(y+t.labelExtraY-v)*c>0&&(i=3*s*Math.abs(u-f.indexOf(t)),(p=h.cxFinal+a(h.px0[0],h.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=p)))}for(n=0;n<2;n++)for(i=n?y:v,o=n?Math.max:Math.min,c=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),h=t[1-n][r],f=h.concat(u),d=[],p=0;pMath.abs(h)?s+="l"+h*t.pxmid[0]/t.pxmid[1]+","+h+"H"+(a+t.labelExtraX+c):s+="l"+t.labelExtraX+","+u+"v"+(h-u)+"h"+c}else s+="V"+(t.yLabelMid+t.labelExtraY)+"h"+c;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:s,fill:"none"})}else r.select("path.textline").remove()}))}(v,y),T&&y.automargin){var A=s.bBox(d.node()),M=y.domain,S=f.w*(M.x[1]-M.x[0]),E=f.h*(M.y[1]-M.y[0]),I=(.5*S-m.r)/f.w,P=(.5*E-m.r)/f.h;i.autoMargin(t,"pie."+y.uid+".automargin",{xl:M.x[0]-I,xr:M.x[1]+I,yb:M.y[0]-P,yt:M.y[1]+P,l:Math.max(m.cx-m.r-A.left,0),r:Math.max(A.right-(m.cx+m.r),0),b:Math.max(A.bottom-(m.cy+m.r),0),t:Math.max(m.cy-m.r-A.top,0),pad:5})}}))}));setTimeout((function(){m.selectAll("tspan").each((function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))}))}),0)},formatSliceLabel:D,transformInsideText:w,determineInsideTextFont:_,positionTitleOutside:L,prerenderTitles:b,layoutAreas:z,attachFxHandlers:x,computeTransform:R}},140:function(t,e,r){"use strict";var n=r(45568),i=r(32891),a=r(84102).resizeText;t.exports=function(t){var e=t._fullLayout._pielayer.selectAll(".trace");a(t,e,"pie"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},32891:function(t,e,r){"use strict";var n=r(78766),i=r(37252).castOption,a=r(75067);t.exports=function(t,e,r,o){var s=r.marker.line,l=i(s.color,e.pts)||n.defaultLine,c=i(s.width,e.pts)||0;t.call(a,e,r,o).style("stroke-width",c).call(n.stroke,l)}},36961:function(t,e,r){"use strict";var n=r(36640);t.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:void 0}},71593:function(t,e,r){"use strict";var n=r(99098).gl_pointcloud2d,i=r(34809).isArrayOrTypedArray,a=r(55010),o=r(32919).findExtremes,s=r(11539);function l(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var c=l.prototype;c.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:i(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},c.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=s(t,{})},c.updateFast=function(t){var e,r,n,i,s,l,c=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,h=this.pickXYData=t.xy,f=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(h){if(n=h,e=h.length>>>1,f)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var m=a(t.marker.color),g=a(t.marker.border.color),y=t.opacity*t.marker.opacity;m[3]*=y,this.pointcloudOptions.color=m;var v=t.marker.blend;null===v&&(v=c.length<100||u.length<100),this.pointcloudOptions.blend=v,g[3]*=y,this.pointcloudOptions.borderColor=g;var x=t.marker.sizemin,_=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=_,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var b=this.scene.xaxis,w=this.scene.yaxis,T=_/2||.5;t._extremes[b._id]=o(b,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=o(w,[d[1],d[3]],{ppad:T})},c.dispose=function(){this.pointcloud.dispose()},t.exports=function(t,e){var r=new l(t,e.uid);return r.update(e),r}},75526:function(t,e,r){"use strict";var n=r(34809),i=r(36961);t.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a("x"),a("y"),a("xbounds"),a("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a("text"),a("marker.color",r),a("marker.opacity"),a("marker.blend"),a("marker.sizemin"),a("marker.sizemax"),a("marker.border.color",r),a("marker.border.arearatio"),e._length=null}},15186:function(t,e,r){"use strict";["*pointcloud* trace is deprecated!","Please consider switching to the *scattergl* trace type."].join(" "),t.exports={attributes:r(36961),supplyDefaults:r(75526),calc:r(37593),plot:r(71593),moduleType:"trace",name:"pointcloud",basePlotModule:r(24585),categories:["gl","gl2d","showLegend"],meta:{}}},33795:function(t,e,r){"use strict";var n=r(80337),i=r(9829),a=r(10229),o=r(70192),s=r(13792).u,l=r(3208).rb,c=r(87163),u=r(78032).templatedArray,h=r(80712).descriptionOnlyNumbers,f=r(93049).extendFlat,p=r(13582).overrideAll;(t.exports=p({hoverinfo:f({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:h("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({autoShadowDflt:!0}),customdata:void 0,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),align:{valType:"enumerated",values:["justify","left","right","center"],dflt:"justify"}},link:{arrowlen:{valType:"number",min:0,dflt:0},label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},hovercolor:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:u("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:f(c().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},42229:function(t,e,r){"use strict";var n=r(13582).overrideAll,i=r(4173).eV,a=r(16506),o=r(6811),s=r(27983),l=r(14751),c=r(44844).prepSelect,u=r(34809),h=r(33626),f="sankey";function p(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if(o&&"pan"!==i&&"zoom"!==i){s(o,a);var f={_id:"x",c2p:u.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:u.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:f,yaxis:p,fillRangeItems:u.noop},subplot:e,xaxes:[f],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;rx&&(x=a.source[e]),a.target[e]>x&&(x=a.target[e]);var _,b=x+1;t.node._count=b;var w=t.node.groups,T={};for(e=0;e0&&s(C,b)&&s(L,b)&&(!T.hasOwnProperty(C)||!T.hasOwnProperty(L)||T[C]!==T[L])){T.hasOwnProperty(L)&&(L=T[L]),T.hasOwnProperty(C)&&(C=T[C]),L=+L,p[C=+C]=p[L]=!0;var I="";a.label&&a.label[e]&&(I=a.label[e]);var P=null;I&&d.hasOwnProperty(I)&&(P=d[I]),c.push({pointNumber:e,label:I,color:u?a.color[e]:a.color,hovercolor:h?a.hovercolor[e]:a.hovercolor,customdata:f?a.customdata[e]:a.customdata,concentrationscale:P,source:C,target:L,value:+E}),S.source.push(C),S.target.push(L)}}var z=b+w.length,O=o(r.color),D=o(r.customdata),R=[];for(e=0;eb-1,childrenNodes:[],pointNumber:e,label:F,color:O?r.color[e]:r.color,customdata:D?r.customdata[e]:r.customdata})}var B=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o1}))}(z,S.source,S.target)&&(B=!0),{circular:B,links:c,nodes:R,groups:w,groupLookup:T}}(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},21541:function(t){"use strict";t.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}},67940:function(t,e,r){"use strict";var n=r(34809),i=r(33795),a=r(78766),o=r(65657),s=r(13792).N,l=r(26430),c=r(78032),u=r(59008);function h(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r("label"),r("cmin"),r("cmax"),r("colorscale")}t.exports=function(t,e,r,f){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(f.hoverlabel,t.hoverlabel),m=t.node,g=c.newContainer(e,"node");function y(t,e){return n.coerce(m,g,i.node,t,e)}y("label"),y("groups"),y("x"),y("y"),y("pad"),y("thickness"),y("line.color"),y("line.width"),y("hoverinfo",t.hoverinfo),l(m,g,y,d),y("hovertemplate"),y("align");var v=f.colorway;y("color",g.label.map((function(t,e){return a.addOpacity(function(t){return v[t%v.length]}(e),.8)}))),y("customdata");var x=t.link||{},_=c.newContainer(e,"link");function b(t,e){return n.coerce(x,_,i.link,t,e)}b("label"),b("arrowlen"),b("source"),b("target"),b("value"),b("line.color"),b("line.width"),b("hoverinfo",t.hoverinfo),l(x,_,b,d),b("hovertemplate");var w,T=o(f.paper_bgcolor).getLuminance()<.333,k=b("color",T?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)");function A(t){var e=o(t);if(!e.isValid())return t;var r=e.getAlpha();return r<=.8?e.setAlpha(r+.2):e=T?e.brighten():e.darken(),e.toRgbString()}b("hovercolor",Array.isArray(k)?k.map(A):A(k)),b("customdata"),u(x,_,{name:"colorscales",handleItemDefaults:h}),s(e,f,p),p("orientation"),p("valueformat"),p("valuesuffix"),g.x.length&&g.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",f.font,{autoShadowDflt:!0}),e._length=null}},71760:function(t,e,r){"use strict";t.exports={attributes:r(33795),supplyDefaults:r(67940),calc:r(22915),plot:r(16506),moduleType:"trace",name:"sankey",basePlotModule:r(42229),selectPoints:r(74670),categories:["noOpacity"],meta:{}}},16506:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=i.numberFormat,o=r(90958),s=r(32141),l=r(78766),c=r(21541).cn,u=i._;function h(t){return""!==t}function f(t,e){return t.filter((function(t){return t.key===e.traceId}))}function p(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function d(t){n.select(t).select("text.name").style("fill","black")}function m(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function y(t,e,r){e&&r&&f(r,e).selectAll("."+c.sankeyLink).filter(m(e)).call(x.bind(0,e,r,!1))}function v(t,e,r){e&&r&&f(r,e).selectAll("."+c.sankeyLink).filter(m(e)).call(_.bind(0,e,r,!1))}function x(t,e,r,n){n.style("fill",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha})),n.each((function(r){var n=r.link.label;""!==n&&f(e,t).selectAll("."+c.sankeyLink).filter((function(t){return t.link.label===n})).style("fill",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha}))})),r&&f(e,t).selectAll("."+c.sankeyNode).filter(g(t)).call(y)}function _(t,e,r,n){n.style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),n.each((function(r){var n=r.link.label;""!==n&&f(e,t).selectAll("."+c.sankeyLink).filter((function(t){return t.link.label===n})).style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha}))})),r&&f(e,t).selectAll(c.sankeyNode).filter(g(t)).call(v)}function b(t,e){var r=t.hoverlabel||{},n=i.nestedProperty(r,e).get();return!Array.isArray(n)&&n}t.exports=function(t,e){for(var r=t._fullLayout,i=r._paper,f=r._size,m=0;m"),color:b(o,"bgcolor")||l.addOpacity(m.color,1),borderColor:b(o,"bordercolor"),fontFamily:b(o,"font.family"),fontSize:b(o,"font.size"),fontColor:b(o,"font.color"),fontWeight:b(o,"font.weight"),fontStyle:b(o,"font.style"),fontVariant:b(o,"font.variant"),fontTextcase:b(o,"font.textcase"),fontLineposition:b(o,"font.lineposition"),fontShadow:b(o,"font.shadow"),nameLength:b(o,"namelength"),textAlign:b(o,"align"),idealAlign:n.event.x"),color:b(o,"bgcolor")||i.tinyColorHue,borderColor:b(o,"bordercolor"),fontFamily:b(o,"font.family"),fontSize:b(o,"font.size"),fontColor:b(o,"font.color"),fontWeight:b(o,"font.weight"),fontStyle:b(o,"font.style"),fontVariant:b(o,"font.variant"),fontTextcase:b(o,"font.textcase"),fontLineposition:b(o,"font.lineposition"),fontShadow:b(o,"font.shadow"),nameLength:b(o,"namelength"),textAlign:b(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:v,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});p(w,.85),d(w)}}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(v,i,a),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit("plotly_unhover",{event:n.event,points:[i.node]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var a=r.node;a.originalEvent=n.event,t._hoverdata=[a],n.select(e).call(v,r,i),s.click(t,{target:!0})}}})}},90958:function(t,e,r){"use strict";var n=r(32702),i=r(88640).Dj,a=r(45568),o=r(62369),s=r(68735),l=r(21541),c=r(65657),u=r(78766),h=r(62203),f=r(34809),p=f.strTranslate,d=f.strRotate,m=r(71293),g=m.keyFun,y=m.repeat,v=m.unwrap,x=r(30635),_=r(33626),b=r(4530),w=b.CAP_SHIFT,T=b.LINE_SPACING;function k(t,e,r){var n,i=v(e),a=i.trace,u=a.domain,h="h"===a.orientation,p=a.node.pad,d=a.node.thickness,m={justify:o.sankeyJustify,left:o.sankeyLeft,right:o.sankeyRight,center:o.sankeyCenter}[a.node.align],g=t.width*(u.x[1]-u.x[0]),y=t.height*(u.y[1]-u.y[0]),x=i._nodes,_=i._links,b=i.circular;(n=b?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(h?[g,y]:[y,g]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodeAlign(m).nodes(x).links(_);var w,T,k,A=n();for(var M in n.nodePadding()o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(x=A.nodes).forEach((function(t){var e,r,n,i=0,a=t.length;for(t.sort((function(t,e){return t.y0-e.y0})),n=0;n=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p})),n.update(A)}return{circular:b,key:r,trace:a,guid:f.randstr(),horizontal:h,width:g,height:y,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,linkArrowLength:a.link.arrowlen,valueFormat:a.valueformat,valueSuffix:a.valuesuffix,textFont:a.textfont,translateX:u.x[0]*t.width+t.margin.l,translateY:t.height-u.y[1]*t.height+t.margin.t,dragParallel:h?y:g,dragPerpendicular:h?g:y,arrangement:a.arrangement,sankey:n,graph:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(t,e,r){var n=c(e.color),i=c(e.hovercolor),a=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:a,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:u.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:u.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:M,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,linkArrowLength:t.linkArrowLength,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function M(){return function(t){var e=t.linkArrowLength;if(t.link.circular)return function(t,e){var r=t.width/2,n=t.circularPathData;return"top"===t.circularLinkType?"M "+(n.targetX-e)+" "+(n.targetY+r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 1 "+(n.rightFullExtent-r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 1 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY-n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.leftInnerExtent+" "+(n.sourceY-r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 0 "+(n.leftFullExtent-r)+" "+(n.sourceY-n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 0 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"L"+(n.targetX-e)+" "+(n.targetY-r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z":"M "+(n.targetX-e)+" "+(n.targetY-r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 0 "+(n.rightFullExtent-r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 0 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY+n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.leftInnerExtent+" "+(n.sourceY+r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 1 "+(n.leftFullExtent-r)+" "+(n.sourceY+n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 1 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"L"+(n.targetX-e)+" "+(n.targetY+r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z"}(t.link,e);var r=Math.abs((t.link.target.x0-t.link.source.x1)/2);e>r&&(e=r);var n=t.link.source.x1,a=t.link.target.x0-e,o=i(n,a),s=o(.5),l=o(.5),c=t.link.y0-t.link.width/2,u=t.link.y0+t.link.width/2,h=t.link.y1-t.link.width/2,f=t.link.y1+t.link.width/2,p="M"+n+","+c,d="C"+s+","+c+" "+l+","+h+" "+a+","+h,m="C"+l+","+f+" "+s+","+u+" "+n+","+u,g=e>0?"L"+(a+e)+","+(h+t.link.width/2):"";return p+d+(g+="L"+a+","+f)+m+"Z"}}function S(t,e){var r=c(e.color),n=l.nodePadAcross,i=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var a=e.dx,o=Math.max(.5,e.dy),s="node_"+e.pointNumber;return e.group&&(s=f.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:s,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:u.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,s].join("_"),interactionState:t.interactionState,figure:t}}function E(t){t.attr("transform",(function(t){return p(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function C(t){t.call(E)}function L(t,e){t.call(C),e.attr("d",M())}function I(t){t.attr("width",(function(t){return t.node.x1-t.node.x0})).attr("height",(function(t){return t.visibleHeight}))}function P(t){return t.link.width>1||t.linkLineWidth>0}function z(t){return p(t.translateX,t.translateY)+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function O(t,e,r){t.on(".basic",null).on("mouseover.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on("mousemove.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on("mouseout.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on("click.basic",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function D(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on("dragstart",(function(a){if("fixed"!==a.arrangement&&(f.ensureSingle(i._fullLayout._infolayer,"g","dragcover",(function(t){i._fullLayout._dragCover=t})),f.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),"snap"===a.arrangement)){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e0&&n.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,a),function(t,e,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o0)window.requestAnimationFrame(a);else{var s=r.node.originalX;r.node.x0=s-r.visibleWidth/2,r.node.x1=s+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=a.event.x,i=a.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),L(t.filter(B(r)),e))}})).on("dragend",(function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;el&&L[y].gap;)y--;for(x=L[y].s,m=L.length-1;m>y;m--)L[m].s=x;for(;lS[h]&&h=0;h--){var f=t[h];if("scatter"===f.type&&f.xaxis===c.xaxis&&f.yaxis===c.yaxis){f.opacity=void 0;break}}}}}},40247:function(t,e,r){"use strict";var n=r(34809),i=r(33626),a=r(36640),o=r(32660),s=r(64726),l=r(99867),c=r(99669),u=r(382),h=r(24272),f=r(98168),p=r(91602),d=r(663),m=r(54114),g=r(34809).coercePattern;t.exports=function(t,e,r,y){function v(r,i){return n.coerce(t,e,a,r,i)}var x=l(t,e,y,v);if(x||(e.visible=!1),e.visible){c(t,e,y,v),v("xhoverformat"),v("yhoverformat"),v("zorder");var _=u(t,e,y,v);"group"===y.scattermode&&void 0===e.orientation&&v("orientation","v");var b=!_&&x=Math.min(e,r)&&d<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(f.c2p(t.x)-d);return a=Math.min(e,r)&&m<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(p.c2p(t.y)-m);return ar!=(c=i[n][1])>=r&&(o=i[n-1][0],s=i[n][0],c-l&&(a=o+(s-o)*(r-l)/(c-l),h=Math.min(h,a),d=Math.max(d,a)));return{x0:h=Math.max(h,0),x1:d=Math.min(d,f._length),y0:r,y1:r}}(h._polygons);null===P&&(P={x0:g[0],x1:g[0],y0:g[1],y1:g[1]});var z=s.defaultLine;return s.opacity(h.fillcolor)?z=h.fillcolor:s.opacity((h.line||{}).color)&&(z=h.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:P.x0,x1:P.x1,y0:P.y0,y1:P.y1,color:z,hovertemplate:!1}),delete t.index,h.text&&!n.isArrayOrTypedArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}},69693:function(t,e,r){"use strict";var n=r(64726);t.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:r(36640),layoutAttributes:r(26667),supplyDefaults:r(40247),crossTraceDefaults:r(53044),supplyLayoutDefaults:r(12332),calc:r(26544).calc,crossTraceCalc:r(75603),arraysToCalcdata:r(99203),plot:r(36098),colorbar:r(21146),formatLabels:r(15294),style:r(9408).style,styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(37255),selectPoints:r(32665),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:r(37703),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},26667:function(t){"use strict";t.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}},12332:function(t,e,r){"use strict";var n=r(34809),i=r(26667);t.exports=function(t,e){var r,a="group"===e.barmode;"group"===e.scattermode&&("scattergap",r=a?e.bargap:.2,n.coerce(t,e,i,"scattergap",r))}},98168:function(t,e,r){"use strict";var n=r(34809).isArrayOrTypedArray,i=r(65477).hasColorscale,a=r(39356);t.exports=function(t,e,r,o,s,l){l||(l={});var c=(t.marker||{}).color;c&&c._inputArray&&(c=c._inputArray),s("line.color",r),i(t,"line")?a(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(c)&&c||r),s("line.width"),l.noDash||s("line.dash"),l.backoff&&s("line.backoff")}},5525:function(t,e,r){"use strict";var n=r(62203),i=r(63821),a=i.BADNUM,o=i.LOG_CLIP,s=o+.5,l=o-.5,c=r(34809),u=c.segmentsIntersect,h=c.constrain,f=r(32660);t.exports=function(t,e){var r,i,o,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E=e.trace||{},C=e.xaxis,L=e.yaxis,I="log"===C.type,P="log"===L.type,z=C._length,O=L._length,D=e.backoff,R=E.marker,F=e.connectGaps,B=e.baseTolerance,N=e.shape,j="linear"===N,U=E.fill&&"none"!==E.fill,V=[],q=f.minTolerance,H=t.length,G=new Array(H),Z=0;function W(r){var n=t[r];if(!n)return!1;var i=e.linearized?C.l2p(n.x):C.c2p(n.x),o=e.linearized?L.l2p(n.y):L.c2p(n.y);if(i===a){if(I&&(i=C.c2p(n.x,!0)),i===a)return!1;P&&o===a&&(i*=Math.abs(C._m*O*(C._m>0?s:l)/(L._m*z*(L._m>0?s:l)))),i*=1e3}if(o===a){if(P&&(o=L.c2p(n.y,!0)),o===a)return!1;o*=1e3}return[i,o]}function Y(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,c=i*o+a*s;if(c>0&&cot||t[1]lt)return[h(t[0],at,ot),h(t[1],st,lt)]}function ht(t,e){return t[0]===e[0]&&(t[0]===at||t[0]===ot)||t[1]===e[1]&&(t[1]===st||t[1]===lt)||void 0}function ft(t,e,r){return function(n,i){var a=ut(n),o=ut(i),s=[];if(a&&o&&ht(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*c.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);return l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l),s}}function pt(t){var e=t[0],r=t[1],n=e===G[Z-1][0],i=r===G[Z-1][1];if(!n||!i)if(Z>1){var a=e===G[Z-2][0],o=r===G[Z-2][1];n&&(e===at||e===ot)&&a?o?Z--:G[Z-1]=t:i&&(r===st||r===lt)&&o?a?Z--:G[Z-1]=t:G[Z++]=t}else G[Z++]=t}function dt(t){G[Z-1][0]!==t[0]&&G[Z-1][1]!==t[1]&&pt([Q,tt]),pt(t),et=null,Q=tt=0}"linear"===N||"spline"===N?nt=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=ct[i],o=u(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&$(o,t)<$(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:"hv"===N||"vh"===N?nt=function(t,e){var r=[],n=ut(t),i=ut(e);return n&&i&&ht(n,i)||(n&&r.push(n),i&&r.push(i)),r}:"hvh"===N?nt=ft(0,at,ot):"vhv"===N&&(nt=ft(1,st,lt));var mt=c.isArrayOrTypedArray(R);function gt(e){if(e&&D&&(e.i=r,e.d=t,e.trace=E,e.marker=mt?R[e.i]:R,e.backoff=D),M=e[0]/z,S=e[1]/O,J=e[0]ot?ot:0,K=e[1]lt?lt:0,J||K){if(Z)if(et){var n=nt(et,e);n.length>1&&(dt(n[0]),G[Z++]=n[1])}else rt=nt(G[Z-1],e)[0],G[Z++]=rt;else G[Z++]=[J||e[0],K||e[1]];var i=G[Z-1];J&&K&&(i[0]!==J||i[1]!==K)?(et&&(Q!==J&&tt!==K?pt(Q&&tt?(a=et,s=(o=e)[0]-a[0],l=(o[1]-a[1])/s,(a[1]*o[0]-o[1]*a[0])/s>0?[l>0?at:ot,lt]:[l>0?ot:at,st]):[Q||J,tt||K]):Q&&tt&&pt([Q,tt])),pt([J,K])):Q-J&&tt-K&&pt([J||Q,K||tt]),et=e,Q=J,tt=K}else et&&dt(nt(et,e)[0]),G[Z++]=e;var a,o,s,l}for(r=0;rX(m,yt))break;o=m,(w=v[0]*y[0]+v[1]*y[1])>_?(_=w,p=m,g=!1):w=t.length||!m)break;gt(m),i=m}}else gt(p)}et&&pt([Q||et[0],tt||et[1]]),V.push(G.slice(0,Z))}var vt=N.slice(N.length-1);if(D&&"h"!==vt&&"v"!==vt){for(var xt=!1,_t=-1,bt=[],wt=0;wt=0?l=p:(l=p=f,f++),l0?Math.max(r,a):0}}},21146:function(t){"use strict";t.exports={container:"marker",min:"cmin",max:"cmax"}},24272:function(t,e,r){"use strict";var n=r(78766),i=r(65477).hasColorscale,a=r(39356),o=r(64726);t.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),h=(t.line||{}).color;c=c||{},h&&(r=h),l("marker.symbol"),l("marker.opacity",u?.7:1),l("marker.size"),c.noAngle||(l("marker.angle"),c.noAngleRef||l("marker.angleref"),c.noStandOff||l("marker.standoff")),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),c.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),c.noLine||(l("marker.line.color",h&&!Array.isArray(h)&&e.marker.color!==h?h:u?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",u?1:0)),u&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),c.gradient&&"none"!==l("marker.gradient.type")&&l("marker.gradient.color")}},99669:function(t,e,r){"use strict";var n=r(34809).dateTick0,i=r(63821).ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}t.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",a(o,e.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",a(s,e.ycalendar)),n("yperiodalignment"))}}},36098:function(t,e,r){"use strict";var n=r(45568),i=r(33626),a=r(34809),o=a.ensureSingle,s=a.identity,l=r(62203),c=r(64726),u=r(5525),h=r(17210),f=r(80899).tester;function p(t,e,r,h,p,d,m){var g,y=t._context.staticPlot;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,u=n.extent(a.simpleMap(s.range,s.r2c)),h=n.extent(a.simpleMap(l.range,l.r2c)),f=i[0].trace;if(c.hasMarkers(f)){var p=f.marker.maxdisplayed;if(0!==p){var d=i.filter((function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=h[0]&&t.y<=h[1]})),m=Math.ceil(d.length/p),g=0;o.forEach((function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function x(t){return v?t.transition():t}var _=r.xaxis,b=r.yaxis,w=h[0].trace,T=w.line,k=n.select(d),A=o(k,"g","errorbars"),M=o(k,"g","lines"),S=o(k,"g","points"),E=o(k,"g","text");if(i.getComponentMethod("errorbars","plot")(t,A,r,m),!0===w.visible){var C,L;x(k).style("opacity",w.opacity);var I,P,z=w.fill.charAt(w.fill.length-1);"x"!==z&&"y"!==z&&(z=""),"y"===z?(I=1,P=b.c2p(0,!0)):"x"===z&&(I=0,P=_.c2p(0,!0)),h[0][r.isRangePlot?"nodeRangePlot3":"node3"]=k;var O,D,R="",F=[],B=w._prevtrace,N=null,j=null;B&&(R=B._prevRevpath||"",L=B._nextFill,F=B._ownPolygons,N=B._fillsegments,j=B._fillElement);var U,V,q,H,G,Z,W="",Y="",X=[];w._polygons=[];var $=[],J=[],K=a.noop;if(C=w._ownFill,c.hasLines(w)||"none"!==w.fill){L&&L.datum(h),-1!==["hv","vh","hvh","vhv"].indexOf(T.shape)?(U=l.steps(T.shape),V=l.steps(T.shape.split("").reverse().join(""))):U=V="spline"===T.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),T.smoothing):l.smoothopen(t,T.smoothing)}:function(t){return"M"+t.join("L")},q=function(t){return V(t.reverse())},J=u(h,{xaxis:_,yaxis:b,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,backoff:T.backoff,simplify:T.simplify,fill:w.fill}),$=new Array(J.length);var Q=0;for(g=0;g0,g=h(t,e,r);(u=i.selectAll("g.trace").data(g,(function(t){return t[0].trace.uid}))).enter().append("g").attr("class",(function(t){return"trace scatter trace"+t[0].trace.uid})).style("stroke-miterlimit",2),u.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),"g","fills");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,c=[];a._ownfill&&c.push("_ownFill"),a._nexttrace&&c.push("_nextFill");var u=i.selectAll("g").data(c,s);u.enter().append("g"),u.exit().each((function(t){a[t]=null})).remove(),u.order().each((function(t){a[t]=o(n.select(this),"path","js-fill")}))}))}(t,u,e),m?(c&&(f=c()),n.transition().duration(a.duration).ease(a.easing).each("end",(function(){f&&f()})).each("interrupt",(function(){f&&f()})).each((function(){i.selectAll("g.trace").each((function(r,n){p(t,n,e,r,g,this,a)}))}))):u.each((function(r,n){p(t,n,e,r,g,this,a)})),d&&u.exit().remove(),i.selectAll("path:not([d])").remove()}},32665:function(t,e,r){"use strict";var n=r(64726);t.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],h=s[0].trace;if(!n.hasMarkers(h)&&!n.hasText(h))return[];if(!1===e)for(r=0;r0){var f=i.c2l(u);i._lowerLogErrorBound||(i._lowerLogErrorBound=f),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,f)}}else o[s]=[-l[0]*r,l[1]*r]}return o}t.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e-1?-1:t.indexOf("right")>-1?1:0}function _(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function b(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o=0){var E=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&h("surfacecolor",p||d);for(var m=["x","y","z"],g=0;g<3;++g){var y="projection."+m[g];h(y+".show")&&(h(y+".opacity"),h(y+".scale"))}var v=n.getComponentMethod("errorbars","supplyDefaults");v(t,e,p||d||r,{axis:"z"}),v(t,e,p||d||r,{axis:"y",inherit:"z"}),v(t,e,p||d||r,{axis:"x",inherit:"z"})}else e.visible=!1}},17822:function(t,e,r){"use strict";t.exports={plot:r(16533),attributes:r(14117),markerSymbols:r(49467),supplyDefaults:r(82418),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:r(37593),moduleType:"trace",name:"scatter3d",basePlotModule:r(2487),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},54637:function(t,e,r){"use strict";var n=r(19326),i=r(36640),a=r(9829),o=r(3208).rb,s=r(3208).ay,l=r(87163),c=r(93049).extendFlat,u=i.marker,h=i.line,f=u.line;t.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:c({},i.mode,{dflt:"markers"}),text:c({},i.text,{}),texttemplate:s({editType:"plot"},{keys:["a","b","text"]}),hovertext:c({},i.hovertext,{}),line:{color:h.color,width:h.width,dash:h.dash,backoff:h.backoff,shape:c({},h.shape,{values:["linear","spline"]}),smoothing:h.smoothing,editType:"calc"},connectgaps:i.connectgaps,fill:c({},i.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n(),marker:c({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,angle:u.angle,angleref:u.angleref,standoff:u.standoff,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:c({width:f.width,editType:"calc"},l("marker.line")),gradient:u.gradient,editType:"calc"},l("marker")),textfont:i.textfont,textposition:i.textposition,selected:i.selected,unselected:i.unselected,hoverinfo:c({},a.hoverinfo,{flags:["a","b","text","name"]}),hoveron:i.hoveron,hovertemplate:o(),zorder:i.zorder}},68001:function(t,e,r){"use strict";var n=r(10721),i=r(77272),a=r(99203),o=r(48861),s=r(26544).calcMarkerSize,l=r(26571);t.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,h,f=e._length,p=new Array(f),d=!1;for(c=0;c")}return o}function v(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,g.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},56534:function(t,e,r){"use strict";t.exports={attributes:r(54637),supplyDefaults:r(16986),colorbar:r(21146),formatLabels:r(32709),calc:r(68001),plot:r(64535),style:r(9408).style,styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(59420),selectPoints:r(32665),eventData:r(68289),moduleType:"trace",name:"scattercarpet",basePlotModule:r(37703),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},64535:function(t,e,r){"use strict";var n=r(36098),i=r(29714),a=r(62203);t.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,h=i.getFromId(t,u.xaxis||"x"),f=i.getFromId(t,u.yaxis||"y"),p={xaxis:h,yaxis:f,plot:e.plot};for(s=0;s")}function p(t){return t+"°"}}(c,m,t,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},18070:function(t,e,r){"use strict";t.exports={attributes:r(6893),supplyDefaults:r(27386),colorbar:r(21146),formatLabels:r(57413),calc:r(75649),calcGeoJSON:r(48887).calcGeoJSON,plot:r(48887).plot,style:r(60367),styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(40636),eventData:r(71873),selectPoints:r(45852),moduleType:"trace",name:"scattergeo",basePlotModule:r(47544),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},48887:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=r(11577).getTopojsonFeatures,o=r(39532),s=r(3994),l=r(32919).findExtremes,c=r(63821).BADNUM,u=r(26544).calcMarkerSize,h=r(64726),f=r(60367);t.exports={calcGeoJSON:function(t,e){var r,n,o=t[0].trace,h=e[o.geo],f=h._subplot,p=o._length;if(i.isArrayOrTypedArray(o.locations)){var d=o.locationmode,m="geojson-id"===d?s.extractTraceFeature(t):a(o,f.topojson);for(r=0;r=g,w=2*_,T={},k=l.makeCalcdata(e,"x"),A=v.makeCalcdata(e,"y"),M=s(e,l,"x",k),S=s(e,v,"y",A),E=M.vals,C=S.vals;e._x=E,e._y=C,e.xperiodalignment&&(e._origX=k,e._xStarts=M.starts,e._xEnds=M.ends),e.yperiodalignment&&(e._origY=A,e._yStarts=S.starts,e._yEnds=S.ends);var L=new Array(w),I=new Array(_);for(r=0;r<_;r++)L[2*r]=E[r]===m?NaN:E[r],L[2*r+1]=C[r]===m?NaN:C[r],I[r]=r;if("log"===l.type)for(r=0;r1&&i.extendFlat(s.line,p.linePositions(t,r,n)),s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}return s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel))),s}(t,0,e,L,E,C),O=d(t,x);return h(o,e),b?z.marker&&(P=z.marker.sizeAvg||Math.max(z.marker.size,3)):P=c(e,_),u(t,e,l,v,E,C,P),z.errorX&&y(e,l,z.errorX),z.errorY&&y(e,v,z.errorY),z.fill&&!O.fill2d&&(O.fill2d=!0),z.marker&&!O.scatter2d&&(O.scatter2d=!0),z.line&&!O.line2d&&(O.line2d=!0),!z.errorX&&!z.errorY||O.error2d||(O.error2d=!0),z.text&&!O.glText&&(O.glText=!0),z.marker&&(z.marker.snap=_),O.lineOptions.push(z.line),O.errorXOptions.push(z.errorX),O.errorYOptions.push(z.errorY),O.fillOptions.push(z.fill),O.markerOptions.push(z.marker),O.markerSelectedOptions.push(z.markerSel),O.markerUnselectedOptions.push(z.markerUnsel),O.textOptions.push(z.text),O.textSelectedOptions.push(z.textSel),O.textUnselectedOptions.push(z.textUnsel),O.selectBatch.push([]),O.unselectBatch.push([]),T._scene=O,T.index=O.count,T.x=E,T.y=C,T.positions=L,O.count++,[{x:!1,y:!1,t:T,trace:e}]}},29483:function(t){"use strict";t.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},19937:function(t,e,r){"use strict";var n=r(10721),i=r(96021),a=r(162),o=r(33626),s=r(34809),l=s.isArrayOrTypedArray,c=r(62203),u=r(5975),h=r(46998).formatColor,f=r(64726),p=r(92527),d=r(4075),m=r(29483),g=r(20438).DESELECTDIM,y={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},v=r(36040).appendArrayPointValue;function x(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,c=e.textposition,u=l(c)?c:[c],h=o.color,f=o.size,p=o.family,d=o.weight,m=o.style,g=o.variant,y={},x=t._context.plotGlPixelRatio,b=e.texttemplate;if(b){y.text=[];var w=i._d3locale,T=Array.isArray(b),k=T?Math.min(b.length,a):a,A=T?function(t){return b[t]}:function(){return b};for(r=0;r500?"bold":"normal":t}function b(t,e){var r,n,i=e._length,o=e.marker,s={},c=l(o.symbol),u=l(o.angle),f=l(o.color),m=l(o.line.color),g=l(o.opacity),y=l(o.size),v=l(o.line.width);if(c||(n=d.isOpenSymbol(o.symbol)),c||f||m||g||u){s.symbols=new Array(i),s.angles=new Array(i),s.colors=new Array(i),s.borderColors=new Array(i);var x=o.symbol,_=o.angle,b=h(o,o.opacity,i),w=h(o.line,o.opacity,i);if(!l(w[0])){var T=w;for(w=Array(i),r=0;rm.TOO_MANY_POINTS||f.hasMarkers(e)?"rect":"round";if(c&&e.connectgaps){var h=n[0],p=n[1];for(i=0;i1?c[i]:c[0]:c,m=l(u)?u.length>1?u[i]:u[0]:u,g=y[d],v=y[m],x=h?h/.8+1:0,_=-v*x-.5*v;o.offset[i]=[g*x/p,_/p]}}return o}}},86590:function(t,e,r){"use strict";var n=r(34809),i=r(33626),a=r(4075),o=r(92089),s=r(32660),l=r(64726),c=r(99867),u=r(99669),h=r(24272),f=r(98168),p=r(54114),d=r(663);t.exports=function(t,e,r,m){function g(r,i){return n.coerce(t,e,o,r,i)}var y=!!t.marker&&a.isOpenSymbol(t.marker.symbol),v=l.isBubble(t),x=c(t,e,m,g);if(x){u(t,e,m,g),g("xhoverformat"),g("yhoverformat");var _=x100},e.isDotSymbol=function(t){return"string"==typeof t?n.DOT_RE.test(t):t>200}},36544:function(t,e,r){"use strict";var n=r(33626),i=r(34809),a=r(11539);function o(t,e,r,o){var s=t.xa,l=t.ya,c=t.distance,u=t.dxy,h=t.index,f={pointNumber:h,x:e[h],y:r[h]};f.tx=i.isArrayOrTypedArray(o.text)?o.text[h]:o.text,f.htx=Array.isArray(o.hovertext)?o.hovertext[h]:o.hovertext,f.data=Array.isArray(o.customdata)?o.customdata[h]:o.customdata,f.tp=Array.isArray(o.textposition)?o.textposition[h]:o.textposition;var p=o.textfont;p&&(f.ts=i.isArrayOrTypedArray(p.size)?p.size[h]:p.size,f.tc=i.isArrayOrTypedArray(p.color)?p.color[h]:p.color,f.tf=Array.isArray(p.family)?p.family[h]:p.family,f.tw=Array.isArray(p.weight)?p.weight[h]:p.weight,f.ty=Array.isArray(p.style)?p.style[h]:p.style,f.tv=Array.isArray(p.variant)?p.variant[h]:p.variant);var d=o.marker;d&&(f.ms=i.isArrayOrTypedArray(d.size)?d.size[h]:d.size,f.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[h]:d.opacity,f.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[h]:d.symbol,f.ma=i.isArrayOrTypedArray(d.angle)?d.angle[h]:d.angle,f.mc=i.isArrayOrTypedArray(d.color)?d.color[h]:d.color);var m=d&&d.line;m&&(f.mlc=Array.isArray(m.color)?m.color[h]:m.color,f.mlw=i.isArrayOrTypedArray(m.width)?m.width[h]:m.width);var g=d&&d.gradient;g&&"none"!==g.type&&(f.mgt=Array.isArray(g.type)?g.type[h]:g.type,f.mgc=Array.isArray(g.color)?g.color[h]:g.color);var y=s.c2p(f.x,!0),v=l.c2p(f.y,!0),x=f.mrc||1,_=o.hoverlabel;_&&(f.hbg=Array.isArray(_.bgcolor)?_.bgcolor[h]:_.bgcolor,f.hbc=Array.isArray(_.bordercolor)?_.bordercolor[h]:_.bordercolor,f.hts=i.isArrayOrTypedArray(_.font.size)?_.font.size[h]:_.font.size,f.htc=Array.isArray(_.font.color)?_.font.color[h]:_.font.color,f.htf=Array.isArray(_.font.family)?_.font.family[h]:_.font.family,f.hnl=i.isArrayOrTypedArray(_.namelength)?_.namelength[h]:_.namelength);var b=o.hoverinfo;b&&(f.hi=Array.isArray(b)?b[h]:b);var w=o.hovertemplate;w&&(f.ht=Array.isArray(w)?w[h]:w);var T={};T[t.index]=f;var k=o._origX,A=o._origY,M=i.extendFlat({},t,{color:a(o,f),x0:y-x,x1:y+x,xLabelVal:k?k[h]:f.x,y0:v-x,y1:v+x,yLabelVal:A?A[h]:f.y,cd:T,distance:c,spikeDistance:u,hovertemplate:f.ht});return f.htx?M.text=f.htx:f.tx?M.text=f.tx:o.text&&(M.text=o.text),i.fillText(f,o,M),n.getComponentMethod("errorbars","hoverInfo")(f,o,M),M}t.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,c,u,h,f,p,d,m=t.cd,g=m[0].t,y=m[0].trace,v=t.xa,x=t.ya,_=g.x,b=g.y,w=v.c2p(e),T=x.c2p(r),k=t.distance;if(g.tree){var A=v.p2c(w-k),M=v.p2c(w+k),S=x.p2c(T-k),E=x.p2c(T+k);i="x"===n?g.tree.range(Math.min(A,M),Math.min(x._rl[0],x._rl[1]),Math.max(A,M),Math.max(x._rl[0],x._rl[1])):g.tree.range(Math.min(A,M),Math.min(S,E),Math.max(A,M),Math.max(S,E))}else i=g.ids;var C=k;if("x"===n){var L=!!y.xperiodalignment,I=!!y.yperiodalignment;for(u=0;u=Math.min(P,z)&&w<=Math.max(P,z)?0:1/0}if(h=Math.min(O,D)&&T<=Math.max(O,D)?0:1/0}d=Math.sqrt(h*h+f*f),s=i[u]}}}else for(u=i.length-1;u>-1;u--)l=_[a=i[u]],c=b[a],h=v.c2p(l)-w,f=x.c2p(c)-T,(p=Math.sqrt(h*h+f*f))v.glText.length){var T=b-v.glText.length;for(m=0;mr&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),v.line2d.update(v.lineOptions)),v.error2d){var A=(v.errorXOptions||[]).concat(v.errorYOptions||[]);v.error2d.update(A)}v.scatter2d&&v.scatter2d.update(v.markerOptions),v.fillOrder=s.repeat(null,b),v.fill2d&&(v.fillOptions=v.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,c=v.lineOptions[e],u=[];s._ownfill&&u.push(e),s._nexttrace&&u.push(e+1),u.length&&(v.fillOrder[e]=u);var h,f,p=[],d=c&&c.positions||l.positions;if("tozeroy"===s.fill){for(h=0;hh&&isNaN(d[f+1]);)f-=2;0!==d[h+1]&&(p=[d[h],0]),p=p.concat(d.slice(h,f+2)),0!==d[f+1]&&(p=p.concat([d[f],0]))}else if("tozerox"===s.fill){for(h=0;hh&&isNaN(d[f]);)f-=2;0!==d[h]&&(p=[0,d[h+1]]),p=p.concat(d.slice(h,f+2)),0!==d[f]&&(p=p.concat([0,d[f+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],i=0,t.splitNull=!0,a=0;a-1;for(m=0;m850?" Black":i>750?" Extra Bold":i>650?" Bold":i>550?" Semi Bold":i>450?" Medium":i>350?" Regular":i>250?" Light":i>150?" Extra Light":" Thin"):"Open Sans"===a.slice(0,2).join(" ")?(s="Open Sans",s+=i>750?" Extrabold":i>650?" Bold":i>550?" Semibold":i>350?" Regular":" Light"):"Klokantech Noto Sans"===a.slice(0,3).join(" ")&&(s="Klokantech Noto Sans","CJK"===a[3]&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),"Open Sans Regular Italic"===s?s="Open Sans Italic":"Open Sans Regular Bold"===s?s="Open Sans Bold":"Open Sans Regular Bold Italic"===s?s="Open Sans Bold Italic":"Klokantech Noto Sans Regular Italic"===s&&(s="Klokantech Noto Sans Italic"),h(s)||(s=r),s.split(", ")}t.exports=function(t,e){var r,a=e[0].trace,h=!0===a.visible&&0!==a._length,w="none"!==a.fill,T=u.hasLines(a),k=u.hasMarkers(a),A=u.hasText(a),M=k&&"circle"===a.marker.symbol,S=k&&"circle"!==a.marker.symbol,E=a.cluster&&a.cluster.enabled,C=g("fill"),L=g("line"),I=g("circle"),P=g("symbol"),z={fill:C,line:L,circle:I,symbol:P};if(!h)return z;if((w||T)&&(r=o.calcTraceToLineCoords(e)),w&&(C.geojson=o.makePolygon(r),C.layout.visibility="visible",i.extendFlat(C.paint,{"fill-color":a.fillcolor})),T&&(L.geojson=o.makeLine(r),L.layout.visibility="visible",i.extendFlat(L.paint,{"line-width":a.line.width,"line-color":a.line.color,"line-opacity":a.opacity})),M){var O=function(t){var e,r,a,o,u=t[0].trace,h=u.marker,f=u.selectedpoints,p=i.isArrayOrTypedArray(h.color),d=i.isArrayOrTypedArray(h.size),m=i.isArrayOrTypedArray(h.opacity);function g(t){return u.opacity*t}p&&(r=s.hasColorscale(u,"marker")?s.makeColorScaleFuncFromTrace(h):i.identity),d&&(a=c(u)),m&&(o=function(t){return g(n(t)?+i.constrain(t,0,1):0)});var y,v,_=[];for(e=0;e")}function u(t){return t+"°"}}t.exports={hoverPoints:function(t,e,r){var o=t.cd,u=o[0].trace,h=t.xa,f=t.ya,p=t.subplot,d=[],m=l+u.uid+"-circle",g=u.cluster&&u.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[m]});d=y.map((function(t){return t.id}))}var v=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-v;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-h.c2p([x,a]),c=o.y-f.c2p([n,r]),u=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-u,1-3/u)}),t),!1!==t.index){var _=o[t.index],b=_.lonlat,w=[i.modHalf(b[0],360)+v,b[1]],T=h.c2p(w),k=f.c2p(w),A=_.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[u.subplot]={_subplot:p};var S=u._module.formatLabels(_,u,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(u,_),t.extraText=c(u,_,o[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}},getExtraText:c}},30929:function(t,e,r){"use strict";t.exports={attributes:r(71388),supplyDefaults:r(57387),colorbar:r(21146),formatLabels:r(66762),calc:r(75649),plot:r(26126),hoverPoints:r(67275).hoverPoints,eventData:r(58240),selectPoints:r(21501),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermap",basePlotModule:r(34091),categories:["map","gl","symbols","showLegend","scatter-like"],meta:{}}},26126:function(t,e,r){"use strict";var n=r(34809),i=r(76717),a=r(8814).traceLayerPrefix,o={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function s(t,e,r,n){this.type="scattermap",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol",cluster:"source-"+e+"-circle",clusterCount:"source-"+e+"-circle"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol",cluster:a+e+"-cluster",clusterCount:a+e+"-cluster-count"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:"geojson",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[t]);a?a.setData(e.geojson):this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter);for(var i,a=this.layerIds[t],o=this.subplot.getMapLayers(),s=0;s=0;r--){var i=e[r];n.removeLayer(u.layerIds[i])}t||n.removeSource(u.sourceIds.circle)}(t):function(t){for(var e=o.nonCluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(u.layerIds[i]),t||n.removeSource(u.sourceIds[i])}}(t)}function f(t){l?function(t){t||u.addSource("circle",a.circle,e.cluster);for(var r=o.cluster,n=0;n=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},t.exports=function(t,e){var r,n,a,l=e[0].trace,c=l.cluster&&l.cluster.enabled,u=!0!==l.visible,h=new s(t,l.uid,c,u),f=i(t.gd,e),p=h.below=t.belowLookup["trace-"+l.uid];if(c)for(h.addSource("circle",f.circle,l.cluster),r=0;r850?" Black":i>750?" Extra Bold":i>650?" Bold":i>550?" Semi Bold":i>450?" Medium":i>350?" Regular":i>250?" Light":i>150?" Extra Light":" Thin"):"Open Sans"===a.slice(0,2).join(" ")?(s="Open Sans",s+=i>750?" Extrabold":i>650?" Bold":i>550?" Semibold":i>350?" Regular":" Light"):"Klokantech Noto Sans"===a.slice(0,3).join(" ")&&(s="Klokantech Noto Sans","CJK"===a[3]&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),"Open Sans Regular Italic"===s?s="Open Sans Italic":"Open Sans Regular Bold"===s?s="Open Sans Bold":"Open Sans Regular Bold Italic"===s?s="Open Sans Bold Italic":"Klokantech Noto Sans Regular Italic"===s&&(s="Klokantech Noto Sans Italic"),h(s)||(s=r),s.split(", ")}t.exports=function(t,e){var r,a=e[0].trace,h=!0===a.visible&&0!==a._length,w="none"!==a.fill,T=u.hasLines(a),k=u.hasMarkers(a),A=u.hasText(a),M=k&&"circle"===a.marker.symbol,S=k&&"circle"!==a.marker.symbol,E=a.cluster&&a.cluster.enabled,C=g("fill"),L=g("line"),I=g("circle"),P=g("symbol"),z={fill:C,line:L,circle:I,symbol:P};if(!h)return z;if((w||T)&&(r=o.calcTraceToLineCoords(e)),w&&(C.geojson=o.makePolygon(r),C.layout.visibility="visible",i.extendFlat(C.paint,{"fill-color":a.fillcolor})),T&&(L.geojson=o.makeLine(r),L.layout.visibility="visible",i.extendFlat(L.paint,{"line-width":a.line.width,"line-color":a.line.color,"line-opacity":a.opacity})),M){var O=function(t){var e,r,a,o,u=t[0].trace,h=u.marker,f=u.selectedpoints,p=i.isArrayOrTypedArray(h.color),d=i.isArrayOrTypedArray(h.size),m=i.isArrayOrTypedArray(h.opacity);function g(t){return u.opacity*t}p&&(r=s.hasColorscale(u,"marker")?s.makeColorScaleFuncFromTrace(h):i.identity),d&&(a=c(u)),m&&(o=function(t){return g(n(t)?+i.constrain(t,0,1):0)});var y,v,_=[];for(e=0;e")}function u(t){return t+"°"}}t.exports={hoverPoints:function(t,e,r){var o=t.cd,u=o[0].trace,h=t.xa,f=t.ya,p=t.subplot,d=[],m=l+u.uid+"-circle",g=u.cluster&&u.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[m]});d=y.map((function(t){return t.id}))}var v=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-v;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-h.c2p([x,a]),c=o.y-f.c2p([n,r]),u=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-u,1-3/u)}),t),!1!==t.index){var _=o[t.index],b=_.lonlat,w=[i.modHalf(b[0],360)+v,b[1]],T=h.c2p(w),k=f.c2p(w),A=_.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[u.subplot]={_subplot:p};var S=u._module.formatLabels(_,u,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(u,_),t.extraText=c(u,_,o[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}},getExtraText:c}},83866:function(t,e,r){"use strict";["*scattermapbox* trace is deprecated!","Please consider switching to the *scattermap* trace type and `map` subplots.","Learn more at: https://plotly.com/javascript/maplibre-migration/"].join(" "),t.exports={attributes:r(95833),supplyDefaults:r(38302),colorbar:r(21146),formatLabels:r(69009),calc:r(75649),plot:r(20691),hoverPoints:r(18016).hoverPoints,eventData:r(68197),selectPoints:r(60784),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:r(68192),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},20691:function(t,e,r){"use strict";var n=r(34809),i=r(27009),a=r(44245).traceLayerPrefix,o={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function s(t,e,r,n){this.type="scattermapbox",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol",cluster:"source-"+e+"-circle",clusterCount:"source-"+e+"-circle"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol",cluster:a+e+"-cluster",clusterCount:a+e+"-cluster-count"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:"geojson",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[t]);a?a.setData(e.geojson):this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter);for(var i,a=this.layerIds[t],o=this.subplot.getMapLayers(),s=0;s=0;r--){var i=e[r];n.removeLayer(u.layerIds[i])}t||n.removeSource(u.sourceIds.circle)}(t):function(t){for(var e=o.nonCluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(u.layerIds[i]),t||n.removeSource(u.sourceIds[i])}}(t)}function f(t){l?function(t){t||u.addSource("circle",a.circle,e.cluster);for(var r=o.cluster,n=0;n=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},t.exports=function(t,e){var r,n,a,l=e[0].trace,c=l.cluster&&l.cluster.enabled,u=!0!==l.visible,h=new s(t,l.uid,c,u),f=i(t.gd,e),p=h.below=t.belowLookup["trace-"+l.uid];if(c)for(h.addSource("circle",f.circle,l.cluster),r=0;r")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:i}},66939:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:r(31645),categories:["polar","symbols","showLegend","scatter-like"],attributes:r(8738),supplyDefaults:r(73749).supplyDefaults,colorbar:r(21146),formatLabels:r(33368),calc:r(13246),plot:r(43836),style:r(9408).style,styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(29709).hoverPoints,selectPoints:r(32665),meta:{}}},43836:function(t,e,r){"use strict";var n=r(36098),i=r(63821).BADNUM;t.exports=function(t,e,r){for(var a=e.layers.frontplot.select("g.scatterlayer"),o=e.xaxis,s=e.yaxis,l={xaxis:o,yaxis:s,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},c=e.radialAxis,u=e.angularAxis,h=0;h=c&&(v.marker.cluster=d.tree),v.marker&&(v.markerSel.positions=v.markerUnsel.positions=v.marker.positions=b),v.line&&b.length>1&&l.extendFlat(v.line,s.linePositions(t,p,b)),v.text&&(l.extendFlat(v.text,{positions:b},s.textPosition(t,p,v.text,v.marker)),l.extendFlat(v.textSel,{positions:b},s.textPosition(t,p,v.text,v.markerSel)),l.extendFlat(v.textUnsel,{positions:b},s.textPosition(t,p,v.text,v.markerUnsel))),v.fill&&!f.fill2d&&(f.fill2d=!0),v.marker&&!f.scatter2d&&(f.scatter2d=!0),v.line&&!f.line2d&&(f.line2d=!0),v.text&&!f.glText&&(f.glText=!0),f.lineOptions.push(v.line),f.fillOptions.push(v.fill),f.markerOptions.push(v.marker),f.markerSelectedOptions.push(v.markerSel),f.markerUnselectedOptions.push(v.markerUnsel),f.textOptions.push(v.text),f.textSelectedOptions.push(v.textSel),f.textUnselectedOptions.push(v.textUnsel),f.selectBatch.push([]),f.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=y,d.positions=b,d._scene=f,d.index=f.count,f.count++}})),a(t,e,r)}},t.exports.reglPrecompiled={}},69595:function(t,e,r){"use strict";var n=r(3208).rb,i=r(3208).ay,a=r(93049).extendFlat,o=r(19326),s=r(36640),l=r(9829),c=s.line;t.exports={mode:s.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:s.text,texttemplate:i({editType:"plot"},{keys:["real","imag","text"]}),hovertext:s.hovertext,line:{color:c.color,width:c.width,dash:c.dash,backoff:c.backoff,shape:a({},c.shape,{values:["linear","spline"]}),smoothing:c.smoothing,editType:"calc"},connectgaps:s.connectgaps,marker:s.marker,cliponaxis:a({},s.cliponaxis,{dflt:!1}),textposition:s.textposition,textfont:s.textfont,fill:a({},s.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o(),hoverinfo:a({},l.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:s.hoveron,hovertemplate:n(),selected:s.selected,unselected:s.unselected}},44315:function(t,e,r){"use strict";var n=r(10721),i=r(63821).BADNUM,a=r(77272),o=r(99203),s=r(48861),l=r(26544).calcMarkerSize;t.exports=function(t,e){for(var r=t._fullLayout,c=e.subplot,u=r[c].realaxis,h=r[c].imaginaryaxis,f=u.makeCalcdata(e,"real"),p=h.makeCalcdata(e,"imag"),d=e._length,m=new Array(d),g=0;g")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:i}},73304:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scattersmith",basePlotModule:r(50358),categories:["smith","symbols","showLegend","scatter-like"],attributes:r(69595),supplyDefaults:r(93788),colorbar:r(21146),formatLabels:r(89419),calc:r(44315),plot:r(6229),style:r(9408).style,styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(64422).hoverPoints,selectPoints:r(32665),meta:{}}},6229:function(t,e,r){"use strict";var n=r(36098),i=r(63821).BADNUM,a=r(52007).smith;t.exports=function(t,e,r){for(var o=e.layers.frontplot.select("g.scatterlayer"),s=e.xaxis,l=e.yaxis,c={xaxis:s,yaxis:l,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},u=0;u"),o.hovertemplate=f.hovertemplate,a}function x(t,e){y.push(t._hovertitle+": "+e)}}},12864:function(t,e,r){"use strict";t.exports={attributes:r(18483),supplyDefaults:r(79028),colorbar:r(21146),formatLabels:r(78995),calc:r(67091),plot:r(79005),style:r(9408).style,styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(26558),selectPoints:r(32665),eventData:r(94343),moduleType:"trace",name:"scatterternary",basePlotModule:r(7638),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},79005:function(t,e,r){"use strict";var n=r(36098);t.exports=function(t,e,r){var i=e.plotContainer;i.select(".scatterlayer").selectAll("*").remove();for(var a=e.xaxis,o=e.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},l=e.layers.frontplot.select("g.scatterlayer"),c=0;cf?_.sizeAvg||Math.max(_.size,3):a(e,x),p=0;pa&&l||i-1,I=!0;if(o(x)||p.selectedpoints||L){var P=p._length;if(p.selectedpoints){m.selectBatch=p.selectedpoints;var z=p.selectedpoints,O={};for(l=0;l1&&(u=m[v-1],f=g[v-1],d=y[v-1]),e=0;eu?"-":"+")+"x")).replace("y",(h>f?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var C=function(){v=0,M=[],S=[],E=[]};(!v||v2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,u=e._len,h={};function d(t,e){var n=r[e],o=i[c[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(h.vectors=l(d(e._u,"xaxis"),d(e._v,"yaxis"),d(e._w,"zaxis"),u),!u)return{positions:[],cells:[]};var m=d(e._Xs,"xaxis"),g=d(e._Ys,"yaxis"),y=d(e._Zs,"zaxis");if(h.meshgrid=[m,g,y],h.gridFill=e._gridFill,e._slen)h.startingPositions=l(d(e._startsX,"xaxis"),d(e._startsY,"yaxis"),d(e._startsZ,"zaxis"));else{for(var v=g[0],x=f(m),_=f(y),b=new Array(x.length*_.length),w=0,T=0;T=0};v?(r=Math.min(y.length,_.length),l=function(t){return M(y[t])&&S(t)},h=function(t){return String(y[t])}):(r=Math.min(x.length,_.length),l=function(t){return M(x[t])&&S(t)},h=function(t){return String(x[t])}),w&&(r=Math.min(r,b.length));for(var E=0;E1){for(var P=a.randstr(),z=0;z=0){e.i=s.i;var u=r.marker;u.pattern&&u.colors&&u.pattern.shape||(u.color=c,e.color=c),n.pointStyle(t,r,a,e)}else i.fill(t,c)}},44691:function(t,e,r){"use strict";var n=r(45568),i=r(33626),a=r(36040).appendArrayPointValue,o=r(32141),s=r(34809),l=r(68596),c=r(33108),u=r(37252).formatPieValue;function h(t,e,r){for(var n=t.data.data,i={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o"),name:A||O("name")?v.name:void 0,color:k("hoverlabel.bgcolor")||x.color,borderColor:k("hoverlabel.bordercolor"),fontFamily:k("hoverlabel.font.family"),fontSize:k("hoverlabel.font.size"),fontColor:k("hoverlabel.font.color"),fontWeight:k("hoverlabel.font.weight"),fontStyle:k("hoverlabel.font.style"),fontVariant:k("hoverlabel.font.variant"),nameLength:k("hoverlabel.namelength"),textAlign:k("hoverlabel.align"),hovertemplate:A,hovertemplateLabels:I,eventData:l};g&&(F.x0=E-i.rInscribed*i.rpx1,F.x1=E+i.rInscribed*i.rpx1,F.idealAlign=i.pxmid[0]<0?"left":"right"),y&&(F.x=E,F.idealAlign=E<0?"left":"right");var B=[];o.loneHover(F,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r,inOut_bbox:B}),l[0].bbox=B[0],d._hasHoverLabel=!0}if(y){var N=t.select("path.surface");f.styleOne(N,i,v,r,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:l||[h(i,v,f.eventDataKeys)],event:n.event})}})),t.on("mouseout",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[h(s,a,f.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),y){var l=t.select("path.surface");f.styleOne(l,s,a,r,{hovered:!1})}})),t.on("click",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=g&&(c.isHierarchyRoot(t)||c.isLeaf(t)),u=c.getPtId(t),p=c.isEntry(t)?c.findEntryWithChild(m,u):c.findEntryWithLevel(m,u),y=c.getPtId(p),v={points:[h(t,a,f.eventDataKeys)],event:n.event};s||(v.nextLevel=y);var x=l.triggerHandler(r,"plotly_"+d.type+"click",v);if(!1!==x&&e.hovermode&&(r._hoverdata=[h(t,a,f.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call("_storeDirectGUIEdit",a,e._tracePreGUI[a.uid],{level:a.level});var _={data:[{level:y}],traces:[d.index]},b={frame:{redraw:!1,duration:f.transitionTime},transition:{duration:f.transitionTime,easing:f.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call("animate",r,_,b)}}))}},33108:function(t,e,r){"use strict";var n=r(34809),i=r(78766),a=r(27983),o=r(37252);function s(t){return t.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter((function(t){if(e.getPtId(t)===r)return n=t.copy()})),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},e.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,s(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,"label").join("/")+"/"},e.formatValue=o.formatPieValue,e.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},80809:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"sunburst",basePlotModule:r(14724),categories:[],animatable:!0,attributes:r(56708),layoutAttributes:r(98959),supplyDefaults:r(33459),supplyLayoutDefaults:r(75816),calc:r(14852).calc,crossTraceCalc:r(14852).crossTraceCalc,plot:r(19718).plot,style:r(98972).style,colorbar:r(21146),meta:{}}},98959:function(t){"use strict";t.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},75816:function(t,e,r){"use strict";var n=r(34809),i=r(98959);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},19718:function(t,e,r){"use strict";var n=r(45568),i=r(92264),a=r(88640).GW,o=r(62203),s=r(34809),l=r(30635),c=r(84102),u=c.recordMinTextSize,h=c.clearMinTextSize,f=r(35734),p=r(37252).getRotationAngle,d=f.computeTransform,m=f.transformInsideText,g=r(98972).styleOne,y=r(6851).resizeText,v=r(44691),x=r(2032),_=r(33108);function b(t,r,c,h){var f=t._context.staticPlot,y=t._fullLayout,b=!y.uniformtext.mode&&_.hasTransition(h),T=n.select(c).selectAll("g.slice"),k=r[0],A=k.trace,M=k.hierarchy,S=_.findEntryWithLevel(M,A.level),E=_.getMaxDepth(A),C=y._size,L=A.domain,I=C.w*(L.x[1]-L.x[0]),P=C.h*(L.y[1]-L.y[0]),z=.5*Math.min(I,P),O=k.cx=C.l+C.w*(L.x[1]+L.x[0])/2,D=k.cy=C.t+C.h*(1-L.y[0])-P/2;if(!S)return T.remove();var R=null,F={};b&&T.each((function(t){F[_.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!R&&_.isEntry(t)&&(R=t)}));var B=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(S).descendants(),N=S.height+1,j=0,U=E;k.hasMultipleRoots&&_.isHierarchyRoot(S)&&(B=B.slice(1),N-=1,j=1,U+=1),B=B.filter((function(t){return t.y1<=U}));var V=p(A.rotation);V&&B.forEach((function(t){t.x0+=V,t.x1+=V}));var q=Math.min(N,E),H=function(t){return(t-j)/q*z},G=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},Z=function(t){return s.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,O,D)},W=function(t){return O+w(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},Y=function(t){return D+w(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(T=T.data(B,_.getPtId)).enter().append("g").classed("slice",!0),b?T.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var e=function(t){var e,r=_.getPtId(t),n=F[r],i=F[_.getPtId(S)];if(i){var o=(t.x1>i.x1?2*Math.PI:0)+V;e=t.rpx1X?2*Math.PI:0)+V;e={x0:i,x1:i}}else e={rpx0:z,rpx1:z},s.extendFlat(e,K(t));else e={rpx0:0,rpx1:0};else e={x0:V,x1:V};return a(e,n)}(t);return function(t){return Z(e(t))}})):h.attr("d",Z),c.call(v,S,t,r,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(_.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),h.call(g,i,A,t);var p=s.ensureSingle(c,"g","slicetext"),w=s.ensureSingle(p,"text","",(function(t){t.attr("data-notex",1)})),T=s.ensureUniformFontSize(t,_.determineTextFont(A,i,y.font));w.text(e.formatSliceLabel(i,S,A,r,y)).classed("slicetext",!0).attr("text-anchor","middle").call(o.font,T).call(l.convertToTspans,t);var M=o.bBox(w.node());i.transform=m(M,i,k),i.transform.targetX=W(i),i.transform.targetY=Y(i);var E=function(t,e){var r=t.transform;return d(r,e),r.fontSize=T.size,u(A.type,r,y),s.getTextTransform(r)};b?w.transition().attrTween("transform",(function(t){var e=function(t){var e,r=F[_.getPtId(t)],n=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:n.textPosAngle,scale:0,rotate:n.rotate,rCenter:n.rCenter,x:n.x,y:n.y}},R)if(t.parent)if(X){var i=t.x1>X?2*Math.PI:0;e.x0=e.x1=i}else s.extendFlat(e,K(t));else e.x0=e.x1=V;else e.x0=e.x1=V;var o=a(e.transform.textPosAngle,t.transform.textPosAngle),l=a(e.rpx1,t.rpx1),c=a(e.x0,t.x0),h=a(e.x1,t.x1),f=a(e.transform.scale,n.scale),p=a(e.transform.rotate,n.rotate),d=0===n.rCenter?3:0===e.transform.rCenter?1/3:1,m=a(e.transform.rCenter,n.rCenter);return function(t){var e=l(t),r=c(t),i=h(t),a=function(t){return m(Math.pow(t,d))}(t),s={pxmid:G(e,(r+i)/2),rpx1:e,transform:{textPosAngle:o(t),rCenter:a,x:n.x,y:n.y}};return u(A.type,n,y),{transform:{targetX:W(s),targetY:Y(s),scale:f(t),rotate:p(t),rCenter:a}}}}(t);return function(t){return E(e(t),M)}})):w.attr("transform",E(i,M))}))}function w(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}e.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,c=!r,u=!s.uniformtext.mode&&_.hasTransition(r);h("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),u?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(e){b(t,e,this,r)}))}))):(a.each((function(e){b(t,e,this,r)})),s.uniformtext.mode&&y(t,s._sunburstlayer.selectAll(".trace"),"sunburst")),c&&a.exit().remove()},e.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!(a||o&&"none"!==o))return"";var l=i.separators,c=n[0],u=t.data.data,h=c.hierarchy,f=_.isHierarchyRoot(t),p=_.getParent(h,t),d=_.getValue(t);if(!a){var m,g=o.split("+"),y=function(t){return-1!==g.indexOf(t)},v=[];if(y("label")&&u.label&&v.push(u.label),u.hasOwnProperty("v")&&y("value")&&v.push(_.formatValue(u.v,l)),!f){y("current path")&&v.push(_.getPath(t.data));var x=0;y("percent parent")&&x++,y("percent entry")&&x++,y("percent root")&&x++;var b=x>1;if(x){var w,T=function(t){m=_.formatPercent(w,l),b&&(m+=" of "+t),v.push(m)};y("percent parent")&&!f&&(w=d/_.getValue(p),T("parent")),y("percent entry")&&(w=d/_.getValue(e),T("entry")),y("percent root")&&(w=d/_.getValue(h),T("root"))}}return y("text")&&(m=s.castOption(r,u.i,"text"),s.isValidTextValue(m)&&v.push(m)),v.join("
")}var k=s.castOption(r,u.i,"texttemplate");if(!k)return"";var A={};u.label&&(A.label=u.label),u.hasOwnProperty("v")&&(A.value=u.v,A.valueLabel=_.formatValue(u.v,l)),A.currentPath=_.getPath(t.data),f||(A.percentParent=d/_.getValue(p),A.percentParentLabel=_.formatPercent(A.percentParent,l),A.parent=_.getPtLabel(p)),A.percentEntry=d/_.getValue(e),A.percentEntryLabel=_.formatPercent(A.percentEntry,l),A.entry=_.getPtLabel(e),A.percentRoot=d/_.getValue(h),A.percentRootLabel=_.formatPercent(A.percentRoot,l),A.root=_.getPtLabel(h),u.hasOwnProperty("color")&&(A.color=u.color);var M=s.castOption(r,u.i,"text");return(s.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=s.castOption(r,u.i,"customdata"),s.texttemplateString(k,A,i._d3locale,A,r._meta||{})}},98972:function(t,e,r){"use strict";var n=r(45568),i=r(78766),a=r(34809),o=r(84102).resizeText,s=r(72043);function l(t,e,r,n){var o=e.data.data,l=!e.children,c=o.i,u=a.castOption(r,c,"marker.line.color")||i.defaultLine,h=a.castOption(r,c,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",h).call(i.stroke,u).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(".trace");o(t,e,"sunburst"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},16131:function(t,e,r){"use strict";var n=r(78766),i=r(87163),a=r(80712).axisHoverFormat,o=r(3208).rb,s=r(9829),l=r(93049).extendFlat,c=r(13582).overrideAll;function u(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var h=t.exports=c(l({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:o(),xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},i("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:u(),y:u(),z:u()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:l({},i.zauto,{}),zmin:l({},i.zmin,{}),zmax:l({},i.zmax,{})},hoverinfo:l({},s.hoverinfo),showlegend:l({},s.showlegend,{dflt:!1})}),"calc","nested");h.x.editType=h.y.editType=h.z.editType="calc+clearAxisTypes",h.transforms=void 0},53027:function(t,e,r){"use strict";var n=r(28379);t.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},27159:function(t,e,r){"use strict";var n=r(99098).gl_surface3d,i=r(99098).ndarray,a=r(99098).ndarray_linear_interpolate.d2,o=r(69295),s=r(78106),l=r(34809).isArrayOrTypedArray,c=r(46998).parseColorScale,u=r(55010),h=r(88856).extractOpts;function f(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=f.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){null!=t.dataCoordinate[a]&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var o=this.data.hovertext||this.data.text;return l(o)&&o[i]&&void 0!==o[i][n]?t.textLabel=o[i][n]:t.textLabel=o||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function m(t,e){if(t0){r=d[n];break}return r}function v(t,e){if(!(t<1||e<1)){for(var r=g(t),n=g(e),i=1,a=0;ab;)r--,r/=y(r),++r<_&&(r=b);var n=Math.round(r/t);return n>1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,c=1+a+1,u=i(new Float32Array(l*c),[l,c]),h=[1/e,0,0,0,1/r,0,0,0,1],f=0;f0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];ea&&(this.minValues[e]=a),this.maxValues[e]",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},21908:function(t,e,r){"use strict";var n=r(18426),i=r(93049).extendFlat,a=r(10721),o=r(87800).isTypedArray,s=r(87800).isArrayOrTypedArray;function l(t){if(s(t)){for(var e=0,r=0;r=e||c===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=0);return n}t.exports=function(t,e){var r=u(e.cells.values),o=function(t){return t.slice(e.header.values.length,t.length)},m=u(e.header.values);m.length&&!m[0].length&&(m[0]=[""],m=u(m));var g=m.concat(o(r).map((function(){return h((m[0]||[""]).length)}))),y=e.domain,v=Math.floor(t._fullLayout._size.w*(y.x[1]-y.x[0])),x=Math.floor(t._fullLayout._size.h*(y.y[1]-y.y[0])),_=e.header.values.length?g[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],b=r.length?r[0].map((function(){return e.cells.height})):[],w=_.reduce(c,0),T=d(b,x-w+n.uplift),k=p(d(_,w),[]),A=p(T,k),M={},S=e._fullInput.columnorder;s(S)&&(S=Array.from(S)),S=S.concat(o(r.map((function(t,e){return e}))));var E=g.map((function(t,r){var n=s(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),C=E.reduce(c,0);E=E.map((function(t){return t/C*v}));var L=Math.max(l(e.header.line.width),l(e.cells.line.width)),I={key:e.uid+t._context.staticPlot,translateX:y.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-y.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:L,height:x,columnOrder:S,groupHeight:x,rowBlocks:A,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map((function(t){return t[0]})),gdColumnsOriginalOrder:g.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map((function(t,e){var r=M[t];return M[t]=(r||0)+1,{key:t+"__"+M[t],label:t,specIndex:e,xIndex:S[e],xScale:f,x:void 0,calcdata:void 0,columnWidth:E[e]}}))};return I.columns.forEach((function(t){t.calcdata=I,t.x=f(t)})),I}},49618:function(t,e,r){"use strict";var n=r(93049).extendFlat;e.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},e.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0;return[r,e?r+e.rows.length:0]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},23281:function(t,e,r){"use strict";var n=r(34809),i=r(92294),a=r(13792).N;t.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",o.font),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(t,e){return t-e})),o=i.map((function(t){return a.indexOf(t)})),s=o.length;s/i),l=!a||s;t.mayHaveMarkup=a&&i.match(/[<&>]/);var c,u="string"==typeof(c=i)&&c.match(n.latexCheck);t.latex=u;var h,f,p=u?"":k(t.calcdata.cells.prefix,e,r)||"",d=u?"":k(t.calcdata.cells.suffix,e,r)||"",m=u?null:k(t.calcdata.cells.format,e,r)||null,g=p+(m?o(m)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(h=T(g)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===h?T(g):h),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var y=(" "===n.wrapSplitCharacter?g.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each((function(t,e){t.page=c[e],t.scrollY=l})),e.attr("transform",(function(t){var e=R(t.rowBlocks,t.page)-t.scrollY;return h(0,e)})),t&&(I(t,r,e,c,n.prevPages,n,0),I(t,r,e,c,n.prevPages,n,1),_(r,t))}}function L(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),c=r||s.scrollbarState.dragMultiplier,u=s.scrollY;s.scrollY=void 0===a?s.scrollY+c*i.event.dy:a;var h=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(M);return C(t,h,l),s.scrollY===u}}function I(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(t,e){return e===o&&n[e]!==i[e]}));b(t,e,a,r),i[o]=n[o]})))}function P(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll("tspan.line").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)c+(i=(r=s.shift()).width+a)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=i;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll("tspan.line").remove(),w(o.select("."+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(D)}}function z(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=N(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,f=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,p=Math.max(f,u);p-l.rows[c].rowHeight&&(l.rows[c].rowHeight=p,t.selectAll("."+n.cn.columnCell).call(D),C(null,t.filter(M),0),_(r,a,!0)),s.attr("transform",(function(){var t=this,e=t.parentNode.getBoundingClientRect(),r=i.select(t.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),a=t.transform.baseVal.consolidate(),s=r.top-e.top+(a?a.matrix.f:n.cellPad);return h(O(o,i.select(t.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function O(t,e){switch(t.align){case"left":default:return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2}}function D(t){t.attr("transform",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+F(e,1/0)}),0),r=F(N(t),t.key);return h(0,r+e)})).selectAll("."+n.cn.cellRect).attr("height",(function(t){return(e=N(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function R(t,e){for(var r=0,n=e-1;n>=0;n--)r+=B(t[n]);return r}function F(t,e){for(var r=0,n=0;n","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:u({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:c.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:u({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}},69784:function(t,e,r){"use strict";var n=r(44122);e.name="treemap",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},38848:function(t,e,r){"use strict";var n=r(14852);e._=function(t,e){return n.calc(t,e)},e.t=function(t){return n._runCrossTraceCalc("treemap",t)}},43236:function(t){"use strict";t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},95719:function(t,e,r){"use strict";var n=r(34809),i=r(71856),a=r(78766),o=r(13792).N,s=r(17550).handleText,l=r(56155).TEXTPAD,c=r(46979).handleMarkerDefaults,u=r(88856),h=u.hasColorscale,f=u.handleDefaults;t.exports=function(t,e,r,u){function p(r,a){return n.coerce(t,e,i,r,a)}var d=p("labels"),m=p("parents");if(d&&d.length&&m&&m.length){var g=p("values");g&&g.length?p("branchvalues"):p("count"),p("level"),p("maxdepth"),"squarify"===p("tiling.packing")&&p("tiling.squarifyratio"),p("tiling.flip"),p("tiling.pad");var y=p("text");p("texttemplate"),e.texttemplate||p("textinfo",n.isArrayOrTypedArray(y)?"text+label":"label"),p("hovertext"),p("hovertemplate");var v=p("pathbar.visible");s(t,e,u,p,"auto",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("textposition");var x=-1!==e.textposition.indexOf("bottom");c(t,e,u,p),(e._hasColorscale=h(t,"marker","colors")||(t.marker||{}).coloraxis)?f(t,e,u,p,{prefix:"marker.",cLetter:"c"}):p("marker.depthfade",!(e.marker.colors||[]).length);var _=2*e.textfont.size;p("marker.pad.t",x?_/4:_),p("marker.pad.l",_/4),p("marker.pad.r",_/4),p("marker.pad.b",x?_:_/4),p("marker.cornerradius"),e._hovered={marker:{line:{width:2,color:a.contrast(u.paper_bgcolor)}}},v&&(p("pathbar.thickness",e.pathbar.textfont.size+2*l),p("pathbar.side"),p("pathbar.edgeshape")),p("sort"),p("root.color"),o(e,u,p),e._length=null}else e.visible=!1}},41567:function(t,e,r){"use strict";var n=r(45568),i=r(33108),a=r(84102).clearMinTextSize,o=r(6851).resizeText,s=r(95709);t.exports=function(t,e,r,l,c){var u,h,f=c.type,p=c.drawDescendants,d=t._fullLayout,m=d["_"+f+"layer"],g=!r;a(f,d),(u=m.selectAll("g.trace."+f).data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed(f,!0),u.order(),!d.uniformtext.mode&&i.hasTransition(r)?(l&&(h=l()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){m.selectAll("g.trace").each((function(e){s(t,e,this,r,p)}))}))):(u.each((function(e){s(t,e,this,r,p)})),d.uniformtext.mode&&o(t,m.selectAll(".trace"),f)),g&&u.exit().remove()}},17010:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=r(62203),o=r(30635),s=r(11995),l=r(92080).styleOne,c=r(43236),u=r(33108),h=r(44691),f=!0;t.exports=function(t,e,r,p,d){var m=d.barDifY,g=d.width,y=d.height,v=d.viewX,x=d.viewY,_=d.pathSlice,b=d.toMoveInsideSlice,w=d.strTransform,T=d.hasTransition,k=d.handleSlicesExit,A=d.makeUpdateSliceInterpolator,M=d.makeUpdateTextInterpolator,S={},E=t._context.staticPlot,C=t._fullLayout,L=e[0],I=L.trace,P=L.hierarchy,z=g/I._entryDepth,O=u.listPath(r.data,"id"),D=s(P.copy(),[g,y],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(D=D.filter((function(t){var e=O.indexOf(t.data.id);return-1!==e&&(t.x0=z*e,t.x1=z*(e+1),t.y0=m,t.y1=m+y,t.onPathbar=!0,!0)}))).reverse(),(p=p.data(D,u.getPtId)).enter().append("g").classed("pathbar",!0),k(p,f,S,[g,y],_),p.order();var R=p;T&&(R=R.transition().each("end",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),R.each((function(s){s._x0=v(s.x0),s._x1=v(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=v(s.x1-Math.min(g,y)/2),s._hoverY=x(s.y1-y/2);var p=n.select(this),d=i.ensureSingle(p,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?d.transition().attrTween("d",(function(t){var e=A(t,f,S,[g,y]);return function(t){return _(e(t))}})):d.attr("d",_),p.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),d.call(l,s,I,t,{hovered:!1}),s._text=(u.getPtLabel(s)||"").split("
").join(" ")||"";var m=i.ensureSingle(p,"g","slicetext"),k=i.ensureSingle(m,"text","",(function(t){t.attr("data-notex",1)})),L=i.ensureUniformFontSize(t,u.determineTextFont(I,s,C.font,{onPathbar:!0}));k.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(a.font,L).call(o.convertToTspans,t),s.textBB=a.bBox(k.node()),s.transform=b(s,{fontSize:L.size,onPathbar:!0}),s.transform.fontSize=L.size,T?k.transition().attrTween("transform",(function(t){var e=M(t,f,S,[g,y]);return function(t){return w(e(t))}})):k.attr("transform",w(s))}))}},50916:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=r(62203),o=r(30635),s=r(11995),l=r(92080).styleOne,c=r(43236),u=r(33108),h=r(44691),f=r(19718).formatSliceLabel,p=!1;t.exports=function(t,e,r,d,m){var g=m.width,y=m.height,v=m.viewX,x=m.viewY,_=m.pathSlice,b=m.toMoveInsideSlice,w=m.strTransform,T=m.hasTransition,k=m.handleSlicesExit,A=m.makeUpdateSliceInterpolator,M=m.makeUpdateTextInterpolator,S=m.prevEntry,E=t._context.staticPlot,C=t._fullLayout,L=e[0].trace,I=-1!==L.textposition.indexOf("left"),P=-1!==L.textposition.indexOf("right"),z=-1!==L.textposition.indexOf("bottom"),O=!z&&!L.marker.pad.t||z&&!L.marker.pad.b,D=s(r,[g,y],{packing:L.tiling.packing,squarifyratio:L.tiling.squarifyratio,flipX:L.tiling.flip.indexOf("x")>-1,flipY:L.tiling.flip.indexOf("y")>-1,pad:{inner:L.tiling.pad,top:L.marker.pad.t,left:L.marker.pad.l,right:L.marker.pad.r,bottom:L.marker.pad.b}}).descendants(),R=1/0,F=-1/0;D.forEach((function(t){var e=t.depth;e>=L._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(R=Math.min(R,e),F=Math.max(F,e))})),d=d.data(D,u.getPtId),L._maxVisibleLayers=isFinite(F)?F-R+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],_),d.order();var B=null;if(T&&S){var N=u.getPtId(S);d.each((function(t){null===B&&u.getPtId(t)===N&&(B={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var j=function(){return B||{x0:0,x1:g,y0:0,y1:y}},U=d;return T&&(U=U.transition().each("end",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(s){var d=u.isHeader(s,L);s._x0=v(s.x0),s._x1=v(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=v(s.x1-L.marker.pad.r),s._hoverY=x(z?s.y1-L.marker.pad.b/2:s.y0+L.marker.pad.t/2);var m=n.select(this),k=i.ensureSingle(m,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?k.transition().attrTween("d",(function(t){var e=A(t,p,j(),[g,y]);return function(t){return _(e(t))}})):k.attr("d",_),m.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,L,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=d?O?"":u.getPtLabel(s)||"":f(s,r,L,e,C)||"";var S=i.ensureSingle(m,"g","slicetext"),D=i.ensureSingle(S,"text","",(function(t){t.attr("data-notex",1)})),R=i.ensureUniformFontSize(t,u.determineTextFont(L,s,C.font)),F=s._text||" ",B=d&&-1===F.indexOf("
");D.text(F).classed("slicetext",!0).attr("text-anchor",P?"end":I||B?"start":"middle").call(a.font,R).call(o.convertToTspans,t),s.textBB=a.bBox(D.node()),s.transform=b(s,{fontSize:R.size,isHeader:d}),s.transform.fontSize=R.size,T?D.transition().attrTween("transform",(function(t){var e=M(t,p,j(),[g,y]);return function(t){return w(e(t))}})):D.attr("transform",w(s))})),B}},36141:function(t){"use strict";t.exports=function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i),n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i),n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o-1?L+z:-(P+z):0,D={x0:I,x1:I,y0:O,y1:O+P},R=function(t,e,r){var n=y.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return t.x0===e.x0&&t.x1===e.x1&&t.y0===e.y0&&t.y1===e.y1?{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}:{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},F=null,B={},N={},j=null,U=function(t,e){return e?B[f(t)]:N[f(t)]};g.hasMultipleRoots&&k&&M++,y._maxDepth=M,y._backgroundColor=m.paper_bgcolor,y._entryDepth=_.data.depth,y._atRootLevel=k;var V=-C/2+S.l+S.w*(E.x[1]+E.x[0])/2,q=-L/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),H=function(t){return V+t},G=function(t){return q+t},Z=G(0),W=H(0),Y=function(t){return W+t},X=function(t){return Z+t};function $(t,e){return t+","+e}var J=Y(0),K=function(t){t.x=Math.max(J,t.x)},Q=y.pathbar.edgeshape,tt=y[v?"tiling":"marker"].pad,et=function(t){return-1!==y.textposition.indexOf(t)},rt=et("top"),nt=et("left"),it=et("right"),at=et("bottom"),ot=function(t,e){var r=t.x0,n=t.x1,i=t.y0,a=t.y1,o=t.textBB,u=rt||e.isHeader&&!at?"start":at?"end":"middle",h=et("right"),f=et("left")||e.onPathbar?-1:h?1:0;if(e.isHeader){if((r+=(v?tt:tt.l)-s)>=(n-=(v?tt:tt.r)-s)){var p=(r+n)/2;r=p,n=p}var d;at?i<(d=a-(v?tt:tt.b))&&d"===Q?(l.x-=a,c.x-=a,u.x-=a,h.x-=a):"/"===Q?(u.x-=a,h.x-=a,o.x-=a/2,s.x-=a/2):"\\"===Q?(l.x-=a,c.x-=a,o.x-=a/2,s.x-=a/2):"<"===Q&&(o.x-=a,s.x-=a),K(l),K(h),K(o),K(c),K(u),K(s),"M"+$(l.x,l.y)+"L"+$(c.x,c.y)+"L"+$(s.x,s.y)+"L"+$(u.x,u.y)+"L"+$(h.x,h.y)+"L"+$(o.x,o.y)+"Z"},toMoveInsideSlice:ot,makeUpdateSliceInterpolator:lt,makeUpdateTextInterpolator:ct,handleSlicesExit:ut,hasTransition:A,strTransform:ht}):w.remove()}},92080:function(t,e,r){"use strict";var n=r(45568),i=r(78766),a=r(34809),o=r(33108),s=r(84102).resizeText,l=r(72043);function c(t,e,r,n,s){var c,u,h=(s||{}).hovered,f=e.data.data,p=f.i,d=f.color,m=o.isHierarchyRoot(e),g=1;if(h)c=r._hovered.marker.line.color,u=r._hovered.marker.line.width;else if(m&&d===r.root.color)g=100,c="rgba(0,0,0,0)",u=0;else if(c=a.castOption(r,p,"marker.line.color")||i.defaultLine,u=a.castOption(r,p,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var y=r.marker.depthfade;if(y){var v,x=i.combine(i.addOpacity(r._backgroundColor,.75),d);if(!0===y){var _=o.getMaxDepth(r);v=isFinite(_)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else v=e.data.depth-r._entryDepth,r._atRootLevel||v++;if(v>0)for(var b=0;b0){var _,b,w,T,k,A=t.xa,M=t.ya;"h"===d.orientation?(k=e,_="y",w=M,b="x",T=A):(k=r,_="x",w=A,b="y",T=M);var S=p[t.index];if(k>=S.span[0]&&k<=S.span[1]){var E=i.extendFlat({},t),C=T.c2p(k,!0),L=s.getKdeValue(S,d,k),I=s.getPositionOnKdePath(S,d,C),P=w._offset,z=w._length;E[_+"0"]=I[0],E[_+"1"]=I[1],E[b+"0"]=E[b+"1"]=C,E[b+"Label"]=b+": "+a.hoverLabelText(T,k,d[b+"hoverformat"])+", "+p[0].t.labels.kde+" "+L.toFixed(3);for(var O=0,D=0;D")),u.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;return i(n)?n:i(a)&&o?a:void 0}(f,g),[u]}function k(t){return n(m,t,f[d+"hoverformat"])}}},38261:function(t,e,r){"use strict";t.exports={attributes:r(37832),layoutAttributes:r(579),supplyDefaults:r(67199).supplyDefaults,crossTraceDefaults:r(67199).crossTraceDefaults,supplyLayoutDefaults:r(71492),calc:r(15e3),crossTraceCalc:r(9963),plot:r(71130),style:r(57256).style,hoverPoints:r(40943),eventData:r(64932),selectPoints:r(88384),moduleType:"trace",name:"waterfall",basePlotModule:r(37703),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},579:function(t){"use strict";t.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},71492:function(t,e,r){"use strict";var n=r(34809),i=r(579);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s0&&(g+=f?"M"+h[0]+","+d[1]+"V"+d[0]:"M"+h[1]+","+d[0]+"H"+h[0]),"between"!==p&&(r.isSum||s path").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},47908:function(t,e,r){"use strict";var n=r(29714),i=r(34809),a=r(57297),o=r(5086).z,s=r(63821).BADNUM;e.moduleType="transform",e.name="aggregate";var l=e.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},c=l.aggregations;function u(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),c=l.get(),u=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return h;case"first":return f;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;ii&&(i=u,o=c)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o":return function(t){return p(t)>h};case">=":return function(t){return p(t)>=h};case"[]":return function(t){var e=p(t);return e>=h[0]&&e<=h[1]};case"()":return function(t){var e=p(t);return e>h[0]&&e=h[0]&&eh[0]&&e<=h[1]};case"][":return function(t){var e=p(t);return e<=h[0]||e>=h[1]};case")(":return function(t){var e=p(t);return eh[1]};case"](":return function(t){var e=p(t);return e<=h[0]||e>h[1]};case")[":return function(t){var e=p(t);return e=h[1]};case"{}":return function(t){return-1!==h.indexOf(p(t))};case"}{":return function(t){return-1===h.indexOf(p(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),f),x={},_={},b=0;d?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(h))},y=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},y=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(g);for(var w=o(e.transforms,r),T=0;T1?"%{group} (%{trace})":"%{group}");var l=t.styles,c=o.styles=[];if(l)for(a=0;af)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,d.prototype),e}function d(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return y(t)}return m(t,e,r)}function m(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!d.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|b(t,e),n=p(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(et(t,Uint8Array)){var e=new Uint8Array(t);return x(e.buffer,e.byteOffset,e.byteLength)}return v(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(t));if(et(t,ArrayBuffer)||t&&et(t.buffer,ArrayBuffer))return x(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(et(t,SharedArrayBuffer)||t&&et(t.buffer,SharedArrayBuffer)))return x(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return d.from(n,e,r);var i=function(t){if(d.isBuffer(t)){var e=0|_(t.length),r=p(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||rt(t.length)?p(0):v(t):"Buffer"===t.type&&Array.isArray(t.data)?v(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return d.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(t))}function g(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function y(t){return g(t),p(t<0?0:0|_(t))}function v(t){for(var e=t.length<0?0:0|_(t.length),r=p(e),n=0;n=f)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+f.toString(16)+" bytes");return 0|t}function b(t,e){if(d.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||et(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+l(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return K(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Q(t).length;default:if(i)return n?-1:K(t).length;e=(""+e).toLowerCase(),i=!0}}function w(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return R(this,e,r);case"utf8":case"utf-8":return P(this,e,r);case"ascii":return O(this,e,r);case"latin1":case"binary":return D(this,e,r);case"base64":return I(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function T(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function k(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),rt(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=d.from(e,n)),d.isBuffer(e))return 0===e.length?-1:A(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):A(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function A(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var h=!0,f=0;fi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function I(t,e,r){return 0===e&&r===t.length?c.fromByteArray(t):c.fromByteArray(t.slice(e,r))}function P(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,c=void 0,u=void 0,h=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(h=(31&a)<<6|63&l)>127&&(o=h);break;case 3:l=t[i+1],c=t[i+2],128==(192&l)&&128==(192&c)&&(h=(15&a)<<12|(63&l)<<6|63&c)>2047&&(h<55296||h>57343)&&(o=h);break;case 4:l=t[i+1],c=t[i+2],u=t[i+3],128==(192&l)&&128==(192&c)&&128==(192&u)&&(h=(15&a)<<18|(63&l)<<12|(63&c)<<6|63&u)>65535&&h<1114112&&(o=h)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=z)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(d.isBuffer(a)||(a=d.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!d.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},d.byteLength=b,d.prototype._isBuffer=!0,d.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;er&&(t+=" ... "),""},h&&(d.prototype[h]=d.prototype.inspect),d.prototype.compare=function(t,e,r,n,i){if(et(t,Uint8Array)&&(t=d.from(t,t.offset,t.byteLength)),!d.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+l(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),c=this.slice(n,i),u=t.slice(e,r),h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return M(this,t,e,r);case"utf8":case"utf-8":return S(this,t,e,r);case"ascii":case"latin1":case"binary":return E(this,t,e,r);case"base64":return C(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var z=4096;function O(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function N(t,e,r,n,i,a){if(!d.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function j(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function U(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function V(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function q(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,4),u.write(t,e,r,n,23,4),r+4}function H(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,8),u.write(t,e,r,n,52,8),r+8}d.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},d.prototype.readUint8=d.prototype.readUInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),this[t]},d.prototype.readUint16LE=d.prototype.readUInt16LE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]|this[t+1]<<8},d.prototype.readUint16BE=d.prototype.readUInt16BE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]<<8|this[t+1]},d.prototype.readUint32LE=d.prototype.readUInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},d.prototype.readUint32BE=d.prototype.readUInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},d.prototype.readBigUInt64LE=it((function(t){X(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},d.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||B(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},d.prototype.readInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},d.prototype.readInt16LE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt16BE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},d.prototype.readInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},d.prototype.readBigInt64LE=it((function(t){X(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||B(t,4,this.length),u.read(this,t,!0,23,4)},d.prototype.readFloatBE=function(t,e){return t>>>=0,e||B(t,4,this.length),u.read(this,t,!1,23,4)},d.prototype.readDoubleLE=function(t,e){return t>>>=0,e||B(t,8,this.length),u.read(this,t,!0,52,8)},d.prototype.readDoubleBE=function(t,e){return t>>>=0,e||B(t,8,this.length),u.read(this,t,!1,52,8)},d.prototype.writeUintLE=d.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},d.prototype.writeUint8=d.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,255,0),this[e]=255&t,e+1},d.prototype.writeUint16LE=d.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeUint16BE=d.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeUint32LE=d.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},d.prototype.writeUint32BE=d.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigUInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),d.prototype.writeBigUInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),d.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},d.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},d.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},d.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},d.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),d.prototype.writeBigInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),d.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},d.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},d.prototype.writeDoubleLE=function(t,e,r){return H(this,t,e,!0,r)},d.prototype.writeDoubleBE=function(t,e,r){return H(this,t,e,!1,r)},d.prototype.copy=function(t,e,r,n){if(!d.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function Y(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new G.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){X(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||$(e,t.length-(r+1))}(n,i,a)}function X(t,e){if("number"!=typeof t)throw new G.ERR_INVALID_ARG_TYPE(e,"number",t)}function $(t,e,r){if(Math.floor(t)!==t)throw X(t,r),new G.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new G.ERR_BUFFER_OUT_OF_BOUNDS;throw new G.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}Z("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),Z("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(l(e))}),TypeError),Z("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=W(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=W(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var J=/[^+/0-9A-Za-z-_]/g;function K(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function Q(t){return c.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(J,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function tt(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function et(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function rt(t){return t!=t}var nt=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function it(t){return"undefined"==typeof BigInt?at:t}function at(){throw new Error("BigInt not supported")}},9216:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},6296:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],c=t.mode||"turntable",u=n(),h=i(),f=a();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),new o({turntable:u,orbit:h,matrix:f},c)};var n=r(7261),i=r(9977),a=r(4192);function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map((function(e){return t[e]})),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;s.flush=function(t){for(var e=this._controllerList,r=0;r0?o-4:o;for(r=0;r>16&255,c[u++]=e>>8&255,c[u++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,c[u++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,c[u++]=e>>8&255,c[u++]=255&e),c},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,c=n-i;sc?c:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},3865:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},1318:function(t){"use strict";t.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},8697:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},7842:function(t,e,r){"use strict";var n=r(6330),i=r(1533),a=r(2651),o=r(4387),s=r(869),l=r(8697);t.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c,u,h=0;if(i(e))c=e.clone();else if("string"==typeof e)c=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))c=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),h-=256;c=a(e)}}if(n(r))c.mul(r[1]),u=r[0].clone();else if(i(r))u=r.clone();else if("string"==typeof r)u=o(r);else if(r)if(r===Math.floor(r))u=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),h+=256;u=a(r)}else u=a(1);return h>0?c=c.ushln(h):h<0&&(u=u.ushln(-h)),s(c,u)}},6330:function(t,e,r){"use strict";var n=r(1533);t.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},5716:function(t,e,r){"use strict";var n=r(6859);t.exports=function(t){return t.cmp(new n(0))}},1369:function(t,e,r){"use strict";var n=r(5716);t.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20?52:r+32}},1533:function(t,e,r){"use strict";r(6859),t.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},2651:function(t,e,r){"use strict";var n=r(6859),i=r(2361);t.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},869:function(t,e,r){"use strict";var n=r(2651),i=r(5716);t.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},4387:function(t,e,r){"use strict";var n=r(6859);t.exports=function(t){return new n(t)}},6504:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},7721:function(t,e,r){"use strict";var n=r(5716);t.exports=function(t){return n(t[0])*n(t[1])}},5572:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},946:function(t,e,r){"use strict";var n=r(1369),i=r(4025);t.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4;return c*(s+(f=n(l.ushln(u).divRound(r)))*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53,f=n(l.ushln(h).divRound(r));return h<1023?c*f*Math.pow(2,-h):c*(f*=Math.pow(2,-1023))*Math.pow(2,1023-h)}},2478:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},8828:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},6859:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=a:e.BN=a,a.BN=a,a.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(7790).Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function c(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=l(t,e,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,u=r;u1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c>>26,h=67108863&l,f=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=f;p++){var d=c-p|0;u+=(o=(i=0|t.words[d])*(a=0|e.words[p])+h)/67108864|0,h=67108863&o}r.words[c]=0|h,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?u[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=h[t],p=f[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var m=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?m+r:u[c-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,c=new t(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,m=p>>>13,g=0|o[2],y=8191&g,v=g>>>13,x=0|o[3],_=8191&x,b=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],C=8191&E,L=E>>>13,I=0|o[7],P=8191&I,z=I>>>13,O=0|o[8],D=8191&O,R=O>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,Z=0|s[2],W=8191&Z,Y=Z>>>13,X=0|s[3],$=8191&X,J=X>>>13,K=0|s[4],Q=8191&K,tt=K>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ht=8191&ut,ft=ut>>>13,pt=0|s[9],dt=8191&pt,mt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(c+(n=Math.imul(h,U))|0)+((8191&(i=(i=Math.imul(h,V))+Math.imul(f,U)|0))<<13)|0;c=((a=Math.imul(f,V))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(m,U)|0,a=Math.imul(m,V);var yt=(c+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;c=((a=a+Math.imul(f,G)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(v,U)|0,a=Math.imul(v,V),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0;var vt=(c+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(f,W)|0))<<13)|0;c=((a=a+Math.imul(f,Y)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(_,U),i=(i=Math.imul(_,V))+Math.imul(b,U)|0,a=Math.imul(b,V),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(v,H)|0,a=a+Math.imul(v,G)|0,n=n+Math.imul(d,W)|0,i=(i=i+Math.imul(d,Y)|0)+Math.imul(m,W)|0,a=a+Math.imul(m,Y)|0;var xt=(c+(n=n+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,J)|0)+Math.imul(f,$)|0))<<13)|0;c=((a=a+Math.imul(f,J)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(_,H)|0,i=(i=i+Math.imul(_,G)|0)+Math.imul(b,H)|0,a=a+Math.imul(b,G)|0,n=n+Math.imul(y,W)|0,i=(i=i+Math.imul(y,Y)|0)+Math.imul(v,W)|0,a=a+Math.imul(v,Y)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,J)|0)+Math.imul(m,$)|0,a=a+Math.imul(m,J)|0;var _t=(c+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(f,Q)|0))<<13)|0;c=((a=a+Math.imul(f,tt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,H)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(_,W)|0,i=(i=i+Math.imul(_,Y)|0)+Math.imul(b,W)|0,a=a+Math.imul(b,Y)|0,n=n+Math.imul(y,$)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(v,$)|0,a=a+Math.imul(v,J)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,tt)|0;var bt=(c+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(f,rt)|0))<<13)|0;c=((a=a+Math.imul(f,nt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(C,U),i=(i=Math.imul(C,V))+Math.imul(L,U)|0,a=Math.imul(L,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,Y)|0)+Math.imul(k,W)|0,a=a+Math.imul(k,Y)|0,n=n+Math.imul(_,$)|0,i=(i=i+Math.imul(_,J)|0)+Math.imul(b,$)|0,a=a+Math.imul(b,J)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0;var wt=(c+(n=n+Math.imul(h,at)|0)|0)+((8191&(i=(i=i+Math.imul(h,ot)|0)+Math.imul(f,at)|0))<<13)|0;c=((a=a+Math.imul(f,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,U),i=(i=Math.imul(P,V))+Math.imul(z,U)|0,a=Math.imul(z,V),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,Y)|0)+Math.imul(S,W)|0,a=a+Math.imul(S,Y)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(k,$)|0,a=a+Math.imul(k,J)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(b,Q)|0,a=a+Math.imul(b,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(v,rt)|0,a=a+Math.imul(v,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0;var Tt=(c+(n=n+Math.imul(h,lt)|0)|0)+((8191&(i=(i=i+Math.imul(h,ct)|0)+Math.imul(f,lt)|0))<<13)|0;c=((a=a+Math.imul(f,ct)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(D,U),i=(i=Math.imul(D,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(z,H)|0,a=a+Math.imul(z,G)|0,n=n+Math.imul(C,W)|0,i=(i=i+Math.imul(C,Y)|0)+Math.imul(L,W)|0,a=a+Math.imul(L,Y)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,J)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,J)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(_,rt)|0,i=(i=i+Math.imul(_,nt)|0)+Math.imul(b,rt)|0,a=a+Math.imul(b,nt)|0,n=n+Math.imul(y,at)|0,i=(i=i+Math.imul(y,ot)|0)+Math.imul(v,at)|0,a=a+Math.imul(v,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ct)|0)+Math.imul(m,lt)|0,a=a+Math.imul(m,ct)|0;var kt=(c+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(f,ht)|0))<<13)|0;c=((a=a+Math.imul(f,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,Y)|0)+Math.imul(z,W)|0,a=a+Math.imul(z,Y)|0,n=n+Math.imul(C,$)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,J)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(_,at)|0,i=(i=i+Math.imul(_,ot)|0)+Math.imul(b,at)|0,a=a+Math.imul(b,ot)|0,n=n+Math.imul(y,lt)|0,i=(i=i+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,a=a+Math.imul(v,ct)|0,n=n+Math.imul(d,ht)|0,i=(i=i+Math.imul(d,ft)|0)+Math.imul(m,ht)|0,a=a+Math.imul(m,ft)|0;var At=(c+(n=n+Math.imul(h,dt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(f,dt)|0))<<13)|0;c=((a=a+Math.imul(f,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(D,W)|0,i=(i=i+Math.imul(D,Y)|0)+Math.imul(R,W)|0,a=a+Math.imul(R,Y)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(z,$)|0,a=a+Math.imul(z,J)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(L,Q)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(_,lt)|0,i=(i=i+Math.imul(_,ct)|0)+Math.imul(b,lt)|0,a=a+Math.imul(b,ct)|0,n=n+Math.imul(y,ht)|0,i=(i=i+Math.imul(y,ft)|0)+Math.imul(v,ht)|0,a=a+Math.imul(v,ft)|0;var Mt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,mt)|0)+Math.imul(m,dt)|0))<<13)|0;c=((a=a+Math.imul(m,mt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,W),i=(i=Math.imul(B,Y))+Math.imul(N,W)|0,a=Math.imul(N,Y),n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,J)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(z,Q)|0,a=a+Math.imul(z,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ct)|0,n=n+Math.imul(_,ht)|0,i=(i=i+Math.imul(_,ft)|0)+Math.imul(b,ht)|0,a=a+Math.imul(b,ft)|0;var St=(c+(n=n+Math.imul(y,dt)|0)|0)+((8191&(i=(i=i+Math.imul(y,mt)|0)+Math.imul(v,dt)|0))<<13)|0;c=((a=a+Math.imul(v,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,$),i=(i=Math.imul(B,J))+Math.imul(N,$)|0,a=Math.imul(N,J),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(z,rt)|0,a=a+Math.imul(z,nt)|0,n=n+Math.imul(C,at)|0,i=(i=i+Math.imul(C,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(T,ht)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(k,ht)|0,a=a+Math.imul(k,ft)|0;var Et=(c+(n=n+Math.imul(_,dt)|0)|0)+((8191&(i=(i=i+Math.imul(_,mt)|0)+Math.imul(b,dt)|0))<<13)|0;c=((a=a+Math.imul(b,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(z,at)|0,a=a+Math.imul(z,ot)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ct)|0,n=n+Math.imul(M,ht)|0,i=(i=i+Math.imul(M,ft)|0)+Math.imul(S,ht)|0,a=a+Math.imul(S,ft)|0;var Ct=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(k,dt)|0))<<13)|0;c=((a=a+Math.imul(k,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ct)|0)+Math.imul(z,lt)|0,a=a+Math.imul(z,ct)|0,n=n+Math.imul(C,ht)|0,i=(i=i+Math.imul(C,ft)|0)+Math.imul(L,ht)|0,a=a+Math.imul(L,ft)|0;var Lt=(c+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((a=a+Math.imul(S,mt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ct)|0,n=n+Math.imul(P,ht)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(z,ht)|0,a=a+Math.imul(z,ft)|0;var It=(c+(n=n+Math.imul(C,dt)|0)|0)+((8191&(i=(i=i+Math.imul(C,mt)|0)+Math.imul(L,dt)|0))<<13)|0;c=((a=a+Math.imul(L,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ct))+Math.imul(N,lt)|0,a=Math.imul(N,ct),n=n+Math.imul(D,ht)|0,i=(i=i+Math.imul(D,ft)|0)+Math.imul(R,ht)|0,a=a+Math.imul(R,ft)|0;var Pt=(c+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,mt)|0)+Math.imul(z,dt)|0))<<13)|0;c=((a=a+Math.imul(z,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,ht),i=(i=Math.imul(B,ft))+Math.imul(N,ht)|0,a=Math.imul(N,ft);var zt=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(i=(i=i+Math.imul(D,mt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((a=a+Math.imul(R,mt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863;var Ot=(c+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,mt))+Math.imul(N,dt)|0))<<13)|0;return c=((a=Math.imul(N,mt))+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,l[0]=gt,l[1]=yt,l[2]=vt,l[3]=xt,l[4]=_t,l[5]=bt,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Ct,l[14]=Lt,l[15]=It,l[16]=Pt,l[17]=zt,l[18]=Ot,0!==c&&(l[19]=c,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=p),a.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):n<63?p(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):m(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,c=0;c=0&&(0!==u||c>=i);c--){var h=0|this.words[c];this.words[c]=u<<26-a|h>>>a,u=h&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c=0;h--){var f=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(i,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),h=e.clone();!e.isZero();){for(var f=0,p=1;0==(e.words[0]&p)&&f<26;++f,p<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(h)),i.iushrn(1),o.iushrn(1);for(var d=0,m=1;0==(r.words[0]&m)&&d<26;++d,m<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(h)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;0==(r.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new T(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){T.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(x,v),x.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,a=o}a>>>=22,t.words[i-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},x.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new x;else if("p224"===t)e=new _;else if("p192"===t)e=new b;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return y[t]=e,e},T.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},T.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},T.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},T.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},T.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},T.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},T.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},T.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},T.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},T.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},T.prototype.isqr=function(t){return this.imul(t,t.clone())},T.prototype.sqr=function(t){return this.mul(t,t)},T.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,i),f=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var m=p,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var h=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4==++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},T.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,T),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},6204:function(t){"use strict";t.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(u<=0)){var h,f=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(t,u,f,p))>0){if(1===u&&n)a.init(s),h=a.sweepComplete(u,r,0,s,f,p,0,s,f,p);else{var d=i.mallocDouble(2*u*c),m=i.mallocInt32(c);(c=l(e,u,d,m))>0&&(a.init(s+c),h=1===u?a.sweepBipartite(u,r,0,s,f,p,0,c,d,m):o(u,r,n,s,f,p,c,d,m),i.free(d),i.free(m))}i.free(f),i.free(p)}return h}}}function u(t,e){n.push([t,e])}},2455:function(t,e){"use strict";function r(t){return t?function(t,e,r,n,i,a,o,s,l,c,u){return i-n>l-s?function(t,e,r,n,i,a,o,s,l,c,u){for(var h=2*t,f=n,p=h*n;fc-l?n?function(t,e,r,n,i,a,o,s,l,c,u){for(var h=2*t,f=n,p=h*n;f0;){var O=(P-=1)*_,D=w[O],R=w[O+1],F=w[O+2],B=w[O+3],N=w[O+4],j=w[O+5],U=P*b,V=T[U],q=T[U+1],H=1&j,G=!!(16&j),Z=u,W=S,Y=C,X=L;if(H&&(Z=C,W=L,Y=u,X=S),!(2&j&&R>=(F=g(t,D,R,F,Z,W,q))||4&j&&(R=y(t,D,R,F,Z,W,V))>=F)){var $=F-R,J=N-B;if(G){if(t*$*($+J)=p0)&&!(p1>=hi)"),m=u("lo===p0"),g=u("lo>>1,f=2*t,p=h,d=s[f*h+e];c=x?(p=v,d=x):y>=b?(p=g,d=y):(p=_,d=b):x>=b?(p=v,d=x):b>=y?(p=g,d=y):(p=_,d=b);for(var w=f*(u-1),T=f*p,k=0;kr&&i[h+e]>c;--u,h-=o){for(var f=h,p=h+o,d=0;df;++f,l+=s)if(i[l+h]===o)if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},"lof;++f,l+=s)if(i[l+h]p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},"lo<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,c=l,u=r,h=t+e,f=r;n>f;++f,l+=s)if(i[l+h]<=o)if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},"hi<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,c=l,u=r,h=t+e,f=r;n>f;++f,l+=s)if(i[l+h]<=o)if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},"lop;++p,l+=s){var d=i[l+h],m=i[l+f];if(dg;++g){var y=i[l+g];i[l+g]=i[c],i[c++]=y}var v=a[p];a[p]=a[u],a[u++]=v}}return u},"lo<=p0&&p0<=hi":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,c=l,u=r,h=e,f=t+e,p=r;n>p;++p,l+=s){var d=i[l+h],m=i[l+f];if(d<=o&&o<=m)if(u===p)u+=1,c+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[c],i[c++]=y}var v=a[p];a[p]=a[u],a[u++]=v}}return u},"!(lo>=p0)&&!(p1>=hi)":function(t,e,r,n,i,a,o,s){for(var l=2*t,c=l*r,u=c,h=r,f=e,p=t+e,d=r;n>d;++d,c+=l){var m=i[c+f],g=i[c+p];if(!(m>=o||s>=g))if(h===d)h+=1,u+=l;else{for(var y=0;l>y;++y){var v=i[c+y];i[c+y]=i[u],i[u++]=v}var x=a[d];a[d]=a[h],a[h++]=x}}return h}}},1811:function(t){"use strict";t.exports=function(t,n){n<=4*e?r(0,n-1,t):c(0,n-1,t)};var e=32;function r(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var c=r[l-2],u=r[l-1];if(cr[e+1])}function l(t,e,r,n){var i=n[t*=2];return i>1,g=m-f,y=m+f,v=p,x=g,_=m,b=y,w=d,T=t+1,k=u-1,A=0;s(v,x,h)&&(A=v,v=x,x=A),s(b,w,h)&&(A=b,b=w,w=A),s(v,_,h)&&(A=v,v=_,_=A),s(x,_,h)&&(A=x,x=_,_=A),s(v,b,h)&&(A=v,v=b,b=A),s(_,b,h)&&(A=_,_=b,b=A),s(x,w,h)&&(A=x,x=w,w=A),s(x,_,h)&&(A=x,x=_,_=A),s(b,w,h)&&(A=b,b=w,w=A);for(var M=h[2*x],S=h[2*x+1],E=h[2*b],C=h[2*b+1],L=2*v,I=2*_,P=2*w,z=2*p,O=2*m,D=2*d,R=0;R<2;++R){var F=h[L+R],B=h[I+R],N=h[P+R];h[z+R]=F,h[O+R]=B,h[D+R]=N}i(g,t,h),i(y,u,h);for(var j=T;j<=k;++j)if(l(j,M,S,h))j!==T&&n(j,T,h),++T;else if(!l(j,E,C,h))for(;;){if(l(k,E,C,h)){l(k,M,S,h)?(a(j,T,k,h),++T,--k):(n(j,k,h),--k);break}if(--k>>1;a(d,S);var E=0,C=0;for(T=0;T=o)m(u,h,C--,L=L-o|0);else if(L>=0)m(l,c,E--,L);else if(L<=-o){L=-L-o|0;for(var I=0;I>>1;a(d,E);var C=0,L=0,I=0;for(k=0;k>1==d[2*k+3]>>1&&(z=2,k+=1),P<0){for(var O=-(P>>1)-1,D=0;D>1)-1,0===z?m(l,c,C--,O):1===z?m(u,h,L--,O):2===z&&m(f,p,I--,O)}},scanBipartite:function(t,e,r,n,i,s,u,h,f,p,y,v){var x=0,_=2*t,b=e,w=e+t,T=1,k=1;n?k=o:T=o;for(var A=i;A>>1;a(d,C);var L=0;for(A=0;A=o?(P=!n,M-=o):(P=!!n,M-=1),P)g(l,c,L++,M);else{var z=v[M],O=_*M,D=y[O+e+1],R=y[O+e+1+t];t:for(var F=0;F>>1;a(d,T);var k=0;for(x=0;x=o)l[k++]=_-o;else{var M=p[_-=1],S=g*_,E=f[S+e+1],C=f[S+e+1+t];t:for(var L=0;L=0;--L)if(l[L]===_){for(O=L+1;O0;){for(var p=r.pop(),d=(u=-1,h=-1,l=o[s=r.pop()],1);d=0||(e.flip(s,p),i(t,e,r,u,s,h),i(t,e,r,s,h,u),i(t,e,r,h,p,u),i(t,e,r,p,u,h))}}},5023:function(t,e,r){"use strict";var n,i=r(2478);function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}t.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i,u[p];for(var d=0;d<3;++d){var m=f[3*p+d];m>=0&&0===c[m]&&(h[3*p+d]?l.push(m):(s.push(m),c[m]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(t,e,r){for(var n=0,i=0;i1&&i(r[f[p-2]],r[f[p-1]],a)>0;)t.push([f[p-1],f[p-2],o]),p-=1;f.length=p,f.push(o);var d=h.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function u(t,e){var r;return(r=t.a[0]d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var m=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([m,1],[m,0],-1,[],[],[],[])],y=[],v=(l=0,i.length);l=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;ne[2]?1:0)}function y(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[u=(S=n[a])[0]],_=x[0],b=x[1],w=t[_],T=t[b];if((w[0]-T[0]||w[1]-T[1])<0){var k=_;_=b,b=k}x[0]=_;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===u;){var S,E=(S=n[--a])[1];i?e.push([M,E,A]):e.push([M,E]),M=E}i?e.push([M,b,A]):e.push([M,b])}return f}(t,e,f,m,r),v=d(t,g);return y(e,v,r),!!v||f.length>0||m.length>0}},3637:function(t,e,r){"use strict";t.exports=function(t,e,r,n){var a=s(e,t),h=s(n,r),f=u(a,h);if(0===o(f))return null;var p=u(h,s(t,r)),d=i(p,f),m=c(a,d);return l(t,m)};var n=r(6504),i=r(8697),a=r(5572),o=r(7721),s=r(544),l=r(2653),c=r(8987);function u(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},3642:function(t){t.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},6729:function(t,e,r){"use strict";var n=r(3642),i=r(395);function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}t.exports=function(t){var e,r,l,c,u,h,f,p,d,m;if(t||(t={}),p=(t.nshades||72)-1,f=t.format||"hex",(h=t.colormap)||(h="jet"),"string"==typeof h){if(h=h.toLowerCase(),!n[h])throw Error(h+" not a supported colorscale");u=n[h]}else{if(!Array.isArray(h))throw Error("unsupported colormap option",h);u=h.slice()}if(u.length>p+1)throw new Error(h+" map requires nshades to be at least size "+u.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=u.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var g=u.map((function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),y=[];for(m=0;m0||l(t,e,a)?-1:1:0===s?c>0||l(t,e,r)?1:-1:i(c-s)}var h=n(t,e,r);return h>0?o>0&&n(t,e,a)>0?1:-1:h<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=r(3250),i=r(8572),a=r(9362),o=r(5382),s=r(8210);function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),c=a(r[1],-e[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},8572:function(t){"use strict";t.exports=function(t){return t<0?-1:t>0?1:0}},8507:function(t){t.exports=function(t,n){var i=t.length,a=t.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return t[0]-n[0];case 2:return t[0]+t[1]-n[0]-n[1]||e(t[0],t[1])-e(n[0],n[1]);case 3:var o=t[0]+t[1],s=n[0]+n[1];if(a=o+t[2]-(s+n[2]))return a;var l=e(t[0],t[1]),c=e(n[0],n[1]);return e(l,t[2])-e(c,n[2])||e(l+t[2],o)-e(c+n[2],s);case 4:var u=t[0],h=t[1],f=t[2],p=t[3],d=n[0],m=n[1],g=n[2],y=n[3];return u+h+f+p-(d+m+g+y)||e(u,h,f,p)-e(d,m,g,y,d)||e(u+h,u+f,u+p,h+f,h+p,f+p)-e(d+m,d+g,d+y,m+g,m+y,g+y)||e(u+h+f,u+h+p,u+f+p,h+f+p)-e(d+m+g,d+m+y,d+g+y,m+g+y);default:for(var v=t.slice().sort(r),x=n.slice().sort(r),_=0;_t[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},4750:function(t,e,r){"use strict";t.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=r(8954),i=r(3952)},4769:function(t){"use strict";t.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,h=s*(3-2*i),f=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=c*t[p]+u*e[p]+h*r[p]+f*n[p];return a}return c*t+u*e+h*r+f*n},t.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var u=t.length-1;u>=0;--u)a[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return a}return o*t+s*e+l*r[u]+c*n}},7642:function(t,e,r){"use strict";var n=r(8954),i=r(1682);function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a=2)return!1;t[r]=n}return!0})):b.filter((function(t){for(var e=0;e<=s;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0})),1&s)for(u=0;u>>31},t.exports.exponent=function(e){return(t.exports.hi(e)<<1>>>21)-1023},t.exports.fraction=function(e){var r=t.exports.lo(e),n=t.exports.hi(e),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},t.exports.denormalized=function(e){return!(2146435072&t.exports.hi(e))}},1338:function(t){"use strict";function e(t,r,n){var i=0|t[n];if(i<=0)return[];var a,o=new Array(i);if(n===t.length-1)for(a=0;a0)return function(t,e){var r,n;for(r=new Array(t),n=0;n=r-1){f=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var u=s.length-1,h=(e[r-1],0);h=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--h)n.push(a(l[h-1],c[h-1],arguments[h])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var f=r;f>0;--f){var p=a(c[f-1],u[f-1],arguments[f]);n.push(p),i.push((p-n[o++])*h)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,h=u>1e-6?1/u:0;this._time.push(t);for(var f=r;f>0;--f){var p=arguments[f];n.push(a(l[f-1],c[f-1],n[o++]+p)),i.push(p*h)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--h)n.push(a(l[h],c[h],n[o]+u*i[o])),i.push(0),o+=1}}},3840:function(t){"use strict";function e(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function r(t){return new e(t._color,t.key,t.value,t.left,t.right,t._count)}function n(t,r){return new e(t,r.key,r.value,r.left,r.right,r._count)}function i(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function a(t,e){this._compare=t,this.root=e}t.exports=function(t){return new a(t||p,null)};var o=a.prototype;function s(t,e){var r;return e.left&&(r=s(t,e.left))?r:(r=t(e.key,e.value))||(e.right?s(t,e.right):void 0)}function l(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left&&(i=l(t,e,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(t,e,r,n.right)}function c(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=c(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return c(t,e,r,n,i.right)}function u(t,e){this.tree=t,this._stack=e}Object.defineProperty(o,"keys",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(o,"values",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(o,"length",{get:function(){return this.root?this.root._count:0}}),o.insert=function(t,r){for(var o=this._compare,s=this.root,l=[],c=[];s;){var u=o(t,s.key);l.push(s),c.push(u),s=u<=0?s.left:s.right}l.push(new e(0,t,r,null,null,1));for(var h=l.length-2;h>=0;--h)s=l[h],c[h]<=0?l[h]=new e(s._color,s.key,s.value,l[h+1],s.right,s._count+1):l[h]=new e(s._color,s.key,s.value,s.left,l[h+1],s._count+1);for(h=l.length-1;h>1;--h){var f=l[h-1];if(s=l[h],1===f._color||1===s._color)break;var p=l[h-2];if(p.left===f)if(f.left===s){if(!(d=p.right)||0!==d._color){p._color=0,p.left=f.right,f._color=1,f.right=p,l[h-2]=f,l[h-1]=s,i(p),i(f),h>=3&&((m=l[h-3]).left===p?m.left=f:m.right=f);break}f._color=1,p.right=n(1,d),p._color=0,h-=1}else{if(!(d=p.right)||0!==d._color){f.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=f,s.right=p,l[h-2]=s,l[h-1]=f,i(p),i(f),i(s),h>=3&&((m=l[h-3]).left===p?m.left=s:m.right=s);break}f._color=1,p.right=n(1,d),p._color=0,h-=1}else if(f.right===s){if(!(d=p.left)||0!==d._color){p._color=0,p.right=f.left,f._color=1,f.left=p,l[h-2]=f,l[h-1]=s,i(p),i(f),h>=3&&((m=l[h-3]).right===p?m.right=f:m.left=f);break}f._color=1,p.left=n(1,d),p._color=0,h-=1}else{var d;if(!(d=p.left)||0!==d._color){var m;f.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=f,s.left=p,l[h-2]=s,l[h-1]=f,i(p),i(f),i(s),h>=3&&((m=l[h-3]).right===p?m.right=s:m.left=s);break}f._color=1,p.left=n(1,d),p._color=0,h-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return s(t,this.root);case 2:return l(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return c(e,r,this._compare,t,this.root)}},Object.defineProperty(o,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new u(this,t)}}),Object.defineProperty(o,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new u(this,t)}}),o.at=function(t){if(t<0)return new u(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new u(this,[])},o.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new u(this,n)},o.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new u(this,n)},o.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new u(this,n)},o.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new u(this,n)},o.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new u(this,n);r=i<=0?r.left:r.right}return new u(this,[])},o.remove=function(t){var e=this.find(t);return e?e.remove():this},o.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var h=u.prototype;function f(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function p(t,e){return te?1:0}Object.defineProperty(h,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(h,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),h.clone=function(){return new u(this.tree,this._stack.slice())},h.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var o=new Array(t.length),s=t[t.length-1];o[o.length-1]=new e(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=t.length-2;l>=0;--l)(s=t[l]).left===t[l+1]?o[l]=new e(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var c=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var u=o[c-1];for(o.push(new e(s._color,u.key,u.value,s.left,s.right,s._count)),o[c-1].key=s.key,o[c-1].value=s.value,l=o.length-2;l>=c;--l)s=o[l],o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);o[c-1].left=o[c]}if(0===(s=o[o.length-1])._color){var h=o[o.length-2];for(h.left===s?h.left=null:h.right===s&&(h.right=null),o.pop(),l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((a=t[l-1]).left===e){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,e._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((c=t[l-2]).left===a?c.left=o:c.right=o),void(t[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((c=t[l-2]).left===a?c.left=s:c.right=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((c=t[l-2]).left===a?c.left=o:c.right=o),t[l-1]=o,t[l]=a,l+11&&((c=t[l-2]).right===a?c.right=o:c.left=o),void(t[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((c=t[l-2]).right===a?c.right=s:c.left=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var c;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((c=t[l-2]).right===a?c.right=o:c.left=o),t[l-1]=o,t[l]=a,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(h,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(h,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),h.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(h,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),h.update=function(t){var r=this._stack;if(0===r.length)throw new Error("Can't update empty node!");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new e(i._color,i.key,t,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new e(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new e(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},h.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(h,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},3837:function(t,e,r){"use strict";t.exports=function(t,e){var r=new p(t);return r.update(e),r};var n=r(4935),i=r(501),a=r(5304),o=r(6429),s=r(6444),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),c=ArrayBuffer,u=DataView;function h(t){return Array.isArray(t)||function(t){return c.isView(t)&&!(t instanceof u)}(t)}function f(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickFontStyle=["normal","normal","normal"],this.tickFontWeight=["normal","normal","normal"],this.tickFontVariant=["normal","normal","normal"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=["auto","auto","auto"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["sans-serif","sans-serif","sans-serif"],this.labelFontStyle=["normal","normal","normal"],this.labelFontWeight=["normal","normal","normal"],this.labelFontVariant=["normal","normal","normal"],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=["auto","auto","auto"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=a(t)}var d=p.prototype;function m(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}d.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?h(a)&&h(a[0]):h(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),c=e.bind(this,!0,(function(t){if(h(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]})),u=!1,f=!1;if("bounds"in t)for(var p=t.bounds,d=0;d<2;++d)for(var m=0;m<3;++m)p[d][m]!==this.bounds[d][m]&&(f=!0),this.bounds[d][m]=p[d][m];if("ticks"in t)for(r=t.ticks,u=!0,this.autoTicks=!1,d=0;d<3;++d)this.tickSpacing[d]=0;else a("tickSpacing")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),f=!0,u=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(d=0;d<3;++d)r[d].sort((function(t,e){return t.x-e.x}));s.equal(r,this.ticks)?u=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(u=!0),l("tickFontStyle")&&(u=!0),l("tickFontWeight")&&(u=!0),l("tickFontVariant")&&(u=!0),a("tickSize"),a("tickAngle"),a("tickPad"),c("tickColor");var g=l("labels");l("labelFont")&&(g=!0),l("labelFontStyle")&&(g=!0),l("labelFontWeight")&&(g=!0),l("labelFontVariant")&&(g=!0),o("labelEnable"),a("labelSize"),a("labelPad"),c("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),c("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),c("lineTickColor"),o("gridEnable"),a("gridWidth"),c("gridColor"),o("zeroEnable"),c("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),c("backgroundColor");var y=[{family:this.labelFont[0],style:this.labelFontStyle[0],weight:this.labelFontWeight[0],variant:this.labelFontVariant[0]},{family:this.labelFont[1],style:this.labelFontStyle[1],weight:this.labelFontWeight[1],variant:this.labelFontVariant[1]},{family:this.labelFont[2],style:this.labelFontStyle[2],weight:this.labelFontWeight[2],variant:this.labelFontVariant[2]}],v=[{family:this.tickFont[0],style:this.tickFontStyle[0],weight:this.tickFontWeight[0],variant:this.tickFontVariant[0]},{family:this.tickFont[1],style:this.tickFontStyle[1],weight:this.tickFontWeight[1],variant:this.tickFontVariant[1]},{family:this.tickFont[2],style:this.tickFontStyle[2],weight:this.tickFontWeight[2],variant:this.tickFontVariant[2]}];this._text?this._text&&(g||u)&&this._text.update(this.bounds,this.labels,y,this.ticks,v):this._text=n(this.gl,this.bounds,this.labels,y,this.ticks,v),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var g=[new m,new m,new m];function y(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var h=a,f=s,p=o,d=l;c&1<0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var v=[0,0,0],x={model:l,view:l,projection:l,_ortho:!1};d.isOpaque=function(){return!0},d.isTransparent=function(){return!1},d.drawTransparent=function(t){};var _=[0,0,0],b=[0,0,0],w=[0,0,0];d.draw=function(t){t=t||x;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,c=o(r,n,i,a,s),u=c.cubeEdges,h=c.axis,p=n[12],d=n[13],m=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*p+i[7]*d+i[11]*m+i[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=u[A],this.lastCubeProps.axis[A]=h[A];var M=g;for(A=0;A<3;++A)y(g[A],A,this.bounds,u,h);e=this.gl;var S,E,C,L=v;for(A=0;A<3;++A)this.backgroundEnable[A]?L[A]=h[A]:L[A]=0;for(this._background.draw(r,n,i,a,L,this.backgroundColor),this._lines.bind(r,n,i,this),A=0;A<3;++A){var I=[0,0,0];h[A]>0?I[A]=a[1][A]:I[A]=a[0][A];for(var P=0;P<2;++P){var z=(A+1+P)%3,O=(A+1+(1^P))%3;this.gridEnable[z]&&this._lines.drawGrid(z,O,this.bounds,I,this.gridColor[z],this.gridWidth[z]*this.pixelRatio)}for(P=0;P<2;++P)z=(A+1+P)%3,O=(A+1+(1^P))%3,this.zeroEnable[O]&&Math.min(a[0][O],a[1][O])<=0&&Math.max(a[0][O],a[1][O])>=0&&this._lines.drawZero(z,O,this.bounds,I,this.zeroLineColor[O],this.zeroLineWidth[O]*this.pixelRatio)}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var D=f(_,M[A].primalMinor),R=f(b,M[A].mirrorMinor),F=this.lineTickLength;for(P=0;P<3;++P){var B=k/r[5*P];D[P]*=F[P]*B,R[P]*=F[P]*B}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,D,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,R,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}function N(t){(C=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),A=0;A<3;++A){var U=M[A].primalMinor,V=M[A].mirrorMinor,q=f(w,M[A].primalOffset);for(P=0;P<3;++P)this.lineTickEnable[A]&&(q[P]+=k*U[P]*Math.max(this.lineTickLength[P],0)/r[5*P]);var H=[0,0,0];if(H[A]=1,this.tickEnable[A]){for(-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,E=1,"auto"===(S=[this.tickAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),C=[0,0,0],j(A,U,V),P=0;P<3;++P)q[P]+=k*U[P]*this.tickPad[P]/r[5*P];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],q,this.tickColor[A],H,C,S)}if(this.labelEnable[A]){for(E=0,C=[0,0,0],this.labels[A].length>4&&(N(A),E=1),"auto"===(S=[this.labelAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),P=0;P<3;++P)q[P]+=k*U[P]*this.labelPad[P]/r[5*P];q[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],q,this.labelColor[A],[0,0,0],C,S)}}this._text.unbind()},d.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},5304:function(t,e,r){"use strict";t.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,h=[0,0,0],f=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),h[l]=p,f[l]=p;for(var d=-1;d<=1;d+=2){h[c]=d;for(var m=-1;m<=1;m+=2)h[u]=m,e.push(h[0],h[1],h[2],f[0],f[1],f[2]),s+=1}var g=c;c=u,u=g}var y=n(t,new Float32Array(e)),v=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:y,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:t.FLOAT,size:3,offset:12,stride:24}],v),_=a(t);return _.attributes.position.location=0,_.attributes.normal.location=1,new o(t,y,x,_)};var n=r(2762),i=r(8116),a=r(1879).bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},6429:function(t,e,r){"use strict";t.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var v=0,x=0;x<2;++x){u[2]=a[x][2];for(var _=0;_<2;++_){u[1]=a[_][1];for(var b=0;b<2;++b)u[0]=a[b][0],f(l[v],u,s),v+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)c[x][k]=l[x][k]/T;p&&(c[x][2]*=-1),T<0&&(w<0||c[x][2]E&&(w|=1<E&&(w|=1<c[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x)(N=R^1<c[B][0]&&(B=N))}var j=m;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===D?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=g,q=w;for(A=0;A<3;++A)V[A]=q&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}\n"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);e.Q=function(t){return i(t,s,l,null,[{name:"position",type:"vec3"}])};var c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * (view * (model * vec4(nPosition, 1.0)));\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}\n"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);e.bg=function(t){return i(t,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},4935:function(t,e,r){"use strict";t.exports=function(t,e,r,i,o,l){var c=n(t),h=a(t,[{buffer:c,size:3}]),f=s(t);f.attributes.position.location=0;var p=new u(t,f,c,h);return p.update(e,r,i,o,l),p};var n=r(2762),a=r(8116),o=r(4359),s=r(1879).Q,l=window||i.global||{},c=l.__TEXT_CACHE||{};function u(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}l.__TEXT_CACHE={};var h=u.prototype,f=[0,0];h.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},h.unbind=function(){this.vao.unbind()},h.update=function(t,e,r,n,i){var a=[];function s(t,e,r,n,i,s){var l=[r.style,r.weight,r.variant,r.family].join("_"),u=c[l];u||(u=c[l]={});var h=u[e];h||(h=u[e]=function(t,e){try{return o(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r.family,fontStyle:r.style,fontWeight:r.weight,fontVariant:r.variant,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var f=(n||12)/12,p=h.positions,d=h.cells,m=0,g=d.length;m=0;--v){var x=p[y[v]];a.push(f*x[0],-f*x[1],t)}}for(var l=[0,0,0],u=[0,0,0],h=[0,0,0],f=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){h[d]=a.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),f[d]=(a.length/3|0)-h[d],l[d]=a.length/3|0;for(var m=0;m=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,c=o%a;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=""+l;if(o<0&&(u="-"+u),i){for(var h=""+c;h.length=t[0][i];--o)a.push({x:o*e[i],text:r(e[i],o)});n.push(a)}return n},e.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function u(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var h;h=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,"uint16"):u(t,"float32"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?h:h.subarray(0,t.length),e),n.free(h)}else if("object"==typeof t&&"number"==typeof t.length)this.length=c(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},t.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},6405:function(t,e,r){"use strict";var n=r(2931);t.exports=function(t,e){var r=t.positions,i=t.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,h=1/0,f=-1/0,p=null,d=null,m=[],g=1/0,y=!1,v="raw"===t.coneSizemode,x=0;xo&&(o=n.length(b)),x&&!v){var w=2*n.distance(p,_)/(n.length(d)+n.length(b));w?(g=Math.min(g,w),y=!1):y=!0}y||(p=_,d=b),m.push(b)}var T=[s,c,h],k=[l,u,f];e&&(e[0]=T,e[1]=k),0===o&&(o=1);var A=1/o;isFinite(g)||(g=1),a.vectorScale=g;var M=t.coneSize||(v?1:.5);t.absoluteConeSize&&(M=t.absoluteConeSize*A),a.coneScale=M,x=0;for(var S=0;x=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=u({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return c(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],h=[];this.cells=r,this.positions=n,this.vectors=i;var f=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,m=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],m=+t.vertexIntensityBounds[1];else for(var g=0;g0){var m=this.triShader;m.bind(),m.uniforms=c,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||h,n=t.view||h,i=t.projection||h,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},t.exports=function(t,e,r){var s=r.shaders;1===arguments.length&&(t=(e=t).gl);var l=function(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(t,s),u=function(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(t,s),h=o(t,c(new Uint8Array([255,255,255,255]),[1,1,4]));h.generateMipmap(),h.minFilter=t.LINEAR_MIPMAP_LINEAR,h.magFilter=t.LINEAR;var p=i(t),d=i(t),m=i(t),g=i(t),y=i(t),v=new f(t,h,l,u,p,d,y,m,g,a(t,[{buffer:p,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:m,type:t.FLOAT,size:4},{buffer:g,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:4}]),r.traceType||"cone");return v.update(e),v}},614:function(t,e,r){var n=r(3236),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * (view * conePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},737:function(t){t.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},5171:function(t,e,r){var n=r(737);t.exports=function(t){return n[t]}},9165:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=r(2762),i=r(8116),a=r(3436),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=(t._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)e.lineWidth(this.lineWidth[h]*this.pixelRatio),r.capSize=this.capSize[h]*u,this.lineCount[h]&&e.drawArrays(e.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function h(t,e,r,n){for(var i=u[n],a=0;a0&&((p=u.slice())[s]+=d[1][s],i.push(u[0],u[1],u[2],m[0],m[1],m[2],m[3],0,0,0,p[0],p[1],p[2],m[0],m[1],m[2],m[3],0,0,0),c(this.bounds,p),o+=2+h(i,p,m,s))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},3436:function(t,e,r){"use strict";var n=r(3236),i=r(9405),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * (view * worldPosition);\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(t,e,r){"use strict";var n=r(7766);t.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension("WEBGL_draw_buffers");if(!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;au||r<0||r>u)throw new Error("gl-fbo: Parameters are too large for FBO");var h=1;if("color"in(n=n||{})){if((h=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(h>1){if(!c)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(h>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+h+" draw buffers")}}var f=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&h>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");f=t.FLOAT}else n.preferFloat&&h>0&&p&&(f=t.FLOAT);var m=!0;"depth"in n&&(m=!!n.depth);var g=!1;return"stencil"in n&&(g=!!n.stencil),new d(t,e,r,f,h,m,g,c)};var i,a,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function h(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function f(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var v=r.getExtension("WEBGL_depth_texture");v?d?t.depth=f(r,i,a,v.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m&&(t.depth=f(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):m&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),y=0;yi||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var a=c(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var m=i.attributes;return this.positionBuffer.bind(),m.position.pointer(),this.weightBuffer.bind(),m.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),m.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),h.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},h.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var c,u,h,p,d=t.colorLevels||[0],m=t.colorValues||[0,0,0,1],g=d.length,y=this.bounds;l?(c=y[0]=r[0],u=y[1]=o[0],h=y[2]=r[r.length-1],p=y[3]=o[o.length-1]):(c=y[0]=r[0]+(r[1]-r[0])/2,u=y[1]=o[0]+(o[1]-o[0])/2,h=y[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=y[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var v=1/(h-c),x=1/(p-u),_=e[0],b=e[1];this.shape=[_,b];var w=(l?(_-1)*(b-1):_*b)*(f.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),A=a.mallocUint8(2*w),M=a.mallocUint32(w),S=0,E=l?_-1:_,C=l?b-1:b,L=0;L max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];e.createShader=function(t){return i(t,a,o,null,l)},e.createPickShader=function(t){return i(t,a,s,null,l)}},5714:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=h(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=f(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),u=c(new Array(1024),[256,1,4]),p=0;p<1024;++p)u.data[p]=255;var d=a(e,u);d.wrap=e.REPEAT;var m=new y(e,r,o,s,l,d);return m.update(t),m};var n=r(2762),i=r(8116),a=r(7766),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(2478),c=r(9618),u=r(7319),h=u.createShader,f=u.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function m(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function y(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var v=y.prototype;v.isTransparent=function(){return this.hasAlpha},v.isOpaque=function(){return!this.hasAlpha},v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.drawTransparent=v.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:m(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},v.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:m(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},v.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,u=0,h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],f=t.position||t.positions;if(f){var p=t.color||t.colors||[0,0,0,1],m=t.lineWidth||1,g=!1;t:for(e=1;e0){for(var w=0;w<24;++w)i.push(i[i.length-12]);u+=2,g=!0}continue t}h[0][r]=Math.min(h[0][r],_[r],b[r]),h[1][r]=Math.max(h[1][r],_[r],b[r])}Array.isArray(p[0])?(y=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],v=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):y=v=p,3===y.length&&(y=[y[0],y[1],y[2],1]),3===v.length&&(v=[v[0],v[1],v[2],1]),!this.hasAlpha&&y[3]<1&&(this.hasAlpha=!0),x=Array.isArray(m)?m.length>e-1?m[e-1]:m.length>0?m[m.length-1]:[0,0,0,1]:m;var T=s;if(s+=d(_,b),g){for(r=0;r<2;++r)i.push(_[0],_[1],_[2],b[0],b[1],b[2],T,x,y[0],y[1],y[2],y[3]);u+=2,g=!1}i.push(_[0],_[1],_[2],b[0],b[1],b[2],T,x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],T,-x,y[0],y[1],y[2],y[3],b[0],b[1],b[2],_[0],_[1],_[2],s,-x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],s,x,v[0],v[1],v[2],v[3]),u+=4}}if(this.buffer.update(i),a.push(s),o.push(f[f.length-1].slice()),this.bounds=h,this.vertexCount=u,this.points=o,this.arcLength=a,"dashes"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e1.0001)return null;y+=g[h]}return Math.abs(y-1)>.001?null:[f,s(t,g),g]}},840:function(t,e,r){var n=r(3236),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * (view * (model * vec4(p, 1.0)));\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_id = id;\n f_position = position;\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.pointShader={vertex:l,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},e.pickShader={vertex:u,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},e.pointPickShader={vertex:f,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},e.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},7201:function(t,e,r){"use strict";var n=r(9405),i=r(2762),a=r(8116),o=r(7766),s=r(8406),l=r(6760),c=r(7608),u=r(9618),h=r(6729),f=r(7765),p=r(1888),d=r(840),m=r(7626),g=d.meshShader,y=d.wireShader,v=d.pointShader,x=d.pickShader,_=d.pointPickShader,b=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,T,k,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=m,this.edgeVAO=v,this.edgeCount=0,this.pointPositions=x,this.pointColors=b,this.pointUVs=T,this.pointSizes=k,this.pointIds=_,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function S(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function E(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function C(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=f(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((h=this.triShader).bind(),h.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((h=this.lineShader).bind(),h.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((h=this.pointShader).bind(),h.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((h=this.contourShader).bind(),h.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};(s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;ai[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=g[t],r.uniforms.angle=y[t],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),v[t]&&T&&(u[1^t]-=M*p*x[t],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=_[t],r.uniforms.angle=b[t],a.drawArrays(a.TRIANGLES,w,T)),u[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=M*p*m[t+2],ki[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=g[t+2],r.uniforms.angle=y[t+2],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),v[t+2]&&T&&(u[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=_[t+2],r.uniforms.angle=b[t+2],a.drawArrays(a.TRIANGLES,w,T))}),m.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-a[u])/(a[2+u]-a[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),m.bind=(f=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],h=a[o],m=a[o+2]-h,g=i[o],y=i[o+2]-g;p[o]=2*l/u*m/y,f[o]=2*(s-c)/u*m/y}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=f,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),m.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],h=[-1/0],f=l[o];for(e=0;e=0){var m=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(m,e[1],m,e[3],p[d],f[d]):o.drawLine(e[0],m,e[2],m,p[d],f[d])}}for(d=0;d=0;--t)this.objects[t].dispose();for(this.objects.length=0,t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;rMath.abs(e))c.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,h*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=r(3025),i=r(6296),a=r(351),o=r(8512),s=r(24),l=r(7520)},799:function(t,e,r){var n=r(3236),i=r(9405),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec2"}])}},4100:function(t,e,r){"use strict";var n=r(4437),i=r(3837),a=r(5445),o=r(4449),s=r(3589),l=r(2260),c=r(7169),u=r(351),h=r(4772),f=r(4040),p=r(799),d=r(9216)({tablet:!0,featureDetect:!0});function m(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}return e>0?(r=Math.round(Math.pow(10,e)),Math.ceil(t/r)*r):Math.ceil(t)}function y(t){return"boolean"!=typeof t||t}t.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;e||(e=document.createElement("canvas"),t.container?t.container.appendChild(e):document.body.appendChild(e));var r=t.gl;if(r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw new Error("webgl not supported");var v=t.bounds||[[-10,-10,-10],[10,10,10]],x=new m,_=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),b=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:w},k=t.axes||{},A=i(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],C=[],L=[],I=[],P=!0,z=!0,O={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},D=(z=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=t.cameraObject||n(e,T),F={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:R,axes:A,axesPixels:null,spikes:S,bounds:v,objects:E,shape:D,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:y(t.autoResize),autoBounds:y(t.autoBounds),autoScale:!!t.autoScale,autoCenter:y(t.autoCenter),clipToBounds:y(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:O,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,z=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},B=[r.drawingBufferWidth/F.pixelRatio|0,r.drawingBufferHeight/F.pixelRatio|0];function N(){if(!F._stopped&&F.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*F.pixelRatio),a=0|Math.ceil(n*F.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",P=!0}}}function j(){for(var t=E.length,e=I.length,n=0;n0&&0===L[e-1];)L.pop(),I.pop().dispose()}function U(){if(F.contextLost)return!0;r.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.autoResize&&N(),window.addEventListener("resize",N),F.update=function(t){F._stopped||(t=t||{},P=!0,z=!0)},F.add=function(t){F._stopped||(t.axes=A,E.push(t),C.push(-1),P=!0,z=!0,j())},F.remove=function(t){if(!F._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),C.pop(),P=!0,z=!0,j())}},F.dispose=function(){if(!F._stopped&&(F._stopped=!0,window.removeEventListener("resize",N),e.removeEventListener("webglcontextlost",U),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var t=0;tx.distance)continue;for(var c=0;c 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n"]),e.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n"]),e.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n"])},4696:function(t,e,r){"use strict";var n=r(9405),i=r(2762),a=r(1888),o=r(6640);function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}t.exports=function(t,e){var r=t.gl,a=new s(t,i(r),i(r),n(r,o.pointVertex,o.pointFragment),n(r,o.pickVertex,o.pickFragment));return a.update(e),t.addObject(a),a};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),c=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var h=n.getParameter(n.BLEND),f=n.getParameter(n.DITHER);return h&&!this.blend&&n.disable(n.BLEND),f&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),h&&!this.blend&&n.enable(n.BLEND),f&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},783:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],h=e[2],f=e[3],p=r[0],d=r[1],m=r[2],g=r[3];return(a=c*p+u*d+h*m+f*g)<0&&(a=-a,p=-p,d=-d,m=-m,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*h+l*m,t[3]=s*f+l*g,t}},5964:function(t){"use strict";t.exports=function(t){return t||0===t?t.toString():""}},9366:function(t,e,r){"use strict";var n=r(4359);t.exports=function(t,e,r){var a=[e.style,e.weight,e.variant,e.family].join("_"),o=i[a];if(o||(o=i[a]={}),t in o)return o[t];var s={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e.family,fontStyle:e.style,fontWeight:e.weight,fontVariant:e.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},l=n(t,s);s.triangles=!1;var c,u,h=n(t,s);if(r&&1!==r){for(c=0;c max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * (view * (model * vec4(position, 1)));\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * (view * (model * vec4(dataPosition, 1)));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),c=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),u=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],h={vertex:a,fragment:l,attributes:u},f={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:a,fragment:c,attributes:u},m={vertex:o,fragment:c,attributes:u},g={vertex:s,fragment:c,attributes:u};function y(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}e.createPerspective=function(t){return y(t,h)},e.createOrtho=function(t){return y(t,f)},e.createProject=function(t){return y(t,p)},e.createPickPerspective=function(t){return y(t,d)},e.createPickOrtho=function(t){return y(t,m)},e.createPickProject=function(t){return y(t,g)}},8418:function(t,e,r){"use strict";var n=r(5219),i=r(2762),a=r(8116),o=r(1888),s=r(6760),l=r(1283),c=r(9366),u=r(5964),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],f=ArrayBuffer,p=DataView;function d(t){return Array.isArray(t)||function(t){return f.isView(t)&&!(t instanceof p)}(t)}function m(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function g(t,e,r,n){return m(n,n),m(n,n),m(n,n)}function y(t,e){this.index=t,this.dataCoordinate=this.position=e}function v(t){return!0===t||t>1?1:t}function x(t,e,r,n,i,a,o,s,l,c,u,h){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=h,this.points=[],this._selectResult=new y(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}t.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),c=l.createPickOrtho(e),u=l.createPickProject(e),h=i(e),f=i(e),p=i(e),d=i(e),m=new x(e,r,n,o,h,f,p,d,a(e,[{buffer:h,size:3,type:e.FLOAT},{buffer:f,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),s,c,u);return m.update(t),m};var _=x.prototype;_.pickSlots=1,_.setPickBase=function(t){this.pickId=t},_.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},_.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var b=[0,0],w=[0,0,0],T=[0,0,0],k=[0,0,0,1],A=[0,0,0,1],M=h.slice(),S=[0,0,0],E=[[0,0,0],[0,0,0]];function C(t){return t[0]=t[1]=t[2]=0,t}function L(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function I(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}var P=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function z(t,e,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,c=r.model||h,u=r.view||h,f=r.projection||h,p=e.axesBounds,d=function(t){for(var e=E,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],b[0]=2/o.drawingBufferWidth,b[1]=2/o.drawingBufferHeight,t.bind(),l.view=u,l.projection=f,l.screenSize=b,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=d,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var m=0;m<3;++m)if(a[m]){l.scale=e.projectScale[m],l.opacity=e.projectOpacity[m];for(var y=M,v=0;v<16;++v)y[v]=0;for(v=0;v<4;++v)y[5*v]=1;y[5*m]=0,i[m]<0?y[12+m]=p[0][m]:y[12+m]=p[1][m],s(y,c,y),l.model=y;var x=(m+1)%3,_=(m+2)%3,P=C(w),z=C(T);P[x]=1,z[_]=1;var O=g(0,0,0,L(k,P)),D=g(0,0,0,L(A,z));if(Math.abs(O[1])>Math.abs(D[1])){var R=O;O=D,D=R,R=P,P=z,z=R;var F=x;x=_,_=F}O[0]<0&&(P[x]=-1),D[1]>0&&(z[_]=-1);var B=0,N=0;for(v=0;v<4;++v)B+=Math.pow(c[4*x+v],2),N+=Math.pow(c[4*_+v],2);P[x]/=Math.sqrt(B),z[_]/=Math.sqrt(N),l.axes[0]=P,l.axes[1]=z,l.fragClipBounds[0]=I(S,d[0],m,-1e8),l.fragClipBounds[1]=I(S,d[1],m,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}(e,r,n,i),a===r.hasAlpha||o){t.bind();var c=t.uniforms;c.model=n.model||h,c.view=n.view||h,c.projection=n.projection||h,b[0]=2/l.drawingBufferWidth,b[1]=2/l.drawingBufferHeight,c.screenSize=b,c.highlightId=r.highlightId,c.highlightScale=r.highlightScale,c.fragClipBounds=P,c.clipBounds=r.axes.bounds,c.opacity=r.opacity,c.pickGroup=r.pickId/255,c.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function O(t,e,r,i){var a;a=d(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},_.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},_.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(d(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(d(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){d(t.projectOpacity)?this.projectOpacity=t.projectOpacity.slice():(r=+t.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=v(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=v(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l={family:t.font||"normal",style:t.fontStyle||"normal",weight:t.fontWeight||"normal",variant:t.fontVariant||"normal"},c=t.alignment||[0,0];if(2===c.length)i=c[0],a=c[1];else for(i=[],a=[],n=0;n0){var z=0,D=_,R=[0,0,0,1],F=[0,0,0,1],B=d(p)&&d(p[0]),N=d(y)&&d(y[0]);t:for(n=0;n0?1-S[0][0]:W<0?1+S[1][0]:1,Y*=Y>0?1-S[0][1]:Y<0?1+S[1][1]:1],$=A.cells||[],J=A.positions||[];for(k=0;k<$.length;++k)for(var K=$[k],Q=0;Q<3;++Q){for(var tt=0;tt<3;++tt)C[3*z+tt]=T[tt];for(tt=0;tt<4;++tt)L[4*z+tt]=R[tt];P[z]=x;var et=J[K[Q]];I[2*z]=q*(G*et[0]-Z*et[1]+X[0]),I[2*z+1]=q*(Z*et[0]+G*et[1]+X[1]),z+=1}for($=M.edges,J=M.positions,k=0;k<$.length;++k)for(K=$[k],Q=0;Q<2;++Q){for(tt=0;tt<3;++tt)C[3*D+tt]=T[tt];for(tt=0;tt<4;++tt)L[4*D+tt]=F[tt];P[D]=x,et=J[K[Q]],I[2*D]=q*(G*et[0]-Z*et[1]+X[0]),I[2*D+1]=q*(Z*et[0]+G*et[1]+X[1]),D+=1}}}this.bounds=[u,h],this.points=s,this.pointCount=s.length,this.vertexCount=_,this.lineVertexCount=b,this.pointBuffer.update(C),this.colorBuffer.update(L),this.glyphBuffer.update(I),this.idBuffer.update(P),o.free(C),o.free(L),o.free(I),o.free(P)},_.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},4298:function(t,e,r){"use strict";var n=r(3236);e.boxVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 vertex;\n\nuniform vec2 cornerA, cornerB;\n\nvoid main() {\n gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\n}\n"]),e.boxFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n gl_FragColor = color;\n}\n"])},3161:function(t,e,r){"use strict";var n=r(9405),i=r(2762),a=r(4298);function o(t,e,r){this.plot=t,this.boxBuffer=e,this.boxShader=r,this.enabled=!0,this.selectBox=[1/0,1/0,-1/0,-1/0],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}t.exports=function(t,e){var r=t.gl,s=new o(t,i(r,[0,0,0,1,1,0,1,1]),n(r,a.boxVertex,a.boxFragment));return s.update(e),t.addOverlay(s),s};var s=o.prototype;s.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,c=t.viewBox,u=t.pixelRatio,h=(e[0]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],f=(e[1]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1],p=(e[2]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],d=(e[3]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1];if(h=Math.max(h,c[0]),f=Math.max(f,c[1]),p=Math.min(p,c[2]),d=Math.min(d,c[3]),!(p0){var y=r*u;o.drawBox(h-y,f-y,p+y,f+y,a),o.drawBox(h-y,d-y,p+y,d+y,a),o.drawBox(h-y,f-y,h+y,d+y,a),o.drawBox(p-y,f-y,p+y,d+y,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},3589:function(t,e,r){"use strict";t.exports=function(t,e){var r=e[0],a=e[1];return new l(t,n(t,r,a,{}),i.mallocUint8(r*a*4))};var n=r(2260),i=r(1888),a=r(9618),o=r(8828).nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var c=l.prototype;Object.defineProperty(c,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;b[v]=M}var S=new Array(r.length);function E(){f.program=o.program(p,f._vref,f._fref,_,b);for(var t=0;t=0){if((d=f.charCodeAt(f.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);s(t,e,p[0],i,d,a,h)}else{if(!(f.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+h+": "+f);var d;if((d=f.charCodeAt(f.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);l(t,e,p,i,d,a,h)}}}return a};var n=r(8866);function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,"location",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}});var o=[function(t,e,r){return void 0===r.length?t.vertexAttrib1f(e,r):t.vertexAttrib1fv(e,r)},function(t,e,r,n){return void 0===r.length?t.vertexAttrib2f(e,r,n):t.vertexAttrib2fv(e,r)},function(t,e,r,n,i){return void 0===r.length?t.vertexAttrib3f(e,r,n,i):t.vertexAttrib3fv(e,r)},function(t,e,r,n,i,a){return void 0===r.length?t.vertexAttrib4f(e,r,n,i,a):t.vertexAttrib4fv(e,r)}];function s(t,e,r,n,a,s,l){var c=o[a],u=new i(t,e,r,n,a,c);Object.defineProperty(s,l,{set:function(e){return t.disableVertexAttribArray(n[r]),c(t,n[r],e),e},get:function(){return u},enumerable:!0})}function l(t,e,r,n,i,a,o){for(var l=new Array(i),c=new Array(i),u=0;u4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+v);t["uniformMatrix"+y+"fv"](s[h],!1,f);break}throw new i("","Unknown uniform data type for "+name+": "+v)}if((y=v.charCodeAt(v.length-1)-48)<2||y>4)throw new i("","Invalid data type");switch(v.charAt(0)){case"b":case"i":t["uniform"+y+"iv"](s[h],f);break;case"v":t["uniform"+y+"fv"](s[h],f);break;default:throw new i("","Unrecognized data type for vector "+name+": "+v)}}}}}}function c(t,e){if("object"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+""===n?a+="["+n+"]":a+="."+n,"object"==typeof i?r.push.apply(r,c(a,i)):r.push([a,i])}return r}function u(t,e,n){if("object"==typeof n){var c=h(n);Object.defineProperty(t,e,{get:a(c),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(t,e,{get:(u=n,function(t,e,r){return t.getUniform(e.program,r[u])}),set:l(n),enumerable:!0,configurable:!1}):t[e]=function(t){switch(t){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var e=t.indexOf("vec");if(0<=e&&e<=1&&t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[n].type);var u}function h(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * (view * tubePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7815:function(t,e,r){"use strict";var n=r(2931),i=r(9970),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e){var r,n=t.length;for(r=0;re)return r-1}return r},s=function(t,e,r){return tr?r:t},l=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nh-1||v>f-1||x>p-1)return n.create();var _,b,w,T,k,A,M=a[0][d],S=a[0][y],E=a[1][m],C=a[1][v],L=a[2][g],I=(l-M)/(S-M),P=(c-E)/(C-E),z=(u-L)/(a[2][x]-L);switch(isFinite(I)||(I=.5),isFinite(P)||(P=.5),isFinite(z)||(z=.5),r.reversedX&&(d=h-1-d,y=h-1-y),r.reversedY&&(m=f-1-m,v=f-1-v),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=m*p,T=v*p,_=d*p*f,b=y*p*f;break;case 4:k=g,A=x,_=d*p,b=y*p,w=m*p*h,T=v*p*h;break;case 3:w=m,T=v,k=g*f,A=x*f,_=d*f*p,b=y*f*p;break;case 2:w=m,T=v,_=d*f,b=y*f,k=g*f*h,A=x*f*h;break;case 1:_=d,b=y,k=g*h,A=x*h,w=m*h*p,T=v*h*p;break;default:_=d,b=y,w=m*h,T=v*h,k=g*h*f,A=x*h*f}var O=i[_+w+k],D=i[_+w+A],R=i[_+T+k],F=i[_+T+A],B=i[b+w+k],N=i[b+w+A],j=i[b+T+k],U=i[b+T+A],V=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(V,O,B,I),n.lerp(q,D,N,I),n.lerp(H,R,j,I),n.lerp(G,F,U,I);var Z=n.create(),W=n.create();n.lerp(Z,V,H,P),n.lerp(W,q,G,P);var Y=n.create();return n.lerp(Y,Z,W,z),Y}(e,t,p)},m=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},g=[],y=e[0][0],v=e[0][1],x=e[0][2],_=e[1][0],b=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(e_||rb||nw)},k=10*n.distance(e[0],e[1])/c,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,c=0;cS&&(S=F),D.push(F),g.push({points:I,velocities:P,divergences:D});for(var B=0;B<100*c&&I.lengthA&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,L),z=d(N),n.squaredDistance(O,N)-A>-1e-4*A&&(I.push(N),O=N,P.push(z),R=m(N,z),F=n.length(R),isFinite(F)&&F>S&&(S=F),D.push(F)),L=N}}var U=function(t,e,r,a){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;c.push(f[T],p[T],p[k],p[k],f[k],f[T]),h.push(v,y,y,y,v,v),d.push(m,g,g,g,m,m);var A=c.length;u.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=f;f=p,p=M;var S=v;v=y,y=S;var E=m;m=g,g=E}return{positions:c,cells:u,vectors:h,vertexIntensity:d}}(t,r,a,o)})),h=[],f=[],p=[],d=[];for(s=0;s max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color — in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n vec4 worldPosition = (model * objectOffsetTranslation) * vec4(dataCoordinate, 1.0);\n\n vec4 clipPosition = projection * (view * worldPosition);\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);e.createShader=function(t){var e=n(t,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createPickShader=function(t){var e=n(t,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},e.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},9499:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=v(e),n=_(e),s=x(e),l=b(e),c=i(e),u=a(e,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),h=i(e),f=a(e,[{buffer:h,size:4,stride:20,offset:0},{buffer:h,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),m=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);m.minFilter=e.LINEAR,m.magFilter=e.LINEAR;var g=new E(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,m,s,l,h,f,p,d,[0,0,0]),y={levels:[[],[],[]]};for(var T in t)y[T]=t[T];return y.colormap=y.colormap||"jet",g.update(y),g};var n=r(8828),i=r(2762),a=r(8116),o=r(7766),s=r(1888),l=r(6729),c=r(5298),u=r(9994),h=r(9618),f=r(3711),p=r(6760),d=r(7608),m=r(2478),g=r(6199),y=r(990),v=y.createShader,x=y.createContourShader,_=y.createPickShader,b=y.createPickContourShader,w=40,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],k=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function M(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function E(t,e,r,n,i,a,o,l,c,u,f,p,d,m,g){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=f,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=m,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var C=E.prototype;C.genColormap=function(t,e){var r=!1,n=u([l({colormap:t,nshades:S,format:"rgba"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return c.divseq(n,255),this.hasAlphaScale=r,n},C.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},C.isOpaque=function(){return!this.isTransparent()},C.pickSlots=1,C.setPickBase=function(t){this.pickId=t};var L=[0,0,0],I={showSurface:!1,showContour:!1,projections:[T.slice(),T.slice(),T.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function P(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||L,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=I.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var c=I.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return I.showSurface=o,I.showContour=s,I}var z={model:T,view:T,projection:T,inverseModel:T.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},O=T.slice(),D=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=z;n.model=t.model||T,n.view=t.view||T,n.projection=t.projection||T,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=D,n.vertexColor=this.vertexColor;var s=O;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=P(n,this);if(u.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var f=this._contourVAO;for(f.bind(),i=0;i<3;++i)for(h.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var h=u?a:1-a,f=0;f<2;++f)for(var p=i+u,d=s+f,g=h*(f?l:1-l),y=0;y<3;++y)c[y]+=this._field[y].get(p,d)*g;for(var v=this._pickResult.level,x=0;x<3;++x)if(v[x]=m.le(this.contourLevels[x],c[x]),v[x]<0)this.contourLevels[x].length>0&&(v[x]=0);else if(v[x]Math.abs(b-c[x])&&(v[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],y=0;y<3;++y)r.dataCoordinate[y]=this._field[y].get(r.index[0],r.index[1]);return r},C.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();c.assign(t.lo(1,1).hi(r[0],r[1]),e),c.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),c.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),c.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),c.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},C.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=B(t.contourWidth,Number)),"showContour"in t&&(this.showContour=B(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=B(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=j(t.contourColor)),"contourProject"in t&&(this.contourProject=B(t.contourProject,(function(t){return B(t,Boolean)}))),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=j(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=B(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=B(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"opacityscale"in t&&(this.opacityscale=t.opacityscale),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0),"colormap"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=h(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=h(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var c=l[o];for(y=0;y<2;++y)if(c.shape[y]!==a[y])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],c)}}else if(t.ticks){var u=t.ticks;if(!Array.isArray(u)||2!==u.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var p=u[o];if((Array.isArray(p)||p.length)&&(p=h(p)),p.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var d=h(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var m=[0,0];m[o]=1,this._field[o]=h(this._field[o].data,[a[0]+2,a[1]+2],m,0)}this._field[0].set(0,0,0);for(var y=0;y0){for(var xt=0;xt<5;++xt)K.pop();U-=1}continue t}K.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[Q]=et,this._contourCounts[Q]=rt}var _t=s.mallocFloat(K.length);for(o=0;os||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=d(o,e.stride.slice()),c=0;"float32"===r?c=t.FLOAT:"float64"===r?(c=t.FLOAT,l=!1,r="float32"):"uint8"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r="uint8");var h,p,g=0;if(2===o.length)g=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])g=t.ALPHA;else if(2===o[2])g=t.LUMINANCE_ALPHA;else if(3===o[2])g=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}}c!==t.FLOAT||t.getExtension("OES_texture_float")||(c=t.UNSIGNED_BYTE,l=!1);var y=e.size;if(l)h=0===e.offset&&e.data.length===y?e.data:e.data.subarray(e.offset,e.offset+y);else{var v=[o[2],o[2]*o[0],1];p=a.malloc(y,r);var x=n(p,o,v,0);"float32"!==r&&"float64"!==r||c!==t.UNSIGNED_BYTE?i.assign(x,e):u(x,e),h=p.subarray(0,y)}var _=m(t);return t.texImage2D(t.TEXTURE_2D,0,g,o[0],o[1],0,g,c,h),l||a.free(p),new f(t,_,o[0],o[1],g,c)}(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var u=function(t,e){i.muls(t,e,255)};function h(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function f(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=f.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function m(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function g(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=m(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new f(t,o,e,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return h(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return h(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l);else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,c,h){var f=h.dtype,p=h.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var m=0,g=0,y=d(p,h.stride.slice());if("float32"===f?m=t.FLOAT:"float64"===f?(m=t.FLOAT,y=!1,f="float32"):"uint8"===f?m=t.UNSIGNED_BYTE:(m=t.UNSIGNED_BYTE,y=!1,f="uint8"),2===p.length)g=t.LUMINANCE,p=[p[0],p[1],1],h=n(h.data,p,[h.stride[0],h.stride[1],1],h.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])g=t.ALPHA;else if(2===p[2])g=t.LUMINANCE_ALPHA;else if(3===p[2])g=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}p[2]}if(g!==t.LUMINANCE&&g!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(g=s),g!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var v=h.size,x=c.indexOf(o)<0;if(x&&c.push(o),m===l&&y)0===h.offset&&h.data.length===v?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,h.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data.subarray(h.offset,h.offset+v)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,h.data.subarray(h.offset,h.offset+v));else{var _;_=l===t.FLOAT?a.mallocFloat32(v):a.mallocUint8(v);var b=n(_,p,[p[2],p[2]*p[0],1]);m===t.FLOAT&&l===t.UNSIGNED_BYTE?u(b,h):i.assign(b,h),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,_.subarray(0,v)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,_.subarray(0,v)),l===t.FLOAT?a.freeFloat32(_):a.freeUint8(_)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},1433:function(t){"use strict";t.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i1?0:Math.acos(s)};var n=r(2825),i=r(3536),a=r(244)},9226:function(t){t.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},3126:function(t){t.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},3990:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},1091:function(t){t.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},5911:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},5455:function(t,e,r){t.exports=r(7056)},7056:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},4008:function(t,e,r){t.exports=r(6690)},6690:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},244:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},2613:function(t){t.exports=1e-6},9922:function(t,e,r){t.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(2613)},9265:function(t){t.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},2681:function(t){t.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},5137:function(t,e,r){t.exports=function(t,e,r,i,a,o){var s,l;for(e||(e=3),r||(r=0),l=i?Math.min(i*e+r,t.length):t.length,s=r;s0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},7636:function(t){t.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},6894:function(t){t.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=e[0],t[1]=i+o*c-s*l,t[2]=a+o*l+s*c,t}},109:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+s*l+o*c,t[1]=e[1],t[2]=a+s*c-o*l,t}},8692:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+o*c-s*l,t[1]=a+o*l+s*c,t[2]=e[2],t}},2447:function(t){t.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},6621:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},8489:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},1463:function(t){t.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},6141:function(t,e,r){t.exports=r(2953)},5486:function(t,e,r){t.exports=r(3066)},2953:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},3066:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},2229:function(t,e,r){t.exports=r(6843)},6843:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},492:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},5673:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},264:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,h=c*i+l*n-o*a,f=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t}},4361:function(t){t.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},2335:function(t){t.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},2933:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},7536:function(t){t.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},4691:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},1373:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},3750:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},3390:function(t){t.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},9970:function(t,e,r){t.exports={create:r(7536),clone:r(2335),fromValues:r(3390),copy:r(2933),set:r(4578),add:r(4361),subtract:r(6860),multiply:r(3576),divide:r(1373),min:r(2334),max:r(160),scale:r(9288),scaleAndAdd:r(4844),distance:r(4691),squaredDistance:r(7960),length:r(6808),squaredLength:r(483),negate:r(1498),inverse:r(4494),normalize:r(5177),dot:r(3750),lerp:r(2573),random:r(9131),transformMat4:r(5352),transformQuat:r(4041)}},4494:function(t){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},6808:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},2573:function(t){t.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},160:function(t){t.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},2334:function(t){t.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},3576:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},1498:function(t){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},5177:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t}},9131:function(t,e,r){var n=r(5177),i=r(9288);t.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},9288:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},4844:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},4578:function(t){t.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},7960:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},483:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},6860:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},5352:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},4041:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,h=c*i+l*n-o*a,f=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t[3]=e[3],t}},1848:function(t,e,r){var n=r(4905),i=r(6468);t.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join("")}return N(r),I+=r.length,(S=S.slice(r.length)).length}}function Z(){return/[^a-fA-F0-9]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function W(){return"."===e||/[eE]/.test(e)?(S.push(e),M=m,r=e,k+1):"x"===e&&1===S.length&&"0"===S[0]?(M=b,S.push(e),r=e,k+1):/[^\d]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function Y(){return"f"===e&&(S.push(e),r=e,k+=1),/[eE]/.test(e)?(S.push(e),r=e,k+1):("-"!==e&&"+"!==e||!/[eE]/.test(r))&&/[^\d]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function X(){if(/[^\d\w_]/.test(e)){var t=S.join("");return M=B[t]?v:F[t]?y:g,N(S.join("")),M=l,k}return S.push(e),r=e,k+1}};var n=r(620),i=r(7827),a=r(6852),o=r(7932),s=r(3508),l=999,c=9999,u=0,h=1,f=2,p=3,d=4,m=5,g=6,y=7,v=8,x=9,_=10,b=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},3508:function(t,e,r){var n=r(6852);n=n.slice().filter((function(t){return!/^(gl\_|texture)/.test(t)})),t.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},6852:function(t){t.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},7932:function(t,e,r){var n=r(620);t.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},620:function(t){t.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},7827:function(t){t.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},4905:function(t,e,r){var n=r(5874);t.exports=function(t,e){var r=n(e),i=[];return(i=i.concat(r(t))).concat(r(null))}},3236:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,u=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m}},8954:function(t,e,r){"use strict";t.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var i=t[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),u=0;u<=i;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);var h=new a(l,new Array(i+1),!1),f=h.adjacent,p=new Array(i+2);for(u=0;u<=i;++u){for(var d=l.slice(),m=0;m<=i;++m)m===u&&(d[m]=-1);var g=d[0];d[0]=d[1],d[1]=g;var y=new a(d,new Array(i+1),!0);f[u]=y,p[u]=y}for(p[i+1]=h,u=0;u<=i;++u){d=f[u].vertices;var v=f[u].adjacent;for(m=0;m<=i;++m){var x=d[m];if(x<0)v[m]=h;else for(var _=0;_<=i;++_)f[_].vertices.indexOf(x)<0&&(v[m]=f[_])}}var b=new c(i,o,p),w=!!e;for(u=i+1;u0;)for(var s=(t=o.pop()).adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,h=0;h<=r;++h){var f=u[h];i[h]=f<0?e:a[f]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)a[u]=i[l[u]];for(s.lastVisited=r,u=0;u<=n;++u){var h=c[u];if(!(h.lastVisited>=r)){var f=a[u];a[u]=t;var p=this.orient();if(a[u]=f,p<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,h=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var f=[];h.length>0;){var p=(e=h.pop()).vertices,d=e.adjacent,m=p.indexOf(r);if(!(m<0))for(var g=0;g<=n;++g)if(g!==m){var y=d[g];if(y.boundary&&!(y.lastVisited>=r)){var v=y.vertices;if(y.lastVisited!==-r){for(var x=0,_=0;_<=n;++_)v[_]<0?(x=_,l[_]=t):l[_]=i[v[_]];if(this.orient()>0){v[x]=r,y.boundary=!1,c.push(y),h.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var b=y.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);u.push(k);var A=b.indexOf(e);if(!(A<0))for(b[A]=k,T[m]=y,w[g]=-1,T[g]=e,d[g]=k,k.flip(),_=0;_<=n;++_){var M=w[_];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,C=0;C<=n;++C){var L=w[C];L<0||C===_||(S[E++]=L)}f.push(new o(S,k,_))}}}}}for(f.sort(s),g=0;g+1=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var h=o[0];o[0]=o[1],o[1]=h}e.push(o)}}return e}},3352:function(t,e,r){"use strict";var n=r(2478);function i(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}t.exports=function(t){return t&&0!==t.length?new y(g(t)):new y(null)};var a=i.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=g(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function c(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function u(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function f(t,e){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=g([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=g([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,m);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?c(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?c(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);athis.mid?this.right&&(r=this.right.queryPoint(t,e))?r:h(this.rightPoints,t,e):f(this.leftPoints,e);var r},a.queryInterval=function(t,e,r){var n;return tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r))?n:ethis.mid?h(this.rightPoints,t,r):f(this.leftPoints,r)};var v=y.prototype;v.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},v.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},v.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},v.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(v,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(v,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},7762:function(t){"use strict";t.exports=function(t){for(var e=new Array(t),r=0;r13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},395:function(t){t.exports=function(t,e,r){return t*(1-r)+e*r}},2652:function(t,e,r){var n=r(4335),i=r(6864),a=r(1903),o=r(9921),s=r(7608),l=r(5665),c={length:r(1387),normalize:r(3536),dot:r(244),cross:r(5911)},u=i(),h=i(),f=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function m(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}t.exports=function(t,e,r,i,g,y){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(u,t))return!1;if(a(h,u),h[3]=0,h[7]=0,h[11]=0,h[15]=1,Math.abs(o(h)<1e-8))return!1;var v,x,_,b,w,T,k,A=u[3],M=u[7],S=u[11],E=u[12],C=u[13],L=u[14],I=u[15];if(0!==A||0!==M||0!==S){if(f[0]=A,f[1]=M,f[2]=S,f[3]=I,!s(h,h))return!1;l(h,h),v=g,_=h,b=(x=f)[0],w=x[1],T=x[2],k=x[3],v[0]=_[0]*b+_[4]*w+_[8]*T+_[12]*k,v[1]=_[1]*b+_[5]*w+_[9]*T+_[13]*k,v[2]=_[2]*b+_[6]*w+_[10]*T+_[14]*k,v[3]=_[3]*b+_[7]*w+_[11]*T+_[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=C,e[2]=L,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),i[0]=c.dot(p[0],p[1]),m(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),m(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),m(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var P=0;P<3;P++)r[P]*=-1,p[P][0]*=-1,p[P][1]*=-1,p[P][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(y[0]=-y[0]),p[0][2]>p[2][0]&&(y[1]=-y[1]),p[1][0]>p[0][1]&&(y[2]=-y[2]),!0}},4335:function(t){t.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},7442:function(t,e,r){var n=r(6658),i=r(7182),a=r(2652),o=r(9921),s=r(8648),l=h(),c=h(),u=h();function h(){return{translate:f(),scale:f(1),skew:f(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function f(t){return[t||0,t||0,t||0]}t.exports=function(t,e,r,h){if(0===o(e)||0===o(r))return!1;var f=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!f||!p||(n(u.translate,l.translate,c.translate,h),n(u.skew,l.skew,c.skew,h),n(u.scale,l.scale,c.scale,h),n(u.perspective,l.perspective,c.perspective,h),s(u.quaternion,l.quaternion,c.quaternion,h),i(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},7182:function(t,e,r){var n={identity:r(7894),translate:r(7656),multiply:r(6760),create:r(6864),scale:r(2504),fromRotationTranslation:r(6743)},i=(n.create(),n.create());t.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},4192:function(t,e,r){"use strict";var n=r(2478),i=r(7442),a=r(7608),o=r(5567),s=r(2408),l=r(7089),c=r(6582),u=r(7656),h=(r(2504),r(3536)),f=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}t.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],f=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)f[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&f[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=f[c];else i(o,f,d,(t-e[r])/u)}var m=this.computedUp;m[0]=o[1],m[1]=o[5],m[2]=o[9],h(m,m);var g=this.computedInverse;a(g,o);var y=this.computedEye,v=g[15];y[0]=g[12]/v,y[1]=g[13]/v,y[2]=g[14]/v;var x=this.computedCenter,_=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=y[c]-o[2+4*c]*_}},d.idle=function(t){if(!(t1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var h=0,f=(i=0,o.length);i0;--p)r[h++]=s[p];return r};var n=r(3250)[3]},351:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function h(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function f(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function m(t){c(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",m),t.addEventListener("mouseleave",u),t.addEventListener("mouseenter",u),t.addEventListener("mouseout",u),t.addEventListener("mouseover",u),t.addEventListener("blur",h),t.addEventListener("keyup",f),t.addEventListener("keydown",f),t.addEventListener("keypress",f),t!==window&&(window.addEventListener("blur",h),window.addEventListener("keyup",f),window.addEventListener("keydown",f),window.addEventListener("keypress",f)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",m),t.removeEventListener("mouseleave",u),t.removeEventListener("mouseenter",u),t.removeEventListener("mouseout",u),t.removeEventListener("mouseover",u),t.removeEventListener("blur",h),t.removeEventListener("keyup",f),t.removeEventListener("keydown",f),t.removeEventListener("keypress",f),t!==window&&(window.removeEventListener("blur",h),window.removeEventListener("keyup",f),window.removeEventListener("keydown",f),window.removeEventListener("keypress",f)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4687)},24:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},4687:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1< 0"),"function"!=typeof t.vertex&&e("Must specify vertex creation function"),"function"!=typeof t.cell&&e("Must specify cell creation function"),"function"!=typeof t.phase&&e("Must specify phase function");for(var o=t.getters||[],s=new Array(a),l=0;l=0?s[l]=!0:s[l]=!1;return function(t,e,r,a,o,s){var l=[s,o].join(",");return(0,i[l])(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,0,r,s)};var i={"false,0,1":function(t,e,r,n,i){return function(a,o,s,l){var c,u=0|a.shape[0],h=0|a.shape[1],f=a.data,p=0|a.offset,d=0|a.stride[0],m=0|a.stride[1],g=p,y=0|-d,v=0,x=0|-m,_=0,b=-d-m|0,w=0,T=0|d,k=m-d*u|0,A=0,M=0,S=0,E=2*u|0,C=n(E),L=n(E),I=0,P=0,z=-1,O=-1,D=0,R=0|-u,F=0|u,B=0,N=-u-1|0,j=u-1|0,U=0,V=0,q=0;for(A=0;A0){if(M=1,C[I++]=r(f[g],o,s,l),g+=T,u>0)for(A=1,c=f[g],P=C[I]=r(c,o,s,l),D=C[I+z],B=C[I+R],U=C[I+N],P===D&&P===B&&P===U||(v=f[g+y],_=f[g+x],w=f[g+b],t(A,M,c,v,_,w,P,D,B,U,o,s,l),V=L[I]=S++),I+=1,g+=T,A=2;A0)for(A=1,c=f[g],P=C[I]=r(c,o,s,l),D=C[I+z],B=C[I+R],U=C[I+N],P===D&&P===B&&P===U||(v=f[g+y],_=f[g+x],w=f[g+b],t(A,M,c,v,_,w,P,D,B,U,o,s,l),V=L[I]=S++,U!==B&&e(L[I+R],V,_,w,B,U,o,s,l)),I+=1,g+=T,A=2;A0){if(A=1,C[I++]=r(f[g],o,s,l),g+=T,h>0)for(M=1,c=f[g],P=C[I]=r(c,o,s,l),B=C[I+R],D=C[I+z],U=C[I+N],P===B&&P===D&&P===U||(v=f[g+y],_=f[g+x],w=f[g+b],t(A,M,c,v,_,w,P,B,D,U,o,s,l),V=L[I]=S++),I+=1,g+=T,M=2;M0)for(M=1,c=f[g],P=C[I]=r(c,o,s,l),B=C[I+R],D=C[I+z],U=C[I+N],P===B&&P===D&&P===U||(v=f[g+y],_=f[g+x],w=f[g+b],t(A,M,c,v,_,w,P,B,D,U,o,s,l),V=L[I]=S++,U!==B&&e(L[I+R],V,w,v,U,B,o,s,l)),I+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),t.pick(0,-1,1).lo(1).hi(a[1]-2)),e(t.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),t.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),e(t.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),t.pick(-1,0,0).lo(1).hi(a[0]-2)),e(t.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),t.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),e(t.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),t.set(0,0,0,0),t.set(0,0,1,0),t.set(a[0]-1,0,0,0),t.set(a[0]-1,0,1,0),t.set(0,a[1]-1,0,0),t.set(0,a[1]-1,1,0),t.set(a[0]-1,a[1]-1,0,0),t.set(a[0]-1,a[1]-1,1,0),t}}t.exports=function(t,e,r){return Array.isArray(r)||(r=n(e.dimension,"string"==typeof r?r:"clamp")),0===e.size?t:0===e.dimension?(t.set(0),t):function(t){var e=t.join();if(a=u[e])return a;for(var r=t.length,n=[h,f],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return u[e]=a,a}(r)(t,e)}},4317:function(t){"use strict";function e(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var _=0|t[1];_>0;){_<64?(c=_,_=0):(c=64,_-=64),n=y+x*h+_*f,o=v+x*d+_*m;var b=0,w=0,T=0,k=p,A=h-u*p,M=f-l*h,S=g,E=d-u*g,C=m-l*d;for(T=0;T0;){m<64?(l=m,m=0):(l=64,m-=64);for(var g=0|t[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+m*u+g*c,o=d+m*f+g*h;var y=0,v=0,x=u,_=c-l*u,b=f,w=h-l*f;for(v=0;v0;){v<64?(c=v,v=0):(c=64,v-=64);for(var x=0|t[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var _=0|t[1];_>0;){_<64?(l=_,_=0):(l=64,_-=64),n=g+v*f+x*u+_*h,o=y+v*m+x*p+_*d;var b=0,w=0,T=0,k=f,A=u-c*f,M=h-s*u,S=m,E=p-c*m,C=d-s*p;for(T=0;Tr;){y=0,v=m-o;e:for(g=0;g_)break e;v+=h,y+=f}for(y=m,v=m-o,g=0;g>1,H=q-j,G=q+j,Z=U,W=H,Y=q,X=G,$=V,J=i+1,K=a-1,Q=!0,tt=0,et=0,rt=0,nt=h,it=e(nt),at=e(nt);A=l*Z,M=l*W,N=s;t:for(k=0;k0){g=Z,Z=W,W=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*$,N=s;t:for(k=0;k0){g=X,X=$,$=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*Y,N=s;t:for(k=0;k0){g=Z,Z=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*Y,N=s;t:for(k=0;k0){g=W,W=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*X,N=s;t:for(k=0;k0){g=Z,Z=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*$,N=s;t:for(k=0;k0){g=W,W=$,$=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*Y,N=s;t:for(k=0;k0){g=W,W=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*$,N=s;t:for(k=0;k0){g=X,X=$,$=g;break t}if(rt<0)break t;N+=p}for(A=l*Z,M=l*W,S=l*Y,E=l*X,C=l*$,L=l*U,I=l*q,P=l*V,B=0,N=s,k=0;k0)){if(rt<0){for(A=l*_,M=l*J,S=l*K,N=s,k=0;k0)for(;;){for(b=s+K*l,B=0,k=0;k0)){for(b=s+K*l,B=0,k=0;kV){t:for(;;){for(b=s+J*l,B=0,N=s,k=0;k1&&n?s(r,n[0],n[1]):s(r)}(t,e,l);return n(l,c)}},446:function(t,e,r){"use strict";var n=r(7640),i={};t.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},9618:function(t,e,r){var n=r(7163),i="undefined"!=typeof Float64Array;function a(t,e){return t[0]-e[0]}function o(){var t,e=this.stride,r=new Array(e.length);for(t=0;t=0&&(e+=a*(r=0|t),i-=r),new n(this.data,i,a,e)},i.step=function(t){var e=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return"number"==typeof t&&((a=0|t)<0?(i+=r*(e-1),e=o(-e/a)):e=o(e/a),r*=a),new n(this.data,e,r,i)},i.transpose=function(t){t=void 0===t?0:0|t;var e=this.shape,r=this.stride;return new n(this.data,e[t],r[t],this.offset)},i.pick=function(t){var r=[],n=[],i=this.offset;return"number"==typeof t&&t>=0?i=i+this.stride[0]*t|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,e[r.length+1])(this.data,r,n,i)},function(t,e,r,i){return new n(t,e[0],r[0],i)}},2:function(t,e,r){function n(t,e,r,n,i,a){this.data=t,this.shape=[e,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=t,i.dimension=2,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(e,r,n){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]=n},i.get=function(e,r){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]},i.index=function(t,e){return this.offset+this.stride[0]*t+this.stride[1]*e},i.hi=function(t,e){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,this.stride[0],this.stride[1],this.offset)},i.lo=function(t,e){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return"number"==typeof t&&t>=0&&(r+=s*(i=0|t),a-=i),"number"==typeof e&&e>=0&&(r+=l*(i=0|e),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(t,e){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,c=Math.ceil;return"number"==typeof t&&((l=0|t)<0?(s+=a*(r-1),r=c(-r/l)):r=c(r/l),a*=l),"number"==typeof e&&((l=0|e)<0?(s+=o*(i-1),i=c(-i/l)):i=c(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(t,e){t=void 0===t?0:0|t,e=void 0===e?1:0|e;var r=this.shape,i=this.stride;return new n(this.data,r[t],r[e],i[t],i[e],this.offset)},i.pick=function(t,r){var n=[],i=[],a=this.offset;return"number"==typeof t&&t>=0?a=a+this.stride[0]*t|0:(n.push(this.shape[0]),i.push(this.stride[0])),"number"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,e[n.length+1])(this.data,n,i,a)},function(t,e,r,i){return new n(t,e[0],e[1],r[0],r[1],i)}},3:function(t,e,r){function n(t,e,r,n,i,a,o,s){this.data=t,this.shape=[e,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=t,i.dimension=3,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,"order",{get:function(){var t=Math.abs(this.stride[0]),e=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return t>e?e>r?[2,1,0]:t>r?[1,2,0]:[1,0,2]:t>r?[2,0,1]:r>e?[0,1,2]:[0,2,1]}}),i.set=function(e,r,n,i){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(e,r,n){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]},i.index=function(t,e,r){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r},i.hi=function(t,e,r){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(t,e,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.stride[0],u=this.stride[1],h=this.stride[2];return"number"==typeof t&&t>=0&&(i+=c*(a=0|t),o-=a),"number"==typeof e&&e>=0&&(i+=u*(a=0|e),s-=a),"number"==typeof r&&r>=0&&(i+=h*(a=0|r),l-=a),new n(this.data,o,s,l,c,u,h,i)},i.step=function(t,e,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],c=this.stride[2],u=this.offset,h=0,f=Math.ceil;return"number"==typeof t&&((h=0|t)<0?(u+=s*(i-1),i=f(-i/h)):i=f(i/h),s*=h),"number"==typeof e&&((h=0|e)<0?(u+=l*(a-1),a=f(-a/h)):a=f(a/h),l*=h),"number"==typeof r&&((h=0|r)<0?(u+=c*(o-1),o=f(-o/h)):o=f(o/h),c*=h),new n(this.data,i,a,o,s,l,c,u)},i.transpose=function(t,e,r){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[t],i[e],i[r],a[t],a[e],a[r],this.offset)},i.pick=function(t,r,n){var i=[],a=[],o=this.offset;return"number"==typeof t&&t>=0?o=o+this.stride[0]*t|0:(i.push(this.shape[0]),a.push(this.stride[0])),"number"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),"number"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,e[i.length+1])(this.data,i,a,o)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],r[0],r[1],r[2],i)}},4:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,c){this.data=t,this.shape=[e,r,n,i],this.stride=[a,o,s,l],this.offset=0|c}var i=n.prototype;return i.dtype=t,i.dimension=4,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(e,r,n,i){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(t,e,r,n){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n},i.hi=function(t,e,r,i){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(t,e,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],c=this.shape[2],u=this.shape[3],h=this.stride[0],f=this.stride[1],p=this.stride[2],d=this.stride[3];return"number"==typeof t&&t>=0&&(a+=h*(o=0|t),s-=o),"number"==typeof e&&e>=0&&(a+=f*(o=0|e),l-=o),"number"==typeof r&&r>=0&&(a+=p*(o=0|r),c-=o),"number"==typeof i&&i>=0&&(a+=d*(o=0|i),u-=o),new n(this.data,s,l,c,u,h,f,p,d,a)},i.step=function(t,e,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],c=this.stride[0],u=this.stride[1],h=this.stride[2],f=this.stride[3],p=this.offset,d=0,m=Math.ceil;return"number"==typeof t&&((d=0|t)<0?(p+=c*(a-1),a=m(-a/d)):a=m(a/d),c*=d),"number"==typeof e&&((d=0|e)<0?(p+=u*(o-1),o=m(-o/d)):o=m(o/d),u*=d),"number"==typeof r&&((d=0|r)<0?(p+=h*(s-1),s=m(-s/d)):s=m(s/d),h*=d),"number"==typeof i&&((d=0|i)<0?(p+=f*(l-1),l=m(-l/d)):l=m(l/d),f*=d),new n(this.data,a,o,s,l,c,u,h,f,p)},i.transpose=function(t,e,r,i){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[t],a[e],a[r],a[i],o[t],o[e],o[r],o[i],this.offset)},i.pick=function(t,r,n,i){var a=[],o=[],s=this.offset;return"number"==typeof t&&t>=0?s=s+this.stride[0]*t|0:(a.push(this.shape[0]),o.push(this.stride[0])),"number"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),"number"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),"number"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,e[a.length+1])(this.data,a,o,s)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],r[0],r[1],r[2],r[3],i)}},5:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,c,u,h){this.data=t,this.shape=[e,r,n,i,a],this.stride=[o,s,l,c,u],this.offset=0|h}var i=n.prototype;return i.dtype=t,i.dimension=5,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a,o){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(e,r,n,i,a){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(t,e,r,n,i){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(t,e,r,i,a){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,"number"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(t,e,r,i,a){var o=this.offset,s=0,l=this.shape[0],c=this.shape[1],u=this.shape[2],h=this.shape[3],f=this.shape[4],p=this.stride[0],d=this.stride[1],m=this.stride[2],g=this.stride[3],y=this.stride[4];return"number"==typeof t&&t>=0&&(o+=p*(s=0|t),l-=s),"number"==typeof e&&e>=0&&(o+=d*(s=0|e),c-=s),"number"==typeof r&&r>=0&&(o+=m*(s=0|r),u-=s),"number"==typeof i&&i>=0&&(o+=g*(s=0|i),h-=s),"number"==typeof a&&a>=0&&(o+=y*(s=0|a),f-=s),new n(this.data,l,c,u,h,f,p,d,m,g,y,o)},i.step=function(t,e,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.shape[3],u=this.shape[4],h=this.stride[0],f=this.stride[1],p=this.stride[2],d=this.stride[3],m=this.stride[4],g=this.offset,y=0,v=Math.ceil;return"number"==typeof t&&((y=0|t)<0?(g+=h*(o-1),o=v(-o/y)):o=v(o/y),h*=y),"number"==typeof e&&((y=0|e)<0?(g+=f*(s-1),s=v(-s/y)):s=v(s/y),f*=y),"number"==typeof r&&((y=0|r)<0?(g+=p*(l-1),l=v(-l/y)):l=v(l/y),p*=y),"number"==typeof i&&((y=0|i)<0?(g+=d*(c-1),c=v(-c/y)):c=v(c/y),d*=y),"number"==typeof a&&((y=0|a)<0?(g+=m*(u-1),u=v(-u/y)):u=v(u/y),m*=y),new n(this.data,o,s,l,c,u,h,f,p,d,m,g)},i.transpose=function(t,e,r,i,a){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[t],o[e],o[r],o[i],o[a],s[t],s[e],s[r],s[i],s[a],this.offset)},i.pick=function(t,r,n,i,a){var o=[],s=[],l=this.offset;return"number"==typeof t&&t>=0?l=l+this.stride[0]*t|0:(o.push(this.shape[0]),s.push(this.stride[0])),"number"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),"number"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),"number"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),"number"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,e[o.length+1])(this.data,o,s,l)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],e[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(t,e){var r=-1===e?"T":String(e),n=s[r];return-1===e?n(t):0===e?n(t,c[t][0]):n(t,c[t],o)}var c={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};t.exports=function(t,e,r,a){if(void 0===t)return(0,c.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===a)for(a=0,s=0;s>>0;t.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);return e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},8406:function(t,e){e.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var _=i[c],b=1/Math.sqrt(g*v);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;_[x]+=b*(y[w]*m[T]-y[T]*m[w])}}}for(o=0;oa)for(b=1/Math.sqrt(k),x=0;x<3;++x)_[x]*=b;else for(x=0;x<3;++x)_[x]=0}return i},e.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0,c=0;c<3;++c)f[c]*=p;i[o]=f}return i}},4081:function(t){"use strict";t.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(h>0){var h=Math.sqrt(u+1);t[0]=.5*(o-l)/h,t[1]=.5*(s-n)/h,t[2]=.5*(r-a)/h,t[3]=.5*h}else{var f=Math.max(e,a,c);h=Math.sqrt(2*f-u+1),e>=f?(t[0]=.5*h,t[1]=.5*(i+r)/h,t[2]=.5*(s+n)/h,t[3]=.5*(o-l)/h):a>=f?(t[0]=.5*(r+i)/h,t[1]=.5*h,t[2]=.5*(l+o)/h,t[3]=.5*(s-n)/h):(t[0]=.5*(n+s)/h,t[1]=.5*(o+l)/h,t[2]=.5*h,t[3]=.5*(r-i)/h)}return t}},9977:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var i=new h(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up),i};var n=r(9215),i=r(6582),a=r(7399),o=r(7608),s=r(4081);function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=c(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function h(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var f=h.prototype;f.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},f.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,h=0;h<3;++h)c+=r[l+4*h]*i[h];r[12+l]=-c}},f.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},f.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},f.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},f.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],h=i[4],f=i[8],p=u*a+h*o+f*s,d=l(u-=a*p,h-=o*p,f-=s*p);u/=d,h/=d,f/=d;var m=i[2],g=i[6],y=i[10],v=m*a+g*o+y*s,x=m*u+g*h+y*f,_=l(m-=v*a+x*u,g-=v*o+x*h,y-=v*s+x*f);m/=_,g/=_,y/=_;var b=u*e+a*r,w=h*e+o*r,T=f*e+s*r;this.center.move(t,b,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},f.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],h=i[5],f=i[9],p=i[2],d=i[6],m=i[10],g=e*a+r*u,y=e*o+r*h,v=e*s+r*f,x=-(d*v-m*y),_=-(m*g-p*v),b=-(p*y-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(_,2)-Math.pow(b,2))),T=c(x,_,b,w);T>1e-6?(x/=T,_/=T,b/=T,w/=T):(x=_=b=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],C=A*w+E*x+M*b-S*_,L=M*w+E*_+S*x-A*b,I=S*w+E*b+A*_-M*x,P=E*w-A*x-M*_-S*b;if(n){x=p,_=d,b=m;var z=Math.sin(n)/l(x,_,b);x*=z,_*=z,b*=z,P=P*(w=Math.cos(e))-(C=C*w+P*x+L*b-I*_)*x-(L=L*w+P*_+I*x-C*b)*_-(I=I*w+P*b+C*_-L*x)*b}var O=c(C,L,I,P);O>1e-6?(C/=O,L/=O,I/=O,P/=O):(C=L=I=0,P=1),this.rotation.set(t,C,L,I,P)},f.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},f.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},f.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(t);var h=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*h,l-n[6]*h,c-n[10]*h),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},f.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},f.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},f.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},f.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},f.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},1371:function(t,e,r){"use strict";var n=r(3233);t.exports=function(t,e,r){return n(r=void 0!==r?r+"":" ",e)+t}},3202:function(t){t.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},3088:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[u][r][0],l=u;break}s=o[1^l];for(var h=0;h<2;++h)for(var f=a[h][r],p=0;p0&&(o=d,s=m,l=h)}return i||o&&c(o,l),s}function h(t,r){var i=a[r][t][0],o=[t];c(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],h=t,f=o[1],p=u(l,h,!0);if(n(e[l],e[h],e[f],e[p])<0)break;o.push(t),s=u(l,h)}return o}function f(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){a[0][o].length;var m=h(o,p);f(0,m)?d.push.apply(d,m):(d.length>0&&l.push(d),d=m)}d.length>0&&l.push(d)}return l};var n=r(3140)},5609:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){i[p=o.pop()]=!1;var c=r[p];for(s=0;s0}))).length,g=new Array(m),y=new Array(m);for(p=0;p0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];for(0===V&&(j=[q=d[B]]),p=0;p=0||(F[H]=1^V,R.push(H),0===V&&(D(q=d[H])||(q.reverse(),j.push(q))))}0===V&&r.push(j)}return r};var n=r(3134),i=r(3088),a=r(5085),o=r(5250),s=r(8210),l=r(1682),c=r(5609);function u(t,e){for(var r=new Array(t),n=0;n0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(y.slabs,y.coordinates);return 0===a.length?v:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),v)};var n=r(3250)[3],i=r(4209),a=r(3352),o=r(2478);function s(){return!0}function l(t){for(var e={},r=0;r=c?(k=1,v=c+2*f+d):v=f*(k=-f/c)+d):(k=0,p>=0?(A=0,v=d):-p>=h?(A=1,v=h+2*p+d):v=p*(A=-p/h)+d);else if(A<0)A=0,f>=0?(k=0,v=d):-f>=c?(k=1,v=c+2*f+d):v=f*(k=-f/c)+d;else{var M=1/T;v=(k*=M)*(c*k+u*(A*=M)+2*f)+A*(u*k+h*A+2*p)+d}else k<0?(_=h+p)>(x=u+f)?(b=_-x)>=(w=c-2*u+h)?(k=1,A=0,v=c+2*f+d):v=(k=b/w)*(c*k+u*(A=1-k)+2*f)+A*(u*k+h*A+2*p)+d:(k=0,_<=0?(A=1,v=h+2*p+d):p>=0?(A=0,v=d):v=p*(A=-p/h)+d):A<0?(_=c+f)>(x=u+p)?(b=_-x)>=(w=c-2*u+h)?(A=1,k=0,v=h+2*p+d):v=(k=1-(A=b/w))*(c*k+u*A+2*f)+A*(u*k+h*A+2*p)+d:(A=0,_<=0?(k=1,v=c+2*f+d):f>=0?(k=0,v=d):v=f*(k=-f/c)+d):(b=h+p-u-f)<=0?(k=0,A=1,v=h+2*p+d):b>=(w=c-2*u+h)?(k=1,A=0,v=c+2*f+d):v=(k=b/w)*(c*k+u*(A=1-k)+2*f)+A*(u*k+h*A+2*p)+d;var S=1-k-A;for(l=0;l0){var c=t[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},3233:function(t){"use strict";var e,r="";t.exports=function(t,n){if("string"!=typeof t)throw new TypeError("expected a string");if(1===n)return t;if(2===n)return t+t;var i=t.length*n;if(e!==t||void 0===e)e=t,r="";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=t),n>>=1,t+=t;return r=(r+=t).substr(0,i)}},3025:function(t,e,r){t.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(t){"use strict";t.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r;(l=(s=t[i])-((r=a+s)-a))&&(t[--n]=r,r=l)}var o=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:h(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],h=e[2]-n[2],p=r[2]-n[2],d=a*c,m=o*l,g=o*s,y=i*c,v=i*l,x=a*s,_=u*(d-m)+h*(g-y)+p*(v-x),b=7771561172376103e-31*((Math.abs(d)+Math.abs(m))*Math.abs(u)+(Math.abs(g)+Math.abs(y))*Math.abs(h)+(Math.abs(v)+Math.abs(x))*Math.abs(p));return _>b||-_>b?_:f(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=u(t.length)),e.apply(void 0,t)}function m(t,e,r,n,i,a,o){return function(e,r,s,l,c){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,s);case 4:return a(e,r,s,l);case 5:return o(e,r,s,l,c)}for(var u=new Array(arguments.length),h=0;h0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],h=Math.min(c,u);if(Math.max(c,u)=n?(i=h,(l+=1)=n?(i=h,(l+=1)>1,c=e[2*l+1];if(c===a)return l;a>1,c=e[2*l+1];if(c===a)return l;a>1,c=e[2*l+1];if(c===a)return l;a0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},2014:function(t,e,r){"use strict";var n=r(3105),i=r(4623);function a(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),c=i(e[0],e[1]);return(s=i(l,t[2])-i(c,e[2]))||i(l+t[2],a)-i(c+e[2],o);default:var u=t.slice(0);u.sort();var h=e.slice(0);h.sort();for(var f=0;f>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[g],s)););}return r}function h(t,e){if(e<0)return[];for(var r=[],i=(1<>>u&1&&c.push(i[u]);e.push(c)}return s(e)},e.skeleton=h,e.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=y(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=v(t);if(!(r>=0&&e0){var t=k[0];return g(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return c[r]===e?t:(c[r]=-1/0,_(t),b(),c[r]=e,_((M+=1)-1))}function T(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],m(e)),A[r]>=0&&w(A[r],m(r))}}var k=[],A=new Array(a);for(h=0;h>1;h>=0;--h)x(h);for(;;){var S=b();if(S<0||c[S]>r)break;T(S)}var E=[];for(h=0;h=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&L.push([n,i])}})),i.unique(i.normalize(L)),{positions:E,edges:L}};var n=r(3250),i=r(2014)},1303:function(t,e,r){"use strict";t.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=r(3250);function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return lu?s-u:l-u}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function h(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,i=u.value):(i=u.value,s=u.key))}var h=this.horizontal[e];if(h.length>0){var f=n.ge(h,t[1],l);if(f=h.length)return i;p=h[f]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},5202:function(t,e,r){"use strict";var n=r(1944),i=r(8210);function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l0||i>0&&u<0){var h=o(s,u,l,i);r.push(h),n.push(h.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},t.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},t.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},3387:function(t,e,r){var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(t){return function(t,e){var r,n,o,s,l,c,u,h,f,p=1,d=t.length,m="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?m+=r:(!i.number.test(s.type)||h&&!s.sign?f="":(f=h?"+":"-",r=r.toString().replace(i.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+r).length,l=s.width&&u>0?c.repeat(u):"",m+=s.align?f+r+l:"0"===c?f+l+r:l+f+r)}return m}(function(t){if(s[t])return s[t];for(var e,r=t,n=[],a=0;r;){if(null!==(e=i.text.exec(r)))n.push(e[0]);else if(null!==(e=i.modulo.exec(r)))n.push("%");else{if(null===(e=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var o=[],l=e[2],c=[];if(null===(c=i.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=i.key_access.exec(l)))o.push(c[1]);else{if(null===(c=i.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(c[1])}e[2]=o}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return s[t]=n}(t),arguments)}function o(t,e){return a.apply(null,[t].concat(e||[]))}var s=Object.create(null);e.sprintf=a,e.vsprintf=o,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=o,void 0===(n=function(){return{sprintf:a,vsprintf:o}}.call(e,r,e,t))||(t.exports=n))}()},3711:function(t,e,r){"use strict";t.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(t,e,r,n,i,a,o,s,l,c,u,h,f){var p=(o<<0)+(s<<1)+(l<<2)+(c<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:u.push([t-.5,e-.5]);break;case 1:u.push([t-.25-.25*(n+r-2*f)/(r-n),e-.25-.25*(i+r-2*f)/(r-i)]);break;case 2:u.push([t-.75-.25*(-n-r+2*f)/(n-r),e-.25-.25*(a+n-2*f)/(n-a)]);break;case 3:u.push([t-.5,e-.5-.5*(i+r+a+n-4*f)/(r-i+n-a)]);break;case 4:u.push([t-.25-.25*(a+i-2*f)/(i-a),e-.75-.25*(-i-r+2*f)/(i-r)]);break;case 5:u.push([t-.5-.5*(n+r+a+i-4*f)/(r-n+i-a),e-.5]);break;case 6:u.push([t-.5-.25*(-n-r+a+i)/(n-r+i-a),e-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:u.push([t-.75-.25*(a+i-2*f)/(i-a),e-.75-.25*(a+n-2*f)/(n-a)]);break;case 8:u.push([t-.75-.25*(-a-i+2*f)/(a-i),e-.75-.25*(-a-n+2*f)/(a-n)]);break;case 9:u.push([t-.5-.25*(n+r+-a-i)/(r-n+a-i),e-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:u.push([t-.5-.5*(-n-r-a-i+4*f)/(n-r+a-i),e-.5]);break;case 11:u.push([t-.25-.25*(-a-i+2*f)/(a-i),e-.75-.25*(i+r-2*f)/(r-i)]);break;case 12:u.push([t-.5,e-.5-.5*(-i-r-a-n+4*f)/(i-r+a-n)]);break;case 13:u.push([t-.75-.25*(n+r-2*f)/(r-n),e-.25-.25*(-a-n+2*f)/(a-n)]);break;case 14:u.push([t-.25-.25*(-n-r+2*f)/(n-r),e-.25-.25*(-i-r+2*f)/(i-r)])}},cell:function(t,e,r,n,i,a,o,s,l){i?s.push([t,e]):s.push([e,t])}});return function(t,e){var r=[],i=[];return n(t,r,i,e),{positions:r,cells:i}}}},o={}},529:function(t,e,r){"use strict";t.exports=function t(e,r,i){var a=(i=i||{}).fontStyle||"normal",s=i.fontWeight||"normal",l=i.fontVariant||"normal",c=[a,s,l,e].join("_"),u=o[c];u||(u=o[c]={" ":{data:new Float32Array(0),shape:.2}});var h=u[r];if(!h)if(r.length<=1||!/\d/.test(r))h=u[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o0&&(m+=.02);var y=new Float32Array(d),v=0,x=-.5*m;for(g=0;gMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function f(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=f.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,u+=r[a]*r[a],e[a]/=l;var h=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=h;var f=this.computedToward;o(f,e,r),s(f,f);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],m=this.computedAngle[1],g=Math.cos(d),y=Math.sin(d),v=Math.cos(m),x=Math.sin(m),_=this.computedCenter,b=g*v,w=y*v,T=x,k=-g*x,A=-y*x,M=v,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var C=b*r[a]+w*f[a]+T*e[a];E[4*a+1]=k*r[a]+A*f[a]+M*e[a],E[4*a+2]=C,E[4*a+3]=0}var L=E[1],I=E[5],P=E[9],z=E[2],O=E[6],D=E[10],R=I*D-P*O,F=P*z-L*D,B=L*O-I*z,N=c(R,F,B);for(R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B,a=0;a<3;++a)S[a]=_[a]+E[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var j=0;j<3;++j)u+=E[a+4*j]*S[j];E[12+a]=-u}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];for(a(i,i,n,d),c=0;c<3;++c)o[c]=i[4*c],s[c]=i[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],h=i[4],f=i[8],p=u*a+h*o+f*s,d=c(u-=a*p,h-=o*p,f-=s*p),m=(u/=d)*e+a*r,g=(h/=d)*e+o*r,y=(f/=d)*e+s*r;this.center.move(t,m,g,y);var v=Math.exp(this.computedRadius[0]);v=Math.max(1e-4,v+n),this.radius.set(t,Math.log(v))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],h=e[a+8];if(n){var f=Math.abs(s),p=Math.abs(l),d=Math.abs(h),m=Math.max(f,p,d);f===m?(s=s<0?-1:1,l=h=0):d===m?(h=h<0?-1:1,s=l=0):(l=l<0?-1:1,s=h=0)}else{var g=c(s,l,h);s/=g,l/=g,h/=g}var y,v,x=e[o],_=e[o+4],b=e[o+8],w=x*s+_*l+b*h,T=c(x-=s*w,_-=l*w,b-=h*w),k=l*(b/=T)-h*(_/=T),A=h*(x/=T)-s*b,M=s*_-l*x,S=c(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,H,G,Z),this.radius.idle(t),this.up.jump(t,s,l,h),this.right.jump(t,x,_,b),2===a){var E=e[1],C=e[5],L=e[9],I=E*x+C*_+L*b,P=E*k+C*A+L*M;y=R<0?-Math.PI/2:Math.PI/2,v=Math.atan2(P,I)}else{var z=e[2],O=e[6],D=e[10],R=z*s+O*l+D*h,F=z*x+O*_+D*b,B=z*k+O*A+D*M;y=Math.asin(u(R)),v=Math.atan2(B,F)}this.angle.jump(t,v,y),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var q=V[15],H=V[12]/q,G=V[13]/q,Z=V[14]/q,W=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*W,G-j*W,Z-U*W)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],h=e[1]-r[1],f=e[2]-r[2],p=c(l,h,f);if(!(p<1e-6)){l/=p,h/=p,f/=p;var d=this.computedRight,m=d[0],g=d[1],y=d[2],v=i*m+a*g+o*y,x=c(m-=v*i,g-=v*a,y-=v*o);if(!(x<.01&&(x=c(m=a*f-o*h,g=o*l-i*f,y=i*h-a*l))<1e-6)){m/=x,g/=x,y/=x,this.up.set(t,i,a,o),this.right.set(t,m,g,y),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var _=a*y-o*g,b=o*m-i*y,w=i*g-a*m,T=c(_,b,w),k=i*l+a*h+o*f,A=m*l+g*h+y*f,M=(_/=T)*l+(b/=T)*h+(w/=T)*f,S=Math.asin(u(k)),E=Math.atan2(M,A),C=this.angle._state,L=C[C.length-1],I=C[C.length-2];L%=2*Math.PI;var P=Math.abs(L+2*Math.PI-E),z=Math.abs(L-E),O=Math.abs(L-2*Math.PI-E);P0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function m(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function v(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function _(t){return new Float32Array(p(4*t),0,t)}function b(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=h[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))h[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);u[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){f(t.buffer)},e.freeArrayBuffer=f,e.freeBuffer=function(t){h[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return m(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return v(t);case"int32":return x(t);case"float":case"float32":return _(t);case"double":case"float64":return b(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=m,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=v,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=_,e.mallocFloat64=e.mallocDouble=b,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)c.UINT8[t].length=0,c.UINT16[t].length=0,c.UINT32[t].length=0,c.INT8[t].length=0,c.INT16[t].length=0,c.INT32[t].length=0,c.FLOAT[t].length=0,c.DOUBLE[t].length=0,c.BIGUINT64[t].length=0,c.BIGINT64[t].length=0,c.UINT8C[t].length=0,u[t].length=0,h[t].length=0}},1755:function(t){"use strict";function e(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(t){return t})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",w(function(t,e,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(T=0;T-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,l-s),n=n.replace("?px ",F())),A+=.25*C*(l-s)}if(!0===o.superscripts){var c=t.indexOf(d),h=r.indexOf(d),p=c>-1?parseInt(t[1+c]):0,m=h>-1?parseInt(r[1+h]):0;p!==m&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,m-p),n=n.replace("?px ",F())),A-=.25*C*(m-p)}if(!0===o.bolds){var g=t.indexOf(u)>-1,v=r.indexOf(u)>-1;!g&&v&&(n=x?n.replace("italic ","italic bold "):"bold "+n),g&&!v&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=t.indexOf(f)>-1,_=r.indexOf(f)>-1;!x&&_&&(n="italic "+n),x&&!_&&(n=n.replace("italic ",""))}e.font=n}for(w=0;w",a="",o=i.length,s=a.length,l=e[0]===d||e[0]===y,c=0,u=-s;c>-1&&-1!==(c=r.indexOf(i,c))&&-1!==(u=r.indexOf(a,c+o))&&!(u<=c);){for(var h=c;h=u)n[h]=null,r=r.substr(0,h)+" "+r.substr(h+1);else if(null!==n[h]){var f=n[h].indexOf(e[0]);-1===f?n[h]+=e:l&&(n[h]=n[h].substr(0,f+1)+(1+parseInt(n[h][f+1]))+n[h].substr(f+2))}var p=c+o,m=r.substr(p,u-p).indexOf(i);c=-1!==m?m:u+s}return n}function _(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function b(t,e,r,n){var i=_(t,n),a=function(t,e,r){for(var n=e.textAlign||"start",i=e.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[a]:i}))},has___:{value:x((function(e){var n=v(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:x((function(n,i){var a,o=v(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this}))},delete___:{value:x((function(n){var i,a,o=v(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))}))}})};m.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof m||_();var t,n=new r,i=void 0,a=!1;return t=e?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new m),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new m),i.set___(t,e)}else n.set(t,e);return this},Object.create(m.prototype,{get___:{value:x((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:x((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:x(t)},delete___:{value:x((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:x((function(t){if(t!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}e&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=m.prototype,t.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),t.exports=m)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function y(t){return!(t.substr(0,8)==l&&"___"===t.substr(t.length-3))}function v(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[c];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,c,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function _(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},236:function(t,e,r){var n=r(8284);t.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},8284:function(t){t.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},606:function(t,e,r){var n=r(236);t.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},3349:function(t){"use strict";t.exports=function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=[a,o.join()].join(),l=e[s];return l||(e[s]=l=t([a,o])),l(r.shape.slice(0),r.data,r.stride,0|r.offset,n,i)}}(function(){return function(t,e,r,n,i,a){var o=t[0],s=r[0],l=[0],c=s;n|=0;var u=0,h=s;for(u=0;u=0!=p>=0&&i.push(l[0]+.5+.5*(f+p)/(f-p)),n+=h,++l[0]}}}.bind(void 0,{funcName:"zeroCrossings"}))},781:function(t,e,r){"use strict";t.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=r(3349)},7790:function(){}},r={};function a(t){var n=r[t];if(void 0!==n)return n.exports;var i=r[t]={id:t,loaded:!1,exports:{}};return e[t].call(i.exports,i,i.exports,a),i.loaded=!0,i.exports}a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t};var o=a(1964);t.exports=o}()},45708:function(t,e,r){"use strict";function n(t,e){for(var r=0;rp)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,m.prototype),e}function m(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return v(t)}return g(t,e,r)}function g(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!m.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|w(t,e),n=d(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(rt(t,Uint8Array)){var e=new Uint8Array(t);return _(e.buffer,e.byteOffset,e.byteLength)}return x(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+c(t));if(rt(t,ArrayBuffer)||t&&rt(t.buffer,ArrayBuffer))return _(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(rt(t,SharedArrayBuffer)||t&&rt(t.buffer,SharedArrayBuffer)))return _(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return m.from(n,e,r);var i=function(t){if(m.isBuffer(t)){var e=0|b(t.length),r=d(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||nt(t.length)?d(0):x(t):"Buffer"===t.type&&Array.isArray(t.data)?x(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return m.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+c(t))}function y(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function v(t){return y(t),d(t<0?0:0|b(t))}function x(t){for(var e=t.length<0?0:0|b(t.length),r=d(e),n=0;n=p)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+p.toString(16)+" bytes");return 0|t}function w(t,e){if(m.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||rt(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+c(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return tt(t).length;default:if(i)return n?-1:Q(t).length;e=(""+e).toLowerCase(),i=!0}}function T(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return F(this,e,r);case"utf8":case"utf-8":return z(this,e,r);case"ascii":return D(this,e,r);case"latin1":case"binary":return R(this,e,r);case"base64":return P(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function k(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function A(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),nt(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=m.from(e,n)),m.isBuffer(e))return 0===e.length?-1:M(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):M(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function M(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var h=!0,f=0;fi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function P(t,e,r){return 0===e&&r===t.length?u.fromByteArray(t):u.fromByteArray(t.slice(e,r))}function z(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,c=void 0,u=void 0,h=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(h=(31&a)<<6|63&l)>127&&(o=h);break;case 3:l=t[i+1],c=t[i+2],128==(192&l)&&128==(192&c)&&(h=(15&a)<<12|(63&l)<<6|63&c)>2047&&(h<55296||h>57343)&&(o=h);break;case 4:l=t[i+1],c=t[i+2],u=t[i+3],128==(192&l)&&128==(192&c)&&128==(192&u)&&(h=(15&a)<<18|(63&l)<<12|(63&c)<<6|63&u)>65535&&h<1114112&&(o=h)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=O)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(m.isBuffer(a)||(a=m.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!m.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},m.byteLength=w,m.prototype._isBuffer=!0,m.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;er&&(t+=" ... "),""},f&&(m.prototype[f]=m.prototype.inspect),m.prototype.compare=function(t,e,r,n,i){if(rt(t,Uint8Array)&&(t=m.from(t,t.offset,t.byteLength)),!m.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+c(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),l=this.slice(n,i),u=t.slice(e,r),h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return S(this,t,e,r);case"utf8":case"utf-8":return E(this,t,e,r);case"ascii":case"latin1":case"binary":return C(this,t,e,r);case"base64":return L(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},m.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function D(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function j(t,e,r,n,i,a){if(!m.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function V(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function q(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function H(t,e,r,n,i){return e=+e,r>>>=0,i||q(t,0,r,4),h.write(t,e,r,n,23,4),r+4}function G(t,e,r,n,i){return e=+e,r>>>=0,i||q(t,0,r,8),h.write(t,e,r,n,52,8),r+8}m.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},m.prototype.readUint8=m.prototype.readUInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),this[t]},m.prototype.readUint16LE=m.prototype.readUInt16LE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]|this[t+1]<<8},m.prototype.readUint16BE=m.prototype.readUInt16BE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]<<8|this[t+1]},m.prototype.readUint32LE=m.prototype.readUInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},m.prototype.readUint32BE=m.prototype.readUInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},m.prototype.readBigUInt64LE=at((function(t){$(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||J(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||J(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},m.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},m.prototype.readInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},m.prototype.readInt16LE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},m.prototype.readInt16BE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},m.prototype.readInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},m.prototype.readInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},m.prototype.readBigInt64LE=at((function(t){$(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||J(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||J(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||N(t,4,this.length),h.read(this,t,!0,23,4)},m.prototype.readFloatBE=function(t,e){return t>>>=0,e||N(t,4,this.length),h.read(this,t,!1,23,4)},m.prototype.readDoubleLE=function(t,e){return t>>>=0,e||N(t,8,this.length),h.read(this,t,!0,52,8)},m.prototype.readDoubleBE=function(t,e){return t>>>=0,e||N(t,8,this.length),h.read(this,t,!1,52,8)},m.prototype.writeUintLE=m.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},m.prototype.writeUint8=m.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,255,0),this[e]=255&t,e+1},m.prototype.writeUint16LE=m.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},m.prototype.writeUint16BE=m.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},m.prototype.writeUint32LE=m.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},m.prototype.writeUint32BE=m.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},m.prototype.writeBigUInt64LE=at((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),m.prototype.writeBigUInt64BE=at((function(t){return V(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),m.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},m.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},m.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},m.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},m.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},m.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},m.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},m.prototype.writeBigInt64LE=at((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),m.prototype.writeBigInt64BE=at((function(t){return V(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),m.prototype.writeFloatLE=function(t,e,r){return H(this,t,e,!0,r)},m.prototype.writeFloatBE=function(t,e,r){return H(this,t,e,!1,r)},m.prototype.writeDoubleLE=function(t,e,r){return G(this,t,e,!0,r)},m.prototype.writeDoubleBE=function(t,e,r){return G(this,t,e,!1,r)},m.prototype.copy=function(t,e,r,n){if(!m.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new Z.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){$(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||J(e,t.length-(r+1))}(n,i,a)}function $(t,e){if("number"!=typeof t)throw new Z.ERR_INVALID_ARG_TYPE(e,"number",t)}function J(t,e,r){if(Math.floor(t)!==t)throw $(t,r),new Z.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new Z.ERR_BUFFER_OUT_OF_BOUNDS;throw new Z.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}W("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),W("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(c(e))}),TypeError),W("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=Y(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=Y(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var K=/[^+/0-9A-Za-z-_]/g;function Q(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function tt(t){return u.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(K,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function et(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function rt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function nt(t){return t!=t}var it=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function at(t){return"undefined"==typeof BigInt?ot:t}function ot(){throw new Error("BigInt not supported")}},13087:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},5955:function(t,e,r){"use strict";var n=r(22413),i=r.n(n),a=r(51070),o=r.n(a),s=r(62133),l=r.n(s),c=new URL(r(77035),r.b),u=new URL(r(43470),r.b),h=new URL(r(68164),r.b),f=new URL(r(64665),r.b),p=new URL(r(4890),r.b),d=new URL(r(13363),r.b),m=new URL(r(13490),r.b),g=new URL(r(47603),r.b),y=new URL(r(13913),r.b),v=new URL(r(91413),r.b),x=new URL(r(64643),r.b),_=new URL(r(80216),r.b),b=new URL(r(61907),r.b),w=new URL(r(68605),r.b),T=new URL(r(25446),r.b),k=new URL(r(56694),r.b),A=new URL(r(24420),r.b),M=new URL(r(75796),r.b),S=new URL(r(92228),r.b),E=new URL(r(9819),r.b),C=new URL(r(47695),r.b),L=new URL(r(28869),r.b),I=new URL(r(30557),r.b),P=new URL(r(48460),r.b),z=new URL(r(56539),r.b),O=new URL(r(43737),r.b),D=new URL(r(47914),r.b),R=new URL(r(26117),r.b),F=new URL(r(66311),r.b),B=o()(i()),N=l()(c),j=l()(u),U=l()(h),V=l()(f),q=l()(p),H=l()(d),G=l()(m),Z=l()(g),W=l()(y),Y=l()(v),X=l()(x),$=l()(_),J=l()(b),K=l()(w),Q=l()(T),tt=l()(k),et=l()(A),rt=l()(M),nt=l()(S),it=l()(E),at=l()(C),ot=l()(L),st=l()(I),lt=l()(P),ct=l()(z),ut=l()(O),ht=l()(D),ft=l()(R),pt=l()(F);B.push([t.id,".maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("+N+")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("+j+")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("+U+")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("+V+")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("+q+")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("+H+")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("+G+")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("+Z+")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("+W+")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("+Y+")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("+X+")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("+Z+")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("+$+")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("+J+")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("+K+")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("+Q+")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("+tt+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("+et+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("+rt+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("+nt+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("+it+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("+at+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("+ot+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("+st+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("+lt+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("+nt+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("+it+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("+at+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("+ot+")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("+ct+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("+ut+")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("+ht+");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("+ht+")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("+ht+")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("+ft+");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("+pt+")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("+ft+')}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}',""]),e.A=B},68735:function(t,e,r){"use strict";r.r(e),r.d(e,{sankeyCenter:function(){return f},sankeyCircular:function(){return L},sankeyJustify:function(){return h},sankeyLeft:function(){return c},sankeyRight:function(){return u}});var n=r(29725),i=r(4575),a=r(48544),o=r(96143),s=r.n(o);function l(t){return t.target.depth}function c(t){return t.depth}function u(t,e){return e-1-t.height}function h(t,e){return t.sourceLinks.length?t.depth:e-1}function f(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.jk)(t.sourceLinks,l)-1:0}function p(t){return function(){return t}}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function m(t,e){return y(t.source,e.source)||t.index-e.index}function g(t,e){return y(t.target,e.target)||t.index-e.index}function y(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function v(t){return t.value}function x(t){return(t.y0+t.y1)/2}function _(t){return x(t.source)}function b(t){return x(t.target)}function w(t){return t.index}function T(t){return t.nodes}function k(t){return t.links}function A(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function M(t,e){return e(t)}var S=25,E=10,C=.3;function L(){var t,e,r=0,a=0,o=1,l=1,c=24,u=w,f=h,M=T,L=k,P=32,O=2,D=null;function F(){var h={nodes:M.apply(null,arguments),links:L.apply(null,arguments)};!function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.Tj)(t.nodes,u);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!==(void 0===n?"undefined":d(n))&&(n=t.source=A(e,n)),"object"!==(void 0===i?"undefined":d(i))&&(i=t.target=A(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(h),function(t,e,r){var n=0;if(null===r){for(var i=[],a=0;a0?e+S+E:e,bottom:r=r>0?r+S+E:r,left:a=a>0?a+S+E:a,right:i=i>0?i+S+E:i}}(s),d=function(t,e){var i=(0,n.T9)(t.nodes,(function(t){return t.column})),s=o-r,u=l-a,h=s/(s+e.right+e.left),f=u/(u+e.top+e.bottom);return r=r*h+e.left,o=0==e.right?o:o*h,a=a*f+e.top,l*=f,t.nodes.forEach((function(t){t.x0=r+t.column*((o-r-c)/i),t.x1=t.x0+c})),f}(s,p);h*=d,s.links.forEach((function(t){t.width=t.value*h})),f.forEach((function(t){var e=t.length;t.forEach((function(t,r){t.depth==f.length-1&&1==e||0==t.depth&&1==e?(t.y0=l/2-t.value*h,t.y1=t.y0+t.value*h):t.partOfCycle?0==z(t,i)?(t.y0=l/2+r,t.y1=t.y0+t.value*h):"top"==t.circularLinkType?(t.y0=a+r,t.y1=t.y0+t.value*h):(t.y0=l-t.value*h-r,t.y1=t.y0+t.value*h):0==p.top||0==p.bottom?(t.y0=(l-a)/e*r,t.y1=t.y0+t.value*h):(t.y0=(l-a)/2-e/2+r,t.y1=t.y0+t.value*h)}))}))})(h),g();for(var p=1,d=u;d>0;--d)m(p*=.99,h),g();function m(t,e){var r=f.length;f.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&z(i,e)>0);else if(0==o&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else if(o==r-1&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else{var c=(0,n.i2)(i.sourceLinks,b),u=(0,n.i2)(i.targetLinks,_),h=((c&&u?(c+u)/2:c||u)-x(i))*t;i.y0+=h,i.y1+=h}}))}))}function g(){f.forEach((function(e){var r,n,i,o=a,s=e.length;for(e.sort(y),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-l)>0)for(o=r.y0-=n,r.y1-=n,i=s-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(h,P,u),B(h);for(var p=0;p<4;p++)Y(h,l,u),X(h,0,u),Z(h,a,l,u),Y(h,l,u),X(h,0,u);return function(t,e,r){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=(0,n.jk)(i,(function(t){return t.y0})),c=(r-e)/((0,n.T9)(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*c;t.y0=(t.y0-l)*c,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*c,t.y1=(t.y1-l)*c,t.width=t.width*c}))}}(h,a,l),R(h,O,l,u),h}function B(t){t.nodes.forEach((function(t){t.sourceLinks.sort(g),t.targetLinks.sort(m)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,i=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return F.nodeId=function(t){return arguments.length?(u="function"==typeof t?t:p(t),F):u},F.nodeAlign=function(t){return arguments.length?(f="function"==typeof t?t:p(t),F):f},F.nodeWidth=function(t){return arguments.length?(c=+t,F):c},F.nodePadding=function(e){return arguments.length?(t=+e,F):t},F.nodes=function(t){return arguments.length?(M="function"==typeof t?t:p(t),F):M},F.links=function(t){return arguments.length?(L="function"==typeof t?t:p(t),F):L},F.size=function(t){return arguments.length?(r=a=0,o=+t[0],l=+t[1],F):[o-r,l-a]},F.extent=function(t){return arguments.length?(r=+t[0][0],o=+t[1][0],a=+t[0][1],l=+t[1][1],F):[[r,a],[o,l]]},F.iterations=function(t){return arguments.length?(P=+t,F):P},F.circularLinkGap=function(t){return arguments.length?(O=+t,F):O},F.nodePaddingRatio=function(t){return arguments.length?(e=+t,F):e},F.sortNodes=function(t){return arguments.length?(D=t,F):D},F.update=function(t){return I(t,u),B(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y11||i>1)}function D(t,e,r){return t.sort(F),t.forEach((function(n,i){var a,o,s=0;if(K(n,r)&&O(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;lo.source.column)){var c=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=c>s?c:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function R(t,e,r,i){var o=(0,n.jk)(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),D(t.links.filter((function(t){return"top"==t.circularLinkType})),e,i),D(t.links.filter((function(t){return"bottom"==t.circularLinkType})),e,i),t.links.forEach((function(n){if(n.circular){if(n.circularPathData.arcRadius=n.width+E,n.circularPathData.leftNodeBuffer=5,n.circularPathData.rightNodeBuffer=5,n.circularPathData.sourceWidth=n.source.x1-n.source.x0,n.circularPathData.sourceX=n.source.x0+n.circularPathData.sourceWidth,n.circularPathData.targetX=n.target.x0,n.circularPathData.sourceY=n.y0,n.circularPathData.targetY=n.y1,K(n,i)&&O(n))n.circularPathData.leftSmallArcRadius=E+n.width/2,n.circularPathData.leftLargeArcRadius=E+n.width/2,n.circularPathData.rightSmallArcRadius=E+n.width/2,n.circularPathData.rightLargeArcRadius=E+n.width/2,"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=n.source.y1+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=n.source.y0-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius);else{var s=n.source.column,l=n.circularLinkType,c=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));"bottom"==n.circularLinkType?c.sort(N):c.sort(B);var u=0;c.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.leftSmallArcRadius=E+n.width/2+u,n.circularPathData.leftLargeArcRadius=E+n.width/2+r*e+u),u+=t.width})),s=n.target.column,c=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),"bottom"==n.circularLinkType?c.sort(U):c.sort(j),u=0,c.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.rightSmallArcRadius=E+n.width/2+u,n.circularPathData.rightLargeArcRadius=E+n.width/2+r*e+u),u+=t.width})),"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=Math.max(r,n.source.y1,n.target.y1)+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=o-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius)}n.circularPathData.leftInnerExtent=n.circularPathData.sourceX+n.circularPathData.leftNodeBuffer,n.circularPathData.rightInnerExtent=n.circularPathData.targetX-n.circularPathData.rightNodeBuffer,n.circularPathData.leftFullExtent=n.circularPathData.sourceX+n.circularPathData.leftLargeArcRadius+n.circularPathData.leftNodeBuffer,n.circularPathData.rightFullExtent=n.circularPathData.targetX-n.circularPathData.rightLargeArcRadius-n.circularPathData.rightNodeBuffer}if(n.circular)n.path=function(t){return"top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY}(n);else{var h=(0,a.pq)().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));n.path=h(n)}}))}function F(t,e){return V(t)==V(e)?"bottom"==t.circularLinkType?N(t,e):B(t,e):V(e)-V(t)}function B(t,e){return t.y0-e.y0}function N(t,e){return e.y0-t.y0}function j(t,e){return t.y1-e.y1}function U(t,e){return e.y1-t.y1}function V(t){return t.target.column-t.source.column}function q(t){return t.target.x0-t.source.x1}function H(t,e){var r=P(t),n=q(e)/Math.tan(r);return"up"==J(t)?t.y1+n:t.y1-n}function G(t,e){var r=P(t),n=q(e)/Math.tan(r);return"up"==J(t)?t.y1-n:t.y1+n}function Z(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){var c,u=s/(l+1),h=Math.pow(1-u,3),f=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),m=h*i.y0+f*i.y0+p*i.y1+d*i.y1,g=m-i.width/2,y=m+i.width/2;g>o.y0&&ga.y0&&i.y0a.y0&&i.y1a.y1)&&W(t,c,e,r)}))):(y>o.y0&&yo.y1)&&(c=y-o.y0+10,o=W(o,c,e,r),t.nodes.forEach((function(t){M(t,n)!=M(o,n)&&t.column==o.column&&t.y0o.y1&&W(t,c,e,r)})))}}))}}))}function W(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function Y(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return M(t.source,r)==M(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!$(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=G(e,t);return t.y1-r}if(e.target.column>t.target.column)return G(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!$(t,e))return t.y0-e.y0;if(e.source.column0?"up":"down"}function K(t,e){return M(t.source,e)==M(t.target,e)}},62369:function(t,e,r){"use strict";r.r(e),r.d(e,{sankey:function(){return w},sankeyCenter:function(){return c},sankeyJustify:function(){return l},sankeyLeft:function(){return o},sankeyLinkHorizontal:function(){return M},sankeyRight:function(){return s}});var n=r(29725),i=r(4575);function a(t){return t.target.depth}function o(t){return t.depth}function s(t,e){return e-1-t.height}function l(t,e){return t.sourceLinks.length?t.depth:e-1}function c(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.jk)(t.sourceLinks,a)-1:0}function u(t){return function(){return t}}function h(t,e){return p(t.source,e.source)||t.index-e.index}function f(t,e){return p(t.target,e.target)||t.index-e.index}function p(t,e){return t.y0-e.y0}function d(t){return t.value}function m(t){return(t.y0+t.y1)/2}function g(t){return m(t.source)*t.value}function y(t){return m(t.target)*t.value}function v(t){return t.index}function x(t){return t.nodes}function _(t){return t.links}function b(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function w(){var t=0,e=0,r=1,a=1,o=24,s=8,c=v,w=l,T=x,k=_,A=32;function M(){var l={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.Tj)(t.nodes,c);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!=typeof n&&(n=t.source=b(e,n)),"object"!=typeof i&&(i=t.target=b(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(l),function(t){t.nodes.forEach((function(t){t.value=Math.max((0,n.cz)(t.sourceLinks,d),(0,n.cz)(t.targetLinks,d))}))}(l),function(e){var n,i,a;for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.depth=a,t.sourceLinks.forEach((function(t){i.indexOf(t.target)<0&&i.push(t.target)}))}));for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.height=a,t.targetLinks.forEach((function(t){i.indexOf(t.source)<0&&i.push(t.source)}))}));var s=(r-t-o)/(a-1);e.nodes.forEach((function(e){e.x1=(e.x0=t+Math.max(0,Math.min(a-1,Math.floor(w.call(null,e,a))))*s)+o}))}(l),function(t){var r=(0,i.$I)().key((function(t){return t.x0})).sortKeys(n.V_).entries(t.nodes).map((function(t){return t.values}));(function(){var i=(0,n.T9)(r,(function(t){return t.length})),o=.6666666666666666*(a-e)/(i-1);s>o&&(s=o);var l=(0,n.jk)(r,(function(t){return(a-e-(t.length-1)*s)/(0,n.cz)(t,d)}));r.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*l}))})),t.links.forEach((function(t){t.width=t.value*l}))})(),h();for(var o=1,l=A;l>0;--l)u(o*=.99),h(),c(o),h();function c(t){r.forEach((function(e){e.forEach((function(e){if(e.targetLinks.length){var r=((0,n.cz)(e.targetLinks,g)/(0,n.cz)(e.targetLinks,d)-m(e))*t;e.y0+=r,e.y1+=r}}))}))}function u(t){r.slice().reverse().forEach((function(e){e.forEach((function(e){if(e.sourceLinks.length){var r=((0,n.cz)(e.sourceLinks,y)/(0,n.cz)(e.sourceLinks,d)-m(e))*t;e.y0+=r,e.y1+=r}}))}))}function h(){r.forEach((function(t){var r,n,i,o=e,l=t.length;for(t.sort(p),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+s;if((n=o-s-a)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=t[i]).y1+s-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(l),S(l),l}function S(t){t.nodes.forEach((function(t){t.sourceLinks.sort(f),t.targetLinks.sort(h)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return M.update=function(t){return S(t),t},M.nodeId=function(t){return arguments.length?(c="function"==typeof t?t:u(t),M):c},M.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:u(t),M):w},M.nodeWidth=function(t){return arguments.length?(o=+t,M):o},M.nodePadding=function(t){return arguments.length?(s=+t,M):s},M.nodes=function(t){return arguments.length?(T="function"==typeof t?t:u(t),M):T},M.links=function(t){return arguments.length?(k="function"==typeof t?t:u(t),M):k},M.size=function(n){return arguments.length?(t=e=0,r=+n[0],a=+n[1],M):[r-t,a-e]},M.extent=function(n){return arguments.length?(t=+n[0][0],r=+n[1][0],e=+n[0][1],a=+n[1][1],M):[[t,e],[r,a]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M}var T=r(48544);function k(t){return[t.source.x1,t.y0]}function A(t){return[t.target.x0,t.y1]}function M(){return(0,T.pq)().source(k).target(A)}},45568:function(t,e,r){var n,i;(function(){var a={version:"3.8.2"},o=[].slice,s=function(t){return o.call(t)},l=self.document;function c(t){return t&&(t.ownerDocument||t.document||t).documentElement}function u(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(l)try{s(l.documentElement.childNodes)[0].nodeType}catch(t){s=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),l)try{l.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var h=this.Element.prototype,f=h.setAttribute,p=h.setAttributeNS,d=this.CSSStyleDeclaration.prototype,m=d.setProperty;h.setAttribute=function(t,e){f.call(this,t,e+"")},h.setAttributeNS=function(t,e,r){p.call(this,t,e,r+"")},d.setProperty=function(t,e,r){m.call(this,t,e+"",r)}}function g(t,e){return te?1:t>=e?0:NaN}function y(t){return null===t?NaN:+t}function v(t){return!isNaN(t)}function x(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}a.ascending=g,a.descending=function(t,e){return et?1:e>=t?0:NaN},a.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},a.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},a.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},a.deviation=function(){var t=a.variance.apply(this,arguments);return t?Math.sqrt(t):t};var _=x(g);function b(t){return t.length}a.bisectLeft=_.left,a.bisect=a.bisectRight=_.right,a.bisector=function(t){return x(1===t.length?function(e,r){return g(t(e),r)}:t)},a.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},a.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},a.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var w=Math.abs;function T(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function k(){this._=Object.create(null)}a.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,i=[],a=function(t){for(var e=1;t*e%1;)e*=10;return e}(w(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)=n.length)return e?e.call(r,a):t?a.sort(t):a;for(var l,c,u,h,f=-1,p=a.length,d=n[s++],m=new k;++f=n.length)return t;var r=[],a=i[e++];return t.forEach((function(t,n){r.push({key:t,values:s(n,e)})})),a?r.sort((function(t,e){return a(t.key,e.key)})):r}return r.map=function(t,e){return o(e,t,0)},r.entries=function(t){return s(o(a.map,t,0),0)},r.key=function(t){return n.push(t),r},r.sortKeys=function(t){return i[n.length-1]=t,r},r.sortValues=function(e){return t=e,r},r.rollup=function(t){return e=t,r},r},a.set=function(t){var e=new O;if(t)for(var r=0,n=t.length;r=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},a.event=null,a.requote=function(t){return t.replace(G,"\\$&")};var G=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,Z={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function W(t){return Z(t,J),t}var Y=function(t,e){return e.querySelector(t)},X=function(t,e){return e.querySelectorAll(t)},$=function(t,e){var r=t.matches||t[F(t,"matchesSelector")];return $=function(t,e){return r.call(t,e)},$(t,e)};"function"==typeof Sizzle&&(Y=function(t,e){return Sizzle(t,e)[0]||null},X=Sizzle,$=Sizzle.matchesSelector),a.selection=function(){return a.select(l.documentElement)};var J=a.selection.prototype=[];function K(t){return"function"==typeof t?t:function(){return Y(t,this)}}function Q(t){return"function"==typeof t?t:function(){return X(t,this)}}J.select=function(t){var e,r,n,i,a=[];t=K(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),et.hasOwnProperty(r)?{space:et[r],local:t}:t}},J.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node();return(t=a.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},J.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=at(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},J.sort=function(t){t=dt.apply(this,arguments);for(var e=-1,r=this.length;++e0&&(t=t.slice(0,i));var l=xt.get(t);function c(){var e=this[n];e&&(this.removeEventListener(t,e,e.$),delete this[n])}return l&&(t=l,o=bt),i?e?function(){var i=o(e,s(arguments));c.call(this),this.addEventListener(t,this[n]=i,i.$=r),i._=e}:c:e?N:function(){var e,r=new RegExp("^__on([^.]+)"+a.requote(t)+"$");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}a.selection.enter=gt,a.selection.enter.prototype=yt,yt.append=J.append,yt.empty=J.empty,yt.node=J.node,yt.call=J.call,yt.size=J.size,yt.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s=n&&(n=e+1);!(o=s[n])&&++n1?zt:t<-1?-zt:Math.asin(t)}function Ft(t){return((t=Math.exp(t))+1/t)/2}var Bt=Math.SQRT2;a.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,h=l-a,f=u*u+h*h;if(f0&&(t=t.transition().duration(m)),t.call(w.event)}function S(){s&&s.domain(o.range().map((function(t){return(t-f.x)/f.k})).map(o.invert)),h&&h.domain(c.range().map((function(t){return(t-f.y)/f.k})).map(c.invert))}function E(t){g++||t({type:"zoomstart"})}function C(t){S(),t({type:"zoom",scale:f.k,translate:[f.x,f.y]})}function L(t){--g||(t({type:"zoomend"}),e=null)}function I(){var t=this,e=b.of(t,arguments),r=0,n=a.select(u(t)).on(v,(function(){r=1,A(a.mouse(t),i),C(e)})).on(x,(function(){n.on(v,null).on(x,null),o(r),L(e)})),i=T(a.mouse(t)),o=kt(t);$i.call(t),E(e)}function P(){var t,e=this,r=b.of(e,arguments),n={},o=0,s=".zoom-"+a.event.changedTouches[0].identifier,l="touchmove"+s,c="touchend"+s,u=[],h=a.select(e),p=kt(e);function d(){var r=a.touches(e);return t=f.k,r.forEach((function(t){t.identifier in n&&(n[t.identifier]=T(t))})),r}function m(){var t=a.event.target;a.select(t).on(l,g).on(c,v),u.push(t);for(var r=a.event.changedTouches,s=0,h=r.length;s1){y=p[0];var x=p[1],_=y[0]-x[0],b=y[1]-x[1];o=_*_+b*b}}function g(){var s,l,c,u,h=a.touches(e);$i.call(e);for(var f=0,p=h.length;f360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Zt(t,e,r){return this instanceof Zt?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof Zt?new Zt(t.h,t.c,t.l):function(t,e,r){return t>0?new Zt(Math.atan2(r,e)*Dt,Math.sqrt(e*e+r*r),t):new Zt(NaN,NaN,t)}(t instanceof Xt?t.l:(t=fe((t=a.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new Zt(t,e,r)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,t*this.l)},Ht.rgb=function(){return Gt(this.h,this.s,this.l)},a.hcl=Zt;var Wt=Zt.prototype=new Vt;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Ot)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Zt?Yt(t.h,t.c,t.l):fe((t=ae(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Zt(this.h,this.c,Math.min(100,this.l+$t*(arguments.length?t:1)))},Wt.darker=function(t){return new Zt(this.h,this.c,Math.max(0,this.l-$t*(arguments.length?t:1)))},Wt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},a.lab=Xt;var $t=18,Jt=.95047,Kt=1,Qt=1.08883,te=Xt.prototype=new Vt;function ee(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*Kt)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ue(""+t,ae,Gt):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+""}te.brighter=function(t){return new Xt(Math.min(100,this.l+$t*(arguments.length?t:1)),this.a,this.b)},te.darker=function(t){return new Xt(Math.max(0,this.l-$t*(arguments.length?t:1)),this.a,this.b)},te.rgb=function(){return ee(this.l,this.a,this.b)},a.rgb=ae;var le=ae.prototype=new Vt;function ce(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=me.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function he(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e0&&l<1?0:n),new qt(n,i,l)}function fe(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/Kt);return Xt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=r.call(i,c)}catch(t){return void o.error.call(i,t)}o.load.call(i,t)}else o.error.call(i,c)}return self.XDomainRequest&&!("withCredentials"in c)&&/^(http(s)?:)?\/\//.test(t)&&(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=h:c.onreadystatechange=function(){c.readyState>3&&h()},c.onprogress=function(t){var e=a.event;a.event=t;try{o.progress.call(i,c)}finally{a.event=e}},i.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",i)},i.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",i):e},i.responseType=function(t){return arguments.length?(u=t,i):u},i.response=function(t){return r=t,i},["get","post"].forEach((function(t){i[t]=function(){return i.send.apply(i,[t].concat(s(arguments)))}})),i.send=function(r,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),c.open(r,t,!0),null==e||"accept"in l||(l.accept=e+",*/*"),c.setRequestHeader)for(var s in l)c.setRequestHeader(s,l[s]);return null!=e&&c.overrideMimeType&&c.overrideMimeType(e),null!=u&&(c.responseType=u),null!=a&&i.on("error",a).on("load",(function(t){a(null,t)})),o.beforesend.call(i,c),c.send(null==n?null:n),i},i.abort=function(){return c.abort(),i},a.rebind(i,o,"on"),null==n?i:i.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}me.forEach((function(t,e){me.set(t,oe(e))})),a.functor=ge,a.xhr=ye(D),a.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ve(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return i.parse=function(t,e){var r;return i.parseRows(t,(function(t,n){if(r)return r(t,n-1);var i=function(e){for(var r={},n=t.length,i=0;i=l)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),be=0):(be=1,Te(Ae))}function Me(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t1&&(e=t[a[o-2]],r=t[a[o-1]],n=t[s],(r[0]-e[0])*(n[1]-e[1])-(r[1]-e[1])*(n[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}function Ie(t,e){return t[0]-e[0]||t[1]-e[1]}a.timer=function(){ke.apply(this,arguments)},a.timer.flush=function(){Me(),Se()},a.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)},a.geom={},a.geom.hull=function(t){var e=Ee,r=Ce;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ge(e),a=ge(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[c[n]][2]]);for(n=+h;nEt)s=s.L;else{if(!((i=a-Xe(s,o))>Et)){n>-Et?(e=s.P,r=s):i>-Et?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=He(t);if(Be.insert(e,l),e||r){if(e===r)return tr(e),r=He(e.site),Be.insert(l,r),l.edge=r.edge=nr(e.site,l.site),Qe(e),void Qe(r);if(r){tr(e),tr(r);var c=e.site,u=c.x,h=c.y,f=t.x-u,p=t.y-h,d=r.site,m=d.x-u,g=d.y-h,y=2*(f*g-p*m),v=f*f+p*p,x=m*m+g*g,_={x:(g*v-p*x)/y+u,y:(f*x-m*v)/y+h};ir(r.edge,c,d,_),l.edge=nr(c,t,null,_),r.edge=nr(t,d,null,_),Qe(e),Qe(r)}else l.edge=nr(e.site,l.site)}}function Ye(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-e;if(!c)return s;var u=s-n,h=1/a-1/c,f=u/c;return h?(-f+Math.sqrt(f*f-2*h*(u*u/(-2*c)-l+c/2+i-a/2)))/h+n:(n+s)/2}function Xe(t,e){var r=t.N;if(r)return Ye(r,e);var n=t.site;return n.y===e?n.x:1/0}function $e(t){this.site=t,this.edges=[]}function Je(t,e){return e.angle-t.angle}function Ke(){sr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Qe(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,h=2*(l*(g=a.y-s)-c*u);if(!(h>=-Ct)){var f=l*l+c*c,p=u*u+g*g,d=(g*f-c*p)/h,m=(l*p-u*f)/h,g=m+s,y=Ve.pop()||new Ke;y.arc=t,y.site=i,y.x=d+o,y.y=g+Math.sqrt(d*d+m*m),y.cy=g,t.circle=y;for(var v=null,x=je._;x;)if(y.y=s)return;if(f>d){if(a){if(a.y>=c)return}else a={x:g,y:l};r={x:g,y:c}}else{if(a){if(a.y1)if(f>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(e/=f,f<0){if(e0){if(e>h)return;e>u&&(u=e)}if(e=i-l,f||!(e<0)){if(e/=f,f<0){if(e>h)return;e>u&&(u=e)}else if(f>0){if(e0)){if(e/=p,p<0){if(e0){if(e>h)return;e>u&&(u=e)}if(e=a-c,p||!(e<0)){if(e/=p,p<0){if(e>h)return;e>u&&(u=e)}else if(p>0){if(e0&&(t.a={x:l+u*f,y:c+u*p}),h<1&&(t.b={x:l+h*f,y:c+h*p}),t}}}}}),l=o.length;l--;)(!er(e=o[l],t)||!s(e)||w(e.a.x-e.b.x)Et||w(i-r)>Et)&&(s.splice(o,0,new ar((y=a.site,v=u,x=w(n-h)Et?{x:h,y:w(e-h)Et?{x:w(r-d)Et?{x:f,y:w(e-f)Et?{x:w(r-p)=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/Et)*Et,y:Math.round(i(t,e)/Et)*Et,i:e}}))}return o.links=function(t){return hr(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return hr(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,c=r.edges.sort(Je),u=-1,h=c.length,f=c[h-1].edge,p=f.l===l?f.r:f.l;++ua&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:xr(r,n)})),a=wr.lastIndex;return am&&(m=l.x),l.y>g&&(g=l.y),c.push(l.x),u.push(l.y);else for(h=0;hm&&(m=x),_>g&&(g=_),c.push(x),u.push(_)}var b=m-p,T=g-d;function k(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(w(l-r)+w(c-n)<.01)A(t,e,r,n,i,a,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,h=n>=c,f=h<<1|u;t.leaf=!1,u?i=l:o=l,h?a=c:s=c,k(t=t.nodes[f]||(t.nodes[f]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}b>T?g=d+b:m=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+y(t,++h),+v(t,h),p,d,m,g)}};if(M.visit=function(t){gr(t,M,p,d,m,g)},M.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,h,f,p){if(!(u>a||h>o||f=b)<<1|e>=_,T=w+4;w=0&&!(r=a.interpolators[n](t,e)););return r}function kr(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function zr(t){return 1-Math.cos(t*zt)}function Or(t){return Math.pow(2,10*(t-1))}function Dr(t){return 1-Math.sqrt(1-t*t)}function Rr(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Fr(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Br(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=jr(i),s=Nr(i,a),l=jr(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,r):t,i=r>=0?t.slice(r+1):"in";return n=Mr.get(n)||Ar,i=Sr.get(i)||D,e=i(n.apply(null,o.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},a.interpolateHcl=function(t,e){t=a.hcl(t),e=a.hcl(e);var r=t.h,n=t.c,i=t.l,o=e.h-r,s=e.c-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.c:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Yt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateHsl=function(t,e){t=a.hsl(t),e=a.hsl(e);var r=t.h,n=t.s,i=t.l,o=e.h-r,s=e.s-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.s:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Gt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateLab=function(t,e){t=a.lab(t),e=a.lab(e);var r=t.l,n=t.a,i=t.b,o=e.l-r,s=e.a-n,l=e.b-i;return function(t){return ee(r+o*t,n+s*t,i+l*t)+""}},a.interpolateRound=Fr,a.transform=function(t){var e=l.createElementNS(a.ns.prefix.svg,"g");return(a.transform=function(t){if(null!=t){e.setAttribute("transform",t);var r=e.transform.baseVal.consolidate()}return new Br(r?r.matrix:Ur)})(t)},Br.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Ur={a:1,b:0,c:0,d:1,e:0,f:0};function Vr(t){return t.length?t.pop()+",":""}function qr(t,e){var r=[],n=[];return t=a.transform(t),e=a.transform(e),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Vr(r)+"rotate(",null,")")-2,x:xr(t,e)})):e&&r.push(Vr(r)+"rotate("+e+")")}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(Vr(r)+"skewX(",null,")")-2,x:xr(t,e)}):e&&r.push(Vr(r)+"skewX("+e+")")}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Vr(r)+"scale(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Vr(r)+"scale("+e+")")}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i0?r=e:(t.c=null,t.t=NaN,t=null,l.end({type:"end",alpha:r=0})):e>0&&(l.start({type:"start",alpha:r=e}),t=ke(s.tick)),s):r},s.start=function(){var t,e,r,a=y.length,l=v.length,u=c[0],d=c[1];for(t=0;t=0;)r.push(i[n])}function an(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return an(i,(function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(nn(t,(function(t){t.children&&(t.value=0)})),an(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},a.layout.partition=function(){var t=a.layout.hierarchy(),e=[1,1];function r(t,e,n,i){var a=t.children;if(t.x=e,t.y=t.depth*i,t.dx=n,t.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(n=t.value?n/t.value:0;++cs&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function xn(t){return t.reduce(_n,0)}function _n(t,e){return t+e[1]}function bn(t,e){return wn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function wn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Tn(t){return[a.min(t),a.max(t)]}function kn(t,e){return t.value-e.value}function An(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Mn(t,e){t._pack_next=e,e._pack_prev=t}function Sn(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function En(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,c=1/0,u=-1/0,h=1/0,f=-1/0;if(e.forEach(Cn),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(Pn(r,n,i=e[2]),x(i),An(r,i),r._pack_prev=i,An(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=h[0]&&l<=h[1]&&((s=c[a.bisect(f,l,1,d)-1]).y+=m,s.push(i[o]));return c}return i.value=function(t){return arguments.length?(e=t,i):e},i.range=function(t){return arguments.length?(r=ge(t),i):r},i.bins=function(t){return arguments.length?(n="number"==typeof t?function(e){return wn(e,t)}:ge(t),i):n},i.frequency=function(e){return arguments.length?(t=!!e,i):t},i},a.layout.pack=function(){var t,e=a.layout.hierarchy().sort(kn),r=0,n=[1,1];function i(i,a){var o=e.call(this,i,a),s=o[0],l=n[0],c=n[1],u=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(s.x=s.y=0,an(s,(function(t){t.r=+u(t.value)})),an(s,En),r){var h=r*(t?1:Math.max(2*s.r/l,2*s.r/c))/2;an(s,(function(t){t.r+=h})),an(s,En),an(s,(function(t){t.r-=h}))}return In(s,l/2,c/2,t?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return i.size=function(t){return arguments.length?(n=t,i):n},i.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,i):t},i.padding=function(t){return arguments.length?(r=+t,i):r},rn(i,e)},a.layout.tree=function(){var t=a.layout.hierarchy().sort(null).value(null),e=zn,r=[1,1],n=null;function i(i,a){var c=t.call(this,i,a),u=c[0],h=function(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;op.x&&(p=t),t.depth>d.depth&&(d=t)}));var m=e(f,p)/2-f.x,g=r[0]/(p.x+e(p,f)/2+m),y=r[1]/(d.depth||1);nn(u,(function(t){t.x=(t.x+m)*g,t.y=t.depth*y}))}return c}function o(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],c=a.m,u=o.m,h=s.m,f=l.m;s=Dn(s),a=On(a),s&&a;)l=On(l),(o=Dn(o)).a=t,(i=s.z+h-a.z-c+e(s._,a._))>0&&(Rn(Fn(s,t,n),t,i),c+=i,u+=i),h+=s.m,c+=a.m,f+=l.m,u+=o.m;s&&!Dn(o)&&(o.t=s,o.m+=h-u),a&&!On(l)&&(l.t=a,l.m+=c-f,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=r[0],t.y=t.depth*r[1]}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t)?l:null,i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null==(r=t)?null:l,i):n?r:null},rn(i,t)},a.layout.cluster=function(){var t=a.layout.hierarchy().sort(null).value(null),e=zn,r=[1,1],n=!1;function i(i,o){var s,l=t.call(this,i,o),c=l[0],u=0;an(c,(function(t){var r=t.children;r&&r.length?(t.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(r),t.y=function(t){return 1+a.max(t,(function(t){return t.y}))}(r)):(t.x=s?u+=e(t,s):0,t.y=0,s=t)}));var h=Bn(c),f=Nn(c),p=h.x-e(h,f)/2,d=f.x+e(f,h)/2;return an(c,n?function(t){t.x=(t.x-c.x)*r[0],t.y=(c.y-t.y)*r[1]}:function(t){t.x=(t.x-p)/(d-p)*r[0],t.y=(1-(c.y?t.y/c.y:1))*r[1]}),l}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t),i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null!=(r=t),i):n?r:null},rn(i,t)},a.layout.treemap=function(){var t,e=a.layout.hierarchy(),r=Math.round,n=[1,1],i=null,o=jn,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=c[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,m))<=f?(c.pop(),f=n):(s.area-=s.pop().area,d(s,m,a,!1),m=Math.min(a.dx,a.dy),s.length=s.area=0,f=1/0);s.length&&(d(s,m,a,!0),s.length=s.area=0),e.forEach(h)}}function f(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(u(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(f)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*c/n,n/(e*a*c)):1/0}function d(t,e,n,i){var a,o=-1,s=t.length,l=n.x,c=n.y,u=e?r(t.area/e):0;if(e==n.dx){for((i||u>n.dy)&&(u=n.dy);++on.dx)&&(u=n.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=a.random.normal.apply(a,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=a.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?Yn:Hn,l=n?Gr:Hr;return i=o(t,e,l,r),a=o(e,t,l,Tr),s}function s(t){return i(t)}return s.invert=function(t){return a(t)},s.domain=function(e){return arguments.length?(t=e.map(Number),o()):t},s.range=function(t){return arguments.length?(e=t,o()):e},s.rangeRound=function(t){return s.range(t).interpolate(Fr)},s.clamp=function(t){return arguments.length?(n=t,o()):n},s.interpolate=function(t){return arguments.length?(r=t,o()):r},s.ticks=function(e){return Qn(t,e)},s.tickFormat=function(e,r){return d3_scale_linearTickFormat(t,e,r)},s.nice=function(e){return Jn(t,e),o()},s.copy=function(){return Xn(t,e,r,n)},o()}function $n(t,e){return a.rebind(t,e,"range","rangeRound","interpolate","clamp")}function Jn(t,e){return Gn(t,Zn(Kn(t,e)[2])),Gn(t,Zn(Kn(t,e)[2])),t}function Kn(t,e){null==e&&(e=10);var r=Vn(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Qn(t,e){return a.range.apply(a,Kn(t,e))}function ti(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Gn(n.map(i),r?Math:ei);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Vn(n),o=[],s=t[0],l=t[1],c=Math.floor(i(s)),u=Math.ceil(i(l)),h=e%1?2:e;if(isFinite(u-c)){if(r){for(;c0;f--)o.push(a(c)*f);for(c=0;o[c]l;u--);o=o.slice(c,u)}return o},o.copy=function(){return ti(t.copy(),e,r,n)},$n(o,t)}a.scale.linear=function(){return Xn([0,1],[0,1],Tr,!1)},a.scale.log=function(){return ti(a.scale.linear().domain([0,1]),10,!0,[1,10])};var ei={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function ri(t,e,r){var n=ni(e),i=ni(1/e);function a(e){return t(n(e))}return a.invert=function(e){return i(t.invert(e))},a.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(n)),a):r},a.ticks=function(t){return Qn(r,t)},a.tickFormat=function(t,e){return d3_scale_linearTickFormat(r,t,e)},a.nice=function(t){return a.domain(Jn(r,t))},a.exponent=function(o){return arguments.length?(n=ni(e=o),i=ni(1/e),t.domain(r.map(n)),a):e},a.copy=function(){return ri(t.copy(),e,r)},$n(a,t)}function ni(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function ii(t,e){var r,n,i;function o(i){return n[((r.get(i)||("range"===e.t?r.set(i,t.push(i)):NaN))-1)%n.length]}function s(e,r){return a.range(t.length).map((function(t){return e+r*t}))}return o.domain=function(n){if(!arguments.length)return t;t=[],r=new k;for(var i,a=-1,s=n.length;++a0?r[n-1]:t[0],nh?0:1;if(c=Pt)return l(c,p)+(s?l(s,1-p):"")+"Z";var d,m,g,y,v,x,_,b,w,T,k,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===di?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Rt(g/c*Math.sin(y))),s&&(M=Rt(g/s*Math.sin(y)))),c){v=c*Math.cos(u+S),x=c*Math.sin(u+S),_=c*Math.cos(h-S),b=c*Math.sin(h-S);var C=Math.abs(h-u-2*S)<=Lt?0:1;if(S&&_i(v,x,_,b)===p^C){var L=(u+h)/2;v=c*Math.cos(L),x=c*Math.sin(L),_=b=null}}else v=x=0;if(s){w=s*Math.cos(h-M),T=s*Math.sin(h-M),k=s*Math.cos(u+M),A=s*Math.sin(u+M);var I=Math.abs(u-h+2*M)<=Lt?0:1;if(M&&_i(w,T,k,A)===1-p^I){var P=(u+h)/2;w=s*Math.cos(P),T=s*Math.sin(P),k=A=null}}else w=T=0;if(f>Et&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){m=s0?0:1}function bi(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=t[0]+l,h=t[1]+c,f=e[0]+l,p=e[1]+c,d=(u+f)/2,m=(h+p)/2,g=f-u,y=p-h,v=g*g+y*y,x=r-n,_=u*p-f*h,b=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*v-_*_)),w=(_*y-g*b)/v,T=(-_*g-y*b)/v,k=(_*y+g*b)/v,A=(-_*g+y*b)/v,M=w-d,S=T-m,E=k-d,C=A-m;return M*M+S*S>E*E+C*C&&(w=k,T=A),[[w-l,T-c],[w*r/x,T*r/x]]}function wi(){return!0}function Ti(t){var e=Ee,r=Ce,n=wi,i=Ai,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,h=a.length,f=ge(e),p=ge(r);function d(){l.push("M",i(t(c),o))}for(;++u1&&i.push("H",n[0]),i.join("")},"step-before":Si,"step-after":Ei,basis:Ii,"basis-open":function(t){if(t.length<4)return Ai(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Pi(Di,a)+","+Pi(Di,o)),--n;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Ai(t){return t.length>1?t.join("L"):t+"Z"}function Mi(t){return t.join("L")+"Z"}function Si(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e1){s=e[1],a=t[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var c=2;cLt)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return a.radius=function(t){return arguments.length?(r=ge(t),a):r},a.source=function(e){return arguments.length?(t=ge(e),a):t},a.target=function(t){return arguments.length?(e=ge(t),a):e},a.startAngle=function(t){return arguments.length?(n=ge(t),a):n},a.endAngle=function(t){return arguments.length?(i=ge(t),a):i},a},a.svg.diagonal=function(){var t=ji,e=Ui,r=qi;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=ge(e),n):t},n.target=function(t){return arguments.length?(e=ge(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},a.svg.diagonal.radial=function(){var t=a.svg.diagonal(),e=qi,r=t.projection;return t.projection=function(t){return arguments.length?r(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-zt;return[r*Math.cos(n),r*Math.sin(n)]}}(e=t)):e},t},a.svg.symbol=function(){var t=Gi,e=Hi;function r(r,n){return(Wi.get(t.call(this,r,n))||Zi)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ge(e),r):t},r.size=function(t){return arguments.length?(e=ge(t),r):e},r};var Wi=a.map({circle:Zi,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*Xi)),r=e*Xi;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/Yi),r=e*Yi/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/Yi),r=e*Yi/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});a.svg.symbolTypes=Wi.keys();var Yi=Math.sqrt(3),Xi=Math.tan(30*Ot);J.transition=function(t){for(var e,r,n=Qi||++ra,i=aa(t),a=[],o=ta||{time:Date.now(),ease:Pr,delay:0,duration:250},s=-1,l=this.length;++s0;)c[--f].call(t,o);if(a>=1)return h.event&&h.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}h||(a=i.time,o=ke((function(t){var e=h.delay;if(o.t=e+a,e<=t)return f(t-e);o.c=f}),0,a),h=u[n]={tween:new k,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++u.count)}ea.call=J.call,ea.empty=J.empty,ea.node=J.node,ea.size=J.size,a.transition=function(t,e){return t&&t.transition?Qi?t.transition(e):t:a.selection().transition(t)},a.transition.prototype=ea,ea.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=K(t);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",o[1]-o[0])}function m(t){t.select(".extent").attr("y",s[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",s[1]-s[0])}function g(){var h,g,y=this,v=a.select(a.event.target),x=r.of(y,arguments),_=a.select(y),b=v.datum(),w=!/^(n|s)$/.test(b)&&n,T=!/^(e|w)$/.test(b)&&i,k=v.classed("extent"),A=kt(y),M=a.mouse(y),S=a.select(u(y)).on("keydown.brush",(function(){32==a.event.keyCode&&(k||(h=null,M[0]-=o[1],M[1]-=s[1],k=2),V())})).on("keyup.brush",(function(){32==a.event.keyCode&&2==k&&(M[0]+=o[1],M[1]+=s[1],k=0,V())}));if(a.event.changedTouches?S.on("touchmove.brush",L).on("touchend.brush",P):S.on("mousemove.brush",L).on("mouseup.brush",P),_.interrupt().selectAll("*").interrupt(),k)M[0]=o[0]-M[0],M[1]=s[0]-M[1];else if(b){var E=+/w$/.test(b),C=+/^n/.test(b);g=[o[1-E]-M[0],s[1-C]-M[1]],M[0]=o[E],M[1]=s[C]}else a.event.altKey&&(h=M.slice());function L(){var t=a.mouse(y),e=!1;g&&(t[0]+=g[0],t[1]+=g[1]),k||(a.event.altKey?(h||(h=[(o[0]+o[1])/2,(s[0]+s[1])/2]),M[0]=o[+(t[0](n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},i.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=o;function o(t,e){this.x=t,this.y=e}o.prototype={clone:function(){return new o(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},o.convert=function(t){return t instanceof o?t:Array.isArray(t)?new o(t[0],t[1]):t};var s="undefined"!=typeof self?self:{};var l=Math.pow(2,53)-1;function c(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}}var u=c(.25,.1,.25,1);function h(t,e,r){return Math.min(r,Math.max(e,t))}function f(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function p(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function y(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function v(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function x(t,e){return-1!==t.indexOf(e,t.length-e.length)}function _(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function b(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function w(t){return Array.isArray(t)?t.map(w):"object"==typeof t&&t?_(t,w):t}var T={};function k(t){T[t]||("undefined"!=typeof console&&console.warn(t),T[t]=!0)}function A(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function M(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),""})),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}var C=null;function L(t){if(null==C){var e=t.navigator?t.navigator.userAgent:null;C=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return C}function I(t){try{var e=s[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var P,z,O,D,R=s.performance&&s.performance.now?s.performance.now.bind(s.performance):Date.now.bind(Date),F=s.requestAnimationFrame||s.mozRequestAnimationFrame||s.webkitRequestAnimationFrame||s.msRequestAnimationFrame,B=s.cancelAnimationFrame||s.mozCancelAnimationFrame||s.webkitCancelAnimationFrame||s.msCancelAnimationFrame,N={now:R,frame:function(t){var e=F(t);return{cancel:function(){return B(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=s.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return P||(P=s.document.createElement("a")),P.href=t,P.href},hardwareConcurrency:s.navigator&&s.navigator.hardwareConcurrency||4,get devicePixelRatio(){return s.devicePixelRatio},get prefersReducedMotion(){return!!s.matchMedia&&(null==z&&(z=s.matchMedia("(prefers-reduced-motion: reduce)")),z.matches)}},j={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},U={supported:!1,testSupport:function(t){!V&&D&&(q?H(t):O=t)}},V=!1,q=!1;function H(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,D),t.isContextLost())return;U.supported=!0}catch(t){}t.deleteTexture(e),V=!0}s.document&&((D=s.document.createElement("img")).onload=function(){O&&H(O),O=null,q=!0},D.onerror=function(){V=!0,O=null},D.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var G="01";var Z=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function W(t){return 0===t.indexOf("mapbox:")}Z.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",G,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},Z.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},Z.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},Z.prototype.normalizeStyleURL=function(t,e){if(!W(t))return t;var r=J(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},Z.prototype.normalizeGlyphsURL=function(t,e){if(!W(t))return t;var r=J(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},Z.prototype.normalizeSourceURL=function(t,e){if(!W(t))return t;var r=J(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},Z.prototype.normalizeSpriteURL=function(t,e,r,n){var i=J(t);return W(t)?(i.path="/styles/v1"+i.path+"/sprite"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=""+e+r,K(i))},Z.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!W(t))return t;var r=J(t),n=N.devicePixelRatio>=2||512===e?"@2x":"",i=U.supported?".webp":"$1";r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+n+i),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var a=this._customAccessToken||function(t){for(var e=0,r=t;e=0&&t.params.splice(i,1)}if("/"!==n.path&&(t.path=""+n.path+t.path),!j.REQUIRE_ACCESS_TOKEN)return K(t);if(!(e=e||j.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+r);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return t.params=t.params.filter((function(t){return-1===t.indexOf("access_token")})),t.params.push("access_token="+e),K(t)};var Y=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function X(t){return Y.test(t)}var $=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function J(t){var e=t.match($);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function K(t){var e=t.params.length?"?"+t.params.join("&"):"";return t.protocol+"://"+t.authority+t.path+e}var Q="mapbox.eventData";function tt(t){if(!t)return null;var e,r=t.split(".");if(!r||3!==r.length)return null;try{return JSON.parse((e=r[1],decodeURIComponent(s.atob(e).split("").map((function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)})).join(""))))}catch(t){return null}}var et=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};et.prototype.getStorageKey=function(t){var e,r,n=tt(j.ACCESS_TOKEN);return e=n&&n.u?(r=n.u,s.btoa(encodeURIComponent(r).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number("0x"+e))})))):j.ACCESS_TOKEN||"",t?Q+"."+t+":"+e:Q+":"+e},et.prototype.fetchEventData=function(){var t=I("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{var n=s.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var i=s.localStorage.getItem(r);i&&(this.anonId=i)}catch(t){k("Unable to read from LocalStorage")}},et.prototype.saveEventData=function(){var t=I("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{s.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&s.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){k("Unable to write to LocalStorage")}},et.prototype.processRequests=function(t){},et.prototype.postEvent=function(t,e,n,i){var a=this;if(j.EVENTS_URL){var o=J(j.EVENTS_URL);o.params.push("access_token="+(i||j.ACCESS_TOKEN||""));var s={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:r,skuId:G,userId:this.anonId},l=e?p(s,e):s,c={url:K(o),headers:{"Content-Type":"text/plain"},body:JSON.stringify([l])};this.pendingRequest=St(c,(function(t){a.pendingRequest=null,n(t),a.saveEventData(),a.processRequests(i)}))}},et.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var rt,nt,it=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(j.EVENTS_URL&&n||j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return W(t)||X(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),y(this.anonId)||(this.anonId=g()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(et),at=function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){j.EVENTS_URL&&j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return W(t)||X(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=tt(j.ACCESS_TOKEN),n=r?r.u:j.ACCESS_TOKEN,i=n!==this.eventData.tokenU;y(this.anonId)||(this.anonId=g(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{"enabled.telemetry":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(et),ot=new at,st=ot.postTurnstileEvent.bind(ot),lt=new it,ct=lt.postMapLoadEvent.bind(lt),ut="mapbox-tiles",ht=500,ft=50,pt=42e4;function dt(){s.caches&&!rt&&(rt=s.caches.open(ut))}function mt(t,e,r){if(dt(),rt){var n={status:e.status,statusText:e.statusText,headers:new s.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=E(e.headers.get("Cache-Control")||"");i["no-store"]||(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-rDate.now()&&!r["no-cache"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}var vt,xt=1/0;function _t(){return null==vt&&(vt=s.OffscreenCanvas&&new s.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof s.createImageBitmap),vt}var bt={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(bt);var wt=function(t){function e(e,r,n){401===r&&X(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error),Tt=S()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===s.location.protocol?s.parent:s).location.href};function kt(t,e){var r,n=new s.AbortController,i=new s.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:Tt(),signal:n.signal}),a=!1,o=!1,l=(r=i.url).indexOf("sku=")>0&&X(r);"json"===t.type&&i.headers.set("Accept","application/json");var c=function(r,n,a){if(!o){if(r&&"SecurityError"!==r.message&&k(r),n&&a)return u(n);var c=Date.now();s.fetch(i).then((function(r){if(r.ok){var n=l?r.clone():null;return u(r,n,c)}return e(new wt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},u=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&mt(i,n,s),a=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((function(t){o||e(new Error(t.message))}))};return l?yt(i,c):c(null,null),{cancel:function(){o=!0,a||n.abort()}}}var At=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(Tt())&&!/^\w+:/.test(r))){if(s.fetch&&s.Request&&s.AbortController&&s.Request.prototype.hasOwnProperty("signal"))return kt(t,e);if(S()&&self.worker&&self.worker.actor){return self.worker.actor.send("getResource",t,e,void 0,!0)}}var r;return function(t,e){var r=new s.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new wt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},Mt=function(t,e){return At(p(t,{type:"arrayBuffer"}),e)},St=function(t,e){return At(p(t,{method:"POST"}),e)};var Et,Ct,Lt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";Et=[],Ct=0;var It=function(t,e){if(U.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),Ct>=j.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return Et.push(r),r}Ct++;var n=!1,i=function(){if(!n)for(n=!0,Ct--;Et.length&&Ct0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Rt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Ft={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}},Bt=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Nt(t){var e=t.key,r=t.value;return r?[new Bt(e,r,"constants have been deprecated as of v8")]:[]}function jt(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var ne=[Gt,Zt,Wt,Yt,Xt,Qt,$t,ee(Jt),te];function ie(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!ie(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=ne;r255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in r)return r[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf("("),c=i.indexOf(")");if(-1!==l&&c+1===i.length){var u=i.substr(0,l),h=i.substr(l+1,c-(l+1)).split(","),f=1;switch(u){case"rgba":if(4!==h.length)return null;f=o(h.pop());case"rgb":return 3!==h.length?null:[a(h[0]),a(h[1]),a(h[2]),f];case"hsla":if(4!==h.length)return null;f=o(h.pop());case"hsl":if(3!==h.length)return null;var p=(parseFloat(h[0])%360+360)%360/360,d=o(h[1]),m=o(h[2]),g=m<=.5?m*(d+1):m+d-m*d,y=2*m-g;return[n(255*s(y,g,p+1/3)),n(255*s(y,g,p)),n(255*s(y,g,p-1/3)),f];default:return null}}return null}}catch(t){}})),le=se.parseCSSColor,ce=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};ce.parse=function(t){if(t){if(t instanceof ce)return t;if("string"==typeof t){var e=le(t);if(e)return new ce(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},ce.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+i+")"},ce.prototype.toArray=function(){var t=this,e=t.r,r=t.g,n=t.b,i=t.a;return 0===i?[0,0,0,0]:[255*e/i,255*r/i,255*n/i,i]},ce.black=new ce(0,0,0,1),ce.white=new ce(1,1,1,1),ce.transparent=new ce(0,0,0,0),ce.red=new ce(1,0,0,1);var ue=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};ue.prototype.compare=function(t,e){return this.collator.compare(t,e)},ue.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var he=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},fe=function(t){this.sections=t};fe.fromString=function(t){return new fe([new he(t,null,null,null,null)])},fe.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},fe.factory=function(t){return t instanceof fe?t:fe.fromString(t)},fe.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(t){return t.text})).join("")},fe.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function me(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof ce)return!0;if(t instanceof ue)return!0;if(t instanceof fe)return!0;if(t instanceof pe)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if("string"!=typeof s||!(s in _e)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);a=_e[s],n++}else a=Jt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}r=ee(a,o)}else r=_e[i];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var we=function(t){this.type=Qt,this.sections=t};we.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,Zt)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,ee(Wt))))return null;var c=null;if(o["text-color"]&&!(c=e.parse(o["text-color"],1,Xt)))return null;var u=n[n.length-1];u.scale=s,u.font=l,u.textColor=c}else{var h=e.parse(t[a],1,Jt);if(!h)return null;var f=h.type.kind;if("string"!==f&&"value"!==f&&"null"!==f&&"resolvedImage"!==f)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:h,scale:null,font:null,textColor:null})}}return new we(n)},we.prototype.evaluate=function(t){return new fe(this.sections.map((function(e){var r=e.content.evaluate(t);return ge(r)===te?new he("",r,null,null,null):new he(ye(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},we.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},Te.prototype.eachChild=function(t){t(this.input)},Te.prototype.outputDefined=function(){return!1},Te.prototype.serialize=function(){return["image",this.input.serialize()]};var ke={"to-boolean":Yt,"to-color":Xt,"to-number":Zt,"to-string":Wt},Ae=function(t,e){this.type=t,this.args=e};Ae.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=ke[r],i=[],a=1;a4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":de(e[0],e[1],e[2],e[3])))return new ce(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new xe(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s=e[2]||t[1]<=e[1]||t[3]>=e[3])}function ze(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),a=Math.pow(2,e.z);return[Math.round(n*a*Le),Math.round(i*a*Le)]}function Oe(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function De(t,e){for(var r=!1,n=0,i=e.length;n0&&h<0||u<0&&h>0}function Be(t,e,r){for(var n=0,i=r;nr[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}Ie(e,t)}function He(t,e,r,n){for(var i=Math.pow(2,n.z)*Le,a=[n.x*Le,n.y*Le],o=[],s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Xe(t,e)&&(r=!1)})),r}Ze.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(me(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;ne))throw new xe("Input is not a number.");o=s-1}return 0}Je.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Je.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new be(e,[t]):"coerce"===r?new Ae(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||"coerce");else a=r(a,o,e.typeAnnotation||"assert")}if(!(a instanceof ve)&&"resolvedImage"!==a.type.kind&&Ke(a)){var l=new Se;try{a=new ve(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof t+" instead.")},Je.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new Je(this.registry,n,e||null,i,this.errors)},Je.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return"["+t+"]"})).join("");this.errors.push(new qt(n,t))},Je.prototype.checkSubtype=function(t,e){var r=ie(t,e);return r&&this.error(r),r};var tr=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var u=e.parse(s,c,i);if(!u)return null;i=i||u.type,n.push([o,u])}return new tr(i,r,n)},tr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Qe(e,n)].evaluate(t)},tr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var rr=Object.freeze({__proto__:null,number:er,color:function(t,e,r){return new ce(er(t.r,e.r,r),er(t.g,e.g,r),er(t.b,e.b,r),er(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return er(t,e[n],r)}))}}),nr=.95047,ir=1,ar=1.08883,or=4/29,sr=6/29,lr=3*sr*sr,cr=sr*sr*sr,ur=Math.PI/180,hr=180/Math.PI;function fr(t){return t>cr?Math.pow(t,1/3):t/lr+or}function pr(t){return t>sr?t*t*t:lr*(t-or)}function dr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function mr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function gr(t){var e=mr(t.r),r=mr(t.g),n=mr(t.b),i=fr((.4124564*e+.3575761*r+.1804375*n)/nr),a=fr((.2126729*e+.7151522*r+.072175*n)/ir);return{l:116*a-16,a:500*(i-a),b:200*(a-fr((.0193339*e+.119192*r+.9503041*n)/ar)),alpha:t.a}}function yr(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=ir*pr(e),r=nr*pr(r),n=ar*pr(n),new ce(dr(3.2404542*r-1.5371385*e-.4985314*n),dr(-.969266*r+1.8760108*e+.041556*n),dr(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function vr(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var xr={forward:gr,reverse:yr,interpolate:function(t,e,r){return{l:er(t.l,e.l,r),a:er(t.a,e.a,r),b:er(t.b,e.b,r),alpha:er(t.alpha,e.alpha,r)}}},_r={forward:function(t){var e=gr(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*hr;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*ur,r=t.c;return yr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:vr(t.h,e.h,r),c:er(t.c,e.c,r),l:er(t.l,e.l,r),alpha:er(t.alpha,e.alpha,r)}}},br=Object.freeze({__proto__:null,lab:xr,hcl:_r}),wr=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(i=e.parse(i,2,Zt)))return null;var l=[],c=null;"interpolate-hcl"===r||"interpolate-lab"===r?c=Xt:e.expectedType&&"value"!==e.expectedType.kind&&(c=e.expectedType);for(var u=0;u=h)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var m=e.parse(f,d,c);if(!m)return null;c=c||m.type,l.push([h,m])}return"number"===c.kind||"color"===c.kind||"array"===c.kind&&"number"===c.itemType.kind&&"number"==typeof c.N?new wr(c,r,n,i,l):e.error("Type "+re(c)+" is not interpolatable.")},wr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=Qe(e,n),o=e[a],s=e[a+1],l=wr.interpolationFactor(this.interpolation,n,o,s),c=r[a].evaluate(t),u=r[a+1].evaluate(t);return"interpolate"===this.operator?rr[this.type.kind.toLowerCase()](c,u,l):"interpolate-hcl"===this.operator?_r.reverse(_r.interpolate(_r.forward(c),_r.forward(u),l)):xr.reverse(xr.interpolate(xr.forward(c),xr.forward(u),l))},wr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new xe("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new xe("Array index must be an integer, but found "+e+" instead.");return r[e]},Mr.prototype.eachChild=function(t){t(this.index),t(this.input)},Mr.prototype.outputDefined=function(){return!1},Mr.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var Sr=function(t,e){this.type=Yt,this.needle=t,this.haystack=e};Sr.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);return r&&n?ae(r.type,[Yt,Wt,Zt,Gt,Jt])?new Sr(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+re(r.type)+" instead"):null},Sr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!oe(e,["boolean","string","number","null"]))throw new xe("Expected first argument to be of type boolean, string, number or null, but found "+re(ge(e))+" instead.");if(!oe(r,["string","array"]))throw new xe("Expected second argument to be of type array or string, but found "+re(ge(r))+" instead.");return r.indexOf(e)>=0},Sr.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},Sr.prototype.outputDefined=function(){return!0},Sr.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var Er=function(t,e,r){this.type=Zt,this.needle=t,this.haystack=e,this.fromIndex=r};Er.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);if(!r||!n)return null;if(!ae(r.type,[Yt,Wt,Zt,Gt,Jt]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+re(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Zt);return i?new Er(r,n,i):null}return new Er(r,n)},Er.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!oe(e,["boolean","string","number","null"]))throw new xe("Expected first argument to be of type boolean, string, number or null, but found "+re(ge(e))+" instead.");if(!oe(r,["string","array"]))throw new xe("Expected second argument to be of type array or string, but found "+re(ge(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},Er.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},Er.prototype.outputDefined=function(){return!1},Er.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var Cr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Cr.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return c.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof f&&Math.floor(f)!==f)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,ge(f)))return null}else r=ge(f);if(void 0!==i[String(f)])return c.error("Branch labels must be unique.");i[String(f)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,Jt);if(!d)return null;var m=e.parse(t[t.length-1],t.length-1,n);return m?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new Cr(r,n,d,i,a,m):null},Cr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(ge(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Cr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Cr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},Cr.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Zt);if(!r||!n)return null;if(!ae(r.type,[ee(Jt),Wt,Jt]))return e.error("Expected first argument to be of type array or string, but found "+re(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Zt);return i?new Ir(r.type,r,n,i):null}return new Ir(r.type,r,n)},Ir.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!oe(e,["string","array"]))throw new xe("Expected first argument to be of type array or string, but found "+re(ge(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},Ir.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},Ir.prototype.outputDefined=function(){return!1},Ir.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var Dr=Or("==",(function(t,e,r){return e===r}),zr),Rr=Or("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!zr(0,e,r,n)})),Fr=Or("<",(function(t,e,r){return e",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Nr=Or("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),jr=Or(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),Ur=function(t,e,r,n,i){this.type=Wt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};Ur.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Zt);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Wt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Wt)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,Zt)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,Zt))?null:new Ur(r,i,a,o,s)},Ur.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},Ur.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},Ur.prototype.outputDefined=function(){return!1},Ur.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var Vr=function(t){this.type=Zt,this.input=t};Vr.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+re(r.type)+" instead."):new Vr(r):null},Vr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new xe("Expected value to be of type string or array, but found "+re(ge(e))+" instead.")},Vr.prototype.eachChild=function(t){t(this.input)},Vr.prototype.outputDefined=function(){return!1},Vr.prototype.serialize=function(){var t=["length"];return this.eachChild((function(e){t.push(e.serialize())})),t};var qr={"==":Dr,"!=":Rr,">":Br,"<":Fr,">=":jr,"<=":Nr,array:be,at:Mr,boolean:be,case:Lr,coalesce:kr,collator:Ce,format:we,image:Te,in:Sr,"index-of":Er,interpolate:wr,"interpolate-hcl":wr,"interpolate-lab":wr,length:Vr,let:Ar,literal:ve,match:Cr,number:be,"number-format":Ur,object:be,slice:Ir,step:tr,string:be,"to-boolean":Ae,"to-color":Ae,"to-number":Ae,"to-string":Ae,var:$e,within:Ze};function Hr(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=de(r,n,i,o);if(s)throw new xe(s);return new ce(r/255*o,n/255*o,i/255*o,o)}function Gr(t,e){return t in e}function Zr(t,e){var r=e[t];return void 0===r?null:r}function Wr(t){return{type:t}}function Yr(t){return{result:"success",value:t}}function Xr(t){return{result:"error",value:t}}function $r(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function Jr(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function Kr(t){return!!t.expression&&t.expression.interpolated}function Qr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function tn(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function en(t){return t}function rn(t,e){var r,n,i,a="color"===e.type,o=t.stops&&"object"==typeof t.stops[0][0],s=o||void 0!==t.property,l=o||!s,c=t.type||(Kr(e)?"exponential":"interval");if(a&&((t=jt({},t)).stops&&(t.stops=t.stops.map((function(t){return[t[0],ce.parse(t[1])]}))),t.default?t.default=ce.parse(t.default):t.default=ce.parse(e.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!br[t.colorSpace])throw new Error("Unknown color space: "+t.colorSpace);if("exponential"===c)r=sn;else if("interval"===c)r=on;else if("categorical"===c){r=an,n=Object.create(null);for(var u=0,h=t.stops;u=t.stops[n-1][0])return t.stops[n-1][1];var i=Qe(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function sn(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==Qr(r))return nn(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Qe(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],c=rr[e.type]||en;if(t.colorSpace&&"rgb"!==t.colorSpace){var u=br[t.colorSpace];c=function(t,e){return u.reverse(u.interpolate(u.forward(t),u.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function ln(t,e,r){return"color"===e.type?r=ce.parse(r):"formatted"===e.type?r=fe.fromString(r.toString()):"resolvedImage"===e.type?r=pe.fromString(r.toString()):Qr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),nn(r,t.default,e.default)}Ee.register(qr,{error:[{kind:"error"},[Wt],function(t,e){var r=e[0];throw new xe(r.evaluate(t))}],typeof:[Wt,[Jt],function(t,e){return re(ge(e[0].evaluate(t)))}],"to-rgba":[ee(Zt,4),[Xt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Xt,[Zt,Zt,Zt],Hr],rgba:[Xt,[Zt,Zt,Zt,Zt],Hr],has:{type:Yt,overloads:[[[Wt],function(t,e){return Gr(e[0].evaluate(t),t.properties())}],[[Wt,$t],function(t,e){var r=e[0],n=e[1];return Gr(r.evaluate(t),n.evaluate(t))}]]},get:{type:Jt,overloads:[[[Wt],function(t,e){return Zr(e[0].evaluate(t),t.properties())}],[[Wt,$t],function(t,e){var r=e[0],n=e[1];return Zr(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[Jt,[Wt],function(t,e){return Zr(e[0].evaluate(t),t.featureState||{})}],properties:[$t,[],function(t){return t.properties()}],"geometry-type":[Wt,[],function(t){return t.geometryType()}],id:[Jt,[],function(t){return t.id()}],zoom:[Zt,[],function(t){return t.globals.zoom}],"heatmap-density":[Zt,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[Zt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Jt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[Zt,Wr(Zt),function(t,e){for(var r=0,n=0,i=e;n":[Yt,[Wt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[Yt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[Yt,[Wt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[Yt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[Yt,[Wt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[Yt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[Yt,[Jt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[Yt,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[Yt,[ee(Wt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[Yt,[ee(Jt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[Yt,[Wt,ee(Jt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[Yt,[Wt,ee(Jt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Yt,overloads:[[[Yt,Yt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Wr(Yt),function(t,e){for(var r=0,n=e;r0&&"string"==typeof t[0]&&t[0]in qr}function hn(t,e){var r=new Je(qr,[],e?function(t){var e={color:Xt,string:Wt,number:Zt,enum:Wt,boolean:Yt,formatted:Qt,resolvedImage:te};return"array"===t.type?ee(e[t.value]||Jt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Yr(new cn(n,e)):Xr(r.errors)}cn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},cn.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new xe("Expected value to be one of "+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var fn=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!Ye(e.expression)};fn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},fn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var pn=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!Ye(e.expression),this.interpolationType=n};function dn(t,e){if("error"===(t=hn(t,e)).result)return t;var r=t.value.expression,n=We(r);if(!n&&!$r(e))return Xr([new qt("","data expressions not supported")]);var i=Xe(r,["zoom"]);if(!i&&!Jr(e))return Xr([new qt("","zoom expressions not supported")]);var a=gn(r);if(!a&&!i)return Xr([new qt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof qt)return Xr([a]);if(a instanceof wr&&!Kr(e))return Xr([new qt("",'"interpolate" expressions cannot be used with this property')]);if(!a)return Yr(new fn(n?"constant":"source",t.value));var o=a instanceof wr?a.interpolation:void 0;return Yr(new pn(n?"camera":"composite",t.value,a.labels,o))}pn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},pn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},pn.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?wr.interpolationFactor(this.interpolationType,t,e,r):0};var mn=function(t,e){this._parameters=t,this._specification=e,jt(this,rn(this._parameters,this._specification))};function gn(t){var e=null;if(t instanceof Ar)e=gn(t.result);else if(t instanceof kr)for(var r=0,n=t.args;rn.maximum?[new Bt(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function _n(t){var e,r,n,i=t.valueSpec,a=Ut(t.value.type),o={},s="categorical"!==a&&void 0===t.value.property,l=!s,c="array"===Qr(t.value.stops)&&"array"===Qr(t.value.stops[0])&&"object"===Qr(t.value.stops[0][0]),u=yn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===a)return[new Bt(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(vn({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),"array"===Qr(r)&&0===r.length&&e.push(new Bt(t.key,r,"array must have at least one stop")),e},default:function(t){return Hn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===a&&s&&u.push(new Bt(t.key,t.value,'missing required property "property"')),"identity"===a||t.value.stops||u.push(new Bt(t.key,t.value,'missing required property "stops"')),"exponential"===a&&t.valueSpec.expression&&!Kr(t.valueSpec)&&u.push(new Bt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!$r(t.valueSpec)?u.push(new Bt(t.key,t.value,"property functions not supported")):s&&!Jr(t.valueSpec)&&u.push(new Bt(t.key,t.value,"zoom functions not supported"))),"categorical"!==a&&!c||void 0!==t.value.property||u.push(new Bt(t.key,t.value,'"property" property is required')),u;function h(t){var e=[],a=t.value,s=t.key;if("array"!==Qr(a))return[new Bt(s,a,"array expected, "+Qr(a)+" found")];if(2!==a.length)return[new Bt(s,a,"array length 2 expected, length "+a.length+" found")];if(c){if("object"!==Qr(a[0]))return[new Bt(s,a,"object expected, "+Qr(a[0])+" found")];if(void 0===a[0].zoom)return[new Bt(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new Bt(s,a,"object stop key must have value")];if(n&&n>Ut(a[0].zoom))return[new Bt(s,a[0].zoom,"stop zoom values must appear in ascending order")];Ut(a[0].zoom)!==n&&(n=Ut(a[0].zoom),r=void 0,o={}),e=e.concat(yn({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:xn,value:f}}))}else e=e.concat(f({key:s+"[0]",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return un(Vt(a[1]))?e.concat([new Bt(s+"[1]",a[1],"expressions are not allowed in function stops.")]):e.concat(Hn({key:s+"[1]",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function f(t,n){var s=Qr(t.value),l=Ut(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new Bt(t.key,c,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new Bt(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var u="number expected, "+s+" found";return $r(i)&&void 0===a&&(u+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Bt(t.key,c,u)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);ee?1:0}function Sn(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(var e=1;e"===r||"<="===r||">="===r?Cn(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(En))):"all"===r?["all"].concat(t.slice(1).map(En)):"none"===r?["all"].concat(t.slice(1).map(En).map(Pn)):"in"===r?Ln(t[1],t.slice(2)):"!in"===r?Pn(Ln(t[1],t.slice(2))):"has"===r?In(t[1]):"!has"===r?Pn(In(t[1])):"within"!==r||t}function Cn(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function Ln(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?["filter-in-large",t,["literal",e.sort(Mn)]]:["filter-in-small",t,["literal",e]]}}function In(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Pn(t){return["!",t]}function zn(t){return Tn(Vt(t.value))?bn(jt({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):On(t)}function On(t){var e=t.value,r=t.key;if("array"!==Qr(e))return[new Bt(r,e,"array expected, "+Qr(e)+" found")];var n,i=t.styleSpec,a=[];if(e.length<1)return[new Bt(r,e,"filter array must have at least 1 element")];switch(a=a.concat(wn({key:r+"[0]",value:e[0],valueSpec:i.filter_operator,style:t.style,styleSpec:t.styleSpec})),Ut(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===Ut(e[1])&&a.push(new Bt(r,e,'"$type" cannot be use with operator "'+e[0]+'"'));case"==":case"!=":3!==e.length&&a.push(new Bt(r,e,'filter array for operator "'+e[0]+'" must have 3 elements'));case"in":case"!in":e.length>=2&&"string"!==(n=Qr(e[1]))&&a.push(new Bt(r+"[1]",e[1],"string expected, "+n+" found"));for(var o=2;o=u[p+0]&&n>=u[p+1])?(o[f]=!0,a.push(c[f])):o[f]=!1}}},ri.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n),f=l;f<=u;f++)for(var p=c;p<=h;p++){var d=this.d*p+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(p),this._convertFromCellCoord(f+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},ri.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},ri.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},ri.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=ei+this.cells.length+1+1,r=0,n=0;n=0)){var h=t[u];c[u]=ai[l].shallow.indexOf(u)>=0?h:ui(h,e)}t instanceof Error&&(c.message=t.message)}if(c.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(c.$name=l),c}throw new Error("can't serialize object of type "+typeof t)}function hi(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||li(t)||ci(t)||ArrayBuffer.isView(t)||t instanceof ni)return t;if(Array.isArray(t))return t.map(hi);if("object"==typeof t){var e=t.$name||"Object",r=ai[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i=0?s:hi(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var fi=function(){this.first=!0};fi.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function di(t){for(var e=0,r=t;e=65097&&t<=65103)||pi["CJK Compatibility Ideographs"](t)||pi["CJK Compatibility"](t)||pi["CJK Radicals Supplement"](t)||pi["CJK Strokes"](t)||!(!pi["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||pi["CJK Unified Ideographs Extension A"](t)||pi["CJK Unified Ideographs"](t)||pi["Enclosed CJK Letters and Months"](t)||pi["Hangul Compatibility Jamo"](t)||pi["Hangul Jamo Extended-A"](t)||pi["Hangul Jamo Extended-B"](t)||pi["Hangul Jamo"](t)||pi["Hangul Syllables"](t)||pi.Hiragana(t)||pi["Ideographic Description Characters"](t)||pi.Kanbun(t)||pi["Kangxi Radicals"](t)||pi["Katakana Phonetic Extensions"](t)||pi.Katakana(t)&&12540!==t||!(!pi["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!pi["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||pi["Unified Canadian Aboriginal Syllabics"](t)||pi["Unified Canadian Aboriginal Syllabics Extended"](t)||pi["Vertical Forms"](t)||pi["Yijing Hexagram Symbols"](t)||pi["Yi Syllables"](t)||pi["Yi Radicals"](t))))}function gi(t){return!(mi(t)||function(t){return!!(pi["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||pi["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||pi["Letterlike Symbols"](t)||pi["Number Forms"](t)||pi["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||pi["Control Pictures"](t)&&9251!==t||pi["Optical Character Recognition"](t)||pi["Enclosed Alphanumerics"](t)||pi["Geometric Shapes"](t)||pi["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||pi["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||pi["CJK Symbols and Punctuation"](t)||pi.Katakana(t)||pi["Private Use Area"](t)||pi["CJK Compatibility Forms"](t)||pi["Small Form Variants"](t)||pi["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function yi(t){return pi.Arabic(t)||pi["Arabic Supplement"](t)||pi["Arabic Extended-A"](t)||pi["Arabic Presentation Forms-A"](t)||pi["Arabic Presentation Forms-B"](t)}function vi(t){return t>=1424&&t<=2303||pi["Arabic Presentation Forms-A"](t)||pi["Arabic Presentation Forms-B"](t)}function xi(t,e){return!(!e&&vi(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||pi.Khmer(t))}function _i(t){for(var e=0,r=t;e-1&&(Mi=ki),Ai&&Ai(t)};function Ci(){Li.fire(new Ot("pluginStateChange",{pluginStatus:Mi,pluginURL:Si}))}var Li=new Rt,Ii=function(){return Mi},Pi=function(){if(Mi!==bi||!Si)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Mi=wi,Ci(),Si&&Mt({url:Si},(function(t){t?Ei(t):(Mi=Ti,Ci())}))},zi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return Mi===Ti||null!=zi.applyArabicShaping},isLoading:function(){return Mi===wi},setState:function(t){Mi=t.pluginStatus,Si=t.pluginURL},isParsed:function(){return null!=zi.applyArabicShaping&&null!=zi.processBidirectionalText&&null!=zi.processStyledBidirectionalText},getPluginURL:function(){return Si}},Oi=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new fi,this.transition={})};Oi.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var Di=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(tn(t))return new mn(t,e);if(un(t)){var r=dn(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=ce.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};Di.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},Di.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var Ri=function(t){this.property=t,this.value=new Di(t,void 0)};Ri.prototype.transitioned=function(t,e){return new Bi(this.property,this.value,e,p({},t.transition,this.transition),t.now)},Ri.prototype.untransitioned=function(){return new Bi(this.property,this.value,null,{},0)};var Fi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};Fi.prototype.getValue=function(t){return w(this._values[t].value.value)},Fi.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].value=new Di(this._values[t].property,null===e?void 0:w(e))},Fi.prototype.getTransition=function(t){return w(this._values[t].transition)},Fi.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].transition=w(e)||void 0},Fi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);ethis.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var Ni=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Ni.prototype.possiblyEvaluate=function(t,e,r){for(var n=new Vi(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Hi),Zi=function(t){this.specification=t};Zi.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Oi(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Oi(Math.floor(e.zoom),e)),t.expression.evaluate(new Oi(Math.floor(e.zoom+1),e)),e)}},Zi.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Zi.prototype.interpolate=function(t){return t};var Wi=function(t){this.specification=t};Wi.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},Wi.prototype.interpolate=function(){return!1};var Yi=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new Di(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Ri(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};oi("DataDrivenProperty",Hi),oi("DataConstantProperty",qi),oi("CrossFadedDataDrivenProperty",Gi),oi("CrossFadedProperty",Zi),oi("ColorRampProperty",Wi);var Xi="-transition",$i=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new ji(r.layout)),r.paint)){for(var n in this._transitionablePaint=new Fi(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Vi(r.paint)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".layout."+t;if(this._validate(Kn,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return x(t,Xi)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".paint."+t;if(this._validate(Jn,n,t,e,r))return!1}if(x(t,Xi))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;var i=this._transitionablePaint._values[t],a="cross-faded-data-driven"===i.property.specification["property-type"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),b(t,(function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Qn(this,t.call(Xn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Ft,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof Ui&&$r(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(Rt),Ji={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Ki=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Qi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function ta(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i,a=(i=t.type,Ji[i].BYTES_PER_ELEMENT),o=r=ea(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}})),size:ea(r,Math.max(n,e)),alignment:e}}function ea(t,e){return Math.ceil(t/e)*e}Qi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Qi.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},Qi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Qi.prototype.clear=function(){this.length=0},Qi.prototype.resize=function(t){this.reserve(t),this.length=t},Qi.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Qi.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Qi);ra.prototype.bytesPerElement=4,oi("StructArrayLayout2i4",ra);var na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(Qi);na.prototype.bytesPerElement=8,oi("StructArrayLayout4i8",na);var ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);ia.prototype.bytesPerElement=12,oi("StructArrayLayout2i4i12",ia);var aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(Qi);aa.prototype.bytesPerElement=8,oi("StructArrayLayout2i4ub8",aa);var oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Qi);oa.prototype.bytesPerElement=8,oi("StructArrayLayout2f8",oa);var sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l,c)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u){var h=10*t;return this.uint16[h+0]=e,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=a,this.uint16[h+5]=o,this.uint16[h+6]=s,this.uint16[h+7]=l,this.uint16[h+8]=c,this.uint16[h+9]=u,t},e}(Qi);sa.prototype.bytesPerElement=20,oi("StructArrayLayout10ui20",sa);var la=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,h){var f=this.length;return this.resize(f+1),this.emplace(f,t,e,r,n,i,a,o,s,l,c,u,h)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,h,f){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=h,this.int16[p+11]=f,t},e}(Qi);la.prototype.bytesPerElement=24,oi("StructArrayLayout4i4ui4i24",la);var ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(Qi);ca.prototype.bytesPerElement=12,oi("StructArrayLayout3f12",ca);var ua=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Qi);ua.prototype.bytesPerElement=4,oi("StructArrayLayout1ul4",ua);var ha=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c){var u=10*t,h=5*t;return this.int16[u+0]=e,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[h+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,t},e}(Qi);ha.prototype.bytesPerElement=20,oi("StructArrayLayout6i1ul2ui20",ha);var fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);fa.prototype.bytesPerElement=12,oi("StructArrayLayout2i2i2i12",fa);var pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(Qi);pa.prototype.bytesPerElement=16,oi("StructArrayLayout2f1f2i16",pa);var da=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(Qi);da.prototype.bytesPerElement=12,oi("StructArrayLayout2ub2f12",da);var ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(Qi);ma.prototype.bytesPerElement=6,oi("StructArrayLayout3ui6",ma);var ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g){var y=this.length;return this.resize(y+1),this.emplace(y,t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y){var v=24*t,x=12*t,_=48*t;return this.int16[v+0]=e,this.int16[v+1]=r,this.uint16[v+2]=n,this.uint16[v+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[v+10]=l,this.uint16[v+11]=c,this.uint16[v+12]=u,this.float32[x+7]=h,this.float32[x+8]=f,this.uint8[_+36]=p,this.uint8[_+37]=d,this.uint8[_+38]=m,this.uint32[x+10]=g,this.int16[v+22]=y,t},e}(Qi);ga.prototype.bytesPerElement=48,oi("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",ga);var ya=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E){var C=34*t,L=17*t;return this.int16[C+0]=e,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=i,this.int16[C+4]=a,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=h,this.uint16[C+11]=f,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=m,this.uint16[C+15]=g,this.uint16[C+16]=y,this.uint16[C+17]=v,this.uint16[C+18]=x,this.uint16[C+19]=_,this.uint16[C+20]=b,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[L+12]=k,this.float32[L+13]=A,this.float32[L+14]=M,this.float32[L+15]=S,this.float32[L+16]=E,t},e}(Qi);ya.prototype.bytesPerElement=68,oi("StructArrayLayout8i15ui1ul4f68",ya);var va=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Qi);va.prototype.bytesPerElement=4,oi("StructArrayLayout1f4",va);var xa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(Qi);xa.prototype.bytesPerElement=6,oi("StructArrayLayout3i6",xa);var _a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(Qi);_a.prototype.bytesPerElement=8,oi("StructArrayLayout1ul2ui8",_a);var ba=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Qi);ba.prototype.bytesPerElement=4,oi("StructArrayLayout2ui4",ba);var wa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Qi);wa.prototype.bytesPerElement=2,oi("StructArrayLayout1ui2",wa);var Ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(Qi);Ta.prototype.bytesPerElement=16,oi("StructArrayLayout4f16",Ta);var ka=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Ki);ka.prototype.size=20;var Aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ka(this,t)},e}(ha);oi("CollisionBoxArray",Aa);var Ma=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(Ki);Ma.prototype.size=48;var Sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ma(this,t)},e}(ga);oi("PlacedSymbolArray",Sa);var Ea=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(Ki);Ea.prototype.size=68;var Ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ea(this,t)},e}(ya);oi("SymbolInstanceArray",Ca);var La=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(va);oi("GlyphOffsetArray",La);var Ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(xa);oi("SymbolLineVertexArray",Ia);var Pa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(Ki);Pa.prototype.size=8;var za=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Pa(this,t)},e}(_a);oi("FeatureIndexArray",za);var Oa=ta([{name:"a_pos",components:2,type:"Int16"}],4).members,Da=function(t){void 0===t&&(t=[]),this.segments=t};function Ra(t,e){return 256*(t=h(Math.floor(t),0,255))+h(Math.floor(e),0,255)}Da.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>Da.MAX_VERTEX_ARRAY_LENGTH&&k("Max vertices per segment is "+Da.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!i||i.vertexLength+t>Da.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},Da.prototype.get=function(){return this.segments},Da.prototype.destroy=function(){for(var t=0,e=this.segments;t>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),Na=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),ja=Ba,Ua=Ba,Va=Na;ja.murmur3=Ua,ja.murmur2=Va;var qa=function(){this.ids=[],this.positions=[],this.indexed=!1};qa.prototype.add=function(t,e,r,n){this.ids.push(Ga(t)),this.positions.push(e,r,n)},qa.prototype.getPositions=function(t){for(var e=Ga(t),r=0,n=this.ids.length-1;r>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},qa.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Za(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},qa.deserialize=function(t){var e=new qa;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var Ha=Math.pow(2,53)-1;function Ga(t){var e=+t;return!isNaN(e)&&e<=Ha?e:ja(String(t))}function Za(t,e,r,n){for(;r>1],a=r-1,o=n+1;;){do{a++}while(t[a]i);if(a>=o)break;Wa(t,a,o),Wa(e,3*a,3*o),Wa(e,3*a+1,3*o+1),Wa(e,3*a+2,3*o+2)}o-ro.x+1||lo.y+1)&&k("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function vo(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?yo(t):[]}}function xo(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var _o=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ra,this.indexArray=new ma,this.segments=new Da,this.programConfigurations=new uo(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function bo(t,e){for(var r=0;r1){if(Ao(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function Co(t,e){for(var r,n,i,a=!1,o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Lo(t,e){for(var r=!1,n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function Io(t,e,r){var n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;var a=A(t,e,r[0]);return a!==A(t,e,r[1])||a!==A(t,e,r[2])||a!==A(t,e,r[3])}function Po(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function zo(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Oo(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l=po||u<0||u>=po)){var h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),f=h.vertexLength;xo(this.layoutVertexArray,c,u,-1,-1),xo(this.layoutVertexArray,c,u,1,-1),xo(this.layoutVertexArray,c,u,1,1),xo(this.layoutVertexArray,c,u,-1,1),this.indexArray.emplaceBack(f,f+1,f+2),this.indexArray.emplaceBack(f,f+3,f+2),h.vertexLength+=4,h.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},oi("CircleBucket",_o,{omit:["layers"]});var Do=new Yi({"circle-sort-key":new Hi(Ft.layout_circle["circle-sort-key"])}),Ro={paint:new Yi({"circle-radius":new Hi(Ft.paint_circle["circle-radius"]),"circle-color":new Hi(Ft.paint_circle["circle-color"]),"circle-blur":new Hi(Ft.paint_circle["circle-blur"]),"circle-opacity":new Hi(Ft.paint_circle["circle-opacity"]),"circle-translate":new qi(Ft.paint_circle["circle-translate"]),"circle-translate-anchor":new qi(Ft.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new qi(Ft.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new qi(Ft.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new Hi(Ft.paint_circle["circle-stroke-width"]),"circle-stroke-color":new Hi(Ft.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new Hi(Ft.paint_circle["circle-stroke-opacity"])}),layout:Do},Fo="undefined"!=typeof Float32Array?Float32Array:Array;function Bo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function No(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],m=e[12],g=e[13],y=e[14],v=e[15],x=r[0],_=r[1],b=r[2],w=r[3];return t[0]=x*n+_*s+b*h+w*m,t[1]=x*i+_*l+b*f+w*g,t[2]=x*a+_*c+b*p+w*y,t[3]=x*o+_*u+b*d+w*v,x=r[4],_=r[5],b=r[6],w=r[7],t[4]=x*n+_*s+b*h+w*m,t[5]=x*i+_*l+b*f+w*g,t[6]=x*a+_*c+b*p+w*y,t[7]=x*o+_*u+b*d+w*v,x=r[8],_=r[9],b=r[10],w=r[11],t[8]=x*n+_*s+b*h+w*m,t[9]=x*i+_*l+b*f+w*g,t[10]=x*a+_*c+b*p+w*y,t[11]=x*o+_*u+b*d+w*v,x=r[12],_=r[13],b=r[14],w=r[15],t[12]=x*n+_*s+b*h+w*m,t[13]=x*i+_*l+b*f+w*g,t[14]=x*a+_*c+b*p+w*y,t[15]=x*o+_*u+b*d+w*v,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var jo=No;var Uo,Vo=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};function qo(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}Uo=new Fo(3),Fo!=Float32Array&&(Uo[0]=0,Uo[1]=0,Uo[2]=0),function(){var t=new Fo(4);Fo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ho=function(t){var e=t[0],r=t[1];return e*e+r*r},Go=(function(){var t=new Fo(2);Fo!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,Ro)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new _o(t)},e.prototype.queryRadius=function(t){var e=t;return Po("circle-radius",this,e)+Po("circle-stroke-width",this,e)+zo(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=Oo(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),c=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),u="map"===this.paint.get("circle-pitch-alignment"),h=u?l:function(t,e){return t.map((function(t){return Zo(t,e)}))}(l,s),f=u?c*o:c,p=0,d=n;pt.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l80*r){n=a=t[0],i=o=t[1];for(var d=r;da&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-n,o-i))?1/c:0}return us(f,p,r,n,i,c),p}function ls(t,e,r,n,i){var a,o;if(i===Ps(t,e,r,n)>0)for(a=e;a=e;a-=n)o=Cs(a,t[a],t[a+1],o);return o&&Ts(o,o.next)&&(Ls(o),o=o.next),o}function cs(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Ts(n,n.next)&&0!==ws(n.prev,n,n.next))n=n.next;else{if(Ls(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function us(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=vs(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?fs(t,n,i,a):hs(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Ls(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?us(t=ps(cs(t),e,r),e,r,n,i,a,2):2===o&&ds(t,e,r,n,i,a):us(cs(t),e,r,n,i,a,1);break}}}function hs(t){var e=t.prev,r=t,n=t.next;if(ws(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(_s(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ws(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function fs(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ws(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,h=vs(s,l,e,r,n),f=vs(c,u,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=h&&d&&d.z<=f;){if(p!==t.prev&&p!==t.next&&_s(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&_s(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&_s(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=f;){if(d!==t.prev&&d!==t.next&&_s(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function ps(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Ts(i,a)&&ks(i,n,n.next,a)&&Ss(i,a)&&Ss(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),Ls(n),Ls(n.next),n=t=a),n=n.next}while(n!==t);return cs(n)}function ds(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&bs(o,s)){var l=Es(o,s);return o=cs(o,o.next),l=cs(l,l.next),us(o,e,r,n,i,a),void us(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function ms(t,e){return t.x-e.x}function gs(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&i!==n.x&&_s(ar.x||n.x===r.x&&ys(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(t,e)){var r=Es(e,t);cs(e,e.next),cs(r,r.next)}}function ys(t,e){return ws(t.prev,t,e.prev)<0&&ws(e.next,t,t.next)<0}function vs(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function xs(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function bs(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&ks(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(Ss(t,e)&&Ss(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(ws(t.prev,t,e.prev)||ws(t,e.prev,e))||Ts(t,e)&&ws(t.prev,t,t.next)>0&&ws(e.prev,e,e.next)>0)}function ws(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ts(t,e){return t.x===e.x&&t.y===e.y}function ks(t,e,r,n){var i=Ms(ws(t,e,r)),a=Ms(ws(t,e,n)),o=Ms(ws(r,n,t)),s=Ms(ws(r,n,e));return i!==a&&o!==s||!(0!==i||!As(t,r,e))||!(0!==a||!As(t,n,e))||!(0!==o||!As(r,t,n))||!(0!==s||!As(r,e,n))}function As(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Ms(t){return t>0?1:t<0?-1:0}function Ss(t,e){return ws(t.prev,t,t.next)<0?ws(t,e,t.next)>=0&&ws(t,t.prev,e)>=0:ws(t,e,t.prev)<0||ws(t,t.next,e)<0}function Es(t,e){var r=new Is(t.i,t.x,t.y),n=new Is(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Cs(t,e,r,n){var i=new Is(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Ls(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Is(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Ps(t,e,r,n){for(var i=0,a=e,o=r-n;ar;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);Os(t,e,Math.max(r,Math.floor(e-o*l/a+c)),Math.min(n,Math.floor(e+(a-o)*l/a+c)),i)}var u=t[e],h=r,f=n;for(Ds(t,r,e),i(t[n],u)>0&&Ds(t,r,n);h0;)f--}0===i(t[r],u)?Ds(t,r,f):Ds(t,++f,n),f<=e&&(r=f+1),e<=f&&(n=f-1)}}function Ds(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Rs(t,e){return te?1:0}function Fs(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o1)for(var l=0;l0&&(n+=t[i-1].length,r.holes.push(n))}return r},as.default=os;var Us=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ra,this.indexArray=new ma,this.indexArray2=new ba,this.programConfigurations=new uo(t.layers,t.zoom),this.segments=new Da,this.segments2=new Da,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};Us.prototype.populate=function(t,e,r){this.hasPattern=Ns("fill",this.layers,e);for(var n=this.layers[0].layout.get("fill-sort-key"),i=[],a=0,o=t;a>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},Ws.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())c&&(c=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},Ws.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=Ws.types[this.type];function u(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function Qs(t,e,r){if(3===t){var n=new $s(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Js.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Zs(this._pbf,e,this.extent,this._keys,this._values)};var tl={VectorTile:function(t,e){this.layers=t.readFields(Qs,{},e)},VectorTileFeature:Zs,VectorTileLayer:$s},el=tl.VectorTileFeature.types,rl=Math.pow(2,13);function nl(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*rl)+o,i*rl*2,a*rl*2,Math.round(s))}var il=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ia,this.indexArray=new ma,this.programConfigurations=new uo(t.layers,t.zoom),this.segments=new Da,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function al(t,e){return t.x===e.x&&(t.x<0||t.x>po)||t.y===e.y&&(t.y<0||t.y>po)}il.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=Ns("fill-extrusion",this.layers,e);for(var n=0,i=t;npo}))||P.every((function(t){return t.y<0}))||P.every((function(t){return t.y>po}))))for(var m=0,g=0;g=1){var v=d[g-1];if(!al(y,v)){h.vertexLength+4>Da.MAX_VERTEX_ARRAY_LENGTH&&(h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=y.sub(v)._perp()._unit(),_=v.dist(y);m+_>32768&&(m=0),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,m),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,m),m+=_,nl(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,0,m),nl(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,1,m);var b=h.vertexLength;this.indexArray.emplaceBack(b,b+2,b+1),this.indexArray.emplaceBack(b+1,b+2,b+3),h.vertexLength+=4,h.primitiveLength+=2}}}}if(h.vertexLength+l>Da.MAX_VERTEX_ARRAY_LENGTH&&(h=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===el[t.type]){for(var w=[],T=[],k=h.vertexLength,A=0,M=s;A=2&&t[l-1].equals(t[l-2]);)l--;for(var c=0;c0;if(T&&y>c){var A=u.dist(p);if(A>2*h){var M=u.sub(u.sub(p)._mult(h/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,m,0,0,f),p=M}}var S=p&&d,E=S?r:s?"butt":n;if(S&&"round"===E&&(bi&&(E="bevel"),"bevel"===E&&(b>2&&(E="flipbevel"),b100)v=g.mult(-1);else{var C=b*m.add(g).mag()/m.sub(g).mag();v._perp()._mult(C*(k?-1:1))}this.addCurrentVertex(u,v,0,0,f),this.addCurrentVertex(u,v.mult(-1),0,0,f)}else if("bevel"===E||"fakeround"===E){var L=-Math.sqrt(b*b-1),I=k?L:0,P=k?0:L;if(p&&this.addCurrentVertex(u,m,I,P,f),"fakeround"===E)for(var z=Math.round(180*w/Math.PI/20),O=1;O2*h){var j=u.add(d.sub(u)._mult(h/N)._round());this.updateDistance(u,j),this.addCurrentVertex(j,g,0,0,f),u=j}}}}},ml.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,c=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,c,a,!0,-n,i),this.distance>dl/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},ml.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=t.x,l=t.y,c=.5*(this.lineClips?this.scaledDistance*(dl-1):this.scaledDistance);if(this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&c)<<2,c>>6),this.lineClips){var u=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(u,this.lineClipsArray.length)}var h=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,h),o.primitiveLength++),i?this.e2=h:this.e1=h},ml.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},ml.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},oi("LineBucket",ml,{omit:["layers","patternFeatures"]});var gl=new Yi({"line-cap":new qi(Ft.layout_line["line-cap"]),"line-join":new Hi(Ft.layout_line["line-join"]),"line-miter-limit":new qi(Ft.layout_line["line-miter-limit"]),"line-round-limit":new qi(Ft.layout_line["line-round-limit"]),"line-sort-key":new Hi(Ft.layout_line["line-sort-key"])}),yl={paint:new Yi({"line-opacity":new Hi(Ft.paint_line["line-opacity"]),"line-color":new Hi(Ft.paint_line["line-color"]),"line-translate":new qi(Ft.paint_line["line-translate"]),"line-translate-anchor":new qi(Ft.paint_line["line-translate-anchor"]),"line-width":new Hi(Ft.paint_line["line-width"]),"line-gap-width":new Hi(Ft.paint_line["line-gap-width"]),"line-offset":new Hi(Ft.paint_line["line-offset"]),"line-blur":new Hi(Ft.paint_line["line-blur"]),"line-dasharray":new Zi(Ft.paint_line["line-dasharray"]),"line-pattern":new Gi(Ft.paint_line["line-pattern"]),"line-gradient":new Wi(Ft.paint_line["line-gradient"])}),layout:gl},vl=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new Oi(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Hi),xl=new vl(yl.paint.properties["line-width"].specification);xl.useIntegerZoom=!0;var _l=function(t){function e(e){t.call(this,e,yl),this.gradientVersion=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){if("line-gradient"===t){var e=this._transitionablePaint._values["line-gradient"].value.expression;this.stepInterpolant=e._styleExpression.expression instanceof tr,this.gradientVersion=(this.gradientVersion+1)%l}},e.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values["line-floorwidth"]=xl.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new ml(t)},e.prototype.queryRadius=function(t){var e=t,r=bl(Po("line-width",this,e),Po("line-gap-width",this,e)),n=Po("line-offset",this,e);return r/2+Math.abs(n)+zo(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=Oo(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),c=s/2*bl(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),u=this.paint.get("line-offset").evaluate(e,r);return u&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i=3)for(var a=0;a0?e+2*t:t}var wl=ta([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Tl=ta([{name:"a_projected_pos",components:3,type:"Float32"}],4),kl=(ta([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),ta([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),Al=(ta([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]),ta([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),Ml=ta([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function Sl(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),zi.applyArabicShaping&&(t=zi.applyArabicShaping(t)),t}(t.text,e,r)})),t}ta([{name:"triangle",components:3,type:"Uint16"}]),ta([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),ta([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),ta([{type:"Float32",name:"offsetX"}]),ta([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var El={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var Cl=24,Ll=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},Il=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m},Pl=zl;function zl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}zl.Varint=0,zl.Fixed64=1,zl.Bytes=2,zl.Fixed32=5;var Ol=4294967296,Dl=1/Ol,Rl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function Fl(t){return t.type===zl.Bytes?t.readVarint()+t.pos:t.pos+1}function Bl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Nl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function jl(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Jl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}zl.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Xl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Jl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Xl(this.buf,this.pos)+Xl(this.buf,this.pos+4)*Ol;return this.pos+=8,t},readSFixed64:function(){var t=Xl(this.buf,this.pos)+Jl(this.buf,this.pos+4)*Ol;return this.pos+=8,t},readFloat:function(){var t=Ll(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Ll(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Bl(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Bl(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Rl?function(t,e,r){return Rl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==zl.Bytes)return t.push(this.readVarint(e));var r=Fl(this);for(t=t||[];this.pos127;);else if(e===zl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===zl.Fixed32)this.pos+=4;else{if(e!==zl.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Nl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Il(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Il(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&Nl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,zl.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,jl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ul,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,Hl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Vl,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,ql,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Gl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Zl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Wl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Yl,e)},writeBytesField:function(t,e){this.writeTag(t,zl.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,zl.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,zl.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,zl.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,zl.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,zl.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,zl.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,zl.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,zl.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,zl.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var Kl=3;function Ql(t,e,r){1===t&&r.readMessage(tc,e)}function tc(t,e,r){if(3===t){var n=r.readMessage(ec,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,c=n.top,u=n.advance;e.push({id:i,bitmap:new Jo({width:o+2*Kl,height:s+2*Kl},a),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function ec(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var rc=Kl;function nc(t){for(var e=0,r=0,n=0,i=t;n=0;f--){var p=o[f];if(!(h.w>p.w||h.h>p.h)){if(h.x=p.x,h.y=p.y,l=Math.max(l,h.y+h.h),s=Math.max(s,h.x+h.w),h.w===p.w&&h.h===p.h){var d=o.pop();f0&&B>A&&(A=B)}else{var N=r[S.fontStack],j=N&&N[C];if(j&&j.rect)P=j.rect,I=j.metrics;else{var U=e[S.fontStack],V=U&&U[C];if(!V)continue;I=V.metrics}L=(b-S.scale)*Cl}D?(t.verticalizable=!0,k.push({glyph:C,imageName:z,x:f,y:p+L,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:I,rect:P}),f+=O*S.scale+c):(k.push({glyph:C,imageName:z,x:f,y:p+L,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:I,rect:P}),f+=I.advance*S.scale+c)}if(0!==k.length){var q=f-c;d=Math.max(q,d),wc(k,0,k.length-1,g,A)}f=0;var H=a*b+A;T.lineOffset=Math.max(A,w),p+=H,m=Math.max(H,m),++y}else p+=a,++y}var G=p-cc,Z=bc(o),W=Z.horizontalAlign,Y=Z.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var c=(e-r)*i,u=0;u=a!==o?-s*n-cc:(-n*l+.5)*o;for(var h=0,f=t;h=0&&n>=t&&pc[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},hc.prototype.substring=function(t,e){var r=new hc;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},hc.prototype.toString=function(){return this.text},hc.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},hc.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(uc.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var pc={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},dc={};function mc(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*Cl/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function gc(t,e,r,n){var i=Math.pow(t-e,2);return n?t=0,u=0,h=0;h-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=h.dist(f)}return!0}function Ic(t){for(var e=0,r=0;rc){var d=(c-l)/p,m=er(h.x,f.x,d),g=er(h.y,f.y,d),y=new kc(m,g,f.angleTo(h),u);return y._round(),!o||Lc(t,y,s,o,e)?y:void 0}l+=p}}function Dc(t,e,r,n,i,a,o,s,l){var c=Pc(n,a,o),u=zc(n,i),h=u*o,f=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&_=0&&b=0&&f+c<=u){var w=new kc(_,b,v,d);w._round(),n&&!Lc(t,w,a,n,i)||p.push(w)}}h+=y}return s||p.length||o||(p=Rc(t,h/2,r,n,i,a,o,!0,l)),p}function Fc(t,e,r,n,i){for(var o=[],s=0;s=n&&f.x>=n||(h.x>=n?h=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round():f.x>=n&&(f=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round()),h.y>=i&&f.y>=i||(h.y>=i?h=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round():f.y>=i&&(f=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round()),c&&h.equals(c[c.length-1])||(c=[h],o.push(c)),c.push(f)))))}return o}var Bc=ic;function Nc(t,e,r,n){var i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2*Bc,c=o.paddedRect.h-2*Bc,u=t.right-t.left,h=t.bottom-t.top,f=o.stretchX||[[0,l]],p=o.stretchY||[[0,c]],d=function(t,e){return t+e[1]-e[0]},m=f.reduce(d,0),g=p.reduce(d,0),y=l-m,v=c-g,x=0,_=m,b=0,w=g,T=0,k=y,A=0,M=v;if(o.content&&n){var S=o.content;x=jc(f,0,S[0]),b=jc(p,0,S[1]),_=jc(f,S[0],S[2]),w=jc(p,S[1],S[3]),T=S[0]-x,A=S[1]-b,k=S[2]-S[0]-_,M=S[3]-S[1]-w}var E=function(n,i,l,c){var f=Vc(n.stretch-x,_,u,t.left),p=qc(n.fixed-T,k,n.stretch,m),d=Vc(i.stretch-b,w,h,t.top),y=qc(i.fixed-A,M,i.stretch,g),v=Vc(l.stretch-x,_,u,t.left),S=qc(l.fixed-T,k,l.stretch,m),E=Vc(c.stretch-b,w,h,t.top),C=qc(c.fixed-A,M,c.stretch,g),L=new a(f,d),I=new a(v,d),P=new a(v,E),z=new a(f,E),O=new a(p/s,y/s),D=new a(S/s,C/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];L._matMult(N),I._matMult(N),z._matMult(N),P._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=i.stretch+i.fixed,q=c.stretch+c.fixed;return{tl:L,tr:I,bl:z,br:P,tex:{x:o.paddedRect.x+Bc+j,y:o.paddedRect.y+Bc+V,w:U-j,h:q-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:O,pixelOffsetBR:D,minFontScaleX:k/s/u,minFontScaleY:M/s/h,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var C=Uc(f,y,m),L=Uc(p,v,g),I=0;I0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var m=o.top*s-l,g=o.bottom*s+l,y=o.left*s-l,v=o.right*s+l,x=o.collisionPadding;if(x&&(y-=x[0]*s,m-=x[1]*s,v+=x[2]*s,g+=x[3]*s),u){var _=new a(y,m),b=new a(v,m),w=new a(y,g),T=new a(v,g),k=u*Math.PI/180;_._rotate(k),b._rotate(k),w._rotate(k),T._rotate(k),y=Math.min(_.x,b.x,w.x,T.x),v=Math.max(_.x,b.x,w.x,T.x),m=Math.min(_.y,b.y,w.y,T.y),g=Math.max(_.y,b.y,w.y,T.y)}t.emplaceBack(e.x,e.y,y,m,v,g,r,n,i)}this.boxEndIndex=t.length},Gc=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Zc),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Zc(t,e){return te?1:0}function Wc(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],c=0;co)&&(o=u.x),(!c||u.y>s)&&(s=u.y)}var h=o-n,f=s-i,p=Math.min(h,f),d=p/2,m=new Gc([],Yc);if(0===p)return new a(n,i);for(var g=n;gv.d||!v.d)&&(v=_,r&&console.log("found best %d after %d probes",Math.round(1e4*_.d)/1e4,x)),_.max-v.d<=e||(d=_.h/2,m.push(new Xc(_.p.x-d,_.p.y-d,d,t)),m.push(new Xc(_.p.x+d,_.p.y-d,d,t)),m.push(new Xc(_.p.x-d,_.p.y+d,d,t)),m.push(new Xc(_.p.x+d,_.p.y+d,d,t)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+v.d)),v.p}function Yc(t,e){return e.max-t.max}function Xc(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;it.y!=u.y>t.y&&t.x<(u.x-c.x)*(t.y-c.y)/(u.y-c.y)+c.x&&(r=!r),n=Math.min(n,Eo(t,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Gc.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Gc.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Gc.prototype.peek=function(){return this.data[0]},Gc.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},Gc.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t=0)break;e[t]=o,t=a}e[t]=i};var $c=7,Jc=Number.POSITIVE_INFINITY;function Kc(t,e){return e[1]!==Jc?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-$c;break;case"bottom-right":case"bottom-left":case"bottom":i=-r+$c}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=i-$c;break;case"bottom-right":case"bottom-left":n=-i+$c;break;case"bottom":n=-e+$c;break;case"top":n=e-$c}switch(t){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=e;break;case"right":r=-e}return[r,n]}(t,e[0])}function Qc(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var tu=255,eu=tu*Ac;function ru(t,e,r,n,i,o,s,l,c,u,h,f,p,d,m){var g=function(t,e,r,n,i,o,s,l){for(var c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=[],h=0,f=e.positionedLines;heu&&k(t.layerIds[0]+': Value for "text-size" is >= '+tu+'. Reduce your "text-size".'):"composite"===y.kind&&((v=[Ac*d.compositeTextSizes[0].evaluate(s,{},m),Ac*d.compositeTextSizes[1].evaluate(s,{},m)])[0]>eu||v[1]>eu)&&k(t.layerIds[0]+': Value for "text-size" is >= '+tu+'. Reduce your "text-size".'),t.addSymbols(t.text,g,v,l,o,s,u,e,c.lineStartIndex,c.lineLength,p,m);for(var x=0,_=h;x<_.length;x+=1)f[_[x]]=t.text.placedSymbolArray.length-1;return 4*g.length}function nu(t){for(var e in t)return t[e];return null}function iu(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])0)&&("constant"!==a.value.kind||a.value.value.length>0),c="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,u=i.get("symbol-sort-key");if(this.features=[],l||c){for(var h=e.iconDependencies,f=e.glyphDependencies,p=e.availableImages,d=new Oi(this.zoom),m=0,g=t;m=0;for(var z=0,O=k.sections;z=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l0},fu.prototype.hasIconData=function(){return this.icon.segments.get().length>0},fu.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},fu.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},fu.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},fu.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},oi("SymbolBucket",fu,{omit:["layers","collisionBoxArray","features","compareText"]}),fu.MAX_GLYPHS=65535,fu.addDynamicAttributes=lu;var pu=new Yi({"symbol-placement":new qi(Ft.layout_symbol["symbol-placement"]),"symbol-spacing":new qi(Ft.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new qi(Ft.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Hi(Ft.layout_symbol["symbol-sort-key"]),"symbol-z-order":new qi(Ft.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new qi(Ft.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new qi(Ft.layout_symbol["icon-ignore-placement"]),"icon-optional":new qi(Ft.layout_symbol["icon-optional"]),"icon-rotation-alignment":new qi(Ft.layout_symbol["icon-rotation-alignment"]),"icon-size":new Hi(Ft.layout_symbol["icon-size"]),"icon-text-fit":new qi(Ft.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new qi(Ft.layout_symbol["icon-text-fit-padding"]),"icon-image":new Hi(Ft.layout_symbol["icon-image"]),"icon-rotate":new Hi(Ft.layout_symbol["icon-rotate"]),"icon-padding":new qi(Ft.layout_symbol["icon-padding"]),"icon-keep-upright":new qi(Ft.layout_symbol["icon-keep-upright"]),"icon-offset":new Hi(Ft.layout_symbol["icon-offset"]),"icon-anchor":new Hi(Ft.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new qi(Ft.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new qi(Ft.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new qi(Ft.layout_symbol["text-rotation-alignment"]),"text-field":new Hi(Ft.layout_symbol["text-field"]),"text-font":new Hi(Ft.layout_symbol["text-font"]),"text-size":new Hi(Ft.layout_symbol["text-size"]),"text-max-width":new Hi(Ft.layout_symbol["text-max-width"]),"text-line-height":new qi(Ft.layout_symbol["text-line-height"]),"text-letter-spacing":new Hi(Ft.layout_symbol["text-letter-spacing"]),"text-justify":new Hi(Ft.layout_symbol["text-justify"]),"text-radial-offset":new Hi(Ft.layout_symbol["text-radial-offset"]),"text-variable-anchor":new qi(Ft.layout_symbol["text-variable-anchor"]),"text-anchor":new Hi(Ft.layout_symbol["text-anchor"]),"text-max-angle":new qi(Ft.layout_symbol["text-max-angle"]),"text-writing-mode":new qi(Ft.layout_symbol["text-writing-mode"]),"text-rotate":new Hi(Ft.layout_symbol["text-rotate"]),"text-padding":new qi(Ft.layout_symbol["text-padding"]),"text-keep-upright":new qi(Ft.layout_symbol["text-keep-upright"]),"text-transform":new Hi(Ft.layout_symbol["text-transform"]),"text-offset":new Hi(Ft.layout_symbol["text-offset"]),"text-allow-overlap":new qi(Ft.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new qi(Ft.layout_symbol["text-ignore-placement"]),"text-optional":new qi(Ft.layout_symbol["text-optional"])}),du={paint:new Yi({"icon-opacity":new Hi(Ft.paint_symbol["icon-opacity"]),"icon-color":new Hi(Ft.paint_symbol["icon-color"]),"icon-halo-color":new Hi(Ft.paint_symbol["icon-halo-color"]),"icon-halo-width":new Hi(Ft.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Hi(Ft.paint_symbol["icon-halo-blur"]),"icon-translate":new qi(Ft.paint_symbol["icon-translate"]),"icon-translate-anchor":new qi(Ft.paint_symbol["icon-translate-anchor"]),"text-opacity":new Hi(Ft.paint_symbol["text-opacity"]),"text-color":new Hi(Ft.paint_symbol["text-color"],{runtimeType:Xt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new Hi(Ft.paint_symbol["text-halo-color"]),"text-halo-width":new Hi(Ft.paint_symbol["text-halo-width"]),"text-halo-blur":new Hi(Ft.paint_symbol["text-halo-blur"]),"text-translate":new qi(Ft.paint_symbol["text-translate"]),"text-translate-anchor":new qi(Ft.paint_symbol["text-translate-anchor"])}),layout:pu},mu=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Gt,this.defaultValue=t};mu.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},mu.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},mu.prototype.outputDefined=function(){return!1},mu.prototype.serialize=function(){return null},oi("FormatSectionOverride",mu,{omit:["defaultValue"]});var gu=function(t){function e(e){t.call(this,e,du)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0,o=n;a",targetMapId:n,sourceMapId:a.mapId})}}},Lu.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else S()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},Lu.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},Lu.prototype.processTask=function(t,e){var r=this;if(""===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(hi(e.error)):n(null,hi(e.data)))}else{var i=!1,a=L(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:"",sourceMapId:r.mapId,error:e?ui(e):null,data:ui(n,a)},a)}:function(t){i=!0},s=null,l=hi(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var c=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,c[0],l.source)[c[1]](l,o)}else o(new Error("Could not find function "+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},Lu.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var Pu=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Pu.prototype.setNorthEast=function(t){return this._ne=t instanceof Ou?new Ou(t.lng,t.lat):Ou.convert(t),this},Pu.prototype.setSouthWest=function(t){return this._sw=t instanceof Ou?new Ou(t.lng,t.lat):Ou.convert(t),this},Pu.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof Ou)e=t,r=t;else{if(!(t instanceof Pu)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){var a=t;return this.extend(Pu.convert(a))}var o=t;return this.extend(Ou.convert(o))}return this}if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Ou(e.lng,e.lat),this._ne=new Ou(r.lng,r.lat)),this},Pu.prototype.getCenter=function(){return new Ou((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Pu.prototype.getSouthWest=function(){return this._sw},Pu.prototype.getNorthEast=function(){return this._ne},Pu.prototype.getNorthWest=function(){return new Ou(this.getWest(),this.getNorth())},Pu.prototype.getSouthEast=function(){return new Ou(this.getEast(),this.getSouth())},Pu.prototype.getWest=function(){return this._sw.lng},Pu.prototype.getSouth=function(){return this._sw.lat},Pu.prototype.getEast=function(){return this._ne.lng},Pu.prototype.getNorth=function(){return this._ne.lat},Pu.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Pu.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Pu.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Pu.prototype.contains=function(t){var e=Ou.convert(t),r=e.lng,n=e.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},Pu.convert=function(t){return!t||t instanceof Pu?t:new Pu(t)};var zu=6371008.8,Ou=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};Ou.prototype.wrap=function(){return new Ou(f(this.lng,-180,180),this.lat)},Ou.prototype.toArray=function(){return[this.lng,this.lat]},Ou.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},Ou.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return zu*Math.acos(Math.min(i,1))},Ou.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Pu(new Ou(this.lng-r,this.lat-e),new Ou(this.lng+r,this.lat+e))},Ou.convert=function(t){if(t instanceof Ou)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Ou(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Ou(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")};var Du=2*Math.PI*zu;function Ru(t){return Du*Math.cos(t*Math.PI/180)}function Fu(t){return(180+t)/360}function Bu(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Nu(t,e){return t/Ru(e)}function ju(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Uu=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Uu.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Ou.convert(t);return new Uu(Fu(r.lng),Bu(r.lat),Nu(e,r.lat))},Uu.prototype.toLngLat=function(){return new Ou(360*this.x-180,ju(this.y))},Uu.prototype.toAltitude=function(){return t=this.z,e=this.y,t*Ru(ju(e));var t,e},Uu.prototype.meterInMercatorCoordinateUnits=function(){return 1/Du*(t=ju(this.y),1/Math.cos(t*Math.PI/180));var t};var Vu=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Gu(0,t,t,e,r)};Vu.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Vu.prototype.url=function(t,e){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=Iu(256*r,256*(n=Math.pow(2,i)-n-1),i),o=Iu(256*(r+1),256*(n+1),i),a[0]+","+a[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,i="",a=t;a>0;a--)i+=(e&(n=1<this.canonical.z?new Hu(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Hu(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Hu.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?Gu(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Gu(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Hu.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},Hu.prototype.children=function(t){if(this.overscaledZ>=t)return[new Hu(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Hu(e,this.wrap,e,r,n),new Hu(e,this.wrap,e,r+1,n),new Hu(e,this.wrap,e,r,n+1),new Hu(e,this.wrap,e,r+1,n+1)]},Hu.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Zu.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Zu.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Zu.prototype.getPixels=function(){return new Ko({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Zu.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,c=a;c=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},Ju.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new tl.VectorTile(new Pl(this.rawTileData)).layers,this.sourceLayerCoder=new Wu(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Ju.prototype.query=function(t,e,r,n){var i=this;this.loadVTLayers();for(var o=t.params||{},s=po/t.tileSize/t.scale,l=An(o.filter),c=t.queryGeometry,u=t.queryPadding*s,h=Qu(c),f=this.grid.query(h.minX-u,h.minY-u,h.maxX+u,h.maxY+u),p=Qu(t.cameraQueryGeometry),d=0,m=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,(function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o=l.x&&i>=l.y)return!0}var c=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var u=0,h=c;u=0)return!0;return!1}(a,h)){var f=this.sourceLayerCoder.decode(r),d=this.vtLayers[f].feature(n);if(i.needGeometry){var m=vo(d,!0);if(!i.filter(new Oi(this.tileID.overscaledZ),m,this.tileID.canonical))return}else if(!i.filter(new Oi(this.tileID.overscaledZ),d))return;for(var g=this.getId(d,f),y=0;yn)i=!1;else if(e)if(this.expirationTimeft&&(t.getActor().send("enforceCacheSizeLimit",ht),xt=0)},t.clamp=h,t.clearTileCache=function(t){var e=s.caches.delete(ut);t&&e.catch(t).then((function(){return t()}))},t.clipLine=Fc,t.clone=function(t){var e=new Fo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=w,t.clone$2=function(t){var e=new Fo(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Ml,t.config=j,t.create=function(){var t=new Fo(16);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new Fo(9);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new Fo(4);return Fo!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=hn,t.createLayout=ta,t.createStyleLayer=function(t){return"custom"===t.type?new bu(t):new wu[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=er,t.offscreenCanvasSupported=_t,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t},t.parseGlyphPBF=function(t){return new Pl(t).readFields(Ql,[])},t.pbf=Pl,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=po/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,c=t.layers[0]._unevaluatedLayout._values,u={};if("composite"===t.textSizeData.kind){var h=t.textSizeData,f=h.minZoom,p=h.maxZoom;u.compositeTextSizes=[c["text-size"].possiblyEvaluate(new Oi(f),o),c["text-size"].possiblyEvaluate(new Oi(p),o)]}if("composite"===t.iconSizeData.kind){var d=t.iconSizeData,m=d.minZoom,g=d.maxZoom;u.compositeIconSizes=[c["icon-size"].possiblyEvaluate(new Oi(m),o),c["icon-size"].possiblyEvaluate(new Oi(g),o)]}u.layoutTextSize=c["text-size"].possiblyEvaluate(new Oi(t.zoom+1),o),u.layoutIconSize=c["icon-size"].possiblyEvaluate(new Oi(t.zoom+1),o),u.textMaxSize=c["text-size"].possiblyEvaluate(new Oi(18));for(var y=l.get("text-line-height")*Cl,v="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),x=l.get("text-keep-upright"),_=l.get("text-size"),b=function(){var a=T[w],s=l.get("text-font").evaluate(a,{},o).join(","),c=_.evaluate(a,{},o),h=u.layoutTextSize.evaluate(a,{},o),f=u.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,m=[0,0];if(d){var g=d.toString(),b=l.get("text-letter-spacing").evaluate(a,{},o)*Cl,A=function(t){for(var e=0,r=t;e=po||h.y<0||h.y>=po||function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,A){var M,S,E,C,L,I=t.addToLineVertexArray(e,r),P=0,z=0,O=0,D=0,R=-1,F=-1,B={},N=ja(""),j=0,U=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(j=(M=s.layout.get("text-offset").evaluate(_,{},T).map((function(t){return t*Cl})))[0],U=M[1]):(j=s.layout.get("text-radial-offset").evaluate(_,{},T)*Cl,U=Jc),t.allowVerticalPlacement&&n.vertical){var V=s.layout.get("text-rotate").evaluate(_,{},T)+90,q=n.vertical;C=new Hc(l,e,c,u,h,q,f,p,d,V),o&&(L=new Hc(l,e,c,u,h,o,g,y,d,V))}if(i){var H=s.layout.get("icon-rotate").evaluate(_,{}),G="none"!==s.layout.get("icon-text-fit"),Z=Nc(i,H,w,G),W=o?Nc(o,H,w,G):void 0;E=new Hc(l,e,c,u,h,i,g,y,!1,H),P=4*Z.length;var Y=t.iconSizeData,X=null;"source"===Y.kind?(X=[Ac*s.layout.get("icon-size").evaluate(_,{})])[0]>eu&&k(t.layerIds[0]+': Value for "icon-size" is >= '+tu+'. Reduce your "icon-size".'):"composite"===Y.kind&&((X=[Ac*b.compositeIconSizes[0].evaluate(_,{},T),Ac*b.compositeIconSizes[1].evaluate(_,{},T)])[0]>eu||X[1]>eu)&&k(t.layerIds[0]+': Value for "icon-size" is >= '+tu+'. Reduce your "icon-size".'),t.addSymbols(t.icon,Z,X,x,v,_,!1,e,I.lineStartIndex,I.lineLength,-1,T),R=t.icon.placedSymbolArray.length-1,W&&(z=4*W.length,t.addSymbols(t.icon,W,X,x,v,_,lc.vertical,e,I.lineStartIndex,I.lineLength,-1,T),F=t.icon.placedSymbolArray.length-1)}for(var $ in n.horizontal){var J=n.horizontal[$];if(!S){N=ja(J.text);var K=s.layout.get("text-rotate").evaluate(_,{},T);S=new Hc(l,e,c,u,h,J,f,p,d,K)}var Q=1===J.positionedLines.length;if(O+=ru(t,e,J,a,s,d,_,m,I,n.vertical?lc.horizontal:lc.horizontalOnly,Q?Object.keys(n.horizontal):[$],B,R,b,T),Q)break}n.vertical&&(D+=ru(t,e,n.vertical,a,s,d,_,m,I,lc.vertical,["vertical"],B,F,b,T));var tt=S?S.boxStartIndex:t.collisionBoxArray.length,et=S?S.boxEndIndex:t.collisionBoxArray.length,rt=C?C.boxStartIndex:t.collisionBoxArray.length,nt=C?C.boxEndIndex:t.collisionBoxArray.length,it=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,ot=L?L.boxStartIndex:t.collisionBoxArray.length,st=L?L.boxEndIndex:t.collisionBoxArray.length,lt=-1,ct=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};lt=ct(S,lt),lt=ct(C,lt),lt=ct(E,lt);var ut=(lt=ct(L,lt))>-1?1:0;ut&&(lt*=A/Cl),t.glyphOffsetArray.length>=fu.MAX_GLYPHS&&k("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==_.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,_.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,tt,et,rt,nt,it,at,ot,st,c,O,D,P,z,ut,0,f,j,U,lt)}(t,h,s,r,n,i,f,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,v,w,M,l,_,T,S,d,e,a,c,u,o)};if("line"===E)for(var P=0,z=Fc(e.geometry,0,0,po,po);P1){var U=Oc(j,A,r.vertical||m,n,g,x);U&&I(j,U)}}else if("Polygon"===e.type)for(var V=0,q=Fs(e.geometry,0);V=E.maxzoom||"none"!==E.visibility&&(o(S,this.zoom,n),(m[E.id]=E.createBucket({index:u.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:_,sourceID:this.source})).populate(b,g,this.tileID.canonical),u.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var C=t.mapObject(g.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(C).length?a.send("getGlyphs",{uid:this.uid,stacks:C},(function(t,e){h||(h=t,f=e,P.call(l))})):f={};var L=Object.keys(g.iconDependencies);L.length?a.send("getImages",{icons:L,source:this.source,tileID:this.tileID,type:"icons"},(function(t,e){h||(h=t,p=e,P.call(l))})):p={};var I=Object.keys(g.patternDependencies);function P(){if(h)return s(h);if(f&&p&&d){var e=new i(f),r=new t.ImageAtlas(p,d);for(var a in m){var l=m[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,f,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(g,this.tileID.canonical,r.patternPositions))}this.status="done",s(null,{buckets:t.values(m).filter((function(t){return!t.isEmpty()})),featureIndex:u,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?f:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}I.length?a.send("getImages",{icons:I,source:this.source,tileID:this.tileID,type:"patterns"},(function(t,e){h||(h=t,d=e,P.call(l))})):d={},P.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status="done",n.loaded[i]=s,r(e);var l=a.rawData,c={};a.expires&&(c.expires=a.expires),a.cacheControl&&(c.cacheControl=a.cacheControl);var u={};if(o){var h=o.finish();h&&(u.resourceTiming=JSON.parse(JSON.stringify(h)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,c,u))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var c=t.window.ImageBitmap,u=function(){this.loaded={}};u.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=c&&a instanceof c?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},u.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},u.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var h=function t(e,r){var n,i=e&&e.type;if("FeatureCollection"===i)for(n=0;n=0!=!!e&&t.reverse()}var d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,m=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};m.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function I(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s>1;O(t,e,o,n,i,a%2),z(t,e,r,n,o-1,a+1),z(t,e,r,o+1,i,a+1)}}function O(t,e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);O(t,e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}var h=e[2*r+a],f=n,p=i;for(D(t,e,n,r),e[2*i+a]>h&&D(t,e,n,i);fh;)p--}e[2*n+a]===h?D(t,e,n,p):D(t,e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}function D(t,e,r,n){R(t,r,n),R(e,2*r,2*n),R(e,2*r+1,2*n+1)}function R(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function F(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}b.fromVectorTileJs=w,b.fromGeojsonVt=T,b.GeoJSONWrapper=k;var B=function(t){return t[0]},N=function(t){return t[1]},j=function(t,e,r,n,i){void 0===e&&(e=B),void 0===r&&(r=N),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l=r&&s<=i&&l>=n&&l<=a&&u.push(t[d]);else{var m=Math.floor((p+f)/2);s=e[2*m],l=e[2*m+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[m]);var g=(h+1)%2;(0===h?r<=s:n<=l)&&(c.push(p),c.push(m-1),c.push(g)),(0===h?i>=s:a>=l)&&(c.push(m+1),c.push(f),c.push(g))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},j.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var c=o.pop(),u=o.pop(),h=o.pop();if(u-h<=a)for(var f=h;f<=u;f++)F(e[2*f],e[2*f+1],r,n)<=l&&s.push(t[f]);else{var p=Math.floor((h+u)/2),d=e[2*p],m=e[2*p+1];F(d,m,r,n)<=l&&s.push(t[p]);var g=(c+1)%2;(0===c?r-i<=d:n-i<=m)&&(o.push(h),o.push(p-1),o.push(g)),(0===c?r+i>=d:n+i>=m)&&(o.push(p+1),o.push(u),o.push(g))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var U={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},V=function(t){this.options=X(Object.create(U),t),this.trees=new Array(this.options.maxZoom+1)};function q(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function H(t,e){var r=t.geometry.coordinates,n=r[0],i=r[1];return{x:W(n),y:Y(i),zoom:1/0,index:e,parentId:-1}}function G(t){return{type:"Feature",id:t.id,properties:Z(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function Z(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return X(X({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function W(t){return t/360+.5}function Y(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function X(t,e){for(var r in e)t[r]=e[r];return t}function $(t){return t.x}function J(t){return t.y}function K(t,e,r,n){for(var i,a=n,o=r-e>>1,s=r-e,l=t[e],c=t[e+1],u=t[r],h=t[r+1],f=e+3;fa)i=f,a=p;else if(p===a){var d=Math.abs(f-o);dn&&(i-e>3&&K(t,e,i,n),t[i+2]=a,r-i>3&&K(t,i,r,n))}function Q(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function tt(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)et(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n0&&(o+=n?(i*c-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(c-a,2))),i=l,a=c}var u=e.length-3;e[2]=1,K(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function at(t,e,r,n){for(var i=0;i1?1:r}function lt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;for(var l=[],c=0;c=r&&d=n)){var m=[];if("Point"===f||"MultiPoint"===f)ct(h,m,r,n,i);else if("LineString"===f)ut(h,m,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===f)ft(h,m,r,n,i,!1);else if("Polygon"===f)ft(h,m,r,n,i,!0);else if("MultiPolygon"===f)for(var g=0;g=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function ut(t,e,r,n,i,a,o){for(var s,l,c=ht(t),u=0===i?dt:mt,h=t.start,f=0;fr&&(l=u(c,p,d,g,y,r),o&&(c.start=h+s*l)):v>n?x=r&&(l=u(c,p,d,g,y,r),_=!0),x>n&&v<=n&&(l=u(c,p,d,g,y,n),_=!0),!a&&_&&(o&&(c.end=h+s*l),e.push(c),c=ht(t)),o&&(h+=s)}var b=t.length-3;p=t[b],d=t[b+1],m=t[b+2],(v=0===i?p:d)>=r&&v<=n&&pt(c,p,d,m),b=c.length-3,a&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&pt(c,c[0],c[1],c[2]),c.length&&e.push(c)}function ht(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ft(t,e,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=u),h>o.maxY&&(o.maxY=h)}return o}function bt(t,e,r,n){var i=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;n24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n=n;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new j(s,$,J,a,Float32Array),r&&console.log("z%d: %d clusters in %dms",c,s.length,+Date.now()-u)}return r&&console.timeEnd("total time"),this},V.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],c=[],u=0,h=l.range(W(r),Y(a),W(i),Y(n));ue&&(d+=v.numPoints||1)}if(d>=s){for(var x=u.x*p,_=u.y*p,b=o&&p>1?this._map(u,!0):null,w=(c<<5)+(e+1)+this.points.length,T=0,k=f;T1)for(var E=0,C=f;E>5},V.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},V.prototype._map=function(t,e){if(t.numPoints)return e?X({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?X({},n):n},Tt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Tt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var u=1<1&&console.time("creation"),f=this.tiles[h]=_t(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(f.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<1&&console.time("clipping");var m,g,y,v,x,_,b=.5*l.buffer/l.extent,w=.5-b,T=.5+b,k=1+b;m=g=y=v=null,x=lt(t,u,r-b,r+T,0,f.minX,f.maxX,l),_=lt(t,u,r+w,r+k,0,f.minX,f.maxX,l),t=null,x&&(m=lt(x,u,n-b,n+T,1,f.minY,f.maxY,l),g=lt(x,u,n+w,n+k,1,f.minY,f.maxY,l),x=null),_&&(y=lt(_,u,n-b,n+T,1,f.minY,f.maxY,l),v=lt(_,u,n+w,n+k,1,f.minY,f.maxY,l),_=null),c>1&&console.timeEnd("clipping"),s.push(m||[],e+1,2*r,2*n),s.push(g||[],e+1,2*r,2*n+1),s.push(y||[],e+1,2*r+1,2*n),s.push(v||[],e+1,2*r+1,2*n+1)}}},Tt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,c=t,u=e,h=r;!l&&c>0;)c--,u=Math.floor(u/2),h=Math.floor(h/2),l=this.tiles[kt(c,u,h)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",c,u,h),a>1&&console.time("drilling down"),this.splitTile(l.source,c,u,h,t,e,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?vt(this.tiles[s],i):null):null};var Mt=function(e){function r(t,r,n,i){e.call(this,t,r,n,At),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));h(o,!0);try{if(n.filter){var s=t.createExpression(n.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===s.result)throw new Error(s.value.map((function(t){return t.key+": "+t.message})).join(", "));var l=o.features.filter((function(t){return s.value.evaluate({zoom:0},t)}));o={type:"FeatureCollection",features:l}}e._geoJSONIndex=n.cluster?new V(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),c=0,u=l;c=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var f=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e=0?1.2:1))}function y(t,e,r,n,i,a,o){for(var s=0;s65535)e(new Error("glyphs > 65535 not supported"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=t[++s]);var u=Math.abs(c-l.left),h=Math.abs(c-l.right),f=Math.min(u,h),p=void 0,d=i/r*(n+1);if(l.isDash){var m=n-Math.abs(d);p=Math.sqrt(f*f+m*m)}else p=n-Math.sqrt(f*f+d*d);this.data[o+c]=Math.max(0,Math.min(255,p+128))}},k.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],c=0;c1&&(l=t[++s]);var u=Math.abs(c-l.left),h=Math.abs(c-l.right),f=Math.min(u,h),p=l.isDash?f:-f;this.data[o+c]=Math.max(0,Math.min(255,p+128))}},k.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o=n&&e.x=i&&e.y0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;"string"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+".loadData",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?"reloadTile":"loadTile";e.actor=this.actor;var a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.request=this.actor.send(i,a,(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,"reloadTile"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),P=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),z=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;or.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(z),D=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return"number"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];tthis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(t){return t.wrapped().key in this.data},j.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},j.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},j.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},j.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},j.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},j.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(Ot(this._source.type)){for(var c={},u={},h=0,f=Object.keys(l);hthis._source.maxzoom){var g=d.children(this._source.maxzoom)[0],y=this.getTile(g);if(y&&y.hasData()){n[g.key]=g;continue}}else{var v=d.children(this._source.maxzoom);if(n[v[0].key]&&n[v[1].key]&&n[v[2].key]&&n[v[3].key])continue}for(var x=m.wasRequested(),_=d.overscaledZ-1;_>=a;--_){var b=d.scaledTo(_);if(i[b.key])break;if(i[b.key]=!0,!(m=this.getTile(b))&&x&&(m=this._addTile(b)),m&&(n[b.key]=b,x=m.wasRequested(),m.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),c=s.map((function(t){return o.pointCoordinate(t)})),u=this.getIds(),h=1/0,f=1/0,p=-1/0,d=-1/0,m=0,g=c;m=0&&y[1].y+g>=0){var v=l.map((function(t){return s.getTilePoint(t)})),x=c.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:v,cameraQueryGeometry:x,scale:m})}}},x=0;x=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||"_geojsonTileLayer",this._state.getState(t,e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,"reloading");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function zt(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function Ot(t){return"raster"===t||"image"===t||"video"===t}function Dt(){return new t.window.Worker(oa.workerUrl)}Pt.maxOverzooming=10,Pt.maxUnderzooming=3;var Rt="mapboxgl_preloaded_worker_pool",Ft=function(){this.active={}};Ft.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Qt=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ae(e,r,n,i,a,o,s,l){var c=i?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom),h=[256/n.width*2+1,256/n.height*2+1],f=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;f.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,m=n.transform.width/n.transform.height,g=!1,y=0;yMath.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function le(e,r,n,i,a,o,s,l,c,u,h,f,p,d){var m,g=r/24,y=e.lineOffsetX*g,v=e.lineOffsetY*g;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,_=e.lineStartIndex,b=e.lineStartIndex+e.lineLength,w=oe(g,l,y,v,n,h,f,e,c,o,p);if(!w)return{notEnoughRoom:!0};var T=re(w.first.point,s).point,k=re(w.last.point,s).point;if(i&&!n){var A=se(e.writingMode,T,k,d);if(A)return A}m=[w.first];for(var M=e.glyphStartIndex+1;M0?L.point:ce(f,C,S,1,a),P=se(e.writingMode,S,I,d);if(P)return P}var z=ue(g*l.getoffsetX(e.glyphStartIndex),y,v,n,h,f,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p);if(!z)return{notEnoughRoom:!0};m=[z]}for(var O=0,D=m;O0?1:-1,m=0;i&&(d*=-1,m=Math.PI),d<0&&(m+=Math.PI);for(var g=d>0?l+s:l+s+1,y=a,v=a,x=0,_=0,b=Math.abs(p),w=[];x+_<=b;){if((g+=d)=c)return null;if(v=y,w.push(y),void 0===(y=f[g])){var T=new t.Point(u.getx(g),u.gety(g)),k=re(T,h);if(k.signedDistanceFromCamera>0)y=f[g]=k.point;else{var A=g-d;y=ce(0===x?o:new t.Point(u.getx(A),u.gety(A)),T,v,b-x+1,h)}}x+=_,_=v.dist(y)}var M=(b-x)/_,S=y.sub(v),E=S.mult(M)._add(v);E._add(S._unit()._perp()._mult(n*d));var C=m+Math.atan2(y.y-v.y,y.x-v.x);return w.push(E),{point:E,angle:C,path:w}}Qt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Qt.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Qt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Qt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Qt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Qt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s0:o},Qt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var c=[],u={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,c,u,i),n?c.length>0:c},Qt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Qt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Qt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Qt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,h=0,f=c;h=u[d+0]&&n>=u[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:u[d],y1:u[d+1],x2:u[d+2],y2:u[d+3]})}}}var m=this.circleCells[i];if(null!==m)for(var g=this.circles,y=0,v=m;yo*o+s*s},Qt.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var h=l-s,f=u-c;return h*h+f*f<=r*r};var he=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function fe(t,e){for(var r=0;r=1;I--)L.push(E.path[I]);for(var P=1;P0){for(var R=L[0].clone(),F=L[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[L]:F.xM.x||F.yM.y?[]:t.clipLine([L],A.x,A.y,M.x,M.y)}for(var N=0,j=D;N=this.screenRightBoundary||nthis.screenBottomBoundary},me.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t=0&&e0?(this.prevPlacement&&this.prevPlacement.variableOffsets[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID].text&&(m=this.prevPlacement.variableOffsets[h.crossTileID].anchor),this.variableOffsets[h.crossTileID]={textOffset:g,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:m},this.markUsedJustification(f,t,h,p),f.allowVerticalPlacement&&(this.markUsedOrientation(f,p,h),this.placedOrientations[h.crossTileID]=p),{shift:y,placedGlyphBoxes:v}):void 0},Ae.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,c=a.textLabelPlaneMatrix,u=a.labelToScreenMatrix,h=a.textPixelRatio,f=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,m=a.collisionGroup,g=s.get("text-optional"),y=s.get("icon-optional"),v=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),_="map"===s.get("text-rotation-alignment"),b="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=v&&(x||!o.hasIconData()||y),A=x&&(v||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,a){if(!r[e.crossTileID])if(f)i.placements[e.crossTileID]=new xe(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,C={box:null,offscreen:null},L={box:null,offscreen:null},I=null,P=null,z=0,O=0,D=0;a.textFeatureIndex?z=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(z=e.featureIndex),a.verticalTextFeatureIndex&&(O=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,n=a,i.markUsedOrientation(o,n,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,c=e.textBoxScale,u=w&&!x?r:null,f={box:[],offscreen:!1},p=v?2*N.length:N.length,d=0;d=N.length,k=i.attemptAnchorPlacement(g,t,a,s,c,_,b,h,l,m,y,e,o,n,u);if(k&&(f=k.placedGlyphBoxes)&&f.box&&f.box.length){T=!0,E=k.shift;break}}return f};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=C&&C.box&&C.box.length;return o.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),C&&(T=C.box,S=C.offscreen);var V=F(C&&C.box);if(!T&&i.prevPlacement){var q=i.prevPlacement.variableOffsets[e.crossTileID];q&&(i.variableOffsets[e.crossTileID]=q,i.markUsedJustification(o,q.anchor,e,V))}}else{var H=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,v,h,l,m.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return H(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?H(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(C&&C.box&&C.box.length)}}if(T=(p=C)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),Z=t.evaluateSizeForFeature(o.textSizeData,d,G),W=s.get("text-padding"),Y=e.collisionCircleDiameter;I=i.collisionIndex.placeCollisionCircles(v,G,o.lineVertexArray,o.glyphOffsetArray,Z,l,c,u,n,b,m.predicate,Y,W),T=v||I.circles.length>0&&!I.collisionDetected,S=S&&I.offscreen}if(a.iconFeatureIndex&&(D=a.iconFeatureIndex),a.iconBox){var X=function(t){var e=w&&E?ke(t,E.x,E.y,_,b,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,h,l,m.predicate)};M=L&&L.box&&L.box.length&&a.verticalIconBox?(P=X(a.verticalIconBox)).box.length>0:(P=X(a.iconBox)).box.length>0,S=S&&P.offscreen}var $=g||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,J=y||0===e.numIconVertices;if($||J?J?$||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(L&&L.box&&O?i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,O,m.ID):i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,z,m.ID)),M&&P&&i.collisionIndex.insertCollisionBox(P.box,s.get("icon-ignore-placement"),o.bucketInstanceId,D,m.ID),I&&(T&&i.collisionIndex.insertCollisionCircles(I.circles,s.get("text-ignore-placement"),o.bucketInstanceId,z,m.ID),n)){var K=o.bucketInstanceId,Q=i.collisionCircleArrays[K];void 0===Q&&(Q=i.collisionCircleArrays[K]=new _e);for(var tt=0;tt=0;--E){var C=S[E];M(o.symbolInstances.get(C),o.collisionArrays[C])}else for(var L=e.symbolInstanceStart;L=0&&(e.text.placedSymbolArray.get(c).crossTileID=a>=0&&c!==a?0:n.crossTileID)}},Ae.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||l>0,x=a.numIconVertices>0,_=i.placedOrientations[a.crossTileID],b=_===t.WritingMode.vertical,w=_===t.WritingMode.horizontal||_===t.WritingMode.horizontalOnly;if(v){var T=Oe(y.text),k=b?De:T;d(e.text,s,k);var A=w?De:T;d(e.text,l,A);var M=y.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=M||b?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(e,S.anchor,a,_);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(e,"left",a,E),i.markUsedOrientation(e,E,a))}if(x){var C=Oe(y.icon),L=!(f&&a.verticalPlacedIconSymbolIndex&&b);if(a.placedIconSymbolIndex>=0){var I=L?C:De;d(e.icon,a.numIconVertices,I),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var P=L?De:C;d(e.icon,a.numVerticalIconVertices,P),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var z=e.collisionArrays[n];if(z){var O=new t.Point(0,0);if(z.textBox||z.verticalTextBox){var D=!0;if(c){var R=i.variableOffsets[m];R?(O=Te(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),u&&O._rotate(h?i.transform.angle:-i.transform.angle)):D=!1}z.textBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!D||b,O.x,O.y),z.verticalTextBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!D||w,O.x,O.y)}var F=Boolean(!w&&z.verticalIconBox);z.iconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,F,f?O.x:0,f?O.y:0),z.verticalIconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,!F,f?O.x:0,f?O.y:0)}}},g=0;gt},Ae.prototype.setStale=function(){this.stale=!0};var Se=Math.pow(2,25),Ee=Math.pow(2,24),Ce=Math.pow(2,17),Le=Math.pow(2,16),Ie=Math.pow(2,9),Pe=Math.pow(2,8),ze=Math.pow(2,1);function Oe(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Se+e*Ee+r*Ce+e*Le+r*Ie+e*Pe+r*ze+e}var De=0,Re=function(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&void 0!==t.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Re.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Re(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Fe.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Be=512/t.EXTENT/2,Ne=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;nt.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var c=o[t.scaledTo(Number(a)).key];c&&c.findMatches(e.symbolInstances,t,i)}}for(var u=0;u1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,u())})),c=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),(function(t,e){c=null,o||(o=t,a=e,u())}));function u(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],c=l.width,u=l.height,h=l.x,f=l.y,p=l.sdf,d=l.pixelRatio,m=l.stretchX,g=l.stretchY,y=l.content,v=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,v,{x:h,y:f},{x:0,y:0},{width:c,height:u}),r[s]={data:v,pixelRatio:d,sdf:p,stretchX:m,stretchY:g,content:y}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new t.Event("data",{dataType:"style"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+e.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r0)throw new Error("Unimplemented: "+i.map((function(t){return t.command})).join(", ")+".");return n.forEach((function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this._afterImageUpdated(e)},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this._afterImageUpdated(e)},r.prototype._afterImageUpdated=function(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Pt(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id "'+i+'" already exists on this map')));else{var a;if("custom"===e.type){if(qe(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,"layers."+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,"layers."+i.id+".filter",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;"geojson"===o&&i?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is required to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s=0;d--){var m=this._order[d];if(r(m))for(var g=i.length-1;g>=0;g--){var y=i[g].feature;if(n[y.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),nr=br("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),ir=br("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),ar=br("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),or=br("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),sr=br("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),lr=br("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),cr=br("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),ur=br("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),hr=br("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),fr=br("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),pr=br("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),dr=br("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),mr=br("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),gr=br("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),yr=br("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),vr=br("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),xr=br("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),_r=br("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}");function br(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=e.match(/attribute ([\w]+) ([\w]+)/g),i=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:t=t.replace(r,(function(t,e,r,n,i){return s[i]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),vertexSource:e=e.replace(r,(function(t,e,r,n,i){var a="float"===n?"vec2":"vec4",o=i.match(/color/)?"color":a;return s[i]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),staticAttributes:n,staticUniforms:o}}var wr=Object.freeze({__proto__:null,prelude:Xe,background:$e,backgroundPattern:Je,circle:Ke,clippingMask:Qe,heatmap:tr,heatmapTexture:er,collisionBox:rr,collisionCircle:nr,debug:ir,fill:ar,fillOutline:or,fillOutlinePattern:sr,fillPattern:lr,fillExtrusion:cr,fillExtrusionPattern:ur,hillshadePrepare:hr,hillshade:fr,line:pr,lineGradient:dr,linePattern:mr,lineSDF:gr,raster:yr,symbolIcon:vr,symbolSDF:xr,symbolTextAndIcon:_r}),Tr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};function kr(t){for(var e=[],r=0;r>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}Ar.prototype.draw=function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m){var g,y=t.gl;if(!this.failedToCreate){for(var v in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[v].set(o[v]);p&&p.setUniforms(t,this.binderUniforms,h,{zoom:f});for(var x=(g={},g[y.LINES]=2,g[y.TRIANGLES]=3,g[y.LINE_STRIP]=1,g)[e],_=0,b=u.get();_0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Xr(i.paint.get("raster-hue-rotate"))};var a,o};function Xr(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var $r,Jr=function(t,e,r,n,i,a,o,s,l,c){var u=i.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:u.width/u.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:c,u_texture:0}},Kr=function(e,r,n,i,a,o,s,l,c,u,h){var f=a.transform;return t.extend(Jr(e,r,n,i,a,o,s,l,c,u),{u_gamma_scale:i?Math.cos(f._pitch)*f.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+h})},Qr=function(e,r,n,i,a,o,s,l,c,u){return t.extend(Kr(e,r,n,i,a,o,s,l,!0,c,!0),{u_texsize_icon:u,u_texture_icon:1})},tn=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},en=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,c=Math.pow(2,n.tileID.overscaledZ),u=n.tileSize*Math.pow(2,r.transform.tileZoom)/c,h=u*(n.tileID.canonical.x+n.tileID.wrap*c),f=u*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ge(n,1,r.transform.tileZoom),u_pixel_coord_upper:[h>>16,f>>16],u_pixel_coord_lower:[65535&h,65535&f]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},rn={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image),u_image_height:new t.Uniform1f(e,r.u_image_height)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function nn(e,r,n,i,a,o,s){for(var l=e.context,c=l.gl,u=e.useProgram("collisionBox"),h=[],f=0,p=0,d=0;d0){var b=t.create(),w=v;t.mul(b,y.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(b,b,y.placementViewportMatrix),h.push({circleArray:_,circleOffset:p,transform:w,invTransform:b}),p=f+=_.length/4}x&&u.draw(l,c.LINES,Mt.disabled,Et.disabled,e.colorModeForRenderPass(),Lt.disabled,Or(v,e.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&h.length){var T=e.useProgram("collisionCircle"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*f),k._trim();for(var A=0,M=0,S=h;M=0&&(m[y.associatedIconIndex]={shiftedAnchor:S,angle:E})}else fe(y.numGlyphs,p)}if(h){d.clear();for(var L=e.icon.placedSymbolArray,I=0;I0){var s=t.browser.now(),l=(s-e.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),h=a.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),p=f&&e.refreshedUponExpiration?1:t.clamp(f?l:1-c,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var gn=new t.Color(1,0,0,1),yn=new t.Color(0,1,0,1),vn=new t.Color(0,0,1,1),xn=new t.Color(1,0,1,1),_n=new t.Color(0,1,1,1);function bn(t){var e=t.transform.padding;wn(t,t.transform.height-(e.top||0),3,gn),wn(t,e.bottom||0,3,yn),Tn(t,e.left||0,3,vn),Tn(t,t.transform.width-(e.right||0),3,xn);var r=t.transform.centerPoint;!function(t,e,r,n){var i=20,a=2;kn(t,e-a/2,r-i/2,a,i,n),kn(t,e-i/2,r-a/2,i,a,n)}(t,r.x,t.transform.height-r.y,_n)}function wn(t,e,r,n){kn(t,0,e+r/2,t.transform.width,r,n)}function Tn(t,e,r,n){kn(t,e-r/2,0,r,t.transform.height,n)}function kn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function An(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram("debug"),l=Mt.disabled,c=Et.disabled,u=e.colorModeForRenderPass(),h="$debug";i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,c,u,Lt.disabled,Rr(o,t.Color.red),h,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var f=r.getTileByID(n.key).latestRawTileData,p=f&&f.byteLength||0,d=Math.floor(p/1024),m=r.getTile(n).tileSize,g=512/Math.min(m,512)*(n.overscaledZ/e.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=" => "+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,y+" "+d+"kb"),s.draw(i,a.TRIANGLES,l,c,Ct.alphaBlended,Lt.disabled,Rr(o,t.Color.transparent,g),h,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var Mn={symbol:function(e,r,n,i,a){if("translucent"===e.renderPass){var o=Et.disabled,s=e.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(e,r,n,i,a,o,s){for(var l=r.transform,c="map"===a,u="map"===o,h=0,f=e;h256&&this.clearStencil(),r.setColorMode(Ct.disabled),r.setDepthMode(Mt.disabled);var i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0,o=e;a256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Et({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Et({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=u[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?e.pop():null},Sn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},Sn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=""+t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new Ar(this.context,t,wr[t],e,rn[t],this._showOverdrawInspector)),this.cache[r]},Sn.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},Sn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},Sn.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=t.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var e=this.context.gl;this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,e.RGBA)}},Sn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var En=function(t,e){this.points=t,this.planes=e};En.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new En(a,o)};var Cn=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};Cn.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var c=Number.MAX_VALUE,u=-Number.MAX_VALUE,h=0;hthis.max[l]-this.min[l])return 0}return 1};var Ln=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=r,this.right=n};Ln.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},Ln.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},Ln.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},Ln.prototype.clone=function(){return new Ln(this.top,this.bottom,this.left,this.right)},Ln.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var In=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Ln,this._posMatrixCache={},this._alignedPosMatrixCache={}},Pn={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};In.prototype.clone=function(){var t=new In(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},Pn.minZoom.get=function(){return this._minZoom},Pn.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Pn.maxZoom.get=function(){return this._maxZoom},Pn.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Pn.minPitch.get=function(){return this._minPitch},Pn.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},Pn.maxPitch.get=function(){return this._maxPitch},Pn.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},Pn.renderWorldCopies.get=function(){return this._renderWorldCopies},Pn.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Pn.worldSize.get=function(){return this.tileSize*this.scale},Pn.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Pn.size.get=function(){return new t.Point(this.width,this.height)},Pn.bearing.get=function(){return-this.angle/Math.PI*180},Pn.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Pn.pitch.get=function(){return this._pitch/Math.PI*180},Pn.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Pn.fov.get=function(){return this._fov/Math.PI*180},Pn.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},Pn.zoom.get=function(){return this._zoom},Pn.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},Pn.center.get=function(){return this._center},Pn.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Pn.padding.get=function(){return this._edgeInsets.toJSON()},Pn.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},Pn.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},In.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},In.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},In.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},In.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),c=s-1;c<=l+1;c++)0!==c&&r.push(new t.UnwrappedTileID(c,e));return r},In.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=En.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var c=function(t){return{aabb:new Cn([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},u=[],h=[],f=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)u.push(c(-d)),u.push(c(d));for(u.push(c(0));u.length>0;){var m=u.pop(),g=m.x,y=m.y,v=m.fullyVisible;if(!v){var x=m.aabb.intersects(s);if(0===x)continue;v=2===x}var _=m.aabb.distanceX(o),b=m.aabb.distanceY(o),w=Math.max(Math.abs(_),Math.abs(b)),T=3+(1<T&&m.zoom>=l)h.push({tileID:new t.OverscaledTileID(m.zoom===f?p:m.zoom,m.wrap,m.zoom,g,y),distanceSq:t.sqrLen([o[0]-.5-g,o[1]-.5-y])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(y<<1)+(k>>1);u.push({aabb:m.aabb.quadrant(k),zoom:m.zoom+1,x:A,y:M,wrap:m.wrap,fullyVisible:v})}}return h.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},In.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},Pn.unmodified.get=function(){return this._unmodified},In.prototype.zoomScale=function(t){return Math.pow(2,t)},In.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},In.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},In.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},Pn.point.get=function(){return this.project(this.center)},In.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},In.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},In.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},In.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},In.prototype.coordinateLocation=function(t){return t.toLngLat()},In.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,c=n[1]/a,u=r[2]/i,h=n[2]/a,f=u===h?0:(0-u)/(h-u);return new t.MercatorCoordinate(t.number(o,s,f)/this.worldSize,t.number(l,c,f)/this.worldSize)},In.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},In.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},In.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},In.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},In.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},In.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},In.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var h=this.latRange;a=t.mercatorYfromLat(h[1])*this.worldSize,e=(o=t.mercatorYfromLat(h[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var y=p.x,v=c.x/2;y-vl&&(n=l-v)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=u,this._constraining=!1}},In.prototype._calcMatrices=function(){if(this.height){var e=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(e)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,c=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),u=this.height/50,h=new Float64Array(16);t.perspective(h,this._fov,this.width/this.height,u,c),h[8]=2*-r.x/this.width,h[9]=2*r.y/this.height,t.scale(h,h,[1,-1,1]),t.translate(h,h,[0,0,-this.cameraToCenterDistance]),t.rotateX(h,h,this._pitch),t.rotateZ(h,h,this.angle),t.translate(h,h,[-s,-l,0]),this.mercatorMatrix=t.scale([],h,[this.worldSize,this.worldSize,this.worldSize]),t.scale(h,h,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=h,this.invProjMatrix=t.invert([],this.projMatrix);var f=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),m=Math.sin(this.angle),g=s-Math.round(s)+d*f+m*p,y=l-Math.round(l)+d*p+m*f,v=new Float64Array(h);if(t.translate(v,v,[g>.5?g-1:g,y>.5?y-1:y,0]),this.alignedProjMatrix=v,h=t.create(),t.scale(h,h,[this.width/2,-this.height/2,1]),t.translate(h,h,[1,-1,0]),this.labelPlaneMatrix=h,h=t.create(),t.scale(h,h,[1,-1,1]),t.translate(h,h,[-1,-1,0]),t.scale(h,h,[2/this.width,2/this.height,1]),this.glCoordMatrix=h,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(h=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=h,this._posMatrixCache={},this._alignedPosMatrixCache={}}},In.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},In.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},In.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},zn.prototype._updateHashUnthrottled=function(){var e=t.window.location.href.replace(/(#.+)?$/,this.getHashString());try{t.window.history.replaceState(t.window.history.state,null,e)}catch(t){}};var On={linearity:.3,easing:t.bezier(0,0,.3,1)},Dn=t.extend({deceleration:2500,maxSpeed:1400},On),Rn=t.extend({deceleration:20,maxSpeed:1400},On),Fn=t.extend({deceleration:1e3,maxSpeed:360},On),Bn=t.extend({deceleration:1e3,maxSpeed:90},On),Nn=function(t){this._map=t,this.clear()};function jn(t,e){(!t.duration||t.duration0&&r-e[0].time>160;)e.shift()},Nn.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.dblclick=function(t){return this._firePreventable(new Vn(t.type,this._map,t))},Gn.prototype.mouseover=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.mouseout=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.touchstart=function(t){return this._firePreventable(new qn(t.type,this._map,t))},Gn.prototype.touchmove=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchend=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchcancel=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Gn.prototype.isEnabled=function(){return!0},Gn.prototype.isActive=function(){return!1},Gn.prototype.enable=function(){},Gn.prototype.disable=function(){};var Zn=function(t){this._map=t};Zn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Zn.prototype.mousemove=function(t){this._map.fire(new Vn(t.type,this._map,t))},Zn.prototype.mousedown=function(){this._delayContextMenu=!0},Zn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Vn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Zn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Vn(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()},Zn.prototype.isEnabled=function(){return!0},Zn.prototype.isActive=function(){return!1},Zn.prototype.enable=function(){},Zn.prototype.disable=function(){};var Wn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function Yn(t,e){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n30)&&(this.aborted=!0)}}},Xn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var $n=function(t){this.singleTap=new Xn(t),this.numTaps=t.numTaps,this.reset()};$n.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},$n.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},$n.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},$n.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Jn=function(){this._zoomIn=new $n({numTouches:1,numTaps:2}),this._zoomOut=new $n({numTouches:2,numTaps:1}),this.reset()};Jn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Jn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Jn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Jn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Jn.prototype.touchcancel=function(){this.reset()},Jn.prototype.enable=function(){this._enabled=!0},Jn.prototype.disable=function(){this._enabled=!1,this.reset()},Jn.prototype.isEnabled=function(){return this._enabled},Jn.prototype.isActive=function(){return this._active};var Kn={};Kn[0]=1,Kn[2]=2;var Qn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};Qn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Qn.prototype._correctButton=function(t,e){return!1},Qn.prototype._move=function(t,e){return{}},Qn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},Qn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r)if(t.preventDefault(),function(t,e){var r=Kn[e];return void 0===t.buttons||(t.buttons&r)!==r}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(r)0&&(this._active=!0);var i=Yn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var c=i[l],u=this._touches[l];u&&(a._add(c),o._add(c.sub(u)),s++,i[l]=c)}if(this._touches=i,!(sMath.abs(t.x)}var hi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ui(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ui(t)&&ui(e)&&a}},e}(ii),fi={panStep:100,bearingStep:15,pitchStep:10},pi=function(){var t=fi;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1};function di(t){return t*(2-t)}pi.prototype.reset=function(){this._active=!1},pi.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(n=0,i=0),{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:di,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},pi.prototype.enable=function(){this._enabled=!0},pi.prototype.disable=function(){this._enabled=!1,this.reset()},pi.prototype.isEnabled=function(){return this._enabled},pi.prototype.isActive=function(){return this._active},pi.prototype.disableRotation=function(){this._rotationDisabled=!0},pi.prototype.enableRotation=function(){this._rotationDisabled=!1};var mi=4.000244140625,gi=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onTimeout"],this)};gi.prototype.setZoomRate=function(t){this._defaultZoomRate=t},gi.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},gi.prototype.isEnabled=function(){return!!this._enabled},gi.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},gi.prototype.isZooming=function(){return!!this._zooming},gi.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},gi.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},gi.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%mi==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},gi.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},gi.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},gi.prototype.renderFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>mi?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s="number"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,c=this._easing,u=!1;if("wheel"===this._type&&l&&c){var h=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),f=c(h);o=t.number(l,s,f),h<1?this._frameId||(this._frameId=!0):u=!0}else o=s,u=!0;return this._active=!0,u&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!u,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},gi.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},gi.prototype.reset=function(){this._active=!1};var yi=function(t,e){this._clickZoom=t,this._tapZoom=e};yi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},yi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},yi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},yi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var vi=function(){this.reset()};vi.prototype.reset=function(){this._active=!1},vi.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},vi.prototype.enable=function(){this._enabled=!0},vi.prototype.disable=function(){this._enabled=!1,this.reset()},vi.prototype.isEnabled=function(){return this._enabled},vi.prototype.isActive=function(){return this._active};var xi=function(){this._tap=new $n({numTouches:1,numTaps:1}),this.reset()};xi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},xi.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},xi.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},xi.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},xi.prototype.touchcancel=function(){this.reset()},xi.prototype.enable=function(){this._enabled=!0},xi.prototype.disable=function(){this._enabled=!1,this.reset()},xi.prototype.isEnabled=function(){return this._enabled},xi.prototype.isActive=function(){return this._active};var _i=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};_i.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},_i.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},_i.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},_i.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var bi=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};bi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},bi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},bi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},bi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var wi=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};wi.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},wi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},wi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},wi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},wi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},wi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var Ti=function(t){return t.zoom||t.drag||t.pitch||t.rotate},ki=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(t.Event);function Ai(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var Mi=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Nn(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll(["handleEvent","handleWindowEvent"],this);var i=this._el;this._listeners=[[i,"touchstart",{passive:!0}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[t.window.document,"mousemove",{capture:!0}],[t.window.document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[t.window,"blur",void 0]];for(var a=0,o=this._listeners;aa?Math.min(2,b):Math.max(.5,b),w=Math.pow(g,1-e),T=i.unproject(x.add(_.mult(e*w)).mult(m));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event("zoomend",e)),i&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c=this.getPadding(),u="zoom"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,h="bearing"in e?this._normalizeBearing(e.bearing,s):s,f="pitch"in e?+e.pitch:l,p="padding"in e?e.padding:a.padding,d=a.zoomScale(u-o),m=t.Point.convert(e.offset),g=a.centerPoint.add(m),y=a.pointLocation(g),v=t.LngLat.convert(e.center||y);this._normalizeCenter(v);var x=a.project(y),_=a.project(v).sub(x),b=e.curve,w=Math.max(a.width,a.height),T=w/d,k=_.mag();if("minZoom"in e){var A=t.clamp(Math.min(e.minZoom,o,u),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);b=Math.sqrt(M/k*2)}var S=b*b;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function C(t){return(Math.exp(t)-Math.exp(-t))/2}function L(t){return(Math.exp(t)+Math.exp(-t))/2}var I=E(0),P=function(t){return L(I)/L(I+b*t)},z=function(t){return w*((L(I)*(C(e=I+b*t)/L(e))-C(I))/S)/k;var e},O=(E(1)-I)/b;if(Math.abs(k)<1e-6||!isFinite(O)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var D=Te.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==h,this._pitching=f!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*O,d=1/P(i);a.zoom=1===e?u:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,h,e)),n._pitching&&(a.pitch=t.number(l,f,e)),n._padding&&(a.interpolatePadding(c,p,e),g=a.centerPoint.add(m));var y=1===e?v:a.unproject(x.add(_.mult(z(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?y.wrap():y,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop(!1)}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}},r}(t.Evented),Ei=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)};Ei.prototype.getDefaultPosition=function(){return"bottom-right"},Ei.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=r.create("button","mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},Ei.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Ei.prototype._setElementTitle=function(t,e){var r=this._map._getUIString("AttributionControl."+e);t.title=r,t.setAttribute("aria-label",r)},Ei.prototype._toggleAttribution=function(){this._container.classList.contains("mapboxgl-compact-show")?(this._container.classList.remove("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-pressed","false")):(this._container.classList.add("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-pressed","true"))},Ei.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n=0)return!1;return!0}))).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Ei.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")};var Ci=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};Ci.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Ci.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Ci.prototype.getDefaultPosition=function(){return"bottom-left"},Ci.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},Ci.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},Ci.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var Li=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Li.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Li.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;re.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>Di)throw new Error("maxPitch must be less than or equal to 60");var i=new In(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new Li,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},Ii,e.locale),this._clickTolerance=e.clickTolerance,this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof zi))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return r._update(!1)})),this.on("moveend",(function(){return r._update(!1)})),this.on("zoom",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1),t.window.addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new Mi(this,e);var a="string"==typeof e.hash&&e.hash||void 0;this._hash=e.hash&&new zn(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Ei({customAttribution:e.customAttribution})),this.addControl(new Ci,e.logoPosition),this.on("style.load",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on("data",(function(e){r._update("style"===e.dataType),r.fire(new t.Event(e.dataType+"data",e))})),this.on("dataloading",(function(e){r.fire(new t.Event(e.dataType+"dataloading",e))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&(r=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.hasControl=function(t){return this._controls.indexOf(t)>-1},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),a&&this.fire(new t.Event("moveend",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()Di)throw new Error("maxPitch must be less than or equal to 60");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if("mouseenter"===t||"mouseover"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new Vn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new Vn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new Vn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;if(void 0===r)return n.prototype.off.call(this,t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ui.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ui.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ui.prototype.off=function(){var t=this.element;r.removeEventListener(t,"mousedown",this.mousedown),r.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),r.removeEventListener(t,"touchmove",this.touchmove),r.removeEventListener(t,"touchend",this.touchend),r.removeEventListener(t,"touchcancel",this.reset),this.offTemp()},Ui.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,"mousemove",this.mousemove),r.removeEventListener(t.window,"mouseup",this.mouseup)},Ui.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,"mousemove",this.mousemove),r.addEventListener(t.window,"mouseup",this.mouseup)},Ui.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ui.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ui.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ui.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ui.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)=r}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag")))},n.prototype._onUp=function(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive"},n.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},n.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this},n.prototype.isDraggable=function(){return this._draggable},n.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},n.prototype.getRotation=function(){return this._rotation},n.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||"auto",this._update(),this},n.prototype.getRotationAlignment=function(){return this._rotationAlignment},n.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this},n.prototype.getPitchAlignment=function(){return this._pitchAlignment},n}(t.Evented),Wi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};var Yi=0,Xi=!1,$i=function(e){function n(r){e.call(this),this.options=t.extend({},Wi,r),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.onAdd=function(e){return this._map=e,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),n=this._setupUI,void 0!==Gi?n(Gi):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:"geolocation"}).then((function(t){Gi="denied"!==t.state,n(Gi)})):(Gi=!!t.window.navigator.geolocation,n(Gi)),this._container;var n},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),r.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Yi=0,Xi=!1},n.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitudee.getEast()||r.latitudee.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+"px",this._circleElement.style.height=i+"px"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&Xi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this._geolocateButton=r.create("button","mapboxgl-ctrl-geolocate",this._container),r.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}else{var a=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=a,this._geolocateButton.setAttribute("aria-label",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Zi(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Zi({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(function(e){var r=e.originalEvent&&"resize"===e.originalEvent.type;e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||r||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Yi--,Xi=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Yi>1?(e={maximumAge:6e5,timeout:0},Xi=!0):(e=this.options.positionOptions,Xi=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Ji={maxWidth:100,unit:"metric"},Ki=function(e){this.options=t.extend({},Ji,e),t.bindAll(["_onMove","setUnit"],this)};function Qi(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?ta(e,n,l/5280,t._getUIString("ScaleControl.Miles")):ta(e,n,l,t._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?ta(e,n,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?ta(e,n,s/1e3,t._getUIString("ScaleControl.Kilometers")):ta(e,n,s,t._getUIString("ScaleControl.Meters"))}function ta(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(""+Math.floor(i)).length-1))*((o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o))),l=s/r;t.style.width=e*l+"px",t.innerHTML=s+" "+n}Ki.prototype.getDefaultPosition=function(){return"bottom-left"},Ki.prototype._onMove=function(){Qi(this._map,this._container,this.options)},Ki.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},Ki.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},Ki.prototype.setUnit=function(t){this.options.unit=t,Qi(this._map,this._container,this.options)};var ea=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange")};ea.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},ea.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},ea.prototype._setupUI=function(){var e=this._fullscreenButton=r.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);r.create("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden",!0),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},ea.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},ea.prototype._isFullscreen=function(){return this._fullscreen},ea.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},ea.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var ra={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},na=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", "),ia=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(ra),r),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement("body");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=r.create("div","mapboxgl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.setOffset=function(t){return this.options.offset=t,this._update(),this},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(t){var e=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((function(t){return e._container.classList.add(t)})),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Vi(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||t)){var i=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat),a=this.options.anchor,o=aa(this.options.offset);if(!a){var s,l=this._container.offsetWidth,c=this._container.offsetHeight;s=i.y+o.bottom.ythis._map.transform.height-c?["bottom"]:[],i.xthis._map.transform.width-l/2&&s.push("right"),a=0===s.length?"bottom":s.join("-")}var u=i.add(o[a]).round();r.setTransform(this._container,qi[a]+" translate("+u.x+"px,"+u.y+"px)"),Hi(this._container,a,"popup")}},n.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var t=this._container.querySelector(na);t&&t.focus()}},n.prototype._onClose=function(){this.remove()},n}(t.Evented);function aa(e){if(e){if("number"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.Point(0,0),top:new t.Point(0,e),"top-left":new t.Point(r,r),"top-right":new t.Point(-r,r),bottom:new t.Point(0,-e),"bottom-left":new t.Point(r,-r),"bottom-right":new t.Point(-r,-r),left:new t.Point(e,0),right:new t.Point(-e,0)}}if(e instanceof t.Point||Array.isArray(e)){var n=t.Point.convert(e);return{center:n,top:n,"top-left":n,"top-right":n,bottom:n,"bottom-left":n,"bottom-right":n,left:n,right:n}}return{center:t.Point.convert(e.center||[0,0]),top:t.Point.convert(e.top||[0,0]),"top-left":t.Point.convert(e["top-left"]||[0,0]),"top-right":t.Point.convert(e["top-right"]||[0,0]),bottom:t.Point.convert(e.bottom||[0,0]),"bottom-left":t.Point.convert(e["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(e["bottom-right"]||[0,0]),left:t.Point.convert(e.left||[0,0]),right:t.Point.convert(e.right||[0,0])}}return aa(new t.Point(0,0))}var oa={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Fi,NavigationControl:ji,GeolocateControl:$i,AttributionControl:Ei,ScaleControl:Ki,FullscreenControl:ea,Popup:ia,Marker:Zi,Style:We,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){jt().acquire(Rt)},clearPrewarmedResources:function(){var t=Bt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Rt),Bt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Ft.workerCount},set workerCount(t){Ft.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return oa})),r}()},27549:function(t,e,r){"use strict";t.exports=r(55366)},55366:function(t,e,r){"use strict";var n=r(31625),i=r(75144),a=r(5137),o=r(78112),s=r(6807),l=r(68650),c=r(83473),u=r(60201),h=r(10275),f=r(62914);function p(t,e){for(var r=e[0],n=e[1],a=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,c=t.length/2;l>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(h(e.dtype))(g):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=g));for(var y=0;yr||s>1073741824){for(var f=0;fr+i||M>n+i||S=L||o===s)){var l=v[a];void 0===s&&(s=l.length);for(var c=o;c=g&&h<=w&&f>=y&&f<=T&&I.push(u)}var p=x[a],d=p[4*o+0],m=p[4*o+1],_=p[4*o+2],b=p[4*o+3],k=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(p,o+1),E=.5*i,P=a+1;e(r,n,E,P,d,m||_||b||k),e(r,n+E,E,P,m,_||b||k),e(r+E,n,E,P,_,b||k),e(r+E,n+E,E,P,b,k)}}(0,0,1,0,0,1),I},d;function E(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;si&&(i=t[o]),t[o]1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;it.length)&&(r=t.length),t.substring(r-e.length,r)===e}var x="",_="",b="",w="",T={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function k(t){var e=Object.keys(t),r=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){r[e]=t[e]})),Object.defineProperty(r,"message",{value:t.message}),r}function A(t){return g(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var M=function(t,e){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&p(t,e)}(M,t);var r,i,s,u,h=(r=M,i=f(),function(){var t,e=d(r);if(i){var n=d(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return l(this,t)});function M(t){var e;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,M),"object"!==m(t)||null===t)throw new y("options","Object",t);var r=t.message,i=t.operator,a=t.stackStartFn,o=t.actual,s=t.expected,u=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=r)e=h.call(this,String(r));else if(n.stderr&&n.stderr.isTTY&&(n.stderr&&n.stderr.getColorDepth&&1!==n.stderr.getColorDepth()?(x="",_="",w="",b=""):(x="",_="",w="",b="")),"object"===m(o)&&null!==o&&"object"===m(s)&&null!==s&&"stack"in o&&o instanceof Error&&"stack"in s&&s instanceof Error&&(o=k(o),s=k(s)),"deepStrictEqual"===i||"strictEqual"===i)e=h.call(this,function(t,e,r){var i="",a="",o=0,s="",l=!1,c=A(t),u=c.split("\n"),h=A(e).split("\n"),f=0,p="";if("strictEqual"===r&&"object"===m(t)&&"object"===m(e)&&null!==t&&null!==e&&(r="strictEqualObject"),1===u.length&&1===h.length&&u[0]!==h[0]){var d=u[0].length+h[0].length;if(d<=10){if(!("object"===m(t)&&null!==t||"object"===m(e)&&null!==e||0===t&&0===e))return"".concat(T[r],"\n\n")+"".concat(u[0]," !== ").concat(h[0],"\n")}else if("strictEqualObject"!==r&&d<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;u[0][f]===h[0][f];)f++;f>2&&(p="\n ".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return"";var r=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,r-t.length)}(" ",f),"^"),f=0)}}for(var g=u[u.length-1],y=h[h.length-1];g===y&&(f++<2?s="\n ".concat(g).concat(s):i=g,u.pop(),h.pop(),0!==u.length&&0!==h.length);)g=u[u.length-1],y=h[h.length-1];var k=Math.max(u.length,h.length);if(0===k){var M=c.split("\n");if(M.length>30)for(M[26]="".concat(x,"...").concat(w);M.length>27;)M.pop();return"".concat(T.notIdentical,"\n\n").concat(M.join("\n"),"\n")}f>3&&(s="\n".concat(x,"...").concat(w).concat(s),l=!0),""!==i&&(s="\n ".concat(i).concat(s),i="");var S=0,E=T[r]+"\n".concat(_,"+ actual").concat(w," ").concat(b,"- expected").concat(w),C=" ".concat(x,"...").concat(w," Lines skipped");for(f=0;f1&&f>2&&(L>4?(a+="\n".concat(x,"...").concat(w),l=!0):L>3&&(a+="\n ".concat(h[f-2]),S++),a+="\n ".concat(h[f-1]),S++),o=f,i+="\n".concat(b,"-").concat(w," ").concat(h[f]),S++;else if(h.length1&&f>2&&(L>4?(a+="\n".concat(x,"...").concat(w),l=!0):L>3&&(a+="\n ".concat(u[f-2]),S++),a+="\n ".concat(u[f-1]),S++),o=f,a+="\n".concat(_,"+").concat(w," ").concat(u[f]),S++;else{var I=h[f],P=u[f],z=P!==I&&(!v(P,",")||P.slice(0,-1)!==I);z&&v(I,",")&&I.slice(0,-1)===P&&(z=!1,P+=","),z?(L>1&&f>2&&(L>4?(a+="\n".concat(x,"...").concat(w),l=!0):L>3&&(a+="\n ".concat(u[f-2]),S++),a+="\n ".concat(u[f-1]),S++),o=f,a+="\n".concat(_,"+").concat(w," ").concat(P),i+="\n".concat(b,"-").concat(w," ").concat(I),S+=2):(a+=i,i="",1!==L&&0!==f||(a+="\n ".concat(P),S++))}if(S>20&&f30)for(p[26]="".concat(x,"...").concat(w);p.length>27;)p.pop();e=1===p.length?h.call(this,"".concat(f," ").concat(p[0])):h.call(this,"".concat(f,"\n\n").concat(p.join("\n"),"\n"))}else{var d=A(o),g="",S=T[i];"notDeepEqual"===i||"notEqual"===i?(d="".concat(T[i],"\n\n").concat(d)).length>1024&&(d="".concat(d.slice(0,1021),"...")):(g="".concat(A(s)),d.length>512&&(d="".concat(d.slice(0,509),"...")),g.length>512&&(g="".concat(g.slice(0,509),"...")),"deepEqual"===i||"equal"===i?d="".concat(S,"\n\n").concat(d,"\n\nshould equal\n\n"):g=" ".concat(i," ").concat(g)),e=h.call(this,"".concat(d).concat(g))}return Error.stackTraceLimit=u,e.generatedMessage=!r,Object.defineProperty(c(e),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),e.code="ERR_ASSERTION",e.actual=o,e.expected=s,e.operator=i,Error.captureStackTrace&&Error.captureStackTrace(c(e),a),e.stack,e.name="AssertionError",l(e)}return s=M,(u=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:e,value:function(t,e){return g(this,a(a({},e),{},{customInspect:!1,depth:0}))}}])&&o(s.prototype,u),Object.defineProperty(s,"prototype",{writable:!1}),M}(u(Error),g.custom);t.exports=M},34585:function(t,e,r){"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function i(t,e){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},i(t,e)}function a(t){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},a(t)}var o,s,l={};function c(t,e,r){r||(r=Error);var o=function(r){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&i(t,e)}(u,r);var o,s,l,c=(s=u,l=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=a(s);if(l){var r=a(this).constructor;t=Reflect.construct(e,arguments,r)}else t=e.apply(this,arguments);return function(t,e){if(e&&("object"===n(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,t)});function u(r,n,i){var a;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,u),a=c.call(this,function(t,r,n){return"string"==typeof e?e:e(t,r,n)}(r,n,i)),a.code=t,a}return o=u,Object.defineProperty(o,"prototype",{writable:!1}),o}(r);l[t]=o}function u(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}c("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),c("ERR_INVALID_ARG_TYPE",(function(t,e,i){var a,s,l,c,h;if(void 0===o&&(o=r(85672)),o("string"==typeof t,"'name' must be a string"),"string"==typeof e&&(s="not ",e.substr(0,4)===s)?(a="must not be",e=e.replace(/^not /,"")):a="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t," argument"))l="The ".concat(t," ").concat(a," ").concat(u(e,"type"));else{var f=("number"!=typeof h&&(h=0),h+1>(c=t).length||-1===c.indexOf(".",h)?"argument":"property");l='The "'.concat(t,'" ').concat(f," ").concat(a," ").concat(u(e,"type"))}return l+". Received type ".concat(n(i))}),TypeError),c("ERR_INVALID_ARG_VALUE",(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===s&&(s=r(56557));var i=s.inspect(e);return i.length>128&&(i="".concat(i.slice(0,128),"...")),"The argument '".concat(t,"' ").concat(n,". Received ").concat(i)}),TypeError,RangeError),c("ERR_INVALID_RETURN_VALUE",(function(t,e,r){var i;return i=r&&r.constructor&&r.constructor.name?"instance of ".concat(r.constructor.name):"type ".concat(n(r)),"Expected ".concat(t,' to be returned from the "').concat(e,'"')+" function but got ".concat(i,".")}),TypeError),c("ERR_MISSING_ARGS",(function(){for(var t=arguments.length,e=new Array(t),n=0;n0,"At least one arg needs to be specified");var i="The ",a=e.length;switch(e=e.map((function(t){return'"'.concat(t,'"')})),a){case 1:i+="".concat(e[0]," argument");break;case 2:i+="".concat(e[0]," and ").concat(e[1]," arguments");break;default:i+=e.slice(0,a-1).join(", "),i+=", and ".concat(e[a-1]," arguments")}return"".concat(i," must be specified")}),TypeError),t.exports.codes=l},23879:function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,a,o,s=[],l=!0,c=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==e);l=!0);}catch(t){c=!0,i=t}finally{try{if(!l&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(c)throw i}}return s}}(t,e)||function(t,e){if(t){if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r10)return!0;for(var e=0;e57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function z(t){return Object.keys(t).filter(P).concat(u(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function O(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i>2],a+=n[(3&r[e])<<4|r[e+1]>>4],a+=n[(15&r[e+1])<<2|r[e+2]>>6],a+=n[63&r[e+2]];return i%3==2?a=a.substring(0,a.length-1)+"=":i%3==1&&(a=a.substring(0,a.length-2)+"=="),a},s=function(t){var e,r,n,a,o,s=.75*t.length,l=t.length,c=0;"="===t[t.length-1]&&(s--,"="===t[t.length-2]&&s--);var u=new ArrayBuffer(s),h=new Uint8Array(u);for(e=0;e>4,h[c++]=(15&n)<<4|a>>2,h[c++]=(3&a)<<6|63&o;return u}},76226:function(t,e){"use strict";e.byteLength=function(t){var e=s(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,a=s(t),o=a[0],l=a[1],c=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,l)),u=0,h=l>0?o-4:o;for(r=0;r>16&255,c[u++]=e>>8&255,c[u++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,c[u++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,c[u++]=e>>8&255,c[u++]=255&e),c},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,c=n-i;sc?c:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},31625:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},54689:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},88772:function(t,e,r){"use strict";var n=r(75144);t.exports=function(t,e){e||(e={});var r,o,s,l,c,u,h,f,p,d,m,g=null==e.cutoff?.25:e.cutoff,y=null==e.radius?8:e.radius,v=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(h=(f=t).getContext("2d"),r=f.width,o=f.height,l=(p=h.getImageData(0,0,r,o)).data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(h=t,r=(f=t.canvas).width,o=f.height,l=(p=h.getImageData(0,0,r,o)).data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,m=c.length;d-1?i(r):r}},87227:function(t,e,r){"use strict";var n=r(87547),i=r(71129),a=r(73285),o=r(48631),s=i("%Function.prototype.apply%"),l=i("%Function.prototype.call%"),c=i("%Reflect.apply%",!0)||n.call(l,s),u=r(40891),h=i("%Math.max%");t.exports=function(t){if("function"!=typeof t)throw new o("a function is required");var e=c(n,l,arguments);return a(e,1+h(0,t.length-(arguments.length-1)),!0)};var f=function(){return c(n,s,arguments)};u?u(t.exports,"apply",{value:f}):t.exports.apply=f},75144:function(t){t.exports=function(t,e,r){return er?r:t:te?e:t}},46762:function(t,e,r){"use strict";var n=r(75144);function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(255&n(o,0,255))}t.exports=i,t.exports.to=i,t.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},86040:function(t){"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},162:function(t,e,r){"use strict";var n=r(16401),i=r(75144),a=r(10275);t.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(a(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},16401:function(t,e,r){"use strict";var n=r(10826),i=r(52132),a=r(75144);t.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},10826:function(t,e,r){"use strict";var n=r(86040);t.exports=function(t){var e,r,a=[],o=1;if("string"==typeof t)if(t=t.toLowerCase(),n[t])a=n[t].slice(),r="rgb";else if("transparent"===t)o=0,r="rgb",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var s=t.slice(1);o=1,(u=s.length)<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===u&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===u&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),r="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var l=e[1],c="rgb"===l;r=s=l.replace(/a$/,"");var u="cmyk"===s?4:"gray"===s?1:3;a=e[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(t,e){if(/%$/.test(t))return e===u?parseFloat(t)/100:"rgb"===s?255*parseFloat(t)/100:parseFloat(t);if("h"===s[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==i[t])return i[t]}return parseFloat(t)})),l===s&&a.push(1),o=c||void 0===a[u]?1:a[u],a=a.slice(0,u)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(a=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),r=t.match(/([a-z])/gi).join("").toLowerCase());else isNaN(t)?Array.isArray(t)||t.length?(a=[t[0],t[1],t[2]],r="rgb",o=4===t.length?t[3]:1):t instanceof Object&&(null!=t.r||null!=t.red||null!=t.R?(r="rgb",a=[t.r||t.red||t.R||0,t.g||t.green||t.G||0,t.b||t.blue||t.B||0]):(r="hsl",a=[t.h||t.hue||t.H||0,t.s||t.saturation||t.S||0,t.l||t.lightness||t.L||t.b||t.brightness]),o=t.a||t.alpha||t.opacity||1,null!=t.opacity&&(o/=100)):(r="rgb",a=[t>>>16,(65280&t)>>>8,255&t]);return{space:r,values:a,alpha:o}};var i={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}},52132:function(t,e,r){"use strict";var n=r(10520);t.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},10520:function(t){"use strict";t.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},78171:function(t){t.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|ç)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|é)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|é)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|ã)o.?tom(e|é)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},59518:function(t,e,r){"use strict";t.exports={parse:r(86029),stringify:r(38211)}},87724:function(t,e,r){"use strict";var n=r(23648);t.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},86029:function(t,e,r){"use strict";var n=r(80886),i=r(54324),a=r(94316),o=r(99803),s=r(87486),l=r(2362),c=r(28089),u=r(87724).isSize;t.exports=f;var h=f.cache={};function f(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(h[t])return h[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==a.indexOf(t))return h[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},f=c(t,/\s+/);e=f.shift();){if(-1!==i.indexOf(e))return["style","variant","weight","stretch"].forEach((function(t){r[t]=e})),h[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(u(e)){var d=c(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===f[0]&&(f.shift(),r.lineHeight=p(f.shift())),!f.length)throw new Error("Missing required font-family.");return r.family=c(f.join(" "),/\s*,\s*/).map(n),h[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},38211:function(t,e,r){"use strict";var n=r(6807),i=r(87724).isSize,a=d(r(54324)),o=d(r(94316)),s=d(r(99803)),l=d(r(87486)),c=d(r(2362)),u={normal:1,"small-caps":1},h={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},f="serif";function p(t,e){if(t&&!e[t]&&!a[t])throw Error("Unknown keyword `"+t+"`");return t}function d(t){for(var e={},r=0;r0?" ".concat(e[5]):""," {")),r+=t(e),n&&(r+="}"),e[2]&&(r+="}"),e[4]&&(r+="}"),r})).join("")},e.i=function(t,r,n,i,a){"string"==typeof t&&(t=[[null,t,void 0]]);var o={};if(n)for(var s=0;s0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=a),r&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=r):u[2]=r),i&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=i):u[4]="".concat(i)),e.push(u))}},e}},62133:function(t){"use strict";t.exports=function(t,e){return e||(e={}),t?(t=String(t.__esModule?t.default:t),/^['"].*['"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/["'() \t\n]|(%20)/.test(t)||e.needQuotes?'"'.concat(t.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t):t}},22413:function(t){"use strict";t.exports=function(t){return t[1]}},84510:function(t,e,r){"use strict";var n,i=r(80299),a=r(9557),o=r(6887),s=r(86591),l=r(76504),c=r(29854),u=Function.prototype.bind,h=Object.defineProperty,f=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,i=a(e)&&o(e.value);return delete(n=s(e)).writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&f.call(this,t)?i:(e.value=u.call(i,r.resolveContext?r.resolveContext(this):this),h(this,t,e),this[t])},n},t.exports=function(t){var e=l(arguments[1]);return i(e.resolveContext)&&o(e.resolveContext),c(t,(function(t,r){return n(r,t,e)}))}},91819:function(t,e,r){"use strict";var n=r(80299),i=r(63461),a=r(1920),o=r(76504),s=r(2338),l=t.exports=function(t,e){var r,i,l,c,u;return arguments.length<2||"string"!=typeof t?(c=e,e=t,t=null):c=arguments[2],n(t)?(r=s.call(t,"c"),i=s.call(t,"e"),l=s.call(t,"w")):(r=l=!0,i=!1),u={value:e,configurable:r,enumerable:i,writable:l},c?a(o(c),u):u};l.gs=function(t,e,r){var l,c,u,h;return"string"!=typeof t?(u=r,r=e,e=t,t=null):u=arguments[3],n(e)?i(e)?n(r)?i(r)||(u=r,r=void 0):r=void 0:(u=e,e=r=void 0):e=void 0,n(t)?(l=s.call(t,"c"),c=s.call(t,"e")):(l=!0,c=!1),h={get:e,set:r,configurable:l,enumerable:c},u?a(o(u),h):h}},29725:function(t,e,r){"use strict";function n(t,e){return te?1:t>=e?0:NaN}r.d(e,{V_:function(){return n},T9:function(){return s},i2:function(){return c},Am:function(){return u},jk:function(){return h},y1:function(){return f},cz:function(){return p}}),1===(i=n).length&&(a=i,i=function(t,e){return n(a(t),e)});var i,a,o=Array.prototype;function s(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n}function l(t){return null===t?NaN:+t}function c(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r}function h(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function f(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n=n.length)return null!=t&&r.sort(t),null!=e?e(r):r;for(var c,u,h,f=-1,p=r.length,d=n[i++],m=o(),g=s();++fn.length)return t;var a,o=i[r-1];return null!=e&&r>=n.length?a=t.entries():(a=[],t.each((function(t,e){a.push({key:e,values:s(t,r)})}))),null!=o?a.sort((function(t,e){return o(t.key,e.key)})):a}return r={object:function(t){return a(t,0,l,c)},map:function(t){return a(t,0,u,h)},entries:function(t){return s(a(t,0,u,h),0)},key:function(t){return n.push(t),r},sortKeys:function(t){return i[n.length-1]=t,r},sortValues:function(e){return t=e,r},rollup:function(t){return e=t,r}}}function l(){return{}}function c(t,e,r){t[e]=r}function u(){return o()}function h(t,e,r){t.set(e,r)}function f(){}var p=o.prototype;f.prototype=function(t,e){var r=new f;if(t instanceof f)t.each((function(t){r.add(t)}));else if(t){var n=-1,i=t.length;if(null==e)for(;++n=(a=(m+y)/2))?m=a:y=a,(u=r>=(o=(g+v)/2))?g=o:v=o,i=p,!(p=p[h=u<<1|c]))return i[h]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[h]=d:t._root=d,t;do{i=i?i[h]=new Array(4):t._root=new Array(4),(c=e>=(a=(m+y)/2))?m=a:y=a,(u=r>=(o=(g+v)/2))?g=o:v=o}while((h=u<<1|c)==(f=(l>=o)<<1|s>=a));return i[f]=p,i[h]=d,t}function s(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function l(t){return t[0]}function c(t){return t[1]}function u(t,e,r){var n=new h(null==e?l:e,null==r?c:r,NaN,NaN,NaN,NaN);return null==t?n:n.addAll(t)}function h(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function f(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}r.r(e),r.d(e,{forceCenter:function(){return n},forceCollide:function(){return g},forceLink:function(){return _},forceManyBody:function(){return $},forceRadial:function(){return J},forceSimulation:function(){return X},forceX:function(){return K},forceY:function(){return Q}});var p=u.prototype=h.prototype;function d(t){return t.x+t.vx}function m(t){return t.y+t.vy}function g(t){var e,r,n=1,o=1;function s(){for(var t,i,s,c,h,f,p,g=e.length,y=0;yc+d||ih+d||os.index){var m=c-l.x-l.vx,g=h-l.y-l.vy,y=m*m+g*g;yt.r&&(t.r=t[e].r)}function c(){if(e){var n,i,a=e.length;for(r=new Array(a),n=0;nh&&(h=n),if&&(f=i));if(c>h||u>f)return this;for(this.cover(c,u).cover(h,f),r=0;rt||t>=i||n>e||e>=a;)switch(s=(ep||(a=c.y0)>d||(o=c.x1)=v)<<1|t>=y)&&(c=m[m.length-1],m[m.length-1]=m[m.length-1-u],m[m.length-1-u]=c)}else{var x=t-+this._x.call(null,g.data),_=e-+this._y.call(null,g.data),b=x*x+_*_;if(b=(s=(d+g)/2))?d=s:g=s,(u=o>=(l=(m+y)/2))?m=l:y=l,e=p,!(p=p[h=u<<1|c]))return this;if(!p.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(r=e,f=h)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[h]=i:delete e[h],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[f]=p:this._root=p),this):(this._root=i,this)},p.removeAll=function(t){for(var e=0,r=t.length;e=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))),o=-1,s=a.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++o0)for(var r,n,i=new Array(r),a=0;a=0&&e._call.call(null,t),e=e._next;--C}()}finally{C=0,function(){for(var t,e,r=M,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:M=e);S=t,H(n)}(),O=0}}function q(){var t=R.now(),e=t-z;e>P&&(D-=e,z=t)}function H(t){C||(L&&(L=clearTimeout(L)),t-O>24?(t<1/0&&(L=setTimeout(V,t-R.now()-D)),I&&(I=clearInterval(I))):(I||(z=R.now(),I=setInterval(q,P)),C=1,F(V)))}function G(t){return t.x}function Z(t){return t.y}j.prototype=U.prototype={constructor:j,restart:function(t,e,r){if("function"!=typeof t)throw new TypeError("callback is not a function");r=(null==r?B():+r)+(null==e?0:+e),this._next||S===this||(S?S._next=this:M=this,S=this),this._call=t,this._time=r,H()},stop:function(){this._call&&(this._call=null,this._time=1/0,H())}};var W=10,Y=Math.PI*(3-Math.sqrt(5));function X(t){var e,r=1,n=.001,i=1-Math.pow(n,1/300),a=0,o=.6,s=(0,y.Tj)(),l=U(u),c=E("tick","end");function u(){h(),c.call("tick",e),r1?(null==r?s.remove(t):s.set(t,p(r)),e):s.get(t)},find:function(e,r,n){var i,a,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c1?(c.on(t,r),e):c.on(t)}}}function $(){var t,e,r,n,o=i(-30),s=1,l=1/0,c=.81;function h(n){var i,a=t.length,o=u(t,G,Z).visitAfter(p);for(r=n,i=0;i=l)){(t.data!==e||t.next)&&(0===h&&(d+=(h=a())*h),0===f&&(d+=(f=a())*f),d1?n[0]+n.slice(2):n,+t.slice(r+1)]}r.d(e,{GP:function(){return f},OE:function(){return m}});var i,a=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(t){if(!(e=a.exec(t)))throw new Error("invalid format: "+t);var e;return new s({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function s(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function l(t,e){var r=n(t,e);if(!r)return t+"";var i=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+new Array(a-i.length+2).join("0")}o.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var c={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return l(100*t,e)},r:l,s:function(t,e){var r=n(t,e);if(!r)return t+"";var a=r[0],o=r[1],s=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+new Array(1-s).join("0")+n(t,Math.max(0,e+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function u(t){return t}var h,f,p=Array.prototype.map,d=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function m(t){var e,r,a=void 0===t.grouping||void 0===t.thousands?u:(e=p.call(t.grouping,Number),r=t.thousands+"",function(t,n){for(var i=t.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(r)}),s=void 0===t.currency?"":t.currency[0]+"",l=void 0===t.currency?"":t.currency[1]+"",h=void 0===t.decimal?".":t.decimal+"",f=void 0===t.numerals?u:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(p.call(t.numerals,String)),m=void 0===t.percent?"%":t.percent+"",g=void 0===t.minus?"-":t.minus+"",y=void 0===t.nan?"NaN":t.nan+"";function v(t){var e=(t=o(t)).fill,r=t.align,n=t.sign,u=t.symbol,p=t.zero,v=t.width,x=t.comma,_=t.precision,b=t.trim,w=t.type;"n"===w?(x=!0,w="g"):c[w]||(void 0===_&&(_=12),b=!0,w="g"),(p||"0"===e&&"="===r)&&(p=!0,e="0",r="=");var T="$"===u?s:"#"===u&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",k="$"===u?l:/[%p]/.test(w)?m:"",A=c[w],M=/[defgprs%]/.test(w);function S(t){var o,s,l,c=T,u=k;if("c"===w)u=A(t)+u,t="";else{var m=(t=+t)<0||1/t<0;if(t=isNaN(t)?y:A(Math.abs(t),_),b&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),m&&0==+t&&"+"!==n&&(m=!1),c=(m?"("===n?n:g:"-"===n||"("===n?"":n)+c,u=("s"===w?d[8+i/3]:"")+u+(m&&"("===n?")":""),M)for(o=-1,s=t.length;++o(l=t.charCodeAt(o))||l>57){u=(46===l?h+t.slice(o+1):t.slice(o))+u,t=t.slice(0,o);break}}x&&!p&&(t=a(t,1/0));var S=c.length+t.length+u.length,E=S>1)+c+t+u+E.slice(S);break;default:t=E+c+t+u}return f(t)}return _=void 0===_?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_)),S.toString=function(){return t+""},S}return{format:v,formatPrefix:function(t,e){var r,i=v(((t=o(t)).type="f",t)),a=3*Math.max(-8,Math.min(8,Math.floor((r=e,((r=n(Math.abs(r)))?r[1]:NaN)/3)))),s=Math.pow(10,-a),l=d[8+a/3];return function(t){return i(s*t)+l}}}}h=m({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),f=h.format,h.formatPrefix},75987:function(t,e,r){"use strict";r.r(e),r.d(e,{geoAiry:function(){return D},geoAiryRaw:function(){return O},geoAitoff:function(){return F},geoAitoffRaw:function(){return R},geoArmadillo:function(){return N},geoArmadilloRaw:function(){return B},geoAugust:function(){return U},geoAugustRaw:function(){return j},geoBaker:function(){return G},geoBakerRaw:function(){return H},geoBerghaus:function(){return Y},geoBerghausRaw:function(){return W},geoBertin1953:function(){return rt},geoBertin1953Raw:function(){return et},geoBoggs:function(){return ut},geoBoggsRaw:function(){return ct},geoBonne:function(){return mt},geoBonneRaw:function(){return dt},geoBottomley:function(){return yt},geoBottomleyRaw:function(){return gt},geoBromley:function(){return xt},geoBromleyRaw:function(){return vt},geoChamberlin:function(){return Et},geoChamberlinAfrica:function(){return St},geoChamberlinRaw:function(){return At},geoCollignon:function(){return Lt},geoCollignonRaw:function(){return Ct},geoCraig:function(){return Pt},geoCraigRaw:function(){return It},geoCraster:function(){return Dt},geoCrasterRaw:function(){return Ot},geoCylindricalEqualArea:function(){return Ft},geoCylindricalEqualAreaRaw:function(){return Rt},geoCylindricalStereographic:function(){return Nt},geoCylindricalStereographicRaw:function(){return Bt},geoEckert1:function(){return Ut},geoEckert1Raw:function(){return jt},geoEckert2:function(){return qt},geoEckert2Raw:function(){return Vt},geoEckert3:function(){return Gt},geoEckert3Raw:function(){return Ht},geoEckert4:function(){return Wt},geoEckert4Raw:function(){return Zt},geoEckert5:function(){return Xt},geoEckert5Raw:function(){return Yt},geoEckert6:function(){return Jt},geoEckert6Raw:function(){return $t},geoEisenlohr:function(){return te},geoEisenlohrRaw:function(){return Qt},geoFahey:function(){return ne},geoFaheyRaw:function(){return re},geoFoucaut:function(){return ae},geoFoucautRaw:function(){return ie},geoFoucautSinusoidal:function(){return se},geoFoucautSinusoidalRaw:function(){return oe},geoGilbert:function(){return fe},geoGingery:function(){return ge},geoGingeryRaw:function(){return pe},geoGinzburg4:function(){return xe},geoGinzburg4Raw:function(){return ve},geoGinzburg5:function(){return be},geoGinzburg5Raw:function(){return _e},geoGinzburg6:function(){return Te},geoGinzburg6Raw:function(){return we},geoGinzburg8:function(){return Ae},geoGinzburg8Raw:function(){return ke},geoGinzburg9:function(){return Se},geoGinzburg9Raw:function(){return Me},geoGringorten:function(){return Le},geoGringortenQuincuncial:function(){return ii},geoGringortenRaw:function(){return Ce},geoGuyou:function(){return Oe},geoGuyouRaw:function(){return ze},geoHammer:function(){return K},geoHammerRaw:function(){return $},geoHammerRetroazimuthal:function(){return Be},geoHammerRetroazimuthalRaw:function(){return Re},geoHealpix:function(){return We},geoHealpixRaw:function(){return qe},geoHill:function(){return Xe},geoHillRaw:function(){return Ye},geoHomolosine:function(){return er},geoHomolosineRaw:function(){return tr},geoHufnagel:function(){return nr},geoHufnagelRaw:function(){return rr},geoHyperelliptical:function(){return sr},geoHyperellipticalRaw:function(){return or},geoInterrupt:function(){return ur},geoInterruptedBoggs:function(){return fr},geoInterruptedHomolosine:function(){return dr},geoInterruptedMollweide:function(){return gr},geoInterruptedMollweideHemispheres:function(){return vr},geoInterruptedQuarticAuthalic:function(){return hn},geoInterruptedSinuMollweide:function(){return _r},geoInterruptedSinusoidal:function(){return wr},geoKavrayskiy7:function(){return kr},geoKavrayskiy7Raw:function(){return Tr},geoLagrange:function(){return Mr},geoLagrangeRaw:function(){return Ar},geoLarrivee:function(){return Cr},geoLarriveeRaw:function(){return Er},geoLaskowski:function(){return Ir},geoLaskowskiRaw:function(){return Lr},geoLittrow:function(){return zr},geoLittrowRaw:function(){return Pr},geoLoximuthal:function(){return Dr},geoLoximuthalRaw:function(){return Or},geoMiller:function(){return Fr},geoMillerRaw:function(){return Rr},geoModifiedStereographic:function(){return Xr},geoModifiedStereographicAlaska:function(){return Hr},geoModifiedStereographicGs48:function(){return Gr},geoModifiedStereographicGs50:function(){return Zr},geoModifiedStereographicLee:function(){return Yr},geoModifiedStereographicMiller:function(){return Wr},geoModifiedStereographicRaw:function(){return Br},geoMollweide:function(){return ot},geoMollweideRaw:function(){return at},geoMtFlatPolarParabolic:function(){return Qr},geoMtFlatPolarParabolicRaw:function(){return Kr},geoMtFlatPolarQuartic:function(){return en},geoMtFlatPolarQuarticRaw:function(){return tn},geoMtFlatPolarSinusoidal:function(){return nn},geoMtFlatPolarSinusoidalRaw:function(){return rn},geoNaturalEarth:function(){return an.A},geoNaturalEarth2:function(){return sn},geoNaturalEarth2Raw:function(){return on},geoNaturalEarthRaw:function(){return an.P},geoNellHammer:function(){return cn},geoNellHammerRaw:function(){return ln},geoNicolosi:function(){return pn},geoNicolosiRaw:function(){return fn},geoPatterson:function(){return kn},geoPattersonRaw:function(){return Tn},geoPeirceQuincuncial:function(){return ai},geoPierceQuincuncial:function(){return ai},geoPolyconic:function(){return Mn},geoPolyconicRaw:function(){return An},geoPolyhedral:function(){return Pn},geoPolyhedralButterfly:function(){return Nn},geoPolyhedralCollignon:function(){return Vn},geoPolyhedralWaterman:function(){return qn},geoProject:function(){return Yn},geoQuantize:function(){return oi},geoQuincuncial:function(){return ni},geoRectangularPolyconic:function(){return li},geoRectangularPolyconicRaw:function(){return si},geoRobinson:function(){return hi},geoRobinsonRaw:function(){return ui},geoSatellite:function(){return pi},geoSatelliteRaw:function(){return fi},geoSinuMollweide:function(){return Qe},geoSinuMollweideRaw:function(){return Ke},geoSinusoidal:function(){return pt},geoSinusoidalRaw:function(){return ft},geoStitch:function(){return Pi},geoTimes:function(){return Oi},geoTimesRaw:function(){return zi},geoTwoPointAzimuthal:function(){return Bi},geoTwoPointAzimuthalRaw:function(){return Ri},geoTwoPointAzimuthalUsa:function(){return Fi},geoTwoPointEquidistant:function(){return Ui},geoTwoPointEquidistantRaw:function(){return Ni},geoTwoPointEquidistantUsa:function(){return ji},geoVanDerGrinten:function(){return qi},geoVanDerGrinten2:function(){return Gi},geoVanDerGrinten2Raw:function(){return Hi},geoVanDerGrinten3:function(){return Wi},geoVanDerGrinten3Raw:function(){return Zi},geoVanDerGrinten4:function(){return Xi},geoVanDerGrinten4Raw:function(){return Yi},geoVanDerGrintenRaw:function(){return Vi},geoWagner:function(){return Ji},geoWagner4:function(){return ra},geoWagner4Raw:function(){return ea},geoWagner6:function(){return ia},geoWagner6Raw:function(){return na},geoWagner7:function(){return Ki},geoWagnerRaw:function(){return $i},geoWiechel:function(){return oa},geoWiechelRaw:function(){return aa},geoWinkel3:function(){return la},geoWinkel3Raw:function(){return sa}});var n=r(94684),i=Math.abs,a=Math.atan,o=Math.atan2,s=(Math.ceil,Math.cos),l=Math.exp,c=Math.floor,u=Math.log,h=Math.max,f=Math.min,p=Math.pow,d=Math.round,m=Math.sign||function(t){return t>0?1:t<0?-1:0},g=Math.sin,y=Math.tan,v=1e-6,x=1e-12,_=Math.PI,b=_/2,w=_/4,T=Math.SQRT1_2,k=I(2),A=I(_),M=2*_,S=180/_,E=_/180;function C(t){return t>1?b:t<-1?-b:Math.asin(t)}function L(t){return t>1?0:t<-1?_:Math.acos(t)}function I(t){return t>0?Math.sqrt(t):0}function P(t){return(l(t)-l(-t))/2}function z(t){return(l(t)+l(-t))/2}function O(t){var e=y(t/2),r=2*u(s(t/2))/(e*e);function n(t,e){var n=s(t),i=s(e),a=g(e),o=i*n,l=-((1-o?u((1+o)/2)/(1-o):-.5)+r/(1+o));return[l*i*g(t),l*a]}return n.invert=function(e,n){var a,l=I(e*e+n*n),c=-t/2,h=50;if(!l)return[0,0];do{var f=c/2,p=s(f),d=g(f),m=d/p,y=-u(i(p));c-=a=(2/m*y-r*m-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(i(a)>v&&--h>0);var x=g(c);return[o(e*x,l*s(c)),C(n*x/l)]},n}function D(){var t=b,e=(0,n.U)(O),r=e(t);return r.radius=function(r){return arguments.length?e(t=r*E):t*S},r.scale(179.976).clipAngle(147)}function R(t,e){var r=s(e),n=function(t){return t?t/Math.sin(t):1}(L(r*s(t/=2)));return[2*r*g(t)*n,g(e)*n]}function F(){return(0,n.A)(R).scale(152.63)}function B(t){var e=g(t),r=s(t),n=t>=0?1:-1,a=y(n*t),l=(1+e-r)/2;function c(t,i){var c=s(i),u=s(t/=2);return[(1+c)*g(t),(n*i>-o(u,a)-.001?0:10*-n)+l+g(i)*r-(1+c)*e*u]}return c.invert=function(t,c){var u=0,h=0,f=50;do{var p=s(u),d=g(u),m=s(h),y=g(h),x=1+m,_=x*d-t,b=l+y*r-x*e*p-c,w=x*p/2,T=-d*y,k=e*x*d/2,A=r*m+e*p*y,M=T*k-A*w,S=(b*T-_*A)/M/2,E=(_*k-b*w)/M;i(E)>2&&(E/=2),u-=S,h-=E}while((i(S)>v||i(E)>v)&&--f>0);return n*h>-o(s(u),a)-.001?[2*u,h]:null},c}function N(){var t=20*E,e=t>=0?1:-1,r=y(e*t),i=(0,n.U)(B),a=i(t),l=a.stream;return a.parallel=function(n){return arguments.length?(r=y((e=(t=n*E)>=0?1:-1)*t),i(t)):t*S},a.stream=function(n){var i=a.rotate(),c=l(n),u=(a.rotate([0,0]),l(n)),h=a.precision();return a.rotate(i),c.sphere=function(){u.polygonStart(),u.lineStart();for(var n=-180*e;e*n<180;n+=90*e)u.point(n,90*e);if(t)for(;e*(n-=3*e*h)>=-180;)u.point(n,e*-o(s(n*E/2),r)*S);u.lineEnd(),u.polygonEnd()},c},a.scale(218.695).center([0,28.0974])}function j(t,e){var r=y(e/2),n=I(1-r*r),i=1+n*s(t/=2),a=g(t)*n/i,o=r/i,l=a*a,c=o*o;return[4/3*a*(3+l-3*c),4/3*o*(3+3*l-c)]}function U(){return(0,n.A)(j).scale(66.1603)}R.invert=function(t,e){if(!(t*t+4*e*e>_*_+v)){var r=t,n=e,a=25;do{var o,l=g(r),c=g(r/2),u=s(r/2),h=g(n),f=s(n),p=g(2*n),d=h*h,m=f*f,y=c*c,x=1-m*u*u,b=x?L(f*u)*I(o=1/x):o=0,w=2*b*f*c-t,T=b*h-e,k=o*(m*y+b*f*u*d),A=o*(.5*l*p-2*b*h*c),M=.25*o*(p*c-b*h*m*l),S=o*(d*u+b*y*f),E=A*M-S*k;if(!E)break;var C=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=C,n-=P}while((i(C)>v||i(P)>v)&&--a>0);return[r,n]}},j.invert=function(t,e){if(e*=3/8,!(t*=3/8)&&i(e)>1)return null;var r=1+t*t+e*e,n=I((r-I(r*r-4*e*e))/2),a=C(n)/3,l=n?function(t){return u(t+I(t*t-1))}(i(e/n))/3:function(t){return u(t+I(t*t+1))}(i(t))/3,c=s(a),h=z(l),f=h*h-c*c;return[2*m(t)*o(P(l)*c,.25-f),2*m(e)*o(h*g(a),.25+f)]};var V=I(8),q=u(1+k);function H(t,e){var r=i(e);return rx&&--c>0);return[t/(s(o)*(V-1/g(o))),m(e)*o]};var Z=r(61957);function W(t){var e=2*_/t;function r(t,r){var n=(0,Z.j)(t,r);if(i(t)>b){var a=o(n[1],n[0]),l=I(n[0]*n[0]+n[1]*n[1]),c=e*d((a-b)/e)+b,u=o(g(a-=c),2-s(a));a=c+C(_/l*g(u))-u,n[0]=l*s(a),n[1]=l*g(a)}return n}return r.invert=function(t,r){var n=I(t*t+r*r);if(n>b){var i=o(r,t),l=e*d((i-b)/e)+b,c=i>l?-1:1,u=n*s(l-i),h=1/y(c*L((u-_)/I(_*(_-2*u)+n*n)));i=l+2*a((h+c*I(h*h-3))/3),t=n*s(i),r=n*g(i)}return Z.j.invert(t,r)},r}function Y(){var t=5,e=(0,n.U)(W),r=e(t),i=r.stream,a=.01,l=-s(a*E),c=g(a*E);return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),u=i(e),h=(r.rotate([0,0]),i(e));return r.rotate(n),u.sphere=function(){h.polygonStart(),h.lineStart();for(var e=0,r=360/t,n=2*_/t,i=90-180/t,u=b;e0&&i(n)>v);return s<0?NaN:r}function tt(t,e,r){return void 0===e&&(e=40),void 0===r&&(r=x),function(n,a,o,s){var l,c,u;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var h=0;hl)o-=c/=2,s-=u/=2;else{l=m;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,v=t(o+g,s),x=t(o,s+y),_=(v[0]-f[0])/g,b=(v[1]-f[1])/g,w=(x[0]-f[0])/y,T=(x[1]-f[1])/y,k=T*_-b*w,A=(i(k)<.5?.5:1)/k;if(o+=c=(d*w-p*T)*A,s+=u=(p*b-d*_)*A,i(c)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return e.invert=tt(e),e}function rt(){return(0,n.A)(et()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function nt(t,e){var r,n=t*g(e),a=30;do{e-=r=(e+g(e)-n)/(1+s(e))}while(i(r)>v&&--a>0);return e/2}function it(t,e,r){function n(n,i){return[t*n*s(i=nt(r,i)),e*g(i)]}return n.invert=function(n,i){return i=C(i/e),[n/(t*s(i)),C((2*i+g(2*i))/r)]},n}J.invert=function(t,e){var r=2*C(e/2);return[t*s(r/2)/s(r),r]};var at=it(k/b,k,_);function ot(){return(0,n.A)(at).scale(169.529)}var st=2.00276,lt=1.11072;function ct(t,e){var r=nt(_,e);return[st*t/(1/s(e)+lt/s(r)),(e+k*g(r))/st]}function ut(){return(0,n.A)(ct).scale(160.857)}function ht(t){var e=0,r=(0,n.U)(t),i=r(e);return i.parallel=function(t){return arguments.length?r(e=t*E):e*S},i}function ft(t,e){return[t*s(e),e]}function pt(){return(0,n.A)(ft).scale(152.63)}function dt(t){if(!t)return ft;var e=1/y(t);function r(r,n){var i=e+t-n,a=i?r*s(n)/i:i;return[i*g(a),e-i*s(a)]}return r.invert=function(r,n){var i=I(r*r+(n=e-n)*n),a=e+t-i;return[i/s(a)*o(r,n),a]},r}function mt(){return ht(dt).scale(123.082).center([0,26.1441]).parallel(45)}function gt(t){function e(e,r){var n=b-r,i=n?e*t*g(n)/n:n;return[n*g(i)/t,b-n*s(i)]}return e.invert=function(e,r){var n=e*t,i=b-r,a=I(n*n+i*i),s=o(n,i);return[(a?a/g(a):1)*s/t,b-a]},e}function yt(){var t=.5,e=(0,n.U)(gt),r=e(t);return r.fraction=function(r){return arguments.length?e(t=+r):t},r.scale(158.837)}ct.invert=function(t,e){var r,n,a=st*e,o=e<0?-w:w,l=25;do{n=a-k*g(o),o-=r=(g(2*o)+2*o-_*g(n))/(2*s(2*o)+2+_*s(n)*k*s(o))}while(i(r)>v&&--l>0);return n=a-k*g(o),[t*(1/s(n)+lt/s(o))/st,n]},ft.invert=function(t,e){return[t/s(e),e]};var vt=it(1,4/_,_);function xt(){return(0,n.A)(vt).scale(152.63)}var _t=r(30021),bt=r(30915);function wt(t,e,r,n,a,l){var c,u=s(l);if(i(t)>1||i(l)>1)c=L(r*a+e*n*u);else{var h=g(t/2),f=g(l/2);c=2*C(I(h*h+e*n*f*f))}return i(c)>v?[c,o(n*g(l),e*a-r*n*u)]:[0,0]}function Tt(t,e,r){return L((t*t+e*e-r*r)/(2*t*e))}function kt(t){return t-2*_*c((t+_)/(2*_))}function At(t,e,r){for(var n,i=[[t[0],t[1],g(t[1]),s(t[1])],[e[0],e[1],g(e[1]),s(e[1])],[r[0],r[1],g(r[1]),s(r[1])]],a=i[2],o=0;o<3;++o,a=n)n=i[o],a.v=wt(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=Tt(i[0].v[0],i[2].v[0],i[1].v[0]),c=Tt(i[0].v[0],i[1].v[0],i[2].v[0]),u=_-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var h=[i[2].point[0]=i[0].point[0]+i[2].v[0]*s(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*g(l))];return function(t,e){var r,n=g(e),a=s(e),o=new Array(3);for(r=0;r<3;++r){var l=i[r];if(o[r]=wt(e-l[1],l[3],l[2],a,n,t-l[0]),!o[r][0])return l.point;o[r][1]=kt(o[r][1]-l.v[1])}var f=h.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=Tt(i[r].v[0],o[r][0],o[p][0]);o[r][1]<0&&(d=-d),r?1==r?(d=c-d,f[0]-=o[r][0]*s(d),f[1]-=o[r][0]*g(d)):(d=u-d,f[0]+=o[r][0]*s(d),f[1]+=o[r][0]*g(d)):(f[0]+=o[r][0]*s(d),f[1]-=o[r][0]*g(d))}return f[0]/=3,f[1]/=3,f}}function Mt(t){return t[0]*=E,t[1]*=E,t}function St(){return Et([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Et(t,e,r){var i=(0,_t.A)({type:"MultiPoint",coordinates:[t,e,r]}),a=[-i[0],-i[1]],o=(0,bt.A)(a),s=At(Mt(o(t)),Mt(o(e)),Mt(o(r)));s.invert=tt(s);var l=(0,n.A)(s).rotate(a),c=l.center;return delete l.rotate,l.center=function(t){return arguments.length?c(o(t)):o.invert(c())},l.clipAngle(90)}function Ct(t,e){var r=I(1-g(e));return[2/A*t*r,A*(1-r)]}function Lt(){return(0,n.A)(Ct).scale(95.6464).center([0,30])}function It(t){var e=y(t);function r(t,r){return[t,(t?t/g(t):1)*(g(r)*s(t)-e*s(r))]}return r.invert=e?function(t,r){t&&(r*=g(t)/t);var n=s(t);return[t,2*o(I(n*n+e*e-r*r)-n,e-r)]}:function(t,e){return[t,C(t?e*y(t)/t:e)]},r}function Pt(){return ht(It).scale(249.828).clipAngle(90)}Ct.invert=function(t,e){var r=(r=e/A-1)*r;return[r>0?t*I(_/r)/2:0,C(1-r)]};var zt=I(3);function Ot(t,e){return[zt*t*(2*s(2*e/3)-1)/A,zt*A*g(e/3)]}function Dt(){return(0,n.A)(Ot).scale(156.19)}function Rt(t){var e=s(t);function r(t,r){return[t*e,g(r)/e]}return r.invert=function(t,r){return[t/e,C(r*e)]},r}function Ft(){return ht(Rt).parallel(38.58).scale(195.044)}function Bt(t){var e=s(t);function r(t,r){return[t*e,(1+e)*y(r/2)]}return r.invert=function(t,r){return[t/e,2*a(r/(1+e))]},r}function Nt(){return ht(Bt).scale(124.75)}function jt(t,e){var r=I(8/(3*_));return[r*t*(1-i(e)/_),r*e]}function Ut(){return(0,n.A)(jt).scale(165.664)}function Vt(t,e){var r=I(4-3*g(i(e)));return[2/I(6*_)*t*r,m(e)*I(2*_/3)*(2-r)]}function qt(){return(0,n.A)(Vt).scale(165.664)}function Ht(t,e){var r=I(_*(4+_));return[2/r*t*(1+I(1-4*e*e/(_*_))),4/r*e]}function Gt(){return(0,n.A)(Ht).scale(180.739)}function Zt(t,e){var r=(2+b)*g(e);e/=2;for(var n=0,a=1/0;n<10&&i(a)>v;n++){var o=s(e);e-=a=(e+g(e)*(o+2)-r)/(2*o*(1+o))}return[2/I(_*(4+_))*t*(1+s(e)),2*I(_/(4+_))*g(e)]}function Wt(){return(0,n.A)(Zt).scale(180.739)}function Yt(t,e){return[t*(1+s(e))/I(2+_),2*e/I(2+_)]}function Xt(){return(0,n.A)(Yt).scale(173.044)}function $t(t,e){for(var r=(1+b)*g(e),n=0,a=1/0;n<10&&i(a)>v;n++)e-=a=(e+g(e)-r)/(1+s(e));return r=I(2+_),[t*(1+s(e))/r,2*e/r]}function Jt(){return(0,n.A)($t).scale(173.044)}Ot.invert=function(t,e){var r=3*C(e/(zt*A));return[A*t/(zt*(2*s(2*r/3)-1)),r]},jt.invert=function(t,e){var r=I(8/(3*_)),n=e/r;return[t/(r*(1-i(n)/_)),n]},Vt.invert=function(t,e){var r=2-i(e)/I(2*_/3);return[t*I(6*_)/(2*r),m(e)*C((4-r*r)/3)]},Ht.invert=function(t,e){var r=I(_*(4+_))/2;return[t*r/(1+I(1-e*e*(4+_)/(4*_))),e*r/2]},Zt.invert=function(t,e){var r=e*I((4+_)/_)/2,n=C(r),i=s(n);return[t/(2/I(_*(4+_))*(1+i)),C((n+r*(i+2))/(2+b))]},Yt.invert=function(t,e){var r=I(2+_),n=e*r/2;return[r*t/(1+s(n)),n]},$t.invert=function(t,e){var r=1+b,n=I(r/2);return[2*t*n/(1+s(e*=n)),C((e+g(e))/r)]};var Kt=3+2*k;function Qt(t,e){var r=g(t/=2),n=s(t),i=I(s(e)),o=s(e/=2),l=g(e)/(o+k*n*i),c=I(2/(1+l*l)),h=I((k*o+(n+r)*i)/(k*o+(n-r)*i));return[Kt*(c*(h-1/h)-2*u(h)),Kt*(c*l*(h+1/h)-2*a(l))]}function te(){return(0,n.A)(Qt).scale(62.5271)}Qt.invert=function(t,e){if(!(r=j.invert(t/1.2,1.065*e)))return null;var r,n=r[0],o=r[1],l=20;t/=Kt,e/=Kt;do{var c=n/2,p=o/2,d=g(c),m=s(c),y=g(p),x=s(p),_=s(o),w=I(_),A=y/(x+k*m*w),M=A*A,S=I(2/(1+M)),E=(k*x+(m+d)*w)/(k*x+(m-d)*w),C=I(E),L=C-1/C,P=C+1/C,z=S*L-2*u(C)-t,O=S*A*P-2*a(A)-e,D=y&&T*w*d*M/y,R=(k*m*x+w)/(2*(x+k*m*w)*(x+k*m*w)*w),F=-.5*A*S*S*S,B=F*D,N=F*R,U=(U=2*x+k*w*(m-d))*U*C,V=(k*m*x*w+_)/U,q=-k*d*y/(w*U),H=L*B-2*V/C+S*(V+V/E),G=L*N-2*q/C+S*(q+q/E),Z=A*P*B-2*D/(1+M)+S*P*D+S*A*(V-V/E),W=A*P*N-2*R/(1+M)+S*P*R+S*A*(q-q/E),Y=G*Z-W*H;if(!Y)break;var X=(O*G-z*W)/Y,$=(z*Z-O*H)/Y;n-=X,o=h(-b,f(b,o-$))}while((i(X)>v||i($)>v)&&--l>0);return i(i(o)-b)n){var f=I(h),p=o(u,c),m=r*d(p/r),y=p-m,x=t*s(y),w=(t*g(y)-y*g(x))/(b-x),T=de(y,w),k=(_-t)/me(T,x,_);c=f;var A,M=50;do{c-=A=(t+me(T,x,c)*k-f)/(T(c)*k)}while(i(A)>v&&--M>0);u=y*g(c),cn){var c=I(l),u=o(a,e),h=r*d(u/r),f=u-h;e=c*s(f),a=c*g(f);for(var p=e-b,m=g(e),y=a/m,v=ev||i(p)>v)&&--y>0);return[d,m]},u}var ve=ye(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function xe(){return(0,n.A)(ve).scale(149.995)}var _e=ye(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function be(){return(0,n.A)(_e).scale(153.93)}var we=ye(5/6*_,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Te(){return(0,n.A)(we).scale(130.945)}function ke(t,e){var r=t*t,n=e*e;return[t*(1-.162388*n)*(.87-952426e-9*r*r),e*(1+n/12)]}function Ae(){return(0,n.A)(ke).scale(131.747)}ke.invert=function(t,e){var r,n=t,a=e,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-e)/(1+s/4)}while(i(r)>v&&--o>0);o=50,t/=1-.162388*s;do{var l=(l=n*n)*l;n-=r=(n*(.87-952426e-9*l)-t)/(.87-.00476213*l)}while(i(r)>v&&--o>0);return[n,a]};var Me=ye(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Se(){return(0,n.A)(Me).scale(131.087)}function Ee(t){var e=t(b,0)[0]-t(-b,0)[0];function r(r,n){var i=r>0?-.5:.5,a=t(r+i*_,n);return a[0]-=i*e,a}return t.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=t.invert(r+i*e,n),o=a[0]-i*_;return o<-_?o+=2*_:o>_&&(o-=2*_),a[0]=o,a}),r}function Ce(t,e){var r=m(t),n=m(e),a=s(e),l=s(t)*a,c=g(t)*a,u=g(n*e);t=i(o(c,u)),e=C(l),i(t-b)>v&&(t%=b);var h=function(t,e){if(e===b)return[0,0];var r,n,a=g(e),o=a*a,l=o*o,c=1+l,u=1+3*l,h=1-l,f=C(1/I(c)),p=h+o*c*f,d=(1-a)/p,m=I(d),y=d*c,x=I(y),w=m*h;if(0===t)return[0,-(w+o*x)];var T,k=s(e),A=1/k,M=2*a*k,S=(-p*k-(1-a)*((-3*o+f*u)*M))/(p*p),E=-A*M,L=-A*(o*c*S+d*u*M),P=-2*A*(h*(.5*S/m)-2*o*m*M),z=4*t/_;if(t>.222*_||e<_/4&&t>.175*_){if(r=(w+o*I(y*(1+l)-w*w))/(1+l),t>_/4)return[r,r];var O=r,D=.5*r;r=.5*(D+O),n=50;do{var R=r*(P+E*I(y-r*r))+L*C(r/x)-z;if(!R)break;R<0?D=r:O=r,r=.5*(D+O)}while(i(O-D)>v&&--n>0)}else{r=v,n=25;do{var F=r*r,B=I(y-F),N=P+E*B,j=r*N+L*C(r/x)-z;r-=T=B?j/(N+(L-E*F)/B):0}while(i(T)>v&&--n>0)}return[r,-w-o*I(y-r*r)]}(t>_/4?b-t:t,e);return t>_/4&&(u=h[0],h[0]=-h[1],h[1]=-u),h[0]*=r,h[1]*=-n,h}function Le(){return(0,n.A)(Ee(Ce)).scale(239.75)}function Ie(t,e){var r,n,o,c,u,h;if(e=1-v)return r=(1-e)/4,o=1/(n=z(t)),[(c=((h=l(2*(h=t)))-1)/(h+1))+r*((u=n*P(t))-t)/(n*n),o-r*c*o*(u-t),o+r*c*o*(u+t),2*a(l(t))-b+r*(u-t)/n];var f=[1,0,0,0,0,0,0,0,0],p=[I(e),0,0,0,0,0,0,0,0],d=0;for(n=I(1-e),u=1;i(p[d]/f[d])>v&&d<8;)r=f[d++],p[d]=(r-n)/2,f[d]=(r+n)/2,n=I(r*n),u*=2;o=u*f[d]*t;do{o=(C(c=p[d]*g(n=o)/f[d])+o)/2}while(--d);return[g(o),c=s(o),c/s(o-n),o]}function Pe(t,e){if(!e)return t;if(1===e)return u(y(t/2+w));for(var r=1,n=I(1-e),o=I(e),s=0;i(o)>v;s++){if(t%_){var l=a(n*y(t)/r);l<0&&(l+=_),t+=l+~~(t/_)*_}else t+=t;o=(r+n)/2,n=I(r*n),o=((r=o)-n)/2}return t/(p(2,s)*r)}function ze(t,e){var r=(k-1)/(k+1),n=I(1-r*r),c=Pe(b,n*n),h=u(y(_/4+i(e)/2)),f=l(-1*h)/I(r),p=function(t,e){var r=t*t,n=e+1,i=1-r-e*e;return[.5*((t>=0?b:-b)-o(i,2*t)),-.25*u(i*i+4*r)+.5*u(n*n+r)]}(f*s(-1*t),f*g(-1*t)),d=function(t,e,r){var n=i(t),o=P(i(e));if(n){var s=1/g(n),l=1/(y(n)*y(n)),c=-(l+r*(o*o*s*s)-1+r),u=(-c+I(c*c-(r-1)*l*4))/2;return[Pe(a(1/I(u)),r)*m(t),Pe(a(I((u/l-1)/r)),1-r)*m(e)]}return[0,Pe(a(o),1-r)*m(e)]}(p[0],p[1],n*n);return[-d[1],(e>=0?1:-1)*(.5*c-d[0])]}function Oe(){return(0,n.A)(Ee(ze)).scale(151.496)}Ce.invert=function(t,e){i(t)>1&&(t=2*m(t)-t),i(e)>1&&(e=2*m(e)-e);var r=m(t),n=m(e),a=-r*t,l=-n*e,c=l/a<1,u=function(t,e){for(var r=0,n=1,a=.5,o=50;;){var l=a*a,c=I(a),u=C(1/I(1+l)),h=1-l+a*(1+l)*u,f=(1-c)/h,p=I(f),d=f*(1+l),m=p*(1-l),g=I(d-t*t),y=e+m+a*g;if(i(n-r)0?r=a:n=a,a=.5*(r+n)}if(!o)return null;var v=C(c),b=s(v),w=1/b,T=2*c*b,k=(-h*b-(-3*a+u*(1+3*l))*T*(1-c))/(h*h);return[_/4*(t*(-2*w*((1-l)*(.5*k/p)-2*a*p*T)+-w*T*g)+-w*(a*(1+l)*k+f*(1+3*l)*T)*C(t/I(d))),v]}(c?l:a,c?a:l),h=u[0],f=u[1],p=s(f);return c&&(h=-b-h),[r*(o(g(h)*p,-g(f))+_),n*C(s(h)*p)]},ze.invert=function(t,e){var r,n,i,s,c,h,f=(k-1)/(k+1),p=I(1-f*f),d=(n=-t,i=p*p,(r=.5*Pe(b,p*p)-e)?(s=Ie(r,i),n?(h=(c=Ie(n,1-i))[1]*c[1]+i*s[0]*s[0]*c[0]*c[0],[[s[0]*c[2]/h,s[1]*s[2]*c[0]*c[1]/h],[s[1]*c[1]/h,-s[0]*s[2]*c[0]*c[2]/h],[s[2]*c[1]*c[2]/h,-i*s[0]*s[1]*c[0]/h]]):[[s[0],0],[s[1],0],[s[2],0]]):[[0,(c=Ie(n,1-i))[0]/c[1]],[1/c[1],0],[c[2]/c[1],0]]),m=function(t,e){var r=e[0]*e[0]+e[1]*e[1];return[(t[0]*e[0]+t[1]*e[1])/r,(t[1]*e[0]-t[0]*e[1])/r]}(d[0],d[1]);return[o(m[1],m[0])/-1,2*a(l(-.5*u(f*m[0]*m[0]+f*m[1]*m[1])))-b]};var De=r(39127);function Re(t){var e=g(t),r=s(t),n=Fe(t);function a(t,a){var o=n(t,a);t=o[0],a=o[1];var l=g(a),c=s(a),u=s(t),h=L(e*l+r*c*u),f=g(h),p=i(f)>v?h/f:1;return[p*r*g(t),(i(t)>b?p:-p)*(e*c-r*l*u)]}return n.invert=Fe(-t),a.invert=function(t,r){var i=I(t*t+r*r),a=-g(i),l=s(i),c=i*l,u=-r*a,h=i*e,f=I(c*c+u*u-h*h),p=o(c*h+u*f,u*h-c*f),d=(i>b?-1:1)*o(t*a,i*s(p)*l+r*g(p)*a);return n.invert(d,p)},a}function Fe(t){var e=g(t),r=s(t);return function(t,n){var i=s(n),a=s(t)*i,l=g(t)*i,c=g(n);return[o(l,a*r-c*e),C(c*r+a*e)]}}function Be(){var t=0,e=(0,n.U)(Re),r=e(t),i=r.rotate,a=r.stream,o=(0,De.A)();return r.parallel=function(n){if(!arguments.length)return t*S;var i=r.rotate();return e(t=n*E).rotate(i)},r.rotate=function(e){return arguments.length?(i.call(r,[e[0],e[1]-t*S]),o.center([-e[0],-e[1]]),r):((e=i.call(r))[1]+=t*S,e)},r.stream=function(t){return(t=a(t)).sphere=function(){t.polygonStart();var e,r=o.radius(89.99)().coordinates[0],n=r.length-1,i=-1;for(t.lineStart();++i=0;)t.point((e=r[i])[0],e[1]);t.lineEnd(),t.polygonEnd()},t},r.scale(79.4187).parallel(45).clipAngle(179.999)}var Ne=r(29725),je=r(20465),Ue=C(1-1/3)*S,Ve=Rt(0);function qe(t){var e=Ue*E,r=Ct(_,e)[0]-Ct(-_,e)[0],n=Ve(0,e)[1],a=Ct(0,e)[1],o=A-a,s=M/t,l=4/M,u=n+o*o*4/M;function p(p,d){var m,g=i(d);if(g>e){var y=f(t-1,h(0,c((p+_)/s)));(m=Ct(p+=_*(t-1)/t-y*s,g))[0]=m[0]*M/r-M*(t-1)/(2*t)+y*M/t,m[1]=n+4*(m[1]-a)*o/M,d<0&&(m[1]=-m[1])}else m=Ve(p,d);return m[0]*=l,m[1]/=u,m}return p.invert=function(e,p){e/=l;var d=i(p*=u);if(d>n){var m=f(t-1,h(0,c((e+_)/s)));e=(e+_*(t-1)/t-m*s)*r/M;var g=Ct.invert(e,.25*(d-n)*M/o+a);return g[0]-=_*(t-1)/t-m*s,p<0&&(g[1]=-g[1]),g}return Ve.invert(e,p)},p}function He(t,e){return[t,1&e?90-v:Ue]}function Ge(t,e){return[t,1&e?-90+v:-Ue]}function Ze(t){return[t[0]*(1-v),t[1]]}function We(){var t=4,e=(0,n.U)(qe),r=e(t),i=r.stream;return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),a=i(e),o=(r.rotate([0,0]),i(e));return r.rotate(n),a.sphere=function(){var e,r;(0,je.A)((e=180/t,r=[].concat((0,Ne.y1)(-180,180+e/2,e).map(He),(0,Ne.y1)(180,-180-e/2,-e).map(Ge)),{type:"Polygon",coordinates:[180===e?r.map(Ze):r]}),o)},a},r.scale(239.75)}function Ye(t){var e,r=1+t,n=C(g(1/r)),a=2*I(_/(e=_+4*n*r)),l=.5*a*(r+I(t*(2+t))),c=t*t,u=r*r;function h(h,f){var p,d,m=1-g(f);if(m&&m<2){var y,v=b-f,w=25;do{var T=g(v),k=s(v),A=n+o(T,r-k),M=1+u-2*r*k;v-=y=(v-c*n-r*T+M*A-.5*m*e)/(2*r*T*A)}while(i(y)>x&&--w>0);p=a*I(M),d=h*A/_}else p=a*(t+m),d=h*n/_;return[p*g(d),l-p*s(d)]}return h.invert=function(t,i){var s=t*t+(i-=l)*i,h=(1+u-s/(a*a))/(2*r),f=L(h),p=g(f),d=n+o(p,r-h);return[C(t/I(s))*_/d,C(1-2*(f-c*n-r*p+(1+u-2*r*h)*d)/e)]},h}function Xe(){var t=1,e=(0,n.U)(Ye),r=e(t);return r.ratio=function(r){return arguments.length?e(t=+r):t},r.scale(167.774).center([0,18.67])}var $e=.7109889596207567,Je=.0528035274542;function Ke(t,e){return e>-$e?((t=at(t,e))[1]+=Je,t):ft(t,e)}function Qe(){return(0,n.A)(Ke).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function tr(t,e){return i(e)>$e?((t=at(t,e))[1]-=e>0?Je:-Je,t):ft(t,e)}function er(){return(0,n.A)(tr).scale(152.63)}function rr(t,e,r,n){var i=I(4*_/(2*r+(1+t-e/2)*g(2*r)+(t+e)/2*g(4*r)+e/2*g(6*r))),a=I(n*g(r)*I((1+t*s(2*r)+e*s(4*r))/(1+t+e))),o=r*c(1);function l(r){return I(1+t*s(2*r)+e*s(4*r))}function c(n){var i=n*r;return(2*i+(1+t-e/2)*g(2*i)+(t+e)/2*g(4*i)+e/2*g(6*i))/r}function u(t){return l(t)*g(t)}var h=function(t,e){var n=r*Q(c,o*g(e)/r,e/_);isNaN(n)&&(n=r*m(e));var u=i*l(n);return[u*a*t/_*s(n),u/a*g(n)]};return h.invert=function(t,e){var n=Q(u,e*a/i);return[t*_/(s(n)*i*a*l(n)),C(r*c(n/r)/o)]},0===r&&(i=I(n/_),(h=function(t,e){return[t*i,g(e)/i]}).invert=function(t,e){return[t/i,C(e*i)]}),h}function nr(){var t=1,e=0,r=45*E,i=2,a=(0,n.U)(rr),o=a(t,e,r,i);return o.a=function(n){return arguments.length?a(t=+n,e,r,i):t},o.b=function(n){return arguments.length?a(t,e=+n,r,i):e},o.psiMax=function(n){return arguments.length?a(t,e,r=+n*E,i):r*S},o.ratio=function(n){return arguments.length?a(t,e,r,i=+n):i},o.scale(180.739)}function ir(t,e,r,n,i,a,o,s,l,c,u){if(u.nanEncountered)return NaN;var h,f,p,d,m,g,y,v,x,_;if(f=t(e+.25*(h=r-e)),p=t(r-.25*h),isNaN(f))u.nanEncountered=!0;else{if(!isNaN(p))return _=((g=(d=h*(n+4*f+i)/12)+(m=h*(i+4*p+a)/12))-o)/15,c>l?(u.maxDepthCount++,g+_):Math.abs(_)t?r=n:e=n,n=e+r>>1}while(n>e);var i=c[n+1]-c[n];return i&&(i=(t-c[n+1])/i),(n+1+i)/s}var f=2*h(1)/_*o/r,d=function(t,e){var r=h(i(g(e))),a=n(r)*t;return r/=f,[a,e>=0?r:-r]};return d.invert=function(t,e){var r;return i(e*=f)<1&&(r=m(e)*C(a(i(e))*o)),[t/n(i(e)),r]},d}function sr(){var t=0,e=2.5,r=1.183136,i=(0,n.U)(or),a=i(t,e,r);return a.alpha=function(n){return arguments.length?i(t=+n,e,r):t},a.k=function(n){return arguments.length?i(t,e=+n,r):e},a.gamma=function(n){return arguments.length?i(t,e,r=+n):r},a.scale(152.63)}function lr(t,e){return i(t[0]-e[0])a[o][2][0];++o);var l=t(r-a[o][1][0],n);return l[0]+=t(a[o][1][0],i*n>i*a[o][0][1]?a[o][0][1]:n)[0],l}r?o.invert=r(o):t.invert&&(o.invert=function(r,n){for(var i=a[+(n<0)],s=e[+(n<0)],l=0,c=i.length;l=0;--s)r=(e=t[1][s])[0][0],n=e[0][1],i=e[1][1],a=e[2][0],o=e[2][1],l.push(cr([[a-v,o-v],[a-v,i+v],[r+v,i+v],[r+v,n-v]],30));return{type:"Polygon",coordinates:[(0,Ne.Am)(l)]}}(r),e=r.map((function(t){return t.map((function(t){return[[t[0][0]*E,t[0][1]*E],[t[1][0]*E,t[1][1]*E],[t[2][0]*E,t[2][1]*E]]}))})),a=e.map((function(e){return e.map((function(e){var r,n=t(e[0][0],e[0][1])[0],i=t(e[2][0],e[2][1])[0],a=t(e[1][0],e[0][1])[1],o=t(e[1][0],e[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),s):e.map((function(t){return t.map((function(t){return[[t[0][0]*S,t[0][1]*S],[t[1][0]*S,t[1][1]*S],[t[2][0]*S,t[2][1]*S]]}))}))},null!=e&&s.lobes(e),s}Ke.invert=function(t,e){return e>-$e?at.invert(t,e-Je):ft.invert(t,e)},tr.invert=function(t,e){return i(e)>$e?at.invert(t,e+(e>0?Je:-Je)):ft.invert(t,e)};var hr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function fr(){return ur(ct,hr).scale(160.857)}var pr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function dr(){return ur(tr,pr).scale(152.63)}var mr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function gr(){return ur(at,mr).scale(169.529)}var yr=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function vr(){return ur(at,yr).scale(169.529).rotate([20,0])}var xr=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function _r(){return ur(Ke,xr,tt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var br=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function wr(){return ur(ft,br).scale(152.63).rotate([-20,0])}function Tr(t,e){return[3/M*t*I(_*_/3-e*e),e]}function kr(){return(0,n.A)(Tr).scale(158.837)}function Ar(t){function e(e,r){if(i(i(r)-b)2)return null;var a=(e/=2)*e,s=(r/=2)*r,l=2*r/(1+a+s);return l=p((1+l)/(1-l),1/t),[o(2*e,1-a-s)/t,C((l-1)/(l+1))]},e}function Mr(){var t=.5,e=(0,n.U)(Ar),r=e(t);return r.spacing=function(r){return arguments.length?e(t=+r):t},r.scale(124.75)}Tr.invert=function(t,e){return[M/3*t/I(_*_/3-e*e),e]};var Sr=_/k;function Er(t,e){return[t*(1+I(s(e)))/2,e/(s(e/2)*s(t/6))]}function Cr(){return(0,n.A)(Er).scale(97.2672)}function Lr(t,e){var r=t*t,n=e*e;return[t*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),e*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function Ir(){return(0,n.A)(Lr).scale(139.98)}function Pr(t,e){return[g(t)/s(e),y(e)*s(t)]}function zr(){return(0,n.A)(Pr).scale(144.049).clipAngle(89.999)}function Or(t){var e=s(t),r=y(w+t/2);function n(n,a){var o=a-t,s=i(o)=0;)f=(h=t[u])[0]+l*(i=f)-c*p,p=h[1]+l*p+c*i;return[f=l*(i=f)-c*p,p=l*p+c*i]}return r.invert=function(r,n){var l=20,c=r,u=n;do{for(var h,f=e,p=t[f],d=p[0],m=p[1],y=0,x=0;--f>=0;)y=d+c*(h=y)-u*x,x=m+c*x+u*h,d=(p=t[f])[0]+c*(h=d)-u*m,m=p[1]+c*m+u*h;var _,b,w=(y=d+c*(h=y)-u*x)*y+(x=m+c*x+u*h)*x;c-=_=((d=c*(h=d)-u*m-r)*y+(m=c*m+u*h-n)*x)/w,u-=b=(m*y-d*x)/w}while(i(_)+i(b)>v*v&&--l>0);if(l){var T=I(c*c+u*u),k=2*a(.5*T),A=g(k);return[o(c*A,T*s(k)),T?C(u*A/T):0]}},r}Er.invert=function(t,e){var r=i(t),n=i(e),a=v,o=b;nv||i(x)>v)&&--a>0);return a&&[r,n]},Pr.invert=function(t,e){var r=t*t,n=e*e+1,i=r+n,a=t?T*I((i-I(i*i-4*r))/r):1/I(n);return[C(t*a),m(e)*L(a)]},Rr.invert=function(t,e){return[t,2.5*a(l(.8*e))-.625*_]};var Nr=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],jr=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Ur=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Vr=[[.9245,0],[0,0],[.01943,0]],qr=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Hr(){return Xr(Nr,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Gr(){return Xr(jr,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Zr(){return Xr(Ur,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Wr(){return Xr(Vr,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Yr(){return Xr(qr,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Xr(t,e){var r=(0,n.A)(Br(t)).rotate(e).clipAngle(90),i=(0,bt.A)(e),a=r.center;return delete r.rotate,r.center=function(t){return arguments.length?a(i(t)):i.invert(a())},r}var $r=I(6),Jr=I(7);function Kr(t,e){var r=C(7*g(e)/(3*$r));return[$r*t*(2*s(2*r/3)-1)/Jr,9*g(r/3)/Jr]}function Qr(){return(0,n.A)(Kr).scale(164.859)}function tn(t,e){for(var r,n=(1+T)*g(e),a=e,o=0;o<25&&(a-=r=(g(a/2)+g(a)-n)/(.5*s(a/2)+s(a)),!(i(r)x&&--l>0);return[t/(.84719-.13063*(n=s*s)+(o=n*(a=n*n))*o*(.05494*n-.04515-.02326*a+.00331*o)),s]},ln.invert=function(t,e){for(var r=e/2,n=0,a=1/0;n<10&&i(a)>v;++n){var o=s(e/2);e-=a=(e-y(e/2)-r)/(1-.5/(o*o))}return[2*t/(1+s(e)),e]};var un=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function hn(){return ur($(1/0),un).rotate([20,0]).scale(152.63)}function fn(t,e){var r=g(e),n=s(e),a=m(t);if(0===t||i(e)===b)return[0,e];if(0===e)return[t,0];if(i(t)===b)return[t*n,b*r];var o=_/(2*t)-2*t/_,l=2*e/_,c=(1-l*l)/(r-l),u=o*o,h=c*c,f=1+u/h,p=1+h/u,d=(o*r/c-o/2)/f,y=(h*r/u+c/2)/p,v=y*y-(h*r*r/u+c*r-1)/p;return[b*(d+I(d*d+n*n/f)*a),b*(y+I(v<0?0:v)*m(-e*o)*a)]}function pn(){return(0,n.A)(fn).scale(127.267)}fn.invert=function(t,e){var r=(t/=b)*t,n=r+(e/=b)*e,i=_*_;return[t?(n-1+I((1-n)*(1-n)+4*r))/(2*t)*b:0,Q((function(t){return n*(_*g(t)-2*t)*_+4*t*t*(e-g(t))+2*_*t-i*e}),0)]};var dn=1.0148,mn=.23185,gn=-.14499,yn=.02406,vn=dn,xn=5*mn,_n=7*gn,bn=9*yn,wn=1.790857183;function Tn(t,e){var r=e*e;return[t,e*(dn+r*r*(mn+r*(gn+yn*r)))]}function kn(){return(0,n.A)(Tn).scale(139.319)}function An(t,e){if(i(e)wn?e=wn:e<-1.790857183&&(e=-1.790857183);var r,n=e;do{var a=n*n;n-=r=(n*(dn+a*a*(mn+a*(gn+yn*a)))-e)/(vn+a*a*(xn+a*(_n+bn*a)))}while(i(r)>v);return[t,n]},An.invert=function(t,e){if(i(e)v&&--o>0);return l=y(a),[(i(e)=0;)if(n=e[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(e.face,r.face),i=(u=n.map(r.project),h=n.map(e.project),f=Ln(u[1],u[0]),p=Ln(h[1],h[0]),d=function(t,e){return o(t[0]*e[1]-t[1]*e[0],t[0]*e[0]+t[1]*e[1])}(f,p),m=In(f)/In(p),Cn([1,0,u[0][0],0,1,u[0][1]],Cn([m,0,0,0,m,0],Cn([s(d),g(d),0,-g(d),s(d),0],[1,0,-h[0][0],0,1,-h[0][1]]))));e.transform=r.transform?Cn(r.transform,i):i;for(var a=r.edges,l=0,c=a.length;l0?[-e[0],0]:[180-e[0],180])};var e=Bn.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,r){var n=e[t];n&&(n.children||(n.children=[])).push(e[r])})),Pn(e[0],(function(t,r){return e[t<-_/2?r<0?6:4:t<0?r<0?2:0:t<_/2?r<0?3:1:r<0?7:5]})).angle(-30).scale(121.906).center([0,48.5904])}function qn(t){t=t||function(t){var e=6===t.length?(0,_t.A)({type:"MultiPoint",coordinates:t}):t[0];return(0,Rn.A)().scale(1).translate([0,0]).rotate([-e[0],-e[1]])};var e=Bn.map((function(t){for(var e,r=t.map(Zn),n=r.length,i=r[n-1],a=[],o=0;on^p>n&&r<(f-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),Qn=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}};function ni(t){var e=t(b,0)[0]-t(-b,0)[0];function r(r,n){var a=i(r)0?r-_:r+_,n),s=(o[0]-o[1])*T,l=(o[0]+o[1])*T;if(a)return[s,l];var c=e*T,u=s>0^l>0?-1:1;return[u*s-m(l)*c,u*l-m(s)*c]}return t.invert&&(r.invert=function(r,n){var a=(r+n)*T,o=(n-r)*T,s=i(a)<.5*e&&i(o)<.5*e;if(!s){var l=e*T,c=a>0^o>0?-1:1,u=-c*r+(o>0?1:-1)*l,h=-c*n+(a>0?1:-1)*l;a=(-u-h)*T,o=(u-h)*T}var f=t.invert(a,o);return s||(f[0]+=a>0?_:-_),f}),(0,n.A)(r).rotate([-90,-90,45]).clipAngle(179.999)}function ii(){return ni(Ce).scale(176.423)}function ai(){return ni(ze).scale(111.48)}function oi(t,e){if(!(0<=(e=+e)&&e<=20))throw new Error("invalid digits");function r(t){var r=t.length,n=2,i=new Array(r);for(i[0]=+t[0].toFixed(e),i[1]=+t[1].toFixed(e);n2||a[0]!=e[0]||a[1]!=e[1])&&(n.push(a),e=a)}return 1===n.length&&t.length>1&&n.push(r(t[t.length-1])),n}function a(t){return t.map(i)}function o(t){if(null==t)return t;var e;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(o)};break;case"Point":e={type:"Point",coordinates:r(t.coordinates)};break;case"MultiPoint":e={type:t.type,coordinates:n(t.coordinates)};break;case"LineString":e={type:t.type,coordinates:i(t.coordinates)};break;case"MultiLineString":case"Polygon":e={type:t.type,coordinates:a(t.coordinates)};break;case"MultiPolygon":e={type:"MultiPolygon",coordinates:t.coordinates.map(a)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function s(t){var e={type:"Feature",properties:t.properties,geometry:o(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),e}if(null!=t)switch(t.type){case"Feature":return s(t);case"FeatureCollection":var l={type:"FeatureCollection",features:t.features.map(s)};return null!=t.bbox&&(l.bbox=t.bbox),l;default:return o(t)}return t}function si(t){var e=g(t);function r(r,n){var i=e?y(r*e/2)/e:r/2;if(!n)return[2*i,-t];var o=2*a(i*g(n)),l=1/y(n);return[g(o)*l,n+(1-s(o))*l-t]}return r.invert=function(r,n){if(i(n+=t)v&&--u>0);var d=r*(h=y(c)),m=y(i(n)0?b:-b)*(h+o*(d-l)/2+o*o*(d-2*h+l)/2)]}function hi(){return(0,n.A)(ui).scale(152.63)}function fi(t,e){var r=function(t){function e(e,r){var n=s(r),i=(t-1)/(t-n*s(e));return[i*n*g(e),i*g(r)]}return e.invert=function(e,r){var n=e*e+r*r,i=I(n),a=(t-I(1-n*(t+1)/(t-1)))/((t-1)/i+i/(t-1));return[o(e*a,i*I(1-a*a)),i?C(r*a/i):0]},e}(t);if(!e)return r;var n=s(e),i=g(e);function a(e,a){var o=r(e,a),s=o[1],l=s*i/(t-1)+n;return[o[0]*n/l,s/l]}return a.invert=function(e,a){var o=(t-1)/(t-1-a*i);return r.invert(o*e,o*a*n)},a}function pi(){var t=2,e=0,r=(0,n.U)(fi),i=r(t,e);return i.distance=function(n){return arguments.length?r(t=+n,e):t},i.tilt=function(n){return arguments.length?r(t,e=n*E):e*S},i.scale(432.147).clipAngle(L(1/t)*S-1e-6)}ci.forEach((function(t){t[1]*=1.0144})),ui.invert=function(t,e){var r=e/b,n=90*r,a=f(18,i(n/5)),o=h(0,c(a));do{var s=ci[o][1],l=ci[o+1][1],u=ci[f(19,o+2)][1],p=u-s,d=u-2*l+s,m=2*(i(r)-l)/p,g=d/p,y=m*(1-g*m*(1-2*g*m));if(y>=0||1===o){n=(e>=0?5:-5)*(y+a);var v,_=50;do{y=(a=f(18,i(n)/5))-(o=c(a)),s=ci[o][1],l=ci[o+1][1],u=ci[f(19,o+2)][1],n-=(v=(e>=0?b:-b)*(l+y*(u-s)/2+y*y*(u-2*l+s)/2)-e)*S}while(i(v)>x&&--_>0);break}}while(--o>=0);var w=ci[o][0],T=ci[o+1][0],k=ci[f(19,o+2)][0];return[t/(T+y*(k-w)/2+y*y*(k-2*T+w)/2),n*E]};var di=1e-4,mi=1e4,gi=-180,yi=gi+di,vi=180,xi=vi-di,_i=-90,bi=_i+di,wi=90,Ti=wi-di;function ki(t){return t.length>0}function Ai(t){return t===_i||t===wi?[0,t]:[gi,(e=t,Math.floor(e*mi)/mi)];var e}function Mi(t){var e=t[0],r=t[1],n=!1;return e<=yi?(e=gi,n=!0):e>=xi&&(e=vi,n=!0),r<=bi?(r=_i,n=!0):r>=Ti&&(r=wi,n=!0),n?[e,r]:t}function Si(t){return t.map(Mi)}function Ei(t,e,r){for(var n=0,i=t.length;n=xi||u<=bi||u>=Ti){a[o]=Mi(l);for(var h=o+1;hyi&&pbi&&d=s)break;r.push({index:-1,polygon:e,ring:a=a.slice(h-1)}),a[0]=Ai(a[0][1]),o=-1,s=a.length}}}}function Ci(t){var e,r,n,i,a,o,s=t.length,l={},c={};for(e=0;e0?_-l:l)*S],u=(0,n.A)(t(s)).rotate(c),h=(0,bt.A)(c),f=u.center;return delete u.rotate,u.center=function(t){return arguments.length?f(h(t)):h.invert(f())},u.clipAngle(90)}function Ri(t){var e=s(t);function r(t,r){var n=(0,Rn.T)(t,r);return n[0]*=e,n}return r.invert=function(t,r){return Rn.T.invert(t/e,r)},r}function Fi(){return Bi([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Bi(t,e){return Di(Ri,t,e)}function Ni(t){if(!(t*=2))return Z.j;var e=-t/2,r=-e,n=t*t,i=y(r),a=.5/g(r);function l(i,a){var o=L(s(a)*s(i-e)),l=L(s(a)*s(i-r));return[((o*=o)-(l*=l))/(2*t),(a<0?-1:1)*I(4*n*l-(n-o+l)*(n-o+l))/(2*t)]}return l.invert=function(t,n){var l,c,u=n*n,h=s(I(u+(l=t+e)*l)),f=s(I(u+(l=t+r)*l));return[o(c=h-f,l=(h+f)*i),(n<0?-1:1)*L(I(l*l+c*c)*a)]},l}function ji(){return Ui([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function Ui(t,e){return Di(Ni,t,e)}function Vi(t,e){if(i(e)v&&--l>0);return[m(t)*(I(a*a+4)+a)*_/4,b*s]};var Qi=4*_+3*I(3),ta=2*I(2*_*I(3)/Qi),ea=it(ta*I(3)/_,ta,Qi/6);function ra(){return(0,n.A)(ea).scale(176.84)}function na(t,e){return[t*I(1-3*e*e/(_*_)),e]}function ia(){return(0,n.A)(na).scale(152.63)}function aa(t,e){var r=s(e),n=s(t)*r,i=1-n,a=s(t=o(g(t)*r,-g(e))),l=g(t);return[l*(r=I(1-n*n))-a*i,-a*r-l*i]}function oa(){return(0,n.A)(aa).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)}function sa(t,e){var r=R(t,e);return[(r[0]+t/b)/2,(r[1]+e)/2]}function la(){return(0,n.A)(sa).scale(158.837)}na.invert=function(t,e){return[t/I(1-3*e*e/(_*_)),e]},aa.invert=function(t,e){var r=(t*t+e*e)/-2,n=I(-r*(2+r)),i=e*r+t*n,a=t*r-e*n,s=I(a*a+i*i);return[o(n*i,s*(1+r)),s?-C(n*a/s):0]},sa.invert=function(t,e){var r=t,n=e,a=25;do{var o,l=s(n),c=g(n),u=g(2*n),h=c*c,f=l*l,p=g(r),d=s(r/2),m=g(r/2),y=m*m,x=1-f*d*d,_=x?L(l*d)*I(o=1/x):o=0,w=.5*(2*_*l*m+r/b)-t,T=.5*(_*c+n)-e,k=.5*o*(f*y+_*l*d*h)+.5/b,A=o*(p*u/4-_*c*m),M=.125*o*(u*m-_*c*f*p),S=.5*o*(h*d+_*y*l)+.5,E=A*M-S*k,C=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=C,n-=P}while((i(C)>v||i(P)>v)&&--a>0);return[r,n]}},49353:function(t,e,r){"use strict";function n(){return new i}function i(){this.reset()}r.d(e,{A:function(){return n}}),i.prototype={constructor:i,reset:function(){this.s=this.t=0},add:function(t){o(a,t,this.t),o(this,a.s,this.s),this.s?this.t+=a.t:this.s=a.t},valueOf:function(){return this.s}};var a=new i;function o(t,e,r){var n=t.s=e+r,i=n-e,a=n-i;t.t=e-a+(r-i)}},43976:function(t,e,r){"use strict";r.d(e,{Ay:function(){return x},B0:function(){return f},Y7:function(){return d}});var n,i,a,o,s,l=r(49353),c=r(61323),u=r(53341),h=r(20465),f=(0,l.A)(),p=(0,l.A)(),d={point:u.A,lineStart:u.A,lineEnd:u.A,polygonStart:function(){f.reset(),d.lineStart=m,d.lineEnd=g},polygonEnd:function(){var t=+f;p.add(t<0?c.FA+t:t),this.lineStart=this.lineEnd=this.point=u.A},sphere:function(){p.add(c.FA)}};function m(){d.point=y}function g(){v(n,i)}function y(t,e){d.point=v,n=t,i=e,t*=c.F2,e*=c.F2,a=t,o=(0,c.gn)(e=e/2+c.gz),s=(0,c.F8)(e)}function v(t,e){t*=c.F2,e=(e*=c.F2)/2+c.gz;var r=t-a,n=r>=0?1:-1,i=n*r,l=(0,c.gn)(e),u=(0,c.F8)(e),h=s*u,p=o*l+h*(0,c.gn)(i),d=h*n*(0,c.F8)(i);f.add((0,c.FP)(d,p)),a=t,o=l,s=u}function x(t){return p.reset(),(0,h.A)(t,d),2*p}},43212:function(t,e,r){"use strict";r.d(e,{A:function(){return L}});var n,i,a,o,s,l,c,u,h,f,p=r(49353),d=r(43976),m=r(20375),g=r(61323),y=r(20465),v=(0,p.A)(),x={point:_,lineStart:w,lineEnd:T,polygonStart:function(){x.point=k,x.lineStart=A,x.lineEnd=M,v.reset(),d.Y7.polygonStart()},polygonEnd:function(){d.Y7.polygonEnd(),x.point=_,x.lineStart=w,x.lineEnd=T,d.B0<0?(n=-(a=180),i=-(o=90)):v>g.Ni?o=90:v<-g.Ni&&(i=-90),f[0]=n,f[1]=a},sphere:function(){n=-(a=180),i=-(o=90)}};function _(t,e){h.push(f=[n=t,a=t]),eo&&(o=e)}function b(t,e){var r=(0,m.jf)([t*g.F2,e*g.F2]);if(u){var l=(0,m.r8)(u,r),c=[l[1],-l[0],0],p=(0,m.r8)(c,l);(0,m.Cx)(p),p=(0,m.EV)(p);var d,y=t-s,v=y>0?1:-1,x=p[0]*g.uj*v,_=(0,g.tn)(y)>180;_^(v*so&&(o=d):_^(v*s<(x=(x+360)%360-180)&&xo&&(o=e)),_?tS(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t):a>=n?(ta&&(a=t)):t>s?S(n,t)>S(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t)}else h.push(f=[n=t,a=t]);eo&&(o=e),u=r,s=t}function w(){x.point=b}function T(){f[0]=n,f[1]=a,x.point=_,u=null}function k(t,e){if(u){var r=t-s;v.add((0,g.tn)(r)>180?r+(r>0?360:-360):r)}else l=t,c=e;d.Y7.point(t,e),b(t,e)}function A(){d.Y7.lineStart()}function M(){k(l,c),d.Y7.lineEnd(),(0,g.tn)(v)>g.Ni&&(n=-(a=180)),f[0]=n,f[1]=a,u=null}function S(t,e){return(e-=t)<0?e+360:e}function E(t,e){return t[0]-e[0]}function C(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eS(s[0],s[1])&&(s[1]=l[1]),S(l[0],s[1])>S(s[0],s[1])&&(s[0]=l[0])):c.push(s=l);for(u=-1/0,e=0,s=c[r=c.length-1];e<=r;s=l,++e)l=c[e],(p=S(s[1],l[0]))>u&&(u=p,n=l[0],a=s[1])}return h=f=null,n===1/0||i===1/0?[[NaN,NaN],[NaN,NaN]]:[[n,i],[a,o]]}},20375:function(t,e,r){"use strict";r.d(e,{Cx:function(){return u},EV:function(){return i},W8:function(){return o},ep:function(){return l},jf:function(){return a},ly:function(){return c},r8:function(){return s}});var n=r(61323);function i(t){return[(0,n.FP)(t[1],t[0]),(0,n.qR)(t[2])]}function a(t){var e=t[0],r=t[1],i=(0,n.gn)(r);return[i*(0,n.gn)(e),i*(0,n.F8)(e),(0,n.F8)(r)]}function o(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function s(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function l(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function c(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function u(t){var e=(0,n.RZ)(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}},30021:function(t,e,r){"use strict";r.d(e,{A:function(){return z}});var n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x=r(61323),_=r(53341),b=r(20465),w={sphere:_.A,point:T,lineStart:A,lineEnd:E,polygonStart:function(){w.lineStart=C,w.lineEnd=L},polygonEnd:function(){w.lineStart=A,w.lineEnd=E}};function T(t,e){t*=x.F2,e*=x.F2;var r=(0,x.gn)(e);k(r*(0,x.gn)(t),r*(0,x.F8)(t),(0,x.F8)(e))}function k(t,e,r){++n,a+=(t-a)/n,o+=(e-o)/n,s+=(r-s)/n}function A(){w.point=M}function M(t,e){t*=x.F2,e*=x.F2;var r=(0,x.gn)(e);g=r*(0,x.gn)(t),y=r*(0,x.F8)(t),v=(0,x.F8)(e),w.point=S,k(g,y,v)}function S(t,e){t*=x.F2,e*=x.F2;var r=(0,x.gn)(e),n=r*(0,x.gn)(t),a=r*(0,x.F8)(t),o=(0,x.F8)(e),s=(0,x.FP)((0,x.RZ)((s=y*o-v*a)*s+(s=v*n-g*o)*s+(s=g*a-y*n)*s),g*n+y*a+v*o);i+=s,l+=s*(g+(g=n)),c+=s*(y+(y=a)),u+=s*(v+(v=o)),k(g,y,v)}function E(){w.point=T}function C(){w.point=I}function L(){P(d,m),w.point=T}function I(t,e){d=t,m=e,t*=x.F2,e*=x.F2,w.point=P;var r=(0,x.gn)(e);g=r*(0,x.gn)(t),y=r*(0,x.F8)(t),v=(0,x.F8)(e),k(g,y,v)}function P(t,e){t*=x.F2,e*=x.F2;var r=(0,x.gn)(e),n=r*(0,x.gn)(t),a=r*(0,x.F8)(t),o=(0,x.F8)(e),s=y*o-v*a,d=v*n-g*o,m=g*a-y*n,_=(0,x.RZ)(s*s+d*d+m*m),b=(0,x.qR)(_),w=_&&-b/_;h+=w*s,f+=w*d,p+=w*m,i+=b,l+=b*(g+(g=n)),c+=b*(y+(y=a)),u+=b*(v+(v=o)),k(g,y,v)}function z(t){n=i=a=o=s=l=c=u=h=f=p=0,(0,b.A)(t,w);var e=h,r=f,d=p,m=e*e+r*r+d*d;return m0?os)&&(o+=i*a.FA));for(var f,p=o;i>0?p>s:p0?i.pi:-i.pi,c=(0,i.tn)(o-r);(0,i.tn)(c-i.pi)0?i.TW:-i.TW),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),t.point(o,n),e=0):a!==l&&c>=i.pi&&((0,i.tn)(r-a)i.Ni?(0,i.rY)(((0,i.F8)(e)*(o=(0,i.gn)(n))*(0,i.F8)(r)-(0,i.F8)(n)*(a=(0,i.gn)(e))*(0,i.F8)(t))/(a*o*s)):(e+n)/2}(r,n,o,s),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),e=0),t.point(r=o,n=s),a=l},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var a;if(null==t)a=r*i.TW,n.point(-i.pi,a),n.point(0,a),n.point(i.pi,a),n.point(i.pi,0),n.point(i.pi,-a),n.point(0,-a),n.point(-i.pi,-a),n.point(-i.pi,0),n.point(-i.pi,a);else if((0,i.tn)(t[0]-e[0])>i.Ni){var o=t[0]1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}},47402:function(t,e,r){"use strict";r.d(e,{A:function(){return l}});var n=r(20375),i=r(39127),a=r(61323),o=r(28759),s=r(13720);function l(t){var e=(0,a.gn)(t),r=6*a.F2,l=e>0,c=(0,a.tn)(e)>a.Ni;function u(t,r){return(0,a.gn)(t)*(0,a.gn)(r)>e}function h(t,r,i){var o=(0,n.jf)(t),s=(0,n.jf)(r),l=[1,0,0],c=(0,n.r8)(o,s),u=(0,n.W8)(c,c),h=c[0],f=u-h*h;if(!f)return!i&&t;var p=e*u/f,d=-e*h/f,m=(0,n.r8)(l,c),g=(0,n.ly)(l,p),y=(0,n.ly)(c,d);(0,n.ep)(g,y);var v=m,x=(0,n.W8)(g,v),_=(0,n.W8)(v,v),b=x*x-_*((0,n.W8)(g,g)-1);if(!(b<0)){var w=(0,a.RZ)(b),T=(0,n.ly)(v,(-x-w)/_);if((0,n.ep)(T,g),T=(0,n.EV)(T),!i)return T;var k,A=t[0],M=r[0],S=t[1],E=r[1];M0^T[1]<((0,a.tn)(T[0]-A)a.pi^(A<=T[0]&&T[0]<=M)){var I=(0,n.ly)(v,(-x+w)/_);return(0,n.ep)(I,g),[T,(0,n.EV)(I)]}}}function f(e,r){var n=l?t:a.pi-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}return(0,s.A)(u,(function(t){var e,r,n,i,s;return{lineStart:function(){i=n=!1,s=1},point:function(p,d){var m,g=[p,d],y=u(p,d),v=l?y?0:f(p,d):y?f(p+(p<0?a.pi:-a.pi),d):0;if(!e&&(i=n=y)&&t.lineStart(),y!==n&&(!(m=h(e,g))||(0,o.A)(e,m)||(0,o.A)(g,m))&&(g[2]=1),y!==n)s=0,y?(t.lineStart(),m=h(g,e),t.point(m[0],m[1])):(m=h(e,g),t.point(m[0],m[1],2),t.lineEnd()),e=m;else if(c&&e&&l^y){var x;v&r||!(x=h(g,e,!0))||(s=0,l?(t.lineStart(),t.point(x[0][0],x[0][1]),t.point(x[1][0],x[1][1]),t.lineEnd()):(t.point(x[1][0],x[1][1]),t.lineEnd(),t.lineStart(),t.point(x[0][0],x[0][1],3)))}!y||e&&(0,o.A)(e,g)||t.point(g[0],g[1]),e=g,n=y,r=v},lineEnd:function(){n&&t.lineEnd(),e=null},clean:function(){return s|(i&&n)<<1}}}),(function(e,n,a,o){(0,i.J)(o,t,r,a,e,n)}),l?[0,-t]:[-a.pi,t-a.pi])}},13720:function(t,e,r){"use strict";r.d(e,{A:function(){return l}});var n=r(39608),i=r(19119),a=r(61323),o=r(2274),s=r(29725);function l(t,e,r,a){return function(l){var h,f,p,d=e(l),m=(0,n.A)(),g=e(m),y=!1,v={point:x,lineStart:b,lineEnd:w,polygonStart:function(){v.point=T,v.lineStart=k,v.lineEnd=A,f=[],h=[]},polygonEnd:function(){v.point=x,v.lineStart=b,v.lineEnd=w,f=(0,s.Am)(f);var t=(0,o.A)(h,a);f.length?(y||(l.polygonStart(),y=!0),(0,i.A)(f,u,t,r,l)):t&&(y||(l.polygonStart(),y=!0),l.lineStart(),r(null,null,1,l),l.lineEnd()),y&&(l.polygonEnd(),y=!1),f=h=null},sphere:function(){l.polygonStart(),l.lineStart(),r(null,null,1,l),l.lineEnd(),l.polygonEnd()}};function x(e,r){t(e,r)&&l.point(e,r)}function _(t,e){d.point(t,e)}function b(){v.point=_,d.lineStart()}function w(){v.point=x,d.lineEnd()}function T(t,e){p.push([t,e]),g.point(t,e)}function k(){g.lineStart(),p=[]}function A(){T(p[0][0],p[0][1]),g.lineEnd();var t,e,r,n,i=g.clean(),a=m.result(),o=a.length;if(p.pop(),h.push(p),p=null,o)if(1&i){if((e=(r=a[0]).length-1)>0){for(y||(l.polygonStart(),y=!0),l.lineStart(),t=0;t1&&2&i&&a.push(a.pop().concat(a.shift())),f.push(a.filter(c))}return v}}function c(t){return t.length>1}function u(t,e){return((t=t.x)[0]<0?t[1]-a.TW-a.Ni:a.TW-t[1])-((e=e.x)[0]<0?e[1]-a.TW-a.Ni:a.TW-e[1])}},21503:function(t,e,r){"use strict";r.d(e,{A:function(){return c}});var n=r(61323),i=r(39608),a=r(19119),o=r(29725),s=1e9,l=-s;function c(t,e,r,c){function u(n,i){return t<=n&&n<=r&&e<=i&&i<=c}function h(n,i,a,o){var s=0,l=0;if(null==n||(s=f(n,a))!==(l=f(i,a))||d(n,i)<0^a>0)do{o.point(0===s||3===s?t:r,s>1?c:e)}while((s=(s+a+4)%4)!==l);else o.point(i[0],i[1])}function f(i,a){return(0,n.tn)(i[0]-t)0?0:3:(0,n.tn)(i[0]-r)0?2:1:(0,n.tn)(i[1]-e)0?1:0:a>0?3:2}function p(t,e){return d(t.x,e.x)}function d(t,e){var r=f(t,1),n=f(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}return function(n){var f,d,m,g,y,v,x,_,b,w,T,k=n,A=(0,i.A)(),M={point:S,lineStart:function(){M.point=E,d&&d.push(m=[]),w=!0,b=!1,x=_=NaN},lineEnd:function(){f&&(E(g,y),v&&b&&A.rejoin(),f.push(A.result())),M.point=S,b&&k.lineEnd()},polygonStart:function(){k=A,f=[],d=[],T=!0},polygonEnd:function(){var e=function(){for(var e=0,r=0,n=d.length;rc&&(h-i)*(c-a)>(f-a)*(t-i)&&++e:f<=c&&(h-i)*(c-a)<(f-a)*(t-i)&&--e;return e}(),r=T&&e,i=(f=(0,o.Am)(f)).length;(r||i)&&(n.polygonStart(),r&&(n.lineStart(),h(null,null,1,n),n.lineEnd()),i&&(0,a.A)(f,p,e,h,n),n.polygonEnd()),k=n,f=d=m=null}};function S(t,e){u(t,e)&&k.point(t,e)}function E(n,i){var a=u(n,i);if(d&&m.push([n,i]),w)g=n,y=i,v=a,w=!1,a&&(k.lineStart(),k.point(n,i));else if(a&&b)k.point(n,i);else{var o=[x=Math.max(l,Math.min(s,x)),_=Math.max(l,Math.min(s,_))],h=[n=Math.max(l,Math.min(s,n)),i=Math.max(l,Math.min(s,i))];!function(t,e,r,n,i,a){var o,s=t[0],l=t[1],c=0,u=1,h=e[0]-s,f=e[1]-l;if(o=r-s,h||!(o>0)){if(o/=h,h<0){if(o0){if(o>u)return;o>c&&(c=o)}if(o=i-s,h||!(o<0)){if(o/=h,h<0){if(o>u)return;o>c&&(c=o)}else if(h>0){if(o0)){if(o/=f,f<0){if(o0){if(o>u)return;o>c&&(c=o)}if(o=a-l,f||!(o<0)){if(o/=f,f<0){if(o>u)return;o>c&&(c=o)}else if(f>0){if(o0&&(t[0]=s+c*h,t[1]=l+c*f),u<1&&(e[0]=s+u*h,e[1]=l+u*f),!0}}}}}(o,h,t,e,r,c)?a&&(k.lineStart(),k.point(n,i),T=!1):(b||(k.lineStart(),k.point(o[0],o[1])),k.point(h[0],h[1]),a||k.lineEnd(),T=!1)}x=n,_=i,b=a}return M}}},19119:function(t,e,r){"use strict";r.d(e,{A:function(){return o}});var n=r(28759),i=r(61323);function a(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function o(t,e,r,o,l){var c,u,h=[],f=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r,o=t[0],s=t[e];if((0,n.A)(o,s)){if(!o[2]&&!s[2]){for(l.lineStart(),c=0;c=0;--c)l.point((d=p[c])[0],d[1]);else o(g.x,g.p.x,-1,l);g=g.p}p=(g=g.o).z,y=!y}while(!g.v);l.lineEnd()}}}function s(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n0&&(i=S(t[a],t[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))g.Ni})).map(l)).concat((0,F.y1)((0,g.mk)(a/p)*p,i,p).filter((function(t){return(0,g.tn)(t%m)>g.Ni})).map(c))}return v.lines=function(){return x().map((function(t){return{type:"LineString",coordinates:t}}))},v.outline=function(){return{type:"Polygon",coordinates:[u(n).concat(h(o).slice(1),u(r).reverse().slice(1),h(s).reverse().slice(1))]}},v.extent=function(t){return arguments.length?v.extentMajor(t).extentMinor(t):v.extentMinor()},v.extentMajor=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],s=+t[0][1],o=+t[1][1],n>r&&(t=n,n=r,r=t),s>o&&(t=s,s=o,o=t),v.precision(y)):[[n,s],[r,o]]},v.extentMinor=function(r){return arguments.length?(e=+r[0][0],t=+r[1][0],a=+r[0][1],i=+r[1][1],e>t&&(r=e,e=t,t=r),a>i&&(r=a,a=i,i=r),v.precision(y)):[[e,a],[t,i]]},v.step=function(t){return arguments.length?v.stepMajor(t).stepMinor(t):v.stepMinor()},v.stepMajor=function(t){return arguments.length?(d=+t[0],m=+t[1],v):[d,m]},v.stepMinor=function(t){return arguments.length?(f=+t[0],p=+t[1],v):[f,p]},v.precision=function(f){return arguments.length?(y=+f,l=B(a,i,90),c=N(e,t,y),u=B(s,o,90),h=N(n,r,y),v):y},v.extentMajor([[-180,-90+g.Ni],[180,90-g.Ni]]).extentMinor([[-180,-80-g.Ni],[180,80+g.Ni]])}function U(){return j()()}var V,q,H,G,Z=r(81758),W=r(26827),Y=(0,m.A)(),X=(0,m.A)(),$={point:y.A,lineStart:y.A,lineEnd:y.A,polygonStart:function(){$.lineStart=J,$.lineEnd=tt},polygonEnd:function(){$.lineStart=$.lineEnd=$.point=y.A,Y.add((0,g.tn)(X)),X.reset()},result:function(){var t=Y/2;return Y.reset(),t}};function J(){$.point=K}function K(t,e){$.point=Q,V=H=t,q=G=e}function Q(t,e){X.add(G*t-H*e),H=t,G=e}function tt(){Q(V,q)}var et,rt,nt,it,at=$,ot=r(33028),st=0,lt=0,ct=0,ut=0,ht=0,ft=0,pt=0,dt=0,mt=0,gt={point:yt,lineStart:vt,lineEnd:bt,polygonStart:function(){gt.lineStart=wt,gt.lineEnd=Tt},polygonEnd:function(){gt.point=yt,gt.lineStart=vt,gt.lineEnd=bt},result:function(){var t=mt?[pt/mt,dt/mt]:ft?[ut/ft,ht/ft]:ct?[st/ct,lt/ct]:[NaN,NaN];return st=lt=ct=ut=ht=ft=pt=dt=mt=0,t}};function yt(t,e){st+=t,lt+=e,++ct}function vt(){gt.point=xt}function xt(t,e){gt.point=_t,yt(nt=t,it=e)}function _t(t,e){var r=t-nt,n=e-it,i=(0,g.RZ)(r*r+n*n);ut+=i*(nt+t)/2,ht+=i*(it+e)/2,ft+=i,yt(nt=t,it=e)}function bt(){gt.point=yt}function wt(){gt.point=kt}function Tt(){At(et,rt)}function kt(t,e){gt.point=At,yt(et=nt=t,rt=it=e)}function At(t,e){var r=t-nt,n=e-it,i=(0,g.RZ)(r*r+n*n);ut+=i*(nt+t)/2,ht+=i*(it+e)/2,ft+=i,pt+=(i=it*t-nt*e)*(nt+t),dt+=i*(it+e),mt+=3*i,yt(nt=t,it=e)}var Mt=gt;function St(t){this._context=t}St.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,g.FA)}},result:y.A};var Et,Ct,Lt,It,Pt,zt=(0,m.A)(),Ot={point:y.A,lineStart:function(){Ot.point=Dt},lineEnd:function(){Et&&Rt(Ct,Lt),Ot.point=y.A},polygonStart:function(){Et=!0},polygonEnd:function(){Et=null},result:function(){var t=+zt;return zt.reset(),t}};function Dt(t,e){Ot.point=Rt,Ct=It=t,Lt=Pt=e}function Rt(t,e){It-=t,Pt-=e,zt.add((0,g.RZ)(It*It+Pt*Pt)),It=t,Pt=e}var Ft=Ot;function Bt(){this._string=[]}function Nt(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function jt(t,e){var r,n,i=4.5;function a(t){return t&&("function"==typeof i&&n.pointRadius(+i.apply(this,arguments)),(0,v.A)(t,r(n))),n.result()}return a.area=function(t){return(0,v.A)(t,r(at)),at.result()},a.measure=function(t){return(0,v.A)(t,r(Ft)),Ft.result()},a.bounds=function(t){return(0,v.A)(t,r(ot.A)),ot.A.result()},a.centroid=function(t){return(0,v.A)(t,r(Mt)),Mt.result()},a.projection=function(e){return arguments.length?(r=null==e?(t=null,W.A):(t=e).stream,a):t},a.context=function(t){return arguments.length?(n=null==t?(e=null,new Bt):new St(e=t),"function"!=typeof i&&n.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(n.pointRadius(+t),+t),a):i},a.projection(t).context(e)}Bt.prototype={_radius:4.5,_circle:Nt(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Nt(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var Ut=r(94684);function Vt(t){var e=0,r=g.pi/3,n=(0,Ut.U)(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*g.F2,r=t[1]*g.F2):[e*g.uj,r*g.uj]},i}function qt(t,e){var r=(0,g.F8)(t),n=(r+(0,g.F8)(e))/2;if((0,g.tn)(n)=.12&&i<.234&&n>=-.425&&n<-.214?s:i>=.166&&i<.234&&n>=-.214&&n<-.115?l:o).invert(t)},u.stream=function(r){return t&&e===r?t:(n=[o.stream(e=r),s.stream(r),l.stream(r)],i=n.length,t={point:function(t,e){for(var r=-1;++r0?e<-g.TW+g.Ni&&(e=-g.TW+g.Ni):e>g.TW-g.Ni&&(e=g.TW-g.Ni);var r=i/(0,g.n7)(te(e),n);return[r*(0,g.F8)(n*t),i-r*(0,g.gn)(n*t)]}return a.invert=function(t,e){var r=i-e,a=(0,g._S)(n)*(0,g.RZ)(t*t+r*r),o=(0,g.FP)(t,(0,g.tn)(r))*(0,g._S)(r);return r*n<0&&(o-=g.pi*(0,g._S)(t)*(0,g._S)(r)),[o/n,2*(0,g.rY)((0,g.n7)(i/a,1/n))-g.TW]},a}function re(){return Vt(ee).scale(109.5).parallels([30,30])}Jt.invert=function(t,e){return[t,2*(0,g.rY)((0,g.oN)(e))-g.TW]};var ne=r(18139);function ie(t,e){var r=(0,g.gn)(t),n=t===e?(0,g.F8)(t):(r-(0,g.gn)(e))/(e-t),i=r/n+t;if((0,g.tn)(n)2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90]).scale(159.155)}xe.invert=(0,ve.I)((function(t){return 2*(0,g.rY)(t)})),be.invert=function(t,e){return[-e,2*(0,g.rY)((0,g.oN)(t))-g.TW]}},81758:function(t,e,r){"use strict";r.d(e,{A:function(){return i}});var n=r(61323);function i(t,e){var r=t[0]*n.F2,i=t[1]*n.F2,a=e[0]*n.F2,o=e[1]*n.F2,s=(0,n.gn)(i),l=(0,n.F8)(i),c=(0,n.gn)(o),u=(0,n.F8)(o),h=s*(0,n.gn)(r),f=s*(0,n.F8)(r),p=c*(0,n.gn)(a),d=c*(0,n.F8)(a),m=2*(0,n.qR)((0,n.RZ)((0,n.bo)(o-i)+s*c*(0,n.bo)(a-r))),g=(0,n.F8)(m),y=m?function(t){var e=(0,n.F8)(t*=m)/g,r=(0,n.F8)(m-t)/g,i=r*h+e*p,a=r*f+e*d,o=r*l+e*u;return[(0,n.FP)(a,i)*n.uj,(0,n.FP)(o,(0,n.RZ)(i*i+a*a))*n.uj]}:function(){return[r*n.uj,i*n.uj]};return y.distance=m,y}},61323:function(t,e,r){"use strict";r.d(e,{$t:function(){return i},F2:function(){return u},F8:function(){return x},FA:function(){return l},FP:function(){return p},HQ:function(){return T},Ml:function(){return w},Ni:function(){return n},RZ:function(){return b},Rm:function(){return y},TW:function(){return o},_S:function(){return _},bo:function(){return A},gn:function(){return d},gz:function(){return s},mk:function(){return m},n7:function(){return v},oN:function(){return g},pi:function(){return a},qR:function(){return k},rY:function(){return f},tn:function(){return h},uj:function(){return c}});var n=1e-6,i=1e-12,a=Math.PI,o=a/2,s=a/4,l=2*a,c=180/a,u=a/180,h=Math.abs,f=Math.atan,p=Math.atan2,d=Math.cos,m=Math.ceil,g=Math.exp,y=(Math.floor,Math.log),v=Math.pow,x=Math.sin,_=Math.sign||function(t){return t>0?1:t<0?-1:0},b=Math.sqrt,w=Math.tan;function T(t){return t>1?0:t<-1?a:Math.acos(t)}function k(t){return t>1?o:t<-1?-o:Math.asin(t)}function A(t){return(t=x(t/2))*t}},53341:function(t,e,r){"use strict";function n(){}r.d(e,{A:function(){return n}})},33028:function(t,e,r){"use strict";var n=r(53341),i=1/0,a=i,o=-i,s=o,l={point:function(t,e){to&&(o=t),es&&(s=e)},lineStart:n.A,lineEnd:n.A,polygonStart:n.A,polygonEnd:n.A,result:function(){var t=[[i,a],[o,s]];return o=s=-(a=i=1/0),t}};e.A=l},28759:function(t,e,r){"use strict";r.d(e,{A:function(){return i}});var n=r(61323);function i(t,e){return(0,n.tn)(t[0]-e[0])=0?1:-1,C=E*S,L=C>a.pi,I=x*A;if(o.add((0,a.FP)(I*E*(0,a.F8)(C),_*M+I*(0,a.gn)(C))),u+=L?S+E*a.FA:S,L^y>=r^T>=r){var P=(0,i.r8)((0,i.jf)(g),(0,i.jf)(w));(0,i.Cx)(P);var z=(0,i.r8)(c,P);(0,i.Cx)(z);var O=(L^S>=0?-1:1)*(0,a.qR)(z[2]);(n>O||n===O&&(P[0]||P[1]))&&(h+=L^S>=0?1:-1)}}return(u<-a.Ni||u4*e&&y--){var w=o+p,T=s+m,k=c+g,A=(0,l.RZ)(w*w+T*T+k*k),M=(0,l.qR)(k/=A),S=(0,l.tn)((0,l.tn)(k)-1)e||(0,l.tn)((x*I+_*P)/b-.5)>.3||o*p+s*m+c*g2?t[2]%360*l.F2:0,V()):[C*l.uj,L*l.uj,I*l.uj]},j.angle=function(t){return arguments.length?(P=t%360*l.F2,V()):P*l.uj},j.reflectX=function(t){return arguments.length?(z=t?-1:1,V()):z<0},j.reflectY=function(t){return arguments.length?(O=t?-1:1,V()):O<0},j.precision=function(t){return arguments.length?(x=m(_,N=t*t),q()):(0,l.RZ)(N)},j.fitExtent=function(t,e){return(0,h.sp)(j,t,e)},j.fitSize=function(t,e){return(0,h.Hv)(j,t,e)},j.fitWidth=function(t,e){return(0,h.G0)(j,t,e)},j.fitHeight=function(t,e){return(0,h.FL)(j,t,e)},function(){return e=t.apply(this,arguments),j.invert=e.invert&&U,V()}}},57949:function(t,e,r){"use strict";r.d(e,{A:function(){return o},P:function(){return a}});var n=r(94684),i=r(61323);function a(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}function o(){return(0,n.A)(a).scale(175.295)}a.invert=function(t,e){var r,n=e,a=25;do{var o=n*n,s=o*o;n-=r=(n*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-e)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while((0,i.tn)(r)>i.Ni&&--a>0);return[t/(.8707+(o=n*n)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),n]}},53253:function(t,e,r){"use strict";r.d(e,{A:function(){return s},x:function(){return o}});var n=r(61323),i=r(57738),a=r(94684);function o(t,e){return[(0,n.gn)(e)*(0,n.F8)(t),(0,n.F8)(e)]}function s(){return(0,a.A)(o).scale(249.5).clipAngle(90+n.Ni)}o.invert=(0,i.I)(n.qR)},30915:function(t,e,r){"use strict";r.d(e,{A:function(){return u},y:function(){return o}});var n=r(19057),i=r(61323);function a(t,e){return[(0,i.tn)(t)>i.pi?t+Math.round(-t/i.FA)*i.FA:t,e]}function o(t,e,r){return(t%=i.FA)?e||r?(0,n.A)(l(t),c(e,r)):l(t):e||r?c(e,r):a}function s(t){return function(e,r){return[(e+=t)>i.pi?e-i.FA:e<-i.pi?e+i.FA:e,r]}}function l(t){var e=s(t);return e.invert=s(-t),e}function c(t,e){var r=(0,i.gn)(t),n=(0,i.F8)(t),a=(0,i.gn)(e),o=(0,i.F8)(e);function s(t,e){var s=(0,i.gn)(e),l=(0,i.gn)(t)*s,c=(0,i.F8)(t)*s,u=(0,i.F8)(e),h=u*r+l*n;return[(0,i.FP)(c*a-h*o,l*r-u*n),(0,i.qR)(h*a+c*o)]}return s.invert=function(t,e){var s=(0,i.gn)(e),l=(0,i.gn)(t)*s,c=(0,i.F8)(t)*s,u=(0,i.F8)(e),h=u*a-c*o;return[(0,i.FP)(c*a+u*o,l*r+h*n),(0,i.qR)(h*r-l*n)]},s}function u(t){function e(e){return(e=t(e[0]*i.F2,e[1]*i.F2))[0]*=i.uj,e[1]*=i.uj,e}return t=o(t[0]*i.F2,t[1]*i.F2,t.length>2?t[2]*i.F2:0),e.invert=function(e){return(e=t.invert(e[0]*i.F2,e[1]*i.F2))[0]*=i.uj,e[1]*=i.uj,e},e}a.invert=a},20465:function(t,e,r){"use strict";function n(t,e){t&&a.hasOwnProperty(t.type)&&a[t.type](t,e)}r.d(e,{A:function(){return l}});var i={Feature:function(t,e){n(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,i=-1,a=r.length;++i=0;)e+=r[n].value;else e=1;t.value=e}function l(t,e){var r,n,i,a,o,s=new f(t),l=+t.value&&(s.value=t.value),u=[s];for(null==e&&(e=c);r=u.pop();)if(l&&(r.value=+r.data.value),(i=e(r.data))&&(o=i.length))for(r.children=new Array(o),a=o-1;a>=0;--a)u.push(n=r.children[a]=new f(i[a])),n.parent=r,n.depth=r.depth+1;return s.eachBefore(h)}function c(t){return t.children}function u(t){t.data=t.data.data}function h(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function f(t){this.data=t,this.depth=this.height=0,this.parent=null}r.r(e),r.d(e,{cluster:function(){return o},hierarchy:function(){return l},pack:function(){return P},packEnclose:function(){return d},packSiblings:function(){return S},partition:function(){return B},stratify:function(){return H},tree:function(){return J},treemap:function(){return rt},treemapBinary:function(){return nt},treemapDice:function(){return F},treemapResquarify:function(){return at},treemapSlice:function(){return K},treemapSliceDice:function(){return it},treemapSquarify:function(){return et}}),f.prototype=l.prototype={constructor:f,count:function(){return this.eachAfter(s)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return l(this).eachBefore(u)}};var p=Array.prototype.slice;function d(t){for(var e,r,n=0,i=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(p.call(t))).length,a=[];n0&&r*r>n*n+i*i}function v(t,e){for(var r=0;r(o*=o)?(n=(c+o-i)/(2*c),a=Math.sqrt(Math.max(0,o/c-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(c+i-o)/(2*c),a=Math.sqrt(Math.max(0,i/c-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*s)):(r.x=e.x+r.r,r.y=e.y)}function T(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function k(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function A(t){this._=t,this.next=null,this.previous=null}function M(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,c,u,h;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>2))return e.r+r.r;w(r,e,n=t[2]),e=new A(e),r=new A(r),n=new A(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s0)throw new Error("cycle");return a}return r.id=function(e){return arguments.length?(t=E(e),r):t},r.parentId=function(t){return arguments.length?(e=E(t),r):e},r}function G(t,e){return t.parent===e.parent?1:2}function Z(t){var e=t.children;return e?e[0]:t.t}function W(t){var e=t.children;return e?e[e.length-1]:t.t}function Y(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function X(t,e,r){return t.a.parent===e.parent?t.a:r}function $(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function J(){var t=G,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new $(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new $(n[i],i)),r.parent=e;return(o.parent=new $(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var c=i,u=i,h=i;i.eachBefore((function(t){t.xu.x&&(u=t),t.depth>h.depth&&(h=t)}));var f=c===u?1:t(c,u)/2,p=f-c.x,d=e/(u.x+f+p),m=r/(h.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*m}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],c=a.m,u=o.m,h=s.m,f=l.m;s=W(s),a=Z(a),s&&a;)l=Z(l),(o=W(o)).a=e,(i=s.z+h-a.z-c+t(s._,a._))>0&&(Y(X(s,e,n),e,i),c+=i,u+=i),h+=s.m,c+=a.m,f+=l.m,u+=o.m;s&&!W(o)&&(o.t=s,o.m+=h-u),a&&!Z(l)&&(l.t=a,l.m+=c-f,n=e)}return n}(e,i,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i}function K(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,c=t.value&&(i-r)/t.value;++sf&&(f=s),g=u*u*m,(p=Math.max(f/g,g/h))>d){u-=s;break}d=p}y.push(o={value:u,dice:l1?e:1)},r}(Q);function rt(){var t=et,e=!1,r=1,n=1,i=[0],a=C,o=C,s=C,l=C,c=C;function u(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(h),i=[0],e&&t.eachBefore(R),t}function h(e){var r=i[e.depth],n=e.x0+r,u=e.y0+r,h=e.x1-r,f=e.y1-r;h=r-1){var u=s[e];return u.x0=i,u.y0=a,u.x1=o,void(u.y1=l)}for(var h=c[e],f=n/2+h,p=e+1,d=r-1;p>>1;c[m]l-a){var v=(i*y+o*g)/n;t(e,p,g,i,a,v,l),t(p,r,y,v,a,o,l)}else{var x=(a*y+l*g)/n;t(e,p,g,i,a,o,x),t(p,r,y,i,x,o,l)}}(0,l,t.value,e,r,n,i)}function it(t,e,r,n,i){(1&t.depth?K:F)(t,e,r,n,i)}var at=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,c,u,h=-1,f=o.length,p=t.value;++h1?e:1)},r}(Q)},48544:function(t,e,r){"use strict";r.d(e,{pq:function(){return y}});var n=Math.PI,i=2*n,a=1e-6,o=i-a;function s(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function l(){return new s}s.prototype=l.prototype={constructor:s,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,i,o){t=+t,e=+e,r=+r,i=+i,o=+o;var s=this._x1,l=this._y1,c=r-t,u=i-e,h=s-t,f=l-e,p=h*h+f*f;if(o<0)throw new Error("negative radius: "+o);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(p>a)if(Math.abs(f*c-u*h)>a&&o){var d=r-s,m=i-l,g=c*c+u*u,y=d*d+m*m,v=Math.sqrt(g),x=Math.sqrt(p),_=o*Math.tan((n-Math.acos((g+p-y)/(2*v*x)))/2),b=_/x,w=_/v;Math.abs(b-1)>a&&(this._+="L"+(t+b*h)+","+(e+b*f)),this._+="A"+o+","+o+",0,0,"+ +(f*d>h*m)+","+(this._x1=t+w*c)+","+(this._y1=e+w*u)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,r,s,l,c){t=+t,e=+e,c=!!c;var u=(r=+r)*Math.cos(s),h=r*Math.sin(s),f=t+u,p=e+h,d=1^c,m=c?s-l:l-s;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._+="M"+f+","+p:(Math.abs(this._x1-f)>a||Math.abs(this._y1-p)>a)&&(this._+="L"+f+","+p),r&&(m<0&&(m=m%i+i),m>o?this._+="A"+r+","+r+",0,1,"+d+","+(t-u)+","+(e-h)+"A"+r+","+r+",0,1,"+d+","+(this._x1=f)+","+(this._y1=p):m>a&&(this._+="A"+r+","+r+",0,"+ +(m>=n)+","+d+","+(this._x1=t+r*Math.cos(l))+","+(this._y1=e+r*Math.sin(l))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};var c=l,u=Array.prototype.slice;function h(t){return function(){return t}}function f(t){return t[0]}function p(t){return t[1]}function d(t){return t.source}function m(t){return t.target}function g(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function y(){return function(t){var e=d,r=m,n=f,i=p,a=null;function o(){var o,s=u.call(arguments),l=e.apply(this,s),h=r.apply(this,s);if(a||(a=o=c()),t(a,+n.apply(this,(s[0]=l,s)),+i.apply(this,s),+n.apply(this,(s[0]=h,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(r=t,o):r},o.x=function(t){return arguments.length?(n="function"==typeof t?t:h(+t),o):n},o.y=function(t){return arguments.length?(i="function"==typeof t?t:h(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}(g)}},42696:function(t,e,r){"use strict";r.d(e,{DC:function(){return d},de:function(){return f},aL:function(){return m}});var n=r(1681),i=r(72543),a=r(55735),o=r(47265),s=r(9830),l=r(59764);function c(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function u(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function h(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function f(t){var e=t.dateTime,r=t.date,s=t.time,l=t.periods,f=t.days,p=t.shortDays,d=t.months,m=t.shortMonths,y=w(l),v=T(l),x=w(f),_=T(f),b=w(p),St=T(p),Et=w(d),Ct=T(d),Lt=w(m),It=T(m),Pt={a:function(t){return p[t.getDay()]},A:function(t){return f[t.getDay()]},b:function(t){return m[t.getMonth()]},B:function(t){return d[t.getMonth()]},c:null,d:H,e:H,f:X,H:G,I:Z,j:W,L:Y,m:$,M:J,p:function(t){return l[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:At,s:Mt,S:K,u:Q,U:tt,V:et,w:rt,W:nt,x:null,X:null,y:it,Y:at,Z:ot,"%":kt},zt={a:function(t){return p[t.getUTCDay()]},A:function(t){return f[t.getUTCDay()]},b:function(t){return m[t.getUTCMonth()]},B:function(t){return d[t.getUTCMonth()]},c:null,d:st,e:st,f:ft,H:lt,I:ct,j:ut,L:ht,m:pt,M:dt,p:function(t){return l[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:At,s:Mt,S:mt,u:gt,U:yt,V:vt,w:xt,W:_t,x:null,X:null,y:bt,Y:wt,Z:Tt,"%":kt},Ot={a:function(t,e,r){var n=b.exec(e.slice(r));return n?(t.w=St[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=x.exec(e.slice(r));return n?(t.w=_[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=Lt.exec(e.slice(r));return n?(t.m=It[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=Et.exec(e.slice(r));return n?(t.m=Ct[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,r,n){return Ft(t,e,r,n)},d:O,e:O,f:j,H:R,I:R,j:D,L:N,m:z,M:F,p:function(t,e,r){var n=y.exec(e.slice(r));return n?(t.p=v[n[0].toLowerCase()],r+n[0].length):-1},q:P,Q:V,s:q,S:B,u:A,U:M,V:S,w:k,W:E,x:function(t,e,n){return Ft(t,r,e,n)},X:function(t,e,r){return Ft(t,s,e,r)},y:L,Y:C,Z:I,"%":U};function Dt(t,e){return function(r){var n,i,a,o=[],s=-1,l=0,c=t.length;for(r instanceof Date||(r=new Date(+r));++s53)return null;"w"in f||(f.w=1),"Z"in f?(l=(s=u(h(f.y,0,1))).getUTCDay(),s=l>4||0===l?n.rt.ceil(s):(0,n.rt)(s),s=i.A.offset(s,7*(f.V-1)),f.y=s.getUTCFullYear(),f.m=s.getUTCMonth(),f.d=s.getUTCDate()+(f.w+6)%7):(l=(s=c(h(f.y,0,1))).getDay(),s=l>4||0===l?a.By.ceil(s):(0,a.By)(s),s=o.A.offset(s,7*(f.V-1)),f.y=s.getFullYear(),f.m=s.getMonth(),f.d=s.getDate()+(f.w+6)%7)}else("W"in f||"U"in f)&&("w"in f||(f.w="u"in f?f.u%7:"W"in f?1:0),l="Z"in f?u(h(f.y,0,1)).getUTCDay():c(h(f.y,0,1)).getDay(),f.m=0,f.d="W"in f?(f.w+6)%7+7*f.W-(l+5)%7:f.w+7*f.U-(l+6)%7);return"Z"in f?(f.H+=f.Z/100|0,f.M+=f.Z%100,u(f)):c(f)}}function Ft(t,e,r,n){for(var i,a,o=0,s=e.length,l=r.length;o=l)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=Ot[i in g?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Pt.x=Dt(r,Pt),Pt.X=Dt(s,Pt),Pt.c=Dt(e,Pt),zt.x=Dt(r,zt),zt.X=Dt(s,zt),zt.c=Dt(e,zt),{format:function(t){var e=Dt(t+="",Pt);return e.toString=function(){return t},e},parse:function(t){var e=Rt(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=Dt(t+="",zt);return e.toString=function(){return t},e},utcParse:function(t){var e=Rt(t+="",!0);return e.toString=function(){return t},e}}}var p,d,m,g={"-":"",_:" ",0:"0"},y=/^\s*\d+/,v=/^%/,x=/[\\^$*+?|[\]().{}]/g;function _(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function I(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function P(t,e,r){var n=y.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function z(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function O(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function D(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function R(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function F(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function B(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function N(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function j(t,e,r){var n=y.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function U(t,e,r){var n=v.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function V(t,e,r){var n=y.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function q(t,e,r){var n=y.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function H(t,e){return _(t.getDate(),e,2)}function G(t,e){return _(t.getHours(),e,2)}function Z(t,e){return _(t.getHours()%12||12,e,2)}function W(t,e){return _(1+o.A.count((0,s.A)(t),t),e,3)}function Y(t,e){return _(t.getMilliseconds(),e,3)}function X(t,e){return Y(t,e)+"000"}function $(t,e){return _(t.getMonth()+1,e,2)}function J(t,e){return _(t.getMinutes(),e,2)}function K(t,e){return _(t.getSeconds(),e,2)}function Q(t){var e=t.getDay();return 0===e?7:e}function tt(t,e){return _(a.fz.count((0,s.A)(t)-1,t),e,2)}function et(t,e){var r=t.getDay();return t=r>=4||0===r?(0,a.dt)(t):a.dt.ceil(t),_(a.dt.count((0,s.A)(t),t)+(4===(0,s.A)(t).getDay()),e,2)}function rt(t){return t.getDay()}function nt(t,e){return _(a.By.count((0,s.A)(t)-1,t),e,2)}function it(t,e){return _(t.getFullYear()%100,e,2)}function at(t,e){return _(t.getFullYear()%1e4,e,4)}function ot(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+_(e/60|0,"0",2)+_(e%60,"0",2)}function st(t,e){return _(t.getUTCDate(),e,2)}function lt(t,e){return _(t.getUTCHours(),e,2)}function ct(t,e){return _(t.getUTCHours()%12||12,e,2)}function ut(t,e){return _(1+i.A.count((0,l.A)(t),t),e,3)}function ht(t,e){return _(t.getUTCMilliseconds(),e,3)}function ft(t,e){return ht(t,e)+"000"}function pt(t,e){return _(t.getUTCMonth()+1,e,2)}function dt(t,e){return _(t.getUTCMinutes(),e,2)}function mt(t,e){return _(t.getUTCSeconds(),e,2)}function gt(t){var e=t.getUTCDay();return 0===e?7:e}function yt(t,e){return _(n.Hl.count((0,l.A)(t)-1,t),e,2)}function vt(t,e){var r=t.getUTCDay();return t=r>=4||0===r?(0,n.pT)(t):n.pT.ceil(t),_(n.pT.count((0,l.A)(t),t)+(4===(0,l.A)(t).getUTCDay()),e,2)}function xt(t){return t.getUTCDay()}function _t(t,e){return _(n.rt.count((0,l.A)(t)-1,t),e,2)}function bt(t,e){return _(t.getUTCFullYear()%100,e,2)}function wt(t,e){return _(t.getUTCFullYear()%1e4,e,4)}function Tt(){return"+0000"}function kt(){return"%"}function At(t){return+t}function Mt(t){return Math.floor(+t/1e3)}p=f({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),d=p.format,p.parse,m=p.utcFormat,p.utcParse},47265:function(t,e,r){"use strict";r.d(e,{_:function(){return o}});var n=r(53398),i=r(66291),a=(0,n.A)((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.rR)/i.Nm}),(function(t){return t.getDate()-1}));e.A=a;var o=a.range},66291:function(t,e,r){"use strict";r.d(e,{Fq:function(){return s},JJ:function(){return a},Nm:function(){return o},Tt:function(){return n},rR:function(){return i}});var n=1e3,i=6e4,a=36e5,o=864e5,s=6048e5},50936:function(t,e,r){"use strict";r.r(e),r.d(e,{timeDay:function(){return y.A},timeDays:function(){return y._},timeFriday:function(){return v.Sh},timeFridays:function(){return v.tz},timeHour:function(){return m},timeHours:function(){return g},timeInterval:function(){return n.A},timeMillisecond:function(){return a},timeMilliseconds:function(){return o},timeMinute:function(){return f},timeMinutes:function(){return p},timeMonday:function(){return v.By},timeMondays:function(){return v.KP},timeMonth:function(){return _},timeMonths:function(){return b},timeSaturday:function(){return v.kS},timeSaturdays:function(){return v.t$},timeSecond:function(){return c},timeSeconds:function(){return u},timeSunday:function(){return v.fz},timeSundays:function(){return v.se},timeThursday:function(){return v.dt},timeThursdays:function(){return v.Q$},timeTuesday:function(){return v.eQ},timeTuesdays:function(){return v.yW},timeWednesday:function(){return v.l3},timeWednesdays:function(){return v.gf},timeWeek:function(){return v.fz},timeWeeks:function(){return v.se},timeYear:function(){return w.A},timeYears:function(){return w.V},utcDay:function(){return C.A},utcDays:function(){return C.o},utcFriday:function(){return L.a1},utcFridays:function(){return L.Zn},utcHour:function(){return S},utcHours:function(){return E},utcMillisecond:function(){return a},utcMilliseconds:function(){return o},utcMinute:function(){return k},utcMinutes:function(){return A},utcMonday:function(){return L.rt},utcMondays:function(){return L.ON},utcMonth:function(){return P},utcMonths:function(){return z},utcSaturday:function(){return L.c8},utcSaturdays:function(){return L.Xo},utcSecond:function(){return c},utcSeconds:function(){return u},utcSunday:function(){return L.Hl},utcSundays:function(){return L.aZ},utcThursday:function(){return L.pT},utcThursdays:function(){return L.wr},utcTuesday:function(){return L.sr},utcTuesdays:function(){return L.jN},utcWednesday:function(){return L.z2},utcWednesdays:function(){return L.G6},utcWeek:function(){return L.Hl},utcWeeks:function(){return L.aZ},utcYear:function(){return O.A},utcYears:function(){return O.j}});var n=r(53398),i=(0,n.A)((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?(0,n.A)((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i,o=i.range,s=r(66291),l=(0,n.A)((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*s.Tt)}),(function(t,e){return(e-t)/s.Tt}),(function(t){return t.getUTCSeconds()})),c=l,u=l.range,h=(0,n.A)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.Tt)}),(function(t,e){t.setTime(+t+e*s.rR)}),(function(t,e){return(e-t)/s.rR}),(function(t){return t.getMinutes()})),f=h,p=h.range,d=(0,n.A)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.Tt-t.getMinutes()*s.rR)}),(function(t,e){t.setTime(+t+e*s.JJ)}),(function(t,e){return(e-t)/s.JJ}),(function(t){return t.getHours()})),m=d,g=d.range,y=r(47265),v=r(55735),x=(0,n.A)((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),_=x,b=x.range,w=r(9830),T=(0,n.A)((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*s.rR)}),(function(t,e){return(e-t)/s.rR}),(function(t){return t.getUTCMinutes()})),k=T,A=T.range,M=(0,n.A)((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*s.JJ)}),(function(t,e){return(e-t)/s.JJ}),(function(t){return t.getUTCHours()})),S=M,E=M.range,C=r(72543),L=r(1681),I=(0,n.A)((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),P=I,z=I.range,O=r(59764)},53398:function(t,e,r){"use strict";r.d(e,{A:function(){return a}});var n=new Date,i=new Date;function a(t,e,r,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(r){return t(r=new Date(r-1)),e(r,1),t(r),r},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e0))return o;do{o.push(a=new Date(+r)),e(r,i),t(r)}while(a=e)for(;t(e),!r(e);)e.setTime(e-1)}),(function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!r(t););else for(;--n>=0;)for(;e(t,1),!r(t););}))},r&&(s.count=function(e,a){return n.setTime(+e),i.setTime(+a),t(n),t(i),Math.floor(r(n,i))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}},72543:function(t,e,r){"use strict";r.d(e,{o:function(){return o}});var n=r(53398),i=r(66291),a=(0,n.A)((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/i.Nm}),(function(t){return t.getUTCDate()-1}));e.A=a;var o=a.range},1681:function(t,e,r){"use strict";r.d(e,{G6:function(){return g},Hl:function(){return o},ON:function(){return d},Xo:function(){return x},Zn:function(){return v},a1:function(){return h},aZ:function(){return p},c8:function(){return f},jN:function(){return m},pT:function(){return u},rt:function(){return s},sr:function(){return l},wr:function(){return y},z2:function(){return c}});var n=r(53398),i=r(66291);function a(t){return(0,n.A)((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/i.Fq}))}var o=a(0),s=a(1),l=a(2),c=a(3),u=a(4),h=a(5),f=a(6),p=o.range,d=s.range,m=l.range,g=c.range,y=u.range,v=h.range,x=f.range},59764:function(t,e,r){"use strict";r.d(e,{j:function(){return a}});var n=r(53398),i=(0,n.A)((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.A)((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null},e.A=i;var a=i.range},55735:function(t,e,r){"use strict";r.d(e,{By:function(){return s},KP:function(){return d},Q$:function(){return y},Sh:function(){return h},dt:function(){return u},eQ:function(){return l},fz:function(){return o},gf:function(){return g},kS:function(){return f},l3:function(){return c},se:function(){return p},t$:function(){return x},tz:function(){return v},yW:function(){return m}});var n=r(53398),i=r(66291);function a(t){return(0,n.A)((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.rR)/i.Fq}))}var o=a(0),s=a(1),l=a(2),c=a(3),u=a(4),h=a(5),f=a(6),p=o.range,d=s.range,m=l.range,g=c.range,y=u.range,v=h.range,x=f.range},9830:function(t,e,r){"use strict";r.d(e,{V:function(){return a}});var n=r(53398),i=(0,n.A)((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.A)((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null},e.A=i;var a=i.range},70973:function(t,e,r){"use strict";var n=r(40891),i=r(98800),a=r(48631),o=r(52991);t.exports=function(t,e,r){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new a("`obj` must be an object or a function`");if("string"!=typeof e&&"symbol"!=typeof e)throw new a("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new a("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new a("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new a("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new a("`loose`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,l=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,u=arguments.length>6&&arguments[6],h=!!o&&o(t,e);if(n)n(t,e,{configurable:null===c&&h?h.configurable:!c,enumerable:null===s&&h?h.enumerable:!s,value:r,writable:null===l&&h?h.writable:!l});else{if(!u&&(s||l||c))throw new i("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");t[e]=r}}},97936:function(t,e,r){"use strict";var n=r(99433),i="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),a=Object.prototype.toString,o=Array.prototype.concat,s=Object.defineProperty,l=r(74268)(),c=s&&l,u=function(t,e,r,n){if(e in t)if(!0===n){if(t[e]===r)return}else if("function"!=typeof(i=n)||"[object Function]"!==a.call(i)||!n())return;var i;c?s(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r},h=function(t,e){var r=arguments.length>2?arguments[2]:{},a=n(e);i&&(a=o.call(a,Object.getOwnPropertySymbols(e)));for(var s=0;ss*l){var p=(f-h)/s;o[u]=1e3*p}}return o}function i(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*n){a=s=t[0],o=l=t[1];for(var x=n;xs&&(s=h),f>l&&(l=f);d=0!==(d=Math.max(s-a,l-o))?32767/d:0}return i(y,v,n,a,o,d,0),v}function r(t,e,r,n,i){var a,o;if(i===M(t,e,r,n)>0)for(a=e;a=e;a-=n)o=T(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function n(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==g(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function i(t,e,r,c,u,h,p){if(t){!p&&h&&function(t,e,r,n){var i=t;do{0===i.z&&(i.z=f(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,c,u,h);for(var d,m,g=t;t.prev!==t.next;)if(d=t.prev,m=t.next,h?o(t,c,u,h):a(t))e.push(d.i/r|0),e.push(t.i/r|0),e.push(m.i/r|0),k(t),t=m.next,g=m.next;else if((t=m)===g){p?1===p?i(t=s(n(t),e,r),e,r,c,u,h,2):2===p&&l(t,e,r,c,u,h):i(n(t),e,r,c,u,h,1);break}}}function a(t){var e=t.prev,r=t,n=t.next;if(g(e,r,n)>=0)return!1;for(var i=e.x,a=r.x,o=n.x,s=e.y,l=r.y,c=n.y,u=ia?i>o?i:o:a>o?a:o,p=s>l?s>c?s:c:l>c?l:c,m=n.next;m!==e;){if(m.x>=u&&m.x<=f&&m.y>=h&&m.y<=p&&d(i,s,a,l,o,c,m.x,m.y)&&g(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function o(t,e,r,n){var i=t.prev,a=t,o=t.next;if(g(i,a,o)>=0)return!1;for(var s=i.x,l=a.x,c=o.x,u=i.y,h=a.y,p=o.y,m=sl?s>c?s:c:l>c?l:c,x=u>h?u>p?u:p:h>p?h:p,_=f(m,y,e,r,n),b=f(v,x,e,r,n),w=t.prevZ,T=t.nextZ;w&&w.z>=_&&T&&T.z<=b;){if(w.x>=m&&w.x<=v&&w.y>=y&&w.y<=x&&w!==i&&w!==o&&d(s,u,l,h,c,p,w.x,w.y)&&g(w.prev,w,w.next)>=0)return!1;if(w=w.prevZ,T.x>=m&&T.x<=v&&T.y>=y&&T.y<=x&&T!==i&&T!==o&&d(s,u,l,h,c,p,T.x,T.y)&&g(T.prev,T,T.next)>=0)return!1;T=T.nextZ}for(;w&&w.z>=_;){if(w.x>=m&&w.x<=v&&w.y>=y&&w.y<=x&&w!==i&&w!==o&&d(s,u,l,h,c,p,w.x,w.y)&&g(w.prev,w,w.next)>=0)return!1;w=w.prevZ}for(;T&&T.z<=b;){if(T.x>=m&&T.x<=v&&T.y>=y&&T.y<=x&&T!==i&&T!==o&&d(s,u,l,h,c,p,T.x,T.y)&&g(T.prev,T,T.next)>=0)return!1;T=T.nextZ}return!0}function s(t,e,r){var i=t;do{var a=i.prev,o=i.next.next;!y(a,o)&&v(a,i,i.next,o)&&b(a,o)&&b(o,a)&&(e.push(a.i/r|0),e.push(i.i/r|0),e.push(o.i/r|0),k(i),k(i.next),i=t=o),i=i.next}while(i!==t);return n(i)}function l(t,e,r,a,o,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=w(l,c);return l=n(l,l.next),u=n(u,u.next),i(l,e,r,a,o,s,0),void i(u,e,r,a,o,s,0)}c=c.next}l=l.next}while(l!==t)}function c(t,e){return t.x-e.x}function u(t,e){var r=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o&&(o=s,r=n.x=n.x&&n.x>=u&&i!==n.x&&d(ar.x||n.x===r.x&&h(r,n)))&&(r=n,p=l)),n=n.next}while(n!==c);return r}(t,e);if(!r)return e;var i=w(r,t);return n(i,i.next),n(r,r.next)}function h(t,e){return g(t.prev,t,e.prev)<0&&g(e.next,t,t.next)<0}function f(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function p(t){var e=t,r=t;do{(e.x=(t-o)*(a-s)&&(t-o)*(n-s)>=(r-o)*(e-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function m(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&v(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(g(t.prev,t,e.prev)||g(t,e.prev,e))||y(t,e)&&g(t.prev,t,t.next)>0&&g(e.prev,e,e.next)>0)}function g(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function v(t,e,r,n){var i=_(g(t,e,r)),a=_(g(t,e,n)),o=_(g(r,n,t)),s=_(g(r,n,e));return i!==a&&o!==s||!(0!==i||!x(t,r,e))||!(0!==a||!x(t,n,e))||!(0!==o||!x(r,t,n))||!(0!==s||!x(r,e,n))}function x(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function _(t){return t>0?1:t<0?-1:0}function b(t,e){return g(t.prev,t,t.next)<0?g(t,e,t.next)>=0&&g(t,t.prev,e)>=0:g(t,e,t.prev)<0||g(t,t.next,e)<0}function w(t,e){var r=new A(t.i,t.x,t.y),n=new A(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function T(t,e,r,n){var i=new A(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function A(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function M(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},96143:function(t,e,r){var n=r(26381);t.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function c(t){o[t]=!1,s.hasOwnProperty(t)&&Object.keys(s[t]).forEach((function(e){delete s[t][e],o[e]&&c(e)}))}function u(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o=55296&&v<=56319&&(w+=t[++r]),w=T?f.call(T,k,w,m):w,e?(p.value=w,d(g,m,p)):g[m]=w,++m;y=m}if(void 0===y)for(y=o(t.length),e&&(g=new e(y)),r=0;r0?1:-1}},10226:function(t,e,r){"use strict";var n=r(53579),i=Math.abs,a=Math.floor;t.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},54653:function(t,e,r){"use strict";var n=r(10226),i=Math.max;t.exports=function(t){return i(0,n(t))}},39395:function(t,e,r){"use strict";var n=r(52359),i=r(69746),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;t.exports=function(t,e){return function(r,c){var u,h=arguments[2],f=arguments[3];return r=Object(i(r)),n(c),u=s(r),f&&u.sort("function"==typeof f?a.call(f,r):void 0),"function"!=typeof t&&(t=u[t]),o.call(t,u,(function(t,n){return l.call(r,t)?o.call(c,h,r[t],t,r,n):e}))}}},1920:function(t,e,r){"use strict";t.exports=r(41271)()?Object.assign:r(26399)},41271:function(t){"use strict";t.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},26399:function(t,e,r){"use strict";var n=r(36353),i=r(69746),a=Math.max;t.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},48488:function(t){"use strict";var e=Object.prototype.toString,r=e.call("");t.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||e.call(t)===r)||!1}},43497:function(t){"use strict";var e=Object.create(null),r=Math.random;t.exports=function(){var t;do{t=r().toString(36).slice(2)}while(e[t]);return t}},71343:function(t,e,r){"use strict";var n,i=r(22834),a=r(2338),o=r(91819),s=r(63008),l=r(85490),c=Object.defineProperty;n=t.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?a.call(e,"key+value")?"key+value":a.call(e,"key")?"key":"value":"value",c(this,"__kind__",o("",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t}))}),c(n.prototype,s.toStringTag,o("c","Array Iterator"))},58755:function(t,e,r){"use strict";var n=r(82262),i=r(52359),a=r(48488),o=r(34494),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;t.exports=function(t,e){var r,u,h,f,p,d,m,g,y=arguments[2];if(s(t)||n(t)?r="array":a(t)?r="string":t=o(t),i(e),h=function(){f=!0},"array"!==r)if("string"!==r)for(u=t.next();!u.done;){if(l.call(e,y,u.value,h),f)return;u=t.next()}else for(d=t.length,p=0;p=55296&&g<=56319&&(m+=t[++p]),l.call(e,y,m,h),!f);++p);else c.call(t,(function(t){return l.call(e,y,t,h),f}))}},34494:function(t,e,r){"use strict";var n=r(82262),i=r(48488),a=r(71343),o=r(23417),s=r(82831),l=r(63008).iterator;t.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},85490:function(t,e,r){"use strict";var n,i=r(91445),a=r(1920),o=r(52359),s=r(69746),l=r(91819),c=r(84510),u=r(63008),h=Object.defineProperty,f=Object.defineProperties;t.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");f(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,f(n.prototype,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):h(this,"__redo__",l("c",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),h(n.prototype,u.iterator,l((function(){return this})))},50567:function(t,e,r){"use strict";var n=r(82262),i=r(1974),a=r(48488),o=r(63008).iterator,s=Array.isArray;t.exports=function(t){return!(!i(t)||!s(t)&&!a(t)&&!n(t)&&"function"!=typeof t[o])}},23417:function(t,e,r){"use strict";var n,i=r(22834),a=r(91819),o=r(63008),s=r(85490),l=Object.defineProperty;n=t.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",a("",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},82831:function(t,e,r){"use strict";var n=r(50567);t.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},63008:function(t,e,r){"use strict";t.exports=r(25143)()?r(64725).Symbol:r(81905)},25143:function(t,e,r){"use strict";var n=r(64725),i={object:!0,symbol:!0};t.exports=function(){var t,e=n.Symbol;if("function"!=typeof e)return!1;t=e("test symbol");try{String(t)}catch(t){return!1}return!!i[typeof e.iterator]&&!!i[typeof e.toPrimitive]&&!!i[typeof e.toStringTag]}},41707:function(t){"use strict";t.exports=function(t){return!!t&&("symbol"==typeof t||!!t.constructor&&"Symbol"===t.constructor.name&&"Symbol"===t[t.constructor.toStringTag])}},74009:function(t,e,r){"use strict";var n=r(91819),i=Object.create,a=Object.defineProperty,o=Object.prototype,s=i(null);t.exports=function(t){for(var e,r,i=0;s[t+(i||"")];)++i;return s[t+=i||""]=!0,a(o,e="@@"+t,n.gs(null,(function(t){r||(r=!0,a(this,e,n(t)),r=!1)}))),e}},40313:function(t,e,r){"use strict";var n=r(91819),i=r(64725).Symbol;t.exports=function(t){return Object.defineProperties(t,{hasInstance:n("",i&&i.hasInstance||t("hasInstance")),isConcatSpreadable:n("",i&&i.isConcatSpreadable||t("isConcatSpreadable")),iterator:n("",i&&i.iterator||t("iterator")),match:n("",i&&i.match||t("match")),replace:n("",i&&i.replace||t("replace")),search:n("",i&&i.search||t("search")),species:n("",i&&i.species||t("species")),split:n("",i&&i.split||t("split")),toPrimitive:n("",i&&i.toPrimitive||t("toPrimitive")),toStringTag:n("",i&&i.toStringTag||t("toStringTag")),unscopables:n("",i&&i.unscopables||t("unscopables"))})}},21290:function(t,e,r){"use strict";var n=r(91819),i=r(91765),a=Object.create(null);t.exports=function(t){return Object.defineProperties(t,{for:n((function(e){return a[e]?a[e]:a[e]=t(String(e))})),keyFor:n((function(t){var e;for(e in i(t),a)if(a[e]===t)return e}))})}},81905:function(t,e,r){"use strict";var n,i,a,o=r(91819),s=r(91765),l=r(64725).Symbol,c=r(74009),u=r(40313),h=r(21290),f=Object.create,p=Object.defineProperties,d=Object.defineProperty;if("function"==typeof l)try{String(l()),a=!0}catch(t){}else l=null;i=function(t){if(this instanceof i)throw new TypeError("Symbol is not a constructor");return n(t)},t.exports=n=function t(e){var r;if(this instanceof t)throw new TypeError("Symbol is not a constructor");return a?l(e):(r=f(i.prototype),e=void 0===e?"":String(e),p(r,{__description__:o("",e),__name__:o("",c(e))}))},u(n),h(n),p(i.prototype,{constructor:o(n),toString:o("",(function(){return this.__name__}))}),p(n.prototype,{toString:o((function(){return"Symbol ("+s(this).__description__+")"})),valueOf:o((function(){return s(this)}))}),d(n.prototype,n.toPrimitive,o("",(function(){var t=s(this);return"symbol"==typeof t?t:t.toString()}))),d(n.prototype,n.toStringTag,o("c","Symbol")),d(i.prototype,n.toStringTag,o("c",n.prototype[n.toStringTag])),d(i.prototype,n.toPrimitive,o("c",n.prototype[n.toPrimitive]))},91765:function(t,e,r){"use strict";var n=r(41707);t.exports=function(t){if(!n(t))throw new TypeError(t+" is not a symbol");return t}},93103:function(t,e,r){"use strict";t.exports=r(22742)()?WeakMap:r(21780)},22742:function(t){"use strict";t.exports=function(){var t,e;if("function"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},"one"],[{},"two"],[{},"three"]])}catch(t){return!1}return"[object WeakMap]"===String(t)&&"function"==typeof t.set&&t.set({},1)===t&&"function"==typeof t.delete&&"function"==typeof t.has&&"one"===t.get(e)}},81810:function(t){"use strict";t.exports="function"==typeof WeakMap&&"[object WeakMap]"===Object.prototype.toString.call(new WeakMap)},21780:function(t,e,r){"use strict";var n,i=r(1974),a=r(22834),o=r(11004),s=r(69746),l=r(43497),c=r(91819),u=r(34494),h=r(58755),f=r(63008).toStringTag,p=r(81810),d=Array.isArray,m=Object.defineProperty,g=Object.prototype.hasOwnProperty,y=Object.getPrototypeOf;t.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");return t=p&&a&&WeakMap!==n?a(new WeakMap,y(this)):this,i(e)&&(d(e)||(e=u(e))),m(t,"__weakMapData__",c("c","$weakMap$"+l())),e?(h(e,(function(e){s(e),t.set(e[0],e[1])})),t):t},p&&(a&&a(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:c(n)})),Object.defineProperties(n.prototype,{delete:c((function(t){return!!g.call(o(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)})),get:c((function(t){if(g.call(o(t),this.__weakMapData__))return t[this.__weakMapData__]})),has:c((function(t){return g.call(o(t),this.__weakMapData__)})),set:c((function(t,e){return m(o(t),this.__weakMapData__,c("c",e)),this})),toString:c((function(){return"[object WeakMap]"}))}),m(n.prototype,f,c("c","WeakMap"))},7683:function(t){"use strict";var e,r="object"==typeof Reflect?Reflect:null,n=r&&"function"==typeof r.apply?r.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};e=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var i=Number.isNaN||function(t){return t!=t};function a(){a.init.call(this)}t.exports=a,t.exports.once=function(t,e){return new Promise((function(r,n){function i(r){t.removeListener(e,a),n(r)}function a(){"function"==typeof t.removeListener&&t.removeListener("error",i),r([].slice.call(arguments))}m(t,e,a,{once:!0}),"error"!==e&&function(t,e,r){"function"==typeof t.on&&m(t,"error",e,{once:!0})}(t,i)}))},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var o=10;function s(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function l(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function c(t,e,r,n){var i,a,o,c;if(s(r),void 0===(a=t._events)?(a=t._events=Object.create(null),t._eventsCount=0):(void 0!==a.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),a=t._events),o=a[e]),void 0===o)o=a[e]=r,++t._eventsCount;else if("function"==typeof o?o=a[e]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),(i=l(t))>0&&o.length>i&&!o.warned){o.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=t,u.type=e,u.count=o.length,c=u,console&&console.warn&&console.warn(c)}return t}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=u.bind(n);return i.listener=r,n.wrapFn=i,i}function f(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[t];if(void 0===l)return!1;if("function"==typeof l)n(l,this,e);else{var c=l.length,u=d(l,c);for(r=0;r=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},a.prototype.listeners=function(t){return f(this,t,!0)},a.prototype.rawListeners=function(t){return f(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},77083:function(t){var e=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(t){return e()}try{return __global__||e()}finally{delete Object.prototype.__global__}}()},64725:function(t,e,r){"use strict";t.exports=r(17804)()?globalThis:r(77083)},17804:function(t){"use strict";t.exports=function(){return"object"==typeof globalThis&&!!globalThis&&globalThis.Array===Array}},10721:function(t,e,r){"use strict";var n=r(9914);t.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0==(t=+t)&&n(r))return!1}else if("number"!==e)return!1;return t-t<1}},83473:function(t,e,r){var n=r(10275);t.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var i,a,o,s,l=t[0].length,c=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(c+r));var u=e.length-r;if(c!==u)throw new Error("source length "+c+" ("+l+"x"+t.length+") does not match destination length "+u);for(i=0,o=r;ie[0]-o[0]/2&&(f=o[0]/2,p+=o[1]);return r}},12673:function(t){"use strict";function e(t,a){a||(a={}),("string"==typeof t||Array.isArray(t))&&(a.family=t);var o=Array.isArray(a.family)?a.family.join(", "):a.family;if(!o)throw Error("`family` must be defined");var s=a.size||a.fontSize||a.em||48,l=a.weight||a.fontWeight||"",c=(t=[a.style||a.fontStyle||"",l,s].join(" ")+"px "+o,a.origin||"top");if(e.cache[o]&&s<=e.cache[o].em)return r(e.cache[o],c);var u=a.canvas||e.canvas,h=u.getContext("2d"),f={upper:void 0!==a.upper?a.upper:"H",lower:void 0!==a.lower?a.lower:"x",descent:void 0!==a.descent?a.descent:"p",ascent:void 0!==a.ascent?a.ascent:"h",tittle:void 0!==a.tittle?a.tittle:"i",overshoot:void 0!==a.overshoot?a.overshoot:"O"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,h.font=t;var d="H",m={top:0};h.clearRect(0,0,p,p),h.textBaseline="top",h.fillStyle="black",h.fillText(d,0,0);var g=n(h.getImageData(0,0,p,p));h.clearRect(0,0,p,p),h.textBaseline="bottom",h.fillText(d,0,p);var y=n(h.getImageData(0,0,p,p));m.lineHeight=m.bottom=p-y+g,h.clearRect(0,0,p,p),h.textBaseline="alphabetic",h.fillText(d,0,p);var v=p-n(h.getImageData(0,0,p,p))-1+g;m.baseline=m.alphabetic=v,h.clearRect(0,0,p,p),h.textBaseline="middle",h.fillText(d,0,.5*p);var x=n(h.getImageData(0,0,p,p));m.median=m.middle=p-x-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline="hanging",h.fillText(d,0,.5*p);var _=n(h.getImageData(0,0,p,p));m.hanging=p-_-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline="ideographic",h.fillText(d,0,p);var b=n(h.getImageData(0,0,p,p));if(m.ideographic=p-b-1+g,f.upper&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.upper,0,0),m.upper=n(h.getImageData(0,0,p,p)),m.capHeight=m.baseline-m.upper),f.lower&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.lower,0,0),m.lower=n(h.getImageData(0,0,p,p)),m.xHeight=m.baseline-m.lower),f.tittle&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.tittle,0,0),m.tittle=n(h.getImageData(0,0,p,p))),f.ascent&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.ascent,0,0),m.ascent=n(h.getImageData(0,0,p,p))),f.descent&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.descent,0,0),m.descent=i(h.getImageData(0,0,p,p))),f.overshoot){h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.overshoot,0,0);var w=i(h.getImageData(0,0,p,p));m.overshoot=w-v}for(var T in m)m[T]/=s;return m.em=s,e.cache[o]=m,r(m,c)}function r(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function n(t){for(var e=t.height,r=t.data,n=3;n0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}t.exports=e,e.canvas=document.createElement("canvas"),e.cache={}},61262:function(t,e,r){"use strict";var n=r(82756),i=Object.prototype.toString,a=Object.prototype.hasOwnProperty;t.exports=function(t,e,r){if(!n(e))throw new TypeError("iterator must be a function");var o;arguments.length>=3&&(o=r),"[object Array]"===i.call(t)?function(t,e,r){for(var n=0,i=t.length;n1&&"boolean"!=typeof e)throw new c('"allowMissing" argument must be a boolean');if(null===I(/^%?[^%]*%?$/,t))throw new l("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=function(t){var e=L(t,0,1),r=L(t,-1);if("%"===e&&"%"!==r)throw new l("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==e)throw new l("invalid intrinsic syntax, expected opening `%`");var n=[];return C(t,P,(function(t,e,r,i){n[n.length]=r?C(i,z,"$1"):e||t})),n}(t),n=r.length>0?r[0]:"",i=O("%"+n+"%",e),a=i.name,o=i.value,s=!1,u=i.alias;u&&(n=u[0],E(r,S([0,1],u)));for(var h=1,f=!0;h=r.length){var y=p(o,d);o=(f=!!y)&&"get"in y&&!("originalValue"in y.get)?y.get:o[d]}else f=M(o,d),o=o[d];f&&!s&&(b[a]=o)}}return o}},84840:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],m=e[13],g=e[14],y=e[15];return t[0]=s*(f*y-p*g)-h*(l*y-c*g)+m*(l*p-c*f),t[1]=-(n*(f*y-p*g)-h*(i*y-a*g)+m*(i*p-a*f)),t[2]=n*(l*y-c*g)-s*(i*y-a*g)+m*(i*c-a*l),t[3]=-(n*(l*p-c*f)-s*(i*p-a*f)+h*(i*c-a*l)),t[4]=-(o*(f*y-p*g)-u*(l*y-c*g)+d*(l*p-c*f)),t[5]=r*(f*y-p*g)-u*(i*y-a*g)+d*(i*p-a*f),t[6]=-(r*(l*y-c*g)-o*(i*y-a*g)+d*(i*c-a*l)),t[7]=r*(l*p-c*f)-o*(i*p-a*f)+u*(i*c-a*l),t[8]=o*(h*y-p*m)-u*(s*y-c*m)+d*(s*p-c*h),t[9]=-(r*(h*y-p*m)-u*(n*y-a*m)+d*(n*p-a*h)),t[10]=r*(s*y-c*m)-o*(n*y-a*m)+d*(n*c-a*s),t[11]=-(r*(s*p-c*h)-o*(n*p-a*h)+u*(n*c-a*s)),t[12]=-(o*(h*g-f*m)-u*(s*g-l*m)+d*(s*f-l*h)),t[13]=r*(h*g-f*m)-u*(n*g-i*m)+d*(n*f-i*h),t[14]=-(r*(s*g-l*m)-o*(n*g-i*m)+d*(n*l-i*s)),t[15]=r*(s*f-l*h)-o*(n*f-i*h)+u*(n*l-i*s),t}},99698:function(t){t.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},57938:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},87519:function(t){t.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},6900:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],h=t[10],f=t[11],p=t[12],d=t[13],m=t[14],g=t[15];return(e*o-r*a)*(h*g-f*m)-(e*s-n*a)*(u*g-f*d)+(e*l-i*a)*(u*m-h*d)+(r*s-n*o)*(c*g-f*p)-(r*l-i*o)*(c*m-h*p)+(n*l-i*s)*(c*d-u*p)}},36472:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,c=r*o,u=n*o,h=n*s,f=i*o,p=i*s,d=i*l,m=a*o,g=a*s,y=a*l;return t[0]=1-h-d,t[1]=u+y,t[2]=f-g,t[3]=0,t[4]=u-y,t[5]=1-c-d,t[6]=p+m,t[7]=0,t[8]=f+g,t[9]=p-m,t[10]=1-c-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},43061:function(t){t.exports=function(t,e,r){var n,i,a,o=r[0],s=r[1],l=r[2],c=Math.sqrt(o*o+s*s+l*l);return Math.abs(c)<1e-6?null:(o*=c=1/c,s*=c,l*=c,n=Math.sin(e),a=1-(i=Math.cos(e)),t[0]=o*o*a+i,t[1]=s*o*a+l*n,t[2]=l*o*a-s*n,t[3]=0,t[4]=o*s*a-l*n,t[5]=s*s*a+i,t[6]=l*s*a+o*n,t[7]=0,t[8]=o*l*a+s*n,t[9]=s*l*a-o*n,t[10]=l*l*a+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}},33606:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,c=a+a,u=n*s,h=n*l,f=n*c,p=i*l,d=i*c,m=a*c,g=o*s,y=o*l,v=o*c;return t[0]=1-(p+m),t[1]=h+v,t[2]=f-y,t[3]=0,t[4]=h-v,t[5]=1-(u+m),t[6]=d+g,t[7]=0,t[8]=f+y,t[9]=d-g,t[10]=1-(u+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},98698:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},6924:function(t){t.exports=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}},81181:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},95258:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},94815:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},87301:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),c=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*c,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*c,t[15]=0,t}},87193:function(t){t.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},11191:function(t,e,r){t.exports={create:r(87519),clone:r(99698),copy:r(57938),identity:r(87193),transpose:r(10256),invert:r(96559),adjoint:r(84840),determinant:r(6900),multiply:r(14787),translate:r(4165),scale:r(8697),rotate:r(32416),rotateX:r(81066),rotateY:r(54201),rotateZ:r(33920),fromRotation:r(43061),fromRotationTranslation:r(33606),fromScaling:r(98698),fromTranslation:r(6924),fromXRotation:r(81181),fromYRotation:r(95258),fromZRotation:r(94815),fromQuat:r(36472),frustum:r(87301),perspective:r(5313),perspectiveFromFieldOfView:r(22253),ortho:r(4633),lookAt:r(26645),str:r(66992)}},96559:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],m=e[13],g=e[14],y=e[15],v=r*s-n*o,x=r*l-i*o,_=r*c-a*o,b=n*l-i*s,w=n*c-a*s,T=i*c-a*l,k=u*m-h*d,A=u*g-f*d,M=u*y-p*d,S=h*g-f*m,E=h*y-p*m,C=f*y-p*g,L=v*C-x*E+_*S+b*M-w*A+T*k;return L?(L=1/L,t[0]=(s*C-l*E+c*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(m*T-g*w+y*b)*L,t[3]=(f*w-h*T-p*b)*L,t[4]=(l*M-o*C-c*A)*L,t[5]=(r*C-i*M+a*A)*L,t[6]=(g*_-d*T-y*x)*L,t[7]=(u*T-f*_+p*x)*L,t[8]=(o*E-s*M+c*k)*L,t[9]=(n*M-r*E-a*k)*L,t[10]=(d*w-m*_+y*v)*L,t[11]=(h*_-u*w-p*v)*L,t[12]=(s*A-o*S-l*k)*L,t[13]=(r*S-n*A+i*k)*L,t[14]=(m*x-d*b-g*v)*L,t[15]=(u*b-h*x+f*v)*L,t):null}},26645:function(t,e,r){var n=r(87193);t.exports=function(t,e,r,i){var a,o,s,l,c,u,h,f,p,d,m=e[0],g=e[1],y=e[2],v=i[0],x=i[1],_=i[2],b=r[0],w=r[1],T=r[2];return Math.abs(m-b)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(y-T)<1e-6?n(t):(h=m-b,f=g-w,p=y-T,a=x*(p*=d=1/Math.sqrt(h*h+f*f+p*p))-_*(f*=d),o=_*(h*=d)-v*p,s=v*f-x*h,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),l=f*s-p*o,c=p*a-h*s,u=h*o-f*a,(d=Math.sqrt(l*l+c*c+u*u))?(l*=d=1/d,c*=d,u*=d):(l=0,c=0,u=0),t[0]=a,t[1]=l,t[2]=h,t[3]=0,t[4]=o,t[5]=c,t[6]=f,t[7]=0,t[8]=s,t[9]=u,t[10]=p,t[11]=0,t[12]=-(a*m+o*g+s*y),t[13]=-(l*m+c*g+u*y),t[14]=-(h*m+f*g+p*y),t[15]=1,t)}},14787:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],m=e[12],g=e[13],y=e[14],v=e[15],x=r[0],_=r[1],b=r[2],w=r[3];return t[0]=x*n+_*s+b*h+w*m,t[1]=x*i+_*l+b*f+w*g,t[2]=x*a+_*c+b*p+w*y,t[3]=x*o+_*u+b*d+w*v,x=r[4],_=r[5],b=r[6],w=r[7],t[4]=x*n+_*s+b*h+w*m,t[5]=x*i+_*l+b*f+w*g,t[6]=x*a+_*c+b*p+w*y,t[7]=x*o+_*u+b*d+w*v,x=r[8],_=r[9],b=r[10],w=r[11],t[8]=x*n+_*s+b*h+w*m,t[9]=x*i+_*l+b*f+w*g,t[10]=x*a+_*c+b*p+w*y,t[11]=x*o+_*u+b*d+w*v,x=r[12],_=r[13],b=r[14],w=r[15],t[12]=x*n+_*s+b*h+w*m,t[13]=x*i+_*l+b*f+w*g,t[14]=x*a+_*c+b*p+w*y,t[15]=x*o+_*u+b*d+w*v,t}},4633:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t}},5313:function(t){t.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},22253:function(t){t.exports=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),c=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=c,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*c*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}},32416:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E=n[0],C=n[1],L=n[2],I=Math.sqrt(E*E+C*C+L*L);return Math.abs(I)<1e-6?null:(E*=I=1/I,C*=I,L*=I,i=Math.sin(r),o=1-(a=Math.cos(r)),s=e[0],l=e[1],c=e[2],u=e[3],h=e[4],f=e[5],p=e[6],d=e[7],m=e[8],g=e[9],y=e[10],v=e[11],x=E*E*o+a,_=C*E*o+L*i,b=L*E*o-C*i,w=E*C*o-L*i,T=C*C*o+a,k=L*C*o+E*i,A=E*L*o+C*i,M=C*L*o-E*i,S=L*L*o+a,t[0]=s*x+h*_+m*b,t[1]=l*x+f*_+g*b,t[2]=c*x+p*_+y*b,t[3]=u*x+d*_+v*b,t[4]=s*w+h*T+m*k,t[5]=l*w+f*T+g*k,t[6]=c*w+p*T+y*k,t[7]=u*w+d*T+v*k,t[8]=s*A+h*M+m*S,t[9]=l*A+f*M+g*S,t[10]=c*A+p*M+y*S,t[11]=u*A+d*M+v*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},81066:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t}},54201:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[8],u=e[9],h=e[10],f=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-h*n,t[3]=l*i-f*n,t[8]=a*n+c*i,t[9]=o*n+u*i,t[10]=s*n+h*i,t[11]=l*n+f*i,t}},33920:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t}},8697:function(t){t.exports=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},66992:function(t){t.exports=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}},4165:function(t){t.exports=function(t,e,r){var n,i,a,o,s,l,c,u,h,f,p,d,m=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*m+e[4]*g+e[8]*y+e[12],t[13]=e[1]*m+e[5]*g+e[9]*y+e[13],t[14]=e[2]*m+e[6]*g+e[10]*y+e[14],t[15]=e[3]*m+e[7]*g+e[11]*y+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*m+s*g+h*y+e[12],t[13]=i*m+l*g+f*y+e[13],t[14]=a*m+c*g+p*y+e[14],t[15]=o*m+u*g+d*y+e[15]),t}},10256:function(t){t.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},74024:function(t,e,r){"use strict";var n=r(59518),i=r(6807),a=r(81330),o=r(38862),s=r(93103),l=r(162),c=r(68950),u=r(66127),h=r(5137),f=r(29388),p=r(4957),d=r(44626),m=r(44431),g=r(27976),y=r(12673),v=r(83473),x=r(54689).nextPow2,_=new s,b=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(b=!0),document.body.removeChild(w)}var T=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=_.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),_.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(f(t)?t:{})};T.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform sampler2D atlas;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=h(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=v(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+"px sans-serif");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+"px "+t)}else{var i=t.style,s=t.weight,l=t.stretch,c=t.variant;t=n.parse(n.stringify(t)),i&&(t.style=i),s&&(t.weight=s),l&&(t.stretch=l),c&&(t.variant=c)}var u=n.stringify({size:T.baseFontSize,family:t.family,stretch:b?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),h=p(t.size),f=Math.round(h[0]*d(h[1]));if(f!==e.fontSize[r]&&(o=!0,e.fontSize[r]=f),!(e.font[r]&&u==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[u],e.font[r]))){var m=t.family.join(", "),g=[t.style];t.style!=t.variant&&g.push(t.variant),t.variant!=t.weight&&g.push(t.weight),b&&t.weight!=t.stretch&&g.push(t.stretch),e.font[r]={baseString:u,family:m,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:y(m,{origin:"top",fontSize:T.baseFontSize,fontStyle:g.join(" ")})},T.fonts[u]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:b?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),f=0;f2){for(var w=!t.position[0].length,k=u.mallocFloat(2*this.count),A=0,M=0;A1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+="number"==typeof t?t-n.baseline:-n[t])}))),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var H;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=u.mallocUint8(G);for(var Z=(t.color.subarray||t.color.slice).bind(t.color),W=0;W4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var $=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array($);for(var J=0;J1?this.counts[J]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[J]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*J,4*J+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[J]:this.opacity,baseline:null!=this.baselineOffset[J]?this.baselineOffset[J]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[J]?this.alignOffset[J]:this.alignOffset[0]:0,atlas:this.fontAtlas[J]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*J,2*J+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text="",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.maxAtlasSize=1024,T.atlasCanvas=document.createElement("canvas"),T.atlasContext=T.atlasCanvas.getContext("2d",{alpha:!1}),T.baseFontSize=64,T.fonts={},t.exports=T},38862:function(t,e,r){"use strict";var n=r(6807);function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.g.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.g.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}t.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},(t=a(t)||"string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0)).pixelRatio||(t.pixelRatio=r.g.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}return t.gl||["webgl","experimental-webgl","webgl-experimental"].some((function(e){try{t.gl=t.canvas.getContext(e,t.attrs)}catch(t){}return t.gl})),t.gl}},76765:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,u=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m}},28062:function(t){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},40280:function(t,e,r){"use strict";var n=r(36912)(),i=r(63063)("Object.prototype.toString"),a=function(t){return!(n&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===i(t)},o=function(t){return!!a(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==i(t)&&"[object Function]"===i(t.callee)},s=function(){return a(arguments)}();a.isLegacyArguments=o,t.exports=s?a:o},78253:function(t){t.exports=!0},82756:function(t){"use strict";var e,r,n=Function.prototype.toString,i="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof i&&"function"==typeof Object.defineProperty)try{e=Object.defineProperty({},"length",{get:function(){throw r}}),r={},i((function(){throw 42}),null,e)}catch(t){t!==r&&(i=null)}else i=null;var a=/^\s*class\b/,o=function(t){try{var e=n.call(t);return a.test(e)}catch(t){return!1}},s=function(t){try{return!o(t)&&(n.call(t),!0)}catch(t){return!1}},l=Object.prototype.toString,c="function"==typeof Symbol&&!!Symbol.toStringTag,u=!(0 in[,]),h=function(){return!1};if("object"==typeof document){var f=document.all;l.call(f)===l.call(document.all)&&(h=function(t){if((u||!t)&&(void 0===t||"object"==typeof t))try{var e=l.call(t);return("[object HTMLAllCollection]"===e||"[object HTML document.all class]"===e||"[object HTMLCollection]"===e||"[object Object]"===e)&&null==t("")}catch(t){}return!1})}t.exports=i?function(t){if(h(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{i(t,null,e)}catch(t){if(t!==r)return!1}return!o(t)&&s(t)}:function(t){if(h(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(c)return s(t);if(o(t))return!1;var e=l.call(t);return!("[object Function]"!==e&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e))&&s(t)}},80340:function(t,e,r){"use strict";var n,i=Object.prototype.toString,a=Function.prototype.toString,o=/^\s*(?:function)?\*/,s=r(36912)(),l=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(o.test(a.call(t)))return!0;if(!s)return"[object GeneratorFunction]"===i.call(t);if(!l)return!1;if(void 0===n){var e=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(t){}}();n=!!e&&l(e)}return l(t)===n}},39488:function(t){"use strict";t.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},73287:function(t){"use strict";t.exports=function(t){return t!=t}},63057:function(t,e,r){"use strict";var n=r(87227),i=r(97936),a=r(73287),o=r(60758),s=r(85684),l=n(o(),Number);i(l,{getPolyfill:o,implementation:a,shim:s}),t.exports=l},60758:function(t,e,r){"use strict";var n=r(73287);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:n}},85684:function(t,e,r){"use strict";var n=r(97936),i=r(60758);t.exports=function(){var t=i();return n(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},60201:function(t){"use strict";t.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},29388:function(t){"use strict";var e=Object.prototype.toString;t.exports=function(t){var r;return"[object Object]"===e.call(t)&&(null===(r=Object.getPrototypeOf(t))||r===Object.getPrototypeOf({}))}},9914:function(t){"use strict";t.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},13986:function(t){"use strict";t.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},15628:function(t,e,r){"use strict";var n=r(61262),i=r(70085),a=r(63063),o=a("Object.prototype.toString"),s=r(36912)(),l=r(52991),c="undefined"==typeof globalThis?r.g:globalThis,u=i(),h=a("Array.prototype.indexOf",!0)||function(t,e){for(var r=0;r-1}return!!l&&function(t){var e=!1;return n(p,(function(r,n){if(!e)try{e=r.call(t)===n}catch(t){}})),e}(t)}},62914:function(t){"use strict";t.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},99978:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function h(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function f(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function m(t){c(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",m),t.addEventListener("mouseleave",u),t.addEventListener("mouseenter",u),t.addEventListener("mouseout",u),t.addEventListener("mouseover",u),t.addEventListener("blur",h),t.addEventListener("keyup",f),t.addEventListener("keydown",f),t.addEventListener("keypress",f),t!==window&&(window.addEventListener("blur",h),window.addEventListener("keyup",f),window.addEventListener("keydown",f),window.addEventListener("keypress",f)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",m),t.removeEventListener("mouseleave",u),t.removeEventListener("mouseenter",u),t.removeEventListener("mouseout",u),t.removeEventListener("mouseover",u),t.removeEventListener("blur",h),t.removeEventListener("keyup",f),t.removeEventListener("keydown",f),t.removeEventListener("keypress",f),t!==window&&(window.removeEventListener("blur",h),window.removeEventListener("keyup",f),window.removeEventListener("keydown",f),window.removeEventListener("keypress",f)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(41926)},44039:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},41926:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1<0&&a(s,r))}catch(t){u.call(new f(r),t)}}}function u(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&a(s,e))}function h(t,e,r,n){for(var i=0;i1&&(i*=y=Math.sqrt(y),s*=y);var v=i*i,x=s*s,_=(c==u?-1:1)*Math.sqrt(Math.abs((v*x-v*g*g-x*m*m)/(v*g*g+x*m*m)));_==1/0&&(_=1);var b=_*i*g/s+(t+h)/2,w=_*-s*m/i+(n+f)/2,T=Math.asin(((n-w)/s).toFixed(9)),k=Math.asin(((f-w)/s).toFixed(9));(T=tk&&(T-=2*e),!u&&k>T&&(k-=2*e)}if(Math.abs(k-T)>r){var A=k,M=h,S=f;k=T+r*(u&&k>T?1:-1);var E=a(h=b+i*Math.cos(k),f=w+s*Math.sin(k),i,s,l,0,u,M,S,[k,A,b,w])}var C=Math.tan((k-T)/4),L=4/3*i*C,I=4/3*s*C,P=[2*t-(t+L*Math.sin(T)),2*n-(n-I*Math.cos(T)),h+L*Math.sin(k),f-I*Math.cos(k),h,f];if(p)return P;E&&(P=P.concat(E));for(var z=0;z7&&(r.push(y.splice(0,7)),y.unshift("C"));break;case"S":var x=p,_=d;"C"!=e&&"S"!=e||(x+=x-o,_+=_-l),y=["C",x,_,y[1],y[2],y[3],y[4]];break;case"T":"Q"==e||"T"==e?(h=2*p-h,f=2*d-f):(h=p,f=d),y=i(p,d,h,f,y[1],y[2]);break;case"Q":h=y[1],f=y[2],y=i(p,d,y[1],y[2],y[3],y[4]);break;case"L":y=n(p,d,y[1],y[2]);break;case"H":y=n(p,d,y[1],d);break;case"V":y=n(p,d,p,y[1]);break;case"Z":y=n(p,d,c,u)}e=v,p=y[y.length-2],d=y[y.length-1],y.length>4?(o=y[y.length-4],l=y[y.length-3]):(o=p,l=d),r.push(y)}return r}},27976:function(t){"use strict";var e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,i){for(var a,o,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),l=1;l0&&!i.call(t,0))for(var m=0;m0)for(var g=0;g=0&&"[object Function]"===e.call(t.callee)),n}},96927:function(t,e,r){"use strict";var n=r(99433),i=r(59457)(),a=r(63063),o=Object,s=a("Array.prototype.push"),l=a("Object.prototype.propertyIsEnumerable"),c=i?Object.getOwnPropertySymbols:null;t.exports=function(t,e){if(null==t)throw new TypeError("target must be an object");var r=o(t);if(1===arguments.length)return r;for(var a=1;a1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp("(\\"+i+r+"\\"+i+")","g"),t[0]+"$1"+t[1])})),e}))}));var o=new RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function r(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",i=t[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r}),"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function n(t,n){return Array.isArray(t)?r(t,n):e(t,n)}n.parse=e,n.stringify=r,t.exports=n},5137:function(t,e,r){"use strict";var n=r(6807);t.exports=function(t){var e;return arguments.length>1&&(t=arguments),"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]),t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(e={x:(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"})).left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height),e}},26953:function(t){t.exports=function(t){var i=[];return t.replace(r,(function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(n);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(i.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==e[o])return a.unshift(r),i.push(a);if(a.lengtha!=p>a&&i<(f-u)*(a-h)/(p-h)+u&&(o=!o)}return o}},11516:function(t,e,r){var n,i=r(42391),a=r(92990),o=r(26202),s=r(22222),l=r(17527),c=r(24491),u=!1,h=a();function f(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=i():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return h.epsilon(t)},segments:function(t){var e=o(!0,h,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,h,u).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,u),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,u),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,u),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,u),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,u),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,h,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,h,t)},union:function(t,e){return f(t,e,n.selectUnion)},intersect:function(t,e){return f(t,e,n.selectIntersect)},difference:function(t,e){return f(t,e,n.selectDifference)},differenceRev:function(t,e){return f(t,e,n.selectDifferenceRev)},xor:function(t,e){return f(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),t.exports=n},42391:function(t){t.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n("check",{seg1:t,seg2:e})},segmentChop:function(t,e){return n("div_seg",{seg:t,pt:e}),n("chop",{seg:t,pt:e})},statusRemove:function(t){return n("pop_seg",{seg:t})},segmentUpdate:function(t){return n("seg_update",{seg:t})},segmentNew:function(t,e){return n("new_seg",{seg:t,primary:e})},segmentRemove:function(t){return n("rem_seg",{seg:t})},tempStatus:function(t,e,r){return n("temp_status",{seg:t,above:e,below:r})},rewind:function(t){return n("rewind",{seg:t})},status:function(t,e,r){return n("status",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n("vert",{x:e}))},log:function(t){return"string"!=typeof t&&(t=JSON.stringify(t,!1," ")),n("log",{txt:t})},reset:function(){return n("reset")},selected:function(t){return n("selected",{segs:t})},chainStart:function(t){return n("chain_start",{seg:t})},chainRemoveHead:function(t,e){return n("chain_rem_head",{index:t,pt:e})},chainRemoveTail:function(t,e){return n("chain_rem_tail",{index:t,pt:e})},chainNew:function(t,e){return n("chain_new",{pt1:t,pt2:e})},chainMatch:function(t){return n("chain_match",{index:t})},chainClose:function(t){return n("chain_close",{index:t})},chainAddHead:function(t,e){return n("chain_add_head",{index:t,pt:e})},chainAddTail:function(t,e){return n("chain_add_tail",{index:t,pt:e})},chainConnect:function(t,e){return n("chain_con",{index1:t,index2:e})},chainReverse:function(t){return n("chain_rev",{index:t})},chainJoin:function(t,e){return n("chain_join",{index1:t,index2:e})},done:function(){return n("done")}}}},92990:function(t){t.exports=function(t){"number"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return"number"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-c)*(i-u)/(o-u)+c-n>t&&(s=!s),a=c,o=u}return s}};return e}},24491:function(t){var e={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i0}))}function u(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&&r.checkIntersection(i,a);var h=e.linesIntersect(o,s,c,u);if(!1===h){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var f=e.pointsSame(o,c),p=e.pointsSame(s,u);if(f&&p)return n;var d=!f&&e.pointBetween(o,c,u),m=!p&&e.pointBetween(s,c,u);if(f)return m?l(n,s):l(t,u),n;d&&(p||(m?l(n,s):l(t,u)),l(n,o))}else 0===h.alongA&&(-1===h.alongB?l(t,c):0===h.alongB?l(t,h.pt):1===h.alongB&&l(t,u)),0===h.alongB&&(-1===h.alongA?l(n,o):0===h.alongA?l(n,h.pt):1===h.alongA&&l(n,s));return!1}for(var h=[];!a.isEmpty();){var f=a.getHead();if(r&&r.vert(f.pt[0]),f.isStart){r&&r.segmentNew(f.seg,f.primary);var p=c(f),d=p.before?p.before.ev:null,m=p.after?p.after.ev:null;function g(){if(d){var t=u(f,d);if(t)return t}return!!m&&u(f,m)}r&&r.tempStatus(f.seg,!!d&&d.seg,!!m&&m.seg);var y,v,x=g();if(x)t?(v=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=f.seg.myFill,r&&r.segmentUpdate(x.seg),f.other.remove(),f.remove();if(a.getHead()!==f){r&&r.rewind(f.seg);continue}t?(v=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below,f.seg.myFill.below=m?m.seg.myFill.above:i,f.seg.myFill.above=v?!f.seg.myFill.below:f.seg.myFill.below):null===f.seg.otherFill&&(y=m?f.primary===m.primary?m.seg.otherFill.above:m.seg.myFill.above:f.primary?o:i,f.seg.otherFill={above:y,below:y}),r&&r.status(f.seg,!!d&&d.seg,!!m&&m.seg),f.other.status=p.insert(n.node({ev:f}))}else{var _=f.status;if(null===_)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(_.prev)&&s.exists(_.next)&&u(_.prev.ev,_.next.ev),r&&r.statusRemove(_.ev.seg),_.remove(),!f.primary){var b=f.seg.myFill;f.seg.myFill=f.seg.otherFill,f.seg.otherFill=b}h.push(f.seg)}a.getHead().remove()}return r&&r.done(),h}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},n.prototype.read_uint16=function(t){var r=this.input;if(t+2>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?256*r[t]+r[t+1]:r[t]+256*r[t+1]},n.prototype.read_uint32=function(t){var r=this.input;if(t+4>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?16777216*r[t]+65536*r[t+1]+256*r[t+2]+r[t+3]:r[t]+256*r[t+1]+65536*r[t+2]+16777216*r[t+3]},n.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},n.prototype.exif_format_length=function(t){switch(t){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},n.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return this.read_uint32(e);case 9:return 0|this.read_uint32(e);default:return null}},n.prototype.scan_ifd=function(t,n,i){var a=this.read_uint16(n);n+=2;for(var o=0;othis.input.length)throw e("unexpected EOF","EBADDATA");for(var d=[],m=f,g=0;g0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===i({is_big_endian:this.big_endian,ifd:t,tag:s,format:l,count:c,entry_offset:n+this.start,data_length:h,data_offset:f+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);n+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(n)})},t.exports.ExifParser=n,t.exports.get_orientation=function(t){var e=0;try{return new n(t,0,t.length).each((function(t){if(0===t.ifd&&274===t.tag&&Array.isArray(t.value))return e=t.value[0],!1})),e}catch(t){return-1}}},20186:function(t,e,r){"use strict";var n=r(3944).bc,i=r(3944).bb;function a(t,e){if(t.length<4+e)return null;var r=i(t,e);return t.length>4&15,i=15&t[4],a=t[5]>>4&15,o=n(t,6),l=8,c=0;ce.width||t.width===e.width&&t.height>e.height?t:e})),i=r.reduce((function(t,e){return t.height>e.height||t.height===e.height&&t.width>e.width?t:e})),n.width>i.height||n.width===i.height&&n.height>i.width?n:i),s=1;e.transforms.forEach((function(t){var e={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if("imir"===t.type&&(s=0===t.value?r[s]:e[s=e[s=r[s]]]),"irot"===t.type)for(var n=0;n1&&(f.variants=h.variants),h.orientation&&(f.orientation=h.orientation),h.exif_location&&h.exif_location.offset+h.exif_location.length<=t.length){var p=a(t,h.exif_location.offset),d=t.slice(h.exif_location.offset+p+4,h.exif_location.offset+h.exif_location.length),m=s.get_orientation(d);m>0&&(f.orientation=m)}return f}}}}}}},78218:function(t,e,r){"use strict";var n=r(3944).VG,i=r(3944).rU,a=r(3944).$l,o=n("BM");t.exports=function(t){if(!(t.length<26)&&i(t,0,o))return{width:a(t,18),height:a(t,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}},37495:function(t,e,r){"use strict";var n=r(3944).VG,i=r(3944).rU,a=r(3944).$l,o=n("GIF87a"),s=n("GIF89a");t.exports=function(t){if(!(t.length<10)&&(i(t,0,o)||i(t,0,s)))return{width:a(t,6),height:a(t,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}},88708:function(t,e,r){"use strict";var n=r(3944).$l;t.exports=function(t){var e=n(t,0),r=n(t,2),i=n(t,4);if(0===e&&1===r&&i){for(var a=[],o={width:0,height:0},s=0;so.width||c>o.height)&&(o=u)}return{width:o.width,height:o.height,variants:a,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}},13827:function(t,e,r){"use strict";var n=r(3944).bc,i=r(3944).VG,a=r(3944).rU,o=r(19789),s=i("Exif\0\0");t.exports=function(t){if(!(t.length<2)&&255===t[0]&&216===t[1]&&255===t[2])for(var e=2;;){for(;;){if(t.length-e<2)return;if(255===t[e++])break}for(var r,i,l=t[e++];255===l;)l=t[e++];if(208<=l&&l<=217||1===l)r=0;else{if(!(192<=l&&l<=254))return;if(t.length-e<2)return;r=n(t,e)-2,e+=2}if(217===l||218===l)return;if(225===l&&r>=10&&a(t,e,s)&&(i=o.get_orientation(t.slice(e+6,e+r))),r>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(t.length-e0&&(c.orientation=i),c}e+=r}}},46594:function(t,e,r){"use strict";var n=r(3944).VG,i=r(3944).rU,a=r(3944).bb,o=n("‰PNG\r\n\n"),s=n("IHDR");t.exports=function(t){if(!(t.length<24)&&i(t,0,o)&&i(t,12,s))return{width:a(t,16),height:a(t,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}},13198:function(t,e,r){"use strict";var n=r(3944).VG,i=r(3944).rU,a=r(3944).bb,o=n("8BPS\0");t.exports=function(t){if(!(t.length<22)&&i(t,0,o))return{width:a(t,18),height:a(t,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}},94203:function(t){"use strict";function e(t){return"number"==typeof t&&isFinite(t)&&t>0}var r=/<[-_.:a-zA-Z0-9][^>]*>/,n=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,i=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,a=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,o=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,s=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function l(t){return s.test(t)?t.match(s)[0]:"px"}t.exports=function(t){if(function(t){var e,r=0,n=t.length;for(239===t[0]&&187===t[1]&&191===t[2]&&(r=3);r>14&16383),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function f(t,e){return{width:1+(t[e+6]<<16|t[e+5]<<8|t[e+4]),height:1+(t[e+9]<t.length)){for(;e+8=10?r=r||u(t,e+8):"VP8L"===p&&d>=9?r=r||h(t,e+8):"VP8X"===p&&d>=10?r=r||f(t,e+8):"EXIF"===p&&(n=s.get_orientation(t.slice(e+8,e+8+d)),e=1/0),e+=8+d}else e++;if(r)return n>0&&(r.orientation=n),r}}}},43751:function(t,e,r){"use strict";t.exports={avif:r(31149),bmp:r(78218),gif:r(37495),ico:r(88708),jpeg:r(13827),png:r(46594),psd:r(13198),svg:r(94203),tiff:r(46966),webp:r(88023)}},19490:function(t,e,r){"use strict";var n=r(43751);t.exports=function(t){return function(t){for(var e=Object.keys(n),r=0;r1)for(var r=1;r1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(_.groups=x=t.map((function(t,c){var u=x[c];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},v,t)),a(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n",frag:"\nprecision highp float;\n\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\nuniform sampler2D dashTexture;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n",attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:"\nprecision highp float;\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n",frag:"\nprecision highp float;\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n",uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},g.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},g.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},g.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>g.precisionThreshold||e.scale[1]*e.viewport.height>g.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=g.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},g.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,u=this.gl;if(t.forEach((function(t,p){var y=e.passes[p];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=o(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow",splitNull:"splitNull"}),y||(e.passes[p]=y={id:p,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},g.defaults,t)),null!=t.thickness&&(y.thickness=parseFloat(t.thickness)),null!=t.opacity&&(y.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(y.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(y.overlay=!!t.overlay,p=D}));(P=P.slice(0,R)).push(D)}for(var F=function(t){var e=k.slice(2*O,2*P[t]).concat(D?k.slice(2*D):[]),r=(y.hole||[]).map((function(e){return e-D+(P[t]-O)})),n=l(e,r);n=n.map((function(e){return e+O+(e+Ot.length)&&(e=t.length);for(var r=0,n=new Array(e);r 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),l.vert=h(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\n// `invariant` effectively turns off optimizations for the position.\n// We need this because -fast-math on M1 Macs is re-ordering\n// floating point operations in a way that causes floating point\n// precision limits to put points in the wrong locations.\ninvariant gl_Position;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),m&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}x.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=c(t,{bounds:h}):n&&n.length&&(e.tree=n),e.tree){var f={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(f):e.elements=o.elements(f)}var p=g.float32(t);return i({data:p,usage:"dynamic"}),a({data:g.fract32(t,p),usage:"dynamic"}),l({data:new Uint8Array(u),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x,s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y,l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}t.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},u.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;nk))&&(s.lower||!(T>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[s(t.byteLength)>>2].push(t)}var r=o(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function c(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||K(t.data))}function u(t,e,r,n,i,a){for(var o=0;o(i=s)&&(i=n.buffer.byteLength,5123===h?i>>=1:5125===h&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},l=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var h=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)l(t),h.primType=4,h.vertCount=0|t,h.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,f=0;Array.isArray(t)||K(t)||c(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=nt[t.usage]),"primitive"in t&&(n=st[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(f=u[t.type]),"length"in t?o=0|t.length:(o=i,5123===f||5122===f?o*=2:5125!==f&&5124!==f||(o*=4))),a(h,e,r,n,i,o,f)}else l(),h.primType=4,h.vertCount=0,h.type=5121;return s}var l=r.create(null,34963,!0),h=new i(l._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=h,s.subdata=function(t,e){return l.subdata(t,e),s},s.destroy=function(){o(h)},s},createStream:function(t){var e=h.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){h.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){Q(s).forEach(o)}}}function y(t){for(var e=$.allocType(5123,t.length),r=0;r>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function L(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(ct).forEach((function(e){t+=ct[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;I.call(r);var a=C();return"number"==typeof t?M(a,0|t,"number"==typeof e?0|e:0|t):t?(P(r,t),S(a,t)):M(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,l(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),E(a,3553),z(r,3553),R(),L(a),o.profile&&(i.stats.size=A(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=X[i.internalformat],n.type=J[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new O(3553);return ct[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=m();return l(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),R(),g(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,D(i);for(var l=0;i.mipmask>>l;++l){var c=a>>l,u=s>>l;if(!c||!u)break;t.texImage2D(3553,l,i.format,c,u,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=A(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType="texture2d",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,c){function h(t,e,r,n,i,a){var s,c=f.texInfo;for(I.call(c),s=0;6>s;++s)y[s]=C();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(y[0],t),S(y[1],e),S(y[2],r),S(y[3],n),S(y[4],i),S(y[5],a);else if(P(c,t),u(f,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)l(y[s],f),S(y[s],t[s]);else for(s=0;6>s;++s)S(y[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(y[s],t,t);for(l(f,y[0]),f.mipmask=c.genMipmaps?(y[0].width<<1)-1:y[0].mipmask,f.internalformat=y[0].internalformat,h.width=y[0].width,h.height=y[0].height,D(f),s=0;6>s;++s)E(y[s],34069+s);for(z(c,34067),R(),o.profile&&(f.stats.size=A(f.internalformat,f.type,h.width,h.height,c.genMipmaps,!0)),h.format=X[f.internalformat],h.type=J[f.type],h.mag=rt[c.magFilter],h.min=nt[c.minFilter],h.wrapS=it[c.wrapS],h.wrapT=it[c.wrapT],s=0;6>s;++s)L(y[s]);return h}var f=new O(34067);ct[f.id]=f,a.cubeCount++;var y=Array(6);return h(e,r,n,i,s,c),h.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=m();return l(a,f),a.width=0,a.height=0,p(a,e),a.width=a.width||(f.width>>i)-r,a.height=a.height||(f.height>>i)-n,D(f),d(a,34069+t,r,n,i),R(),g(a),h},h.resize=function(e){if((e|=0)!==f.width){h.width=f.width=e,h.height=f.height=e,D(f);for(var r=0;6>r;++r)for(var n=0;f.mipmask>>n;++n)t.texImage2D(34069+r,n,f.format,e>>n,e>>n,0,f.format,f.type,null);return R(),o.profile&&(f.stats.size=A(f.internalformat,f.type,h.width,h.height,!1,!0)),h}},h._reglType="textureCube",h._texture=f,o.profile&&(h.stats=f.stats),h.destroy=function(){f.decRef()},h},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);z(e.texInfo,e.target)}))},refresh:function(){for(var e=0;ei;++i){for(c=0;ct;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){Q(k).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,Q(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),y(e)}))}})}function E(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function C(t,e,r,n,i,a,o){function s(){this.id=++h,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,f[this.id]=this,this.buffers=[]}var l=r.maxAttributes,u=Array(l);for(r=0;r=f.byteLength?l.subdata(f):(l.destroy(),r.buffers[s]=null)),r.buffers[s]||(l=r.buffers[s]=i.create(u,34962,!1,!0)),h.buffer=i.getBuffer(l),h.size=0|h.buffer.dimension,h.normalized=!1,h.type=h.buffer.dtype,h.offset=0,h.stride=0,h.divisor=0,h.state=1,t[s]=1):i.getBuffer(u)?(h.buffer=i.getBuffer(u),h.size=0|h.buffer.dimension,h.normalized=!1,h.type=h.buffer.dtype,h.offset=0,h.stride=0,h.divisor=0,h.state=1):i.getBuffer(u.buffer)?(h.buffer=i.getBuffer(u.buffer),h.size=0|(+u.size||h.buffer.dimension),h.normalized=!!u.normalized||!1,h.type="type"in u?rt[u.type]:h.buffer.dtype,h.offset=0|(u.offset||0),h.stride=0|(u.stride||0),h.divisor=0|(u.divisor||0),h.state=1):"x"in u&&(h.x=+u.x||0,h.y=+u.y||0,h.z=+u.z||0,h.w=+u.w||0,h.state=2)}for(l=0;lt&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return f.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);Q(c).forEach(e),c={},Q(u).forEach(e),u={},f.forEach((function(e){t.deleteProgram(e.program)})),f.length=0,h={},r.shaderCount=0},program:function(e,n,i,a){var o=h[n];o||(o=h[n]={});var p=o[e];if(p&&(p.refCount++,!a))return p;var d=new s(n,e);return r.shaderCount++,l(d,i,a),p||(o[e]=d),f.push(d),G(d,{destroy:function(){if(d.refCount--,0>=d.refCount){t.deleteProgram(d.program);var e=f.indexOf(d);f.splice(e,1),r.shaderCount--}0>=o[d.vertId].refCount&&(t.deleteShader(u[d.vertId]),delete u[d.vertId],delete h[d.fragId][d.vertId]),Object.keys(h[d.fragId]).length||(t.deleteShader(c[d.fragId]),delete c[d.fragId],delete h[d.fragId])}})},restore:function(){c={},u={};for(var t=0;t>>e|t<<32-e}function z(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function O(t){return Array.prototype.slice.call(t)}function D(t){return O(t).join("")}function R(t){function e(){var t=[],e=[];return G((function(){t.push.apply(t,O(arguments))}),{def:function(){var r="v"+i++;return e.push(r),0>>4&15)+"0123456789abcdef".charAt(15&e);return r}(function(t){for(var e=Array(t.length>>2),r=0;r>5]|=(255&t.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,c,u,h,f,p,d=8*t.length;for(t=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],r=Array(64),e[d>>5]|=128<<24-d%32,e[15+(d+64>>9<<4)]=d,u=0;uh;h++){var m;16>h?r[h]=e[h+u]:(f=h,p=z(p=P(p=r[h-2],17)^P(p,19)^p>>>10,r[h-7]),m=P(m=r[h-15],7)^P(m,18)^m>>>3,r[f]=z(z(p,m),r[h-16])),f=z(z(z(z(c,f=P(f=o,6)^P(f,11)^P(f,25)),o&s^~o&l),Mt[h]),r[h]),p=z(c=P(c=d,2)^P(c,13)^P(c,22),d&n^d&i^n&i),c=l,l=s,s=o,o=z(a,f),a=i,i=n,n=d,d=z(f,p)}t[0]=z(d,t[0]),t[1]=z(n,t[1]),t[2]=z(i,t[2]),t[3]=z(a,t[3]),t[4]=z(o,t[4]),t[5]=z(s,t[5]),t[6]=z(l,t[6]),t[7]=z(c,t[7])}for(e="",r=0;r<32*t.length;r+=8)e+=String.fromCharCode(t[r>>5]>>>24-r%32&255);return e}(function(t){for(var e,r,n="",i=-1;++i=e&&56320<=r&&57343>=r&&(e=65536+((1023&e)<<10)+(1023&r),i++),127>=e?n+=String.fromCharCode(e):2047>=e?n+=String.fromCharCode(192|e>>>6&31,128|63&e):65535>=e?n+=String.fromCharCode(224|e>>>12&15,128|e>>>6&63,128|63&e):2097151>=e&&(n+=String.fromCharCode(240|e>>>18&7,128|e>>>12&63,128|e>>>6&63,128|63&e));return n}(r))),n[e])?n[e].apply(null,o):(r=Function.apply(null,a.concat(r)),n&&(n[e]=r),r.apply(null,o))}}}function F(t){return Array.isArray(t)||K(t)||c(t)}function B(t){return t.sort((function(t,e){return"viewport"===t?-1:"viewport"===e?1:t"+e+"?"+i+".constant["+e+"]:0;"})).join(""),"}}else{","if(",s,"(",i,".buffer)){",u,"=",a,".createStream(",34962,",",i,".buffer);","}else{",u,"=",a,".getBuffer(",i,".buffer);","}",h,'="type" in ',i,"?",o.glTypes,"[",i,".type]:",u,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",a,".destroyStream(",u,");","}"),l}))})),o}function M(t,e,n,i,a){function s(t){var e=c[t];e&&(f[t]=e)}var l=function(t,e){if("string"==typeof(r=t.static).frag&&"string"==typeof r.vert){if(0>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,m,g,s],");")}p&&"null"!==p?v?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(u+".drawElements("+[d,g,y,m+"<<(("+y+"-5121)>>1)"]+");")}function e(){r(u+".drawArrays("+[d,m,g]+");")}p&&"null"!==p?v?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,c=t.shared,u=c.gl,h=c.draw,f=n.draw,p=function(){var i=f.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a),f.elementsActive&&a("if("+i+")"+u+".bindBuffer(34963,"+i+".buffer.buffer);")):(i=a.def(),a(i,"=",h,".","elements",";","if(",i,"){",u,".bindBuffer(",34963,",",i,".buffer.buffer);}","else if(",c.vao,".currentVAO){",i,"=",t.shared.elements+".getElements("+c.vao,".currentVAO.elements);",et?"":"if("+i+")"+u+".bindBuffer(34963,"+i+".buffer.buffer);","}")),i}(),d=i("primitive"),m=i("offset"),g=function(){var i=f.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(h,".","count"),i}();if("number"==typeof g){if(0===g)return}else r("if(",g,"){"),r.exit("}");Q&&(s=i("instances"),l=t.instancing);var y=p+".type",v=f.elements&&j(f.elements)&&!f.vaoActive;Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),a(),r("}else if(",s,"<0){"),o(),r("}")):a():o()}function q(t,e,r,n,i){return i=(e=b()).proc("body",i),Q&&(e.instancing=i.def(e.shared.extensions,".angle_instanced_arrays")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){I(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,".setVAO(",r.drawVAO.append(t,e),");"):e(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(e(t.shared.vao,".setVAO(null);"),z(t,e,r,n.attributes,(function(){return!0}))),O(t,e,r,n.uniforms,(function(){return!0}),!1),D(t,e,e,r)}function Z(t,e,r,n){function i(){return!0}t.batchId="a1",I(t,e),z(t,e,r,n.attributes,i),O(t,e,r,n.uniforms,i,!1),D(t,e,e,r)}function Y(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}I(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",u,"}",c.exit),r.needsContext&&S(t,u,r.context),r.needsFramebuffer&&E(t,u,r.framebuffer),L(t,u,r.state,i),r.profile&&i(r.profile)&&P(t,u,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?u(t.shared.vao,".setVAO(",r.drawVAO.append(t,u),");"):c(t.shared.vao,".setVAO(",r.drawVAO.append(t,c),");"):c(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(c(t.shared.vao,".setVAO(null);"),z(t,c,r,n.attributes,a),z(t,u,r,n.attributes,i)),O(t,c,r,n.uniforms,a,!1),O(t,u,r,n.uniforms,i,!0),D(t,c,u,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,u),l=u.def(n,".id"),c=u.def(e,"[",l,"]"),u(t.shared.gl,".useProgram(",n,".program);","if(!",c,"){",c,"=",e,"[",l,"]=",t.link((function(e){return q(Z,t,r,e,2)})),"(",n,");}",c,".call(this,a0[",s,"],",s,");"))}function X(t,r){function n(e){var n=r.shader[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.shader,"."+e,n):i.set(a.shader,"."+e,t.link(n,{stable:!0})))}var i=t.proc("scope",3);t.batchId="a2";var a=t.shared,o=a.current;if(S(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),B(Object.keys(r.state)).forEach((function(e){var n=r.state[e],o=n.append(t,i);v(o)?o.forEach((function(r,n){isNaN(r)?i.set(t.next[e],"["+n+"]",r):i.set(t.next[e],"["+n+"]",t.link(r,{stable:!0}))})):j(n)?i.set(a.next,"."+e,t.link(o,{stable:!0})):i.set(a.next,"."+e,o)})),P(t,i,r,!0,!0),["elements","offset","count","instances","primitive"].forEach((function(e){var n=r.draw[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.draw,"."+e,n):i.set(a.draw,"."+e,t.link(n),{stable:!0}))})),Object.keys(r.uniforms).forEach((function(n){var o=r.uniforms[n].append(t,i);Array.isArray(o)&&(o="["+o.map((function(e){return isNaN(e)?e:t.link(e,{stable:!0})}))+"]"),i.set(a.uniforms,"["+t.link(e.id(n),{stable:!0})+"]",o)})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new J).forEach((function(t){i.set(a,"."+t,n[t])}))})),r.scopeVAO){var s=r.scopeVAO.append(t,i);isNaN(s)?i.set(a.vao,".targetVAO",s):i.set(a.vao,".targetVAO",t.link(s,{stable:!0}))}n("vert"),n("frag"),0=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach((function(e){t+=u[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,a=0,u=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(a=e.shape)[0],a=0|a[1]):("radius"in e&&(n=a=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(a=0|e.height)),"format"in e&&(u=s[e.format])):"number"==typeof e?(n=0|e,a="number"==typeof r?0|r:n):e||(n=a=1),n!==c.width||a!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=a,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,a),i.profile&&(c.stats.size=wt[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new a(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===c.width&&a===c.height||(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&&(c.stats.size=wt[c.format]*c.width*c.height)),o},o._reglType="renderbuffer",o._renderbuffer=c,i.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){Q(u).forEach(o)},restore:function(){Q(u).forEach((function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)})),t.bindRenderbuffer(36161,null)}}},kt=[];kt[6408]=4,kt[6407]=3;var At=[];At[5121]=1,At[5126]=4,At[36193]=2;var Mt=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],St=["x","y","z","w"],Et="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),Ct={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Lt={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},It={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Pt={cw:2304,ccw:2305},zt=new N(!1,!1,!1,(function(){}));return function(t){function e(){if(0===$.length)T&&T.update(),et=null;else{et=Y.next(e),h();for(var t=$.length-1;0<=t;--t){var r=$[t];r&&r(P,null,0)}d.flush(),T&&T.update()}}function r(){!et&&0<$.length&&(et=Y.next(e))}function n(){et&&(Y.cancel(e),et=null)}function i(t){t.preventDefault(),n(),K.forEach((function(t){t()}))}function o(t){d.getError(),v.restore(),F.restore(),O.restore(),B.restore(),N.restore(),j.restore(),R.restore(),T&&T.restore(),U.procs.refresh(),r(),Q.forEach((function(t){t()}))}function s(t){function e(t,e){var r={},n={};return Object.keys(t).forEach((function(i){var a=t[i];if(W.isDynamic(a))n[i]=W.unbox(a,i);else{if(e&&Array.isArray(a))for(var o=0;o=$.length&&n()}}}}function u(){var t=V.viewport,e=V.scissor_box;t[0]=t[1]=e[0]=e[1]=0,P.viewportWidth=P.framebufferWidth=P.drawingBufferWidth=t[2]=e[2]=d.drawingBufferWidth,P.viewportHeight=P.framebufferHeight=P.drawingBufferHeight=t[3]=e[3]=d.drawingBufferHeight}function h(){P.tick+=1,P.time=p(),u(),U.procs.poll()}function f(){B.refresh(),u(),U.procs.refresh(),T&&T.update()}function p(){return(X()-k)/1e3}if(!(t=a(t)))return null;var d=t.gl,y=d.getContextAttributes();d.isContextLost();var v=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;ie;++e)rt(G({framebuffer:t.framebuffer.faces[e]},t),l);else rt(t,l);else l(0,t)},prop:W.define.bind(null,1),context:W.define.bind(null,2),this:W.define.bind(null,3),draw:s({}),buffer:function(t){return O.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:N.create,framebuffer:j.create,framebufferCube:j.createCube,vao:R.createVAO,attributes:y,frame:c,on:function(t,e){var r;switch(t){case"frame":return c(e);case"lost":r=K;break;case"restore":r=Q;break;case"destroy":r=tt}return r.push(e),{cancel:function(){for(var t=0;t4294967295||l(e)!==e)throw new s("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],n=!0,c=!0;if("length"in t&&o){var u=o(t,"length");u&&!u.configurable&&(n=!1),u&&!u.writable&&(c=!1)}return(n||c||!r)&&(a?i(t,"length",e,!0,!0):i(t,"length",e)),t}},90386:function(t,e,r){t.exports=i;var n=r(7683).EventEmitter;function i(){n.call(this)}r(28062)(i,n),i.Readable=r(44639),i.Writable=r(84627),i.Duplex=r(71977),i.Transform=r(40255),i.PassThrough=r(28765),i.finished=r(37165),i.pipeline=r(6772),i.Stream=i,i.prototype.pipe=function(t,e){var r=this;function i(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on("data",i),t.on("drain",a),t._isStdio||e&&!1===e.end||(r.on("end",s),r.on("close",l));var o=!1;function s(){o||(o=!0,t.end())}function l(){o||(o=!0,"function"==typeof t.destroy&&t.destroy())}function c(t){if(u(),0===n.listenerCount(this,"error"))throw t}function u(){r.removeListener("data",i),t.removeListener("drain",a),r.removeListener("end",s),r.removeListener("close",l),r.removeListener("error",c),t.removeListener("error",c),r.removeListener("end",u),r.removeListener("close",u),t.removeListener("close",u)}return r.on("error",c),t.on("error",c),r.on("end",u),r.on("close",u),t.on("close",u),t.emit("pipe",r),t}},44059:function(t){"use strict";var e={};function r(t,r,n){n||(n=Error);var i=function(t){var e,n;function i(e,n,i){return t.call(this,function(t,e,n){return"string"==typeof r?r:r(t,e,n)}(e,n,i))||this}return n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,i}(n);i.prototype.name=n.name,i.prototype.code=t,e[t]=i}function n(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,a,o,s,l;if("string"==typeof e&&(a="not ",e.substr(0,4)===a)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t," argument"))o="The ".concat(t," ").concat(i," ").concat(n(e,"type"));else{var c=("number"!=typeof l&&(l=0),l+1>(s=t).length||-1===s.indexOf(".",l)?"argument":"property");o='The "'.concat(t,'" ').concat(c," ").concat(i," ").concat(n(e,"type"))}return o+". Received type ".concat(typeof r)}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.F=e},71977:function(t,e,r){"use strict";var n=r(33282),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=u;var a=r(44639),o=r(84627);r(28062)(u,a);for(var s=i(o.prototype),l=0;l0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),n)s.endEmitted?w(t,new b):S(t,s,e,!0);else if(s.ended)w(t,new x);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?S(t,s,e,!1):P(t,s)):S(t,s,e,!1)}else n||(s.reading=!1,P(t,s));return!s.ended&&(s.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=E?t=E:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function L(t){var e=t._readableState;a("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(a("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(I,t))}function I(t){var e=t._readableState;a("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t)}function P(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(z,t,e))}function z(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function D(t){a("readable nexttick read 0"),t.read(0)}function R(t,e){a("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),F(t),e.flowing&&!e.reading&&t.read(0)}function F(t){var e=t._readableState;for(a("flow",e.flowing);e.flowing&&null!==t.read(););}function B(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function N(t){var e=t._readableState;a("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t))}function j(t,e){if(a("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function U(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return a("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?N(this):L(this),null;if(0===(t=C(t,e))&&e.ended)return 0===e.length&&N(this),null;var n,i=e.needReadable;return a("need readable",i),(0===e.length||e.length-t0?B(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&N(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){w(this,new _("_read()"))},A.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,a("pipe count=%d opts=%j",n.pipesCount,e);var s=e&&!1===e.end||t===i.stdout||t===i.stderr?m:l;function l(){a("onend"),t.end()}n.endEmitted?i.nextTick(s):r.once("end",s),t.on("unpipe",(function e(i,o){a("onunpipe"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,a("cleanup"),t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",c),t.removeListener("error",f),t.removeListener("unpipe",e),r.removeListener("end",l),r.removeListener("end",m),r.removeListener("data",h),u=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||c())}));var c=function(t){return function(){var e=t._readableState;a("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,F(t))}}(r);t.on("drain",c);var u=!1;function h(e){a("ondata");var i=t.write(e);a("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==U(n.pipes,t))&&!u&&(a("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function f(e){a("onerror",e),m(),t.removeListener("error",f),0===o(t,"error")&&w(t,e)}function p(){t.removeListener("finish",d),m()}function d(){a("onfinish"),t.removeListener("close",p),m()}function m(){a("unpipe"),r.unpipe(t)}return r.on("data",h),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",f),t.once("close",p),t.once("finish",d),t.emit("pipe",r),n.flowing||(a("pipe resume"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,a("on readable",n.length,n.reading),n.length?L(this):n.reading||i.nextTick(D,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=s.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(O,this),r},A.prototype.removeAllListeners=function(t){var e=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(O,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(a("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(R,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return a("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(a("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(a("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){a("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new b(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new m("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,I(t,e),r&&(e.finished?i.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=h.destroy,A.prototype._undestroy=h.undestroy,A.prototype._destroy=function(t,e){e(t)}},73726:function(t,e,r){"use strict";var n,i=r(33282);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(37165),s=Symbol("lastResolve"),l=Symbol("lastReject"),c=Symbol("error"),u=Symbol("ended"),h=Symbol("lastPromise"),f=Symbol("handlePromise"),p=Symbol("stream");function d(t,e){return{value:t,done:e}}function m(t){var e=t[s];if(null!==e){var r=t[p].read();null!==r&&(t[h]=null,t[s]=null,t[l]=null,e(d(r,!1)))}}function g(t){i.nextTick(m,t)}var y=Object.getPrototypeOf((function(){})),v=Object.setPrototypeOf((a(n={get stream(){return this[p]},next:function(){var t=this,e=this[c];if(null!==e)return Promise.reject(e);if(this[u])return Promise.resolve(d(void 0,!0));if(this[p].destroyed)return new Promise((function(e,r){i.nextTick((function(){t[c]?r(t[c]):e(d(void 0,!0))}))}));var r,n=this[h];if(n)r=new Promise(function(t,e){return function(r,n){t.then((function(){e[u]?r(d(void 0,!0)):e[f](r,n)}),n)}}(n,this));else{var a=this[p].read();if(null!==a)return Promise.resolve(d(a,!1));r=new Promise(this[f])}return this[h]=r,r}},Symbol.asyncIterator,(function(){return this})),a(n,"return",(function(){var t=this;return new Promise((function(e,r){t[p].destroy(null,(function(t){t?r(t):e(d(void 0,!0))}))}))})),n),y);t.exports=function(t){var e,r=Object.create(v,(a(e={},p,{value:t,writable:!0}),a(e,s,{value:null,writable:!0}),a(e,l,{value:null,writable:!0}),a(e,c,{value:null,writable:!0}),a(e,u,{value:t._readableState.endEmitted,writable:!0}),a(e,f,{value:function(t,e){var n=r[p].read();n?(r[h]=null,r[s]=null,r[l]=null,t(d(n,!1))):(r[s]=t,r[l]=e)},writable:!0}),e));return r[h]=null,o(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[l];return null!==e&&(r[h]=null,r[s]=null,r[l]=null,e(t)),void(r[c]=t)}var n=r[s];null!==n&&(r[h]=null,r[s]=null,r[l]=null,n(d(void 0,!0))),r[u]=!0})),t.on("readable",g.bind(null,r)),r}},29930:function(t,e,r){"use strict";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e,r,n,i=o.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=i,n=s,o.prototype.copy.call(e,r,n),s+=a.data.length,a=a.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(a===i.length?n+=i:n+=i.slice(0,t),0==(t-=a)){a===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,a=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,a),0==(t-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,e}},{key:l,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){u||(u=t),t&&f.forEach(l),a||(f.forEach(l),h(u))}))}));return e.reduce(c)}},31976:function(t,e,r){"use strict";var n=r(44059).F.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,i){var a=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:"highWaterMark",a);return Math.floor(a)}return t.objectMode?16:16384}}},60032:function(t,e,r){t.exports=r(7683).EventEmitter},54304:function(t,e,r){"use strict";var n=r(41041).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=c,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=u,this.end=h,e=3;break;default:return this.write=f,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function u(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function f(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.I=a,a.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(t.lastNeed=i-1),i):--n=0?(i>0&&(t.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},79743:function(t,e,r){var n=r(45708).Buffer,i=r(85672),a=r(79399)("stream-parser");t.exports=function(t){var e=t&&"function"==typeof t._transform,r=t&&"function"==typeof t._write;if(!e&&!r)throw new Error("must pass a Writable or Transform stream in");a("extending Parser into stream"),t._bytes=h,t._skipBytes=f,e&&(t._passthrough=p),e?t._transform=m:t._write=d};var o=-1,s=0,l=1,c=2;function u(t){a("initializing parser stream"),t._parserBytesLeft=0,t._parserBuffers=[],t._parserBuffered=0,t._parserState=o,t._parserCallback=null,"function"==typeof t.push&&(t._parserOutput=t.push.bind(t)),t._parserInit=!0}function h(t,e){i(!this._parserCallback,'there is already a "callback" set!'),i(isFinite(t)&&t>0,'can only buffer a finite number of bytes > 0, got "'+t+'"'),this._parserInit||u(this),a("buffering %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=s}function f(t,e){i(!this._parserCallback,'there is already a "callback" set!'),i(t>0,'can only skip > 0 bytes, got "'+t+'"'),this._parserInit||u(this),a("skipping %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=l}function p(t,e){i(!this._parserCallback,'There is already a "callback" set!'),i(t>0,'can only pass through > 0 bytes, got "'+t+'"'),this._parserInit||u(this),a("passing through %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=c}function d(t,e,r){this._parserInit||u(this),a("write(%o bytes)",t.length),"function"==typeof e&&(r=e),y(this,t,null,r)}function m(t,e,r){this._parserInit||u(this),a("transform(%o bytes)",t.length),"function"!=typeof e&&(e=this._parserOutput),y(this,t,e,r)}function g(t,e,r,i){if(t._parserBytesLeft-=e.length,a("%o bytes left for stream piece",t._parserBytesLeft),t._parserState===s?(t._parserBuffers.push(e),t._parserBuffered+=e.length):t._parserState===c&&r(e),0!==t._parserBytesLeft)return i;var l=t._parserCallback;if(l&&t._parserState===s&&t._parserBuffers.length>1&&(e=n.concat(t._parserBuffers,t._parserBuffered)),t._parserState!==s&&(e=null),t._parserCallback=null,t._parserBuffered=0,t._parserState=o,t._parserBuffers.splice(0),l){var u=[];e&&u.push(e),r&&u.push(r);var h=l.length>u.length;h&&u.push(v(i));var f=l.apply(t,u);if(!h||i===f)return i}}var y=v((function t(e,r,n,i){return e._parserBytesLeft<=0?i(new Error("got data but not currently parsing anything")):r.length<=e._parserBytesLeft?function(){return g(e,r,n,i)}:function(){var a=r.slice(0,e._parserBytesLeft);return g(e,a,n,(function(o){return o?i(o):r.length>a.length?function(){return t(e,r.slice(a.length),n,i)}:void 0}))}}));function v(t){return function(){for(var e=t.apply(this,arguments);"function"==typeof e;)e=e();return e}}},79399:function(t,e,r){var n=r(33282);function i(){var t;try{t=e.storage.debug}catch(t){}return!t&&void 0!==n&&"env"in n&&(t=n.env.DEBUG),t}(e=t.exports=r(43228)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},e.formatArgs=function(t){var r=this.useColors;if(t[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+t[0]+(r?"%c ":" ")+"+"+e.humanize(this.diff),r){var n="color: "+this.color;t.splice(1,0,n,"color: inherit");var i=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(function(t){"%%"!==t&&(i++,"%c"===t&&(a=i))})),t.splice(a,0,n)}},e.save=function(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}},e.load=i,e.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(i())},43228:function(t,e,r){var n;function i(t){function r(){if(r.enabled){var t=r,i=+new Date,a=i-(n||i);t.diff=a,t.prev=n,t.curr=i,n=i;for(var o=new Array(arguments.length),s=0;s0)return function(t){if(!((t=String(t)).length>100)){var a=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(a){var o=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"days":case"day":case"d":return o*i;case"hours":case"hour":case"hrs":case"hr":case"h":return o*n;case"minutes":case"minute":case"mins":case"min":case"m":return o*r;case"seconds":case"second":case"secs":case"sec":case"s":return o*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(t);if("number"===l&&!1===isNaN(t))return o.long?a(s=t,i,"day")||a(s,n,"hour")||a(s,r,"minute")||a(s,e,"second")||s+" ms":function(t){return t>=i?Math.round(t/i)+"d":t>=n?Math.round(t/n)+"h":t>=r?Math.round(t/r)+"m":t>=e?Math.round(t/e)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},28089:function(t,e,r){"use strict";var n=r(59811);t.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","“”","«»"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s0;){e=c[c.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[m])}a[e]=d}else{if(n[e]===r[e]){var g=[],y=[],v=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),y.push(s[x]),v+=s[x].length,o[x]=h.length,x===e){l.length=d;break}}h.push(g);var _=new Array(v);for(d=0;d1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};e.default=function(t){var e=t.px,r=t.py,s=t.cx,l=t.cy,c=t.rx,u=t.ry,h=t.xAxisRotation,f=void 0===h?0:h,p=t.largeArcFlag,d=void 0===p?0:p,m=t.sweepFlag,g=void 0===m?0:m,y=[];if(0===c||0===u)return[];var v=Math.sin(f*n/360),x=Math.cos(f*n/360),_=x*(e-s)/2+v*(r-l)/2,b=-v*(e-s)/2+x*(r-l)/2;if(0===_&&0===b)return[];c=Math.abs(c),u=Math.abs(u);var w=Math.pow(_,2)/Math.pow(c,2)+Math.pow(b,2)/Math.pow(u,2);w>1&&(c*=Math.sqrt(w),u*=Math.sqrt(w));var T=function(t,e,r,i,a,s,l,c,u,h,f,p){var d=Math.pow(a,2),m=Math.pow(s,2),g=Math.pow(f,2),y=Math.pow(p,2),v=d*m-d*y-m*g;v<0&&(v=0),v/=d*y+m*g;var x=(v=Math.sqrt(v)*(l===c?-1:1))*a/s*p,_=v*-s/a*f,b=h*x-u*_+(t+r)/2,w=u*x+h*_+(e+i)/2,T=(f-x)/a,k=(p-_)/s,A=(-f-x)/a,M=(-p-_)/s,S=o(1,0,T,k),E=o(T,k,A,M);return 0===c&&E>0&&(E-=n),1===c&&E<0&&(E+=n),[b,w,S,E]}(e,r,s,l,c,u,d,g,v,x,_,b),k=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}(T,4),A=k[0],M=k[1],S=k[2],E=k[3],C=Math.abs(E)/(n/4);Math.abs(1-C)<1e-7&&(C=1);var L=Math.max(Math.ceil(C),1);E/=L;for(var I=0;Ie[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},41883:function(t,e,r){"use strict";t.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,h=null,f=0,p=0,d=0,m=t.length;d4?(o=g[g.length-4],s=g[g.length-3]):(o=f,s=p),r.push(g)}return r};var n=r(13193);function i(t,e,r,n){return["C",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},96021:function(t,e,r){"use strict";var n,i=r(97251),a=r(26953),o=r(95620),s=r(13986),l=r(88772),c=document.createElement("canvas"),u=c.getContext("2d");t.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");var r,h;e||(e={}),e.shape?(r=e.shape[0],h=e.shape[1]):(r=c.width=e.w||e.width||200,h=c.height=e.h||e.height||200);var f=Math.min(r,h),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),m=[r/(d[2]-d[0]),h/(d[3]-d[1])],g=Math.min(m[0]||0,m[1]||0)/2;if(u.fillStyle="black",u.fillRect(0,0,r,h),u.fillStyle="white",p&&("number"!=typeof p&&(p=1),u.strokeStyle=p>0?"white":"black",u.lineWidth=Math.abs(p)),u.translate(.5*r,.5*h),u.scale(g,g),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var y=new Path2D(t);u.fill(y),p&&u.stroke(y)}else{var v=a(t);o(u,v),u.fill(),p&&u.stroke()}return u.setTransform(1,0,0,1,0,0),l(u,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*f})}},65657:function(t,e,r){var n;!function(i){var a=/^\s+/,o=/\s+$/,s=0,l=i.round,c=i.min,u=i.max,h=i.random;function f(t,e){if(e=e||{},(t=t||"")instanceof f)return t;if(!(this instanceof f))return new f(t,e);var r=function(t){var e,r,n,s={r:0,g:0,b:0},l=1,h=null,f=null,p=null,d=!1,m=!1;return"string"==typeof t&&(t=function(t){t=t.replace(a,"").replace(o,"").toLowerCase();var e,r=!1;if(L[t])t=L[t],r=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(e=q.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=q.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=q.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=q.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=q.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=q.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=q.hex8.exec(t))?{r:D(e[1]),g:D(e[2]),b:D(e[3]),a:N(e[4]),format:r?"name":"hex8"}:(e=q.hex6.exec(t))?{r:D(e[1]),g:D(e[2]),b:D(e[3]),format:r?"name":"hex"}:(e=q.hex4.exec(t))?{r:D(e[1]+""+e[1]),g:D(e[2]+""+e[2]),b:D(e[3]+""+e[3]),a:N(e[4]+""+e[4]),format:r?"name":"hex8"}:!!(e=q.hex3.exec(t))&&{r:D(e[1]+""+e[1]),g:D(e[2]+""+e[2]),b:D(e[3]+""+e[3]),format:r?"name":"hex"}}(t)),"object"==typeof t&&(H(t.r)&&H(t.g)&&H(t.b)?(e=t.r,r=t.g,n=t.b,s={r:255*z(e,255),g:255*z(r,255),b:255*z(n,255)},d=!0,m="%"===String(t.r).substr(-1)?"prgb":"rgb"):H(t.h)&&H(t.s)&&H(t.v)?(h=F(t.s),f=F(t.v),s=function(t,e,r){t=6*z(t,360),e=z(e,100),r=z(r,100);var n=i.floor(t),a=t-n,o=r*(1-e),s=r*(1-a*e),l=r*(1-(1-a)*e),c=n%6;return{r:255*[r,s,o,o,l,r][c],g:255*[l,r,r,s,o,o][c],b:255*[o,o,l,r,r,s][c]}}(t.h,h,f),d=!0,m="hsv"):H(t.h)&&H(t.s)&&H(t.l)&&(h=F(t.s),p=F(t.l),s=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=z(t,360),e=z(e,100),r=z(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(t.h,h,p),d=!0,m="hsl"),t.hasOwnProperty("a")&&(l=t.a)),l=P(l),{ok:d,format:t.format||m,r:c(255,u(s.r,0)),g:c(255,u(s.g,0)),b:c(255,u(s.b,0)),a:l}}(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=l(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=r.ok,this._tc_id=s++}function p(t,e,r){t=z(t,255),e=z(e,255),r=z(r,255);var n,i,a=u(t,e,r),o=c(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(f(n));return a}function C(t,e){e=e||6;for(var r=f(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(f({h:n,s:i,v:a})),a=(a+s)%1;return o}f.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,r,n=this.toRgb();return t=n.r/255,e=n.g/255,r=n.b/255,.2126*(t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:i.pow((r+.055)/1.055,2.4))},setAlpha:function(t){return this._a=P(t),this._roundA=l(100*this._a)/100,this},toHsv:function(){var t=d(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=d(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=p(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=p(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return m(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[R(l(t).toString(16)),R(l(e).toString(16)),R(l(r).toString(16)),R(B(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*z(this._r,255))+"%",g:l(100*z(this._g,255))+"%",b:l(100*z(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*z(this._r,255))+"%, "+l(100*z(this._g,255))+"%, "+l(100*z(this._b,255))+"%)":"rgba("+l(100*z(this._r,255))+"%, "+l(100*z(this._g,255))+"%, "+l(100*z(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(I[m(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+g(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=f(t);r="#"+g(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return f(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(_,arguments)},brighten:function(){return this._applyModification(b,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(y,arguments)},saturate:function(){return this._applyModification(v,arguments)},greyscale:function(){return this._applyModification(x,arguments)},spin:function(){return this._applyModification(T,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(E,arguments)},complement:function(){return this._applyCombination(k,arguments)},monochromatic:function(){return this._applyCombination(C,arguments)},splitcomplement:function(){return this._applyCombination(S,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},f.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:F(t[n]));t=r}return f(t,e)},f.equals=function(t,e){return!(!t||!e)&&f(t).toRgbString()==f(e).toRgbString()},f.random=function(){return f.fromRatio({r:h(),g:h(),b:h()})},f.mix=function(t,e,r){r=0===r?0:r||50;var n=f(t).toRgb(),i=f(e).toRgb(),a=r/100;return f({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},f.readability=function(t,e){var r=f(t),n=f(e);return(i.max(r.getLuminance(),n.getLuminance())+.05)/(i.min(r.getLuminance(),n.getLuminance())+.05)},f.isReadable=function(t,e,r){var n,i,a,o,s,l=f.readability(t,e);switch(i=!1,(a=r,"AA"!==(o=((a=a||{level:"AA",size:"small"}).level||"AA").toUpperCase())&&"AAA"!==o&&(o="AA"),"small"!==(s=(a.size||"small").toLowerCase())&&"large"!==s&&(s="small"),n={level:o,size:s}).level+n.size){case"AAsmall":case"AAAlarge":i=l>=4.5;break;case"AAlarge":i=l>=3;break;case"AAAsmall":i=l>=7}return i},f.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var c=0;cl&&(l=n,s=f(e[c]));return f.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,f.mostReadable(t,["#fff","#000"],r))};var L=f.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"},I=f.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(L);function P(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function z(t,e){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var r=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=c(e,u(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),i.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function O(t){return c(1,u(0,t))}function D(t){return parseInt(t,16)}function R(t){return 1==t.length?"0"+t:""+t}function F(t){return t<=1&&(t=100*t+"%"),t}function B(t){return i.round(255*parseFloat(t)).toString(16)}function N(t){return D(t)/255}var j,U,V,q=(U="[\\s|\\(]+("+(j="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",V="[\\s|\\(]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",{CSS_UNIT:new RegExp(j),rgb:new RegExp("rgb"+U),rgba:new RegExp("rgba"+V),hsl:new RegExp("hsl"+U),hsla:new RegExp("hsla"+V),hsv:new RegExp("hsv"+U),hsva:new RegExp("hsva"+V),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function H(t){return!!q.CSS_UNIT.exec(t)}t.exports?t.exports=f:void 0===(n=function(){return f}.call(e,r,e,t))||(t.exports=n)}(Math)},51498:function(t){"use strict";t.exports=r,t.exports.float32=t.exports.float=r,t.exports.fract32=t.exports.fract=function(t,e){if(t.length){if(t instanceof Float32Array)return new Float32Array(t.length);e instanceof Float32Array||(e=r(t));for(var n=0,i=e.length;n":(e.length>100&&(e=e.slice(0,99)+"…"),e=e.replace(i,(function(t){switch(t){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}})))}},76481:function(t,e,r){"use strict";var n=r(80299),i={object:!0,function:!0,undefined:!0};t.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},6887:function(t,e,r){"use strict";var n=r(99497),i=r(63461);t.exports=function(t){return i(t)?t:n(t,"%v is not a plain function",arguments[1])}},63461:function(t,e,r){"use strict";var n=r(64276),i=/^\s*class[\s{/}]/,a=Function.prototype.toString;t.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},31350:function(t,e,r){"use strict";var n=r(76481);t.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},58698:function(t,e,r){"use strict";var n=r(80299),i=r(76481),a=Object.prototype.toString;t.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if("function"!=typeof e)return null;if(e===a)return null}try{return""+t}catch(t){return null}}},9557:function(t,e,r){"use strict";var n=r(99497),i=r(80299);t.exports=function(t){return i(t)?t:n(t,"Cannot use %v",arguments[1])}},80299:function(t){"use strict";t.exports=function(t){return null!=t}},66127:function(t,e,r){"use strict";var n=r(54689),i=r(49523),a=r(45708).Buffer;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s="undefined"!=typeof BigUint64Array,l="undefined"!=typeof BigInt64Array,c=r.g.__TYPEDARRAY_POOL;c.UINT8C||(c.UINT8C=i([32,0])),c.BIGUINT64||(c.BIGUINT64=i([32,0])),c.BIGINT64||(c.BIGINT64=i([32,0])),c.BUFFER||(c.BUFFER=i([32,0]));var u=c.DATA,h=c.BUFFER;function f(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);u[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=u[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function m(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function v(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function _(t){return new Float32Array(p(4*t),0,t)}function b(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=h[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))h[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);u[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){f(t.buffer)},e.freeArrayBuffer=f,e.freeBuffer=function(t){h[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return m(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return v(t);case"int32":return x(t);case"float":case"float32":return _(t);case"double":case"float64":return b(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=m,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=v,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=_,e.mallocFloat64=e.mallocDouble=b,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)c.UINT8[t].length=0,c.UINT16[t].length=0,c.UINT32[t].length=0,c.INT8[t].length=0,c.INT16[t].length=0,c.INT32[t].length=0,c.FLOAT[t].length=0,c.DOUBLE[t].length=0,c.BIGUINT64[t].length=0,c.BIGINT64[t].length=0,c.UINT8C[t].length=0,u[t].length=0,h[t].length=0}},80886:function(t){var e=/[\'\"]/;t.exports=function(t){return t?(e.test(t.charAt(0))&&(t=t.substr(1)),e.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},79788:function(t){"use strict";t.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&e._extend(n,r),_(n.showHidden)&&(n.showHidden=!1),_(n.depth)&&(n.depth=2),_(n.colors)&&(n.colors=!1),_(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=u),f(n,t,n.depth)}function u(t,e){var r=c.styles[e];return r?"["+c.colors[r][0]+"m"+t+"["+c.colors[r][1]+"m":t}function h(t,e){return t}function f(t,r,n){if(t.customInspect&&r&&A(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return x(i)||(i=f(t,i,n)),i}var a=function(t,e){if(_(e))return t.stylize("undefined","undefined");if(x(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}return v(e)?t.stylize(""+e,"number"):g(e)?t.stylize(""+e,"boolean"):y(e)?t.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),k(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return p(r);if(0===o.length){if(A(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(b(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(T(r))return t.stylize(Date.prototype.toString.call(r),"date");if(k(r))return p(r)}var c,u="",h=!1,w=["{","}"];return m(r)&&(h=!0,w=["[","]"]),A(r)&&(u=" [Function"+(r.name?": "+r.name:"")+"]"),b(r)&&(u=" "+RegExp.prototype.toString.call(r)),T(r)&&(u=" "+Date.prototype.toUTCString.call(r)),k(r)&&(u=" "+p(r)),0!==o.length||h&&0!=r.length?n<0?b(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),c=h?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o60?r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}(c,u,w)):w[0]+u+w[1]}function p(t){return"["+Error.prototype.toString.call(t)+"]"}function d(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),C(n,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=y(r)?f(t,l.value,null):f(t,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(t){return" "+t})).join("\n").slice(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),_(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function m(t){return Array.isArray(t)}function g(t){return"boolean"==typeof t}function y(t){return null===t}function v(t){return"number"==typeof t}function x(t){return"string"==typeof t}function _(t){return void 0===t}function b(t){return w(t)&&"[object RegExp]"===M(t)}function w(t){return"object"==typeof t&&null!==t}function T(t){return w(t)&&"[object Date]"===M(t)}function k(t){return w(t)&&("[object Error]"===M(t)||t instanceof Error)}function A(t){return"function"==typeof t}function M(t){return Object.prototype.toString.call(t)}function S(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!o[t])if(s.test(t)){var r=n.pid;o[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else o[t]=function(){};return o[t]},e.inspect=c,c.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},c.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=r(15724),e.isArray=m,e.isBoolean=g,e.isNull=y,e.isNullOrUndefined=function(t){return null==t},e.isNumber=v,e.isString=x,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=_,e.isRegExp=b,e.types.isRegExp=b,e.isObject=w,e.isDate=T,e.types.isDate=T,e.isError=k,e.types.isNativeError=k,e.isFunction=A,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(44123);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function C(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,r;console.log("%s - %s",(r=[S((t=new Date).getHours()),S(t.getMinutes()),S(t.getSeconds())].join(":"),[t.getDate(),E[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=r(28062),e._extend=function(t,e){if(!e||!w(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var L="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function I(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(L&&t[L]){var e;if("function"!=typeof(e=t[L]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,L,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),i=[],a=0;a-1?e:"Object"===e&&function(t){var e=!1;return n(m,(function(r,n){if(!e)try{r(t),e=f(n,1)}catch(t){}})),e}(t)}return s?function(t){var e=!1;return n(m,(function(r,n){if(!e)try{"$"+r(t)===n&&(e=f(n,1))}catch(t){}})),e}(t):null}},1401:function(t,e,r){var n=r(24453),i=r(27976),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),i=t.month(),a=""+this.toChineseMonth(n,i);return e&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["一","二","三","四","五","六","七","八","九","十","十一","十二"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"闰"===e[0]&&(r=!0,e=e.substring(1)),"月"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["一","二","三","四","五","六","七","八","九","十","十一","十二"].indexOf(e);else{var i=e[e.length-1];r="i"===i||"I"===i}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=f[o-f[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(i=a.newDate(l,c,u)).add(4-(i.dayOfWeek()||7),"d");var h=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(h/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=h[t-h[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if("object"==typeof t)o=t,a=e||{};else{var l;if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(l=!1,a=n):(l=!!n,a={}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var c,u=h[o.year-h[0]],p=u>>13;c=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d>9&4095,(m>>5&15)-1,(31&m)+s);return a.year=g.getFullYear(),a.month=1+g.getMonth(),a.day=g.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if("object"==typeof t)i=t,a=e||{};else{if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a={}}var o=f[i.year-f[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=f[a.year-f[0]];var l,c=new Date(o>>9&4095,(o>>5&15)-1,31&o),u=new Date(i.year,i.month-1,i.day);l=Math.round((u-c)/864e5);var p,d=h[a.year-h[0]];for(p=0;p<13;p++){var m=d&1<<12-p?30:29;if(l>13;return!g||p=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||""}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=a},81133:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},78295:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},25512:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-khamīs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},42645:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},62324:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o(8+(t-=this.jdEpoch)+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s(20+(t-=this.jdEpoch),20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},91662:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar;var o=n.instance("gregorian");i(a.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},66445:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),h=t-this.toJD(l,u,1)+1;return this.newDate(l,u,h)}}),n.calendars.persian=a,n.calendars.jalali=a},84756:function(t,e,r){var n=r(24453),i=r(27976),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},41858:function(t,e,r){var n=r(24453),i=r(27976),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},57985:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thalāthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},24453:function(t,e,r){var n=r(27976);function i(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(i.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);i=t.day(),"y"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(function(t){for(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),c=i-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=t.exports=new i;c.cdate=a,c.baseCalendar=s,c.calendars.gregorian=l},23428:function(t,e,r){var n=r(27976),i=r(24453);n(i.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),i.local=i.regionalOptions[""],n(i.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s=(r=r||{}).dayNamesShort||this.local.dayNamesShort,l=r.dayNames||this.local.dayNames,c=r.monthNumbers||this.local.monthNumbers,u=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,f=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;b+n1}),p=function(t,e,r,n){var i=""+e;if(f(t,n))for(;i.length1},x=function(t,r){var n=v(t,r),a=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},_=this,b=function(){if("function"==typeof l){v("m");var t=l.call(_,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,a){for(var o=v(t,a)?n:r,s=0;s-1){p=1,d=m;for(var E=this.daysInMonth(f,p);d>E;E=this.daysInMonth(f,p))p++,d-=E}return h>-1?this.fromJD(h):this.newDate(f,p,d)},determineDate:function(t,e,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return e=e?e.newDate():null,null==t?e:"string"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,"d"):a.newDate(t)}})},96144:function(t,e,r){"use strict";r.r(e);var n=r(85072),i=r.n(n),a=r(97825),o=r.n(a),s=r(77659),l=r.n(s),c=r(55056),u=r.n(c),h=r(10540),f=r.n(h),p=r(41113),d=r.n(p),m=r(5955),g={};g.styleTagTransform=d(),g.setAttributes=u(),g.insert=l().bind(null,"head"),g.domAPI=o(),g.insertStyleElement=f(),i()(m.A,g),e.default=m.A&&m.A.locals?m.A.locals:void 0},85072:function(t){"use strict";var e=[];function r(t){for(var r=-1,n=0;n0?" ".concat(r.layer):""," {")),n+=r.css,i&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var a=r.sourceMap;a&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleTagTransform(n,t,e.options)}(e,t,r)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},41113:function(t){"use strict";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},25446:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2722%27 height=%2722%27 fill=%27%23333%27 viewBox=%270 0 22 22%27%3E%3Cpath d=%27m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0%27/%3E%3C/svg%3E"},56694:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2722%27 height=%2722%27 fill=%27%2333b5e5%27 viewBox=%270 0 22 22%27%3E%3Cpath d=%27m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0%27/%3E%3C/svg%3E"},26117:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 fill-rule=%27evenodd%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0%27/%3E%3C/svg%3E"},66311:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 fill=%27%23fff%27 fill-rule=%27evenodd%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0%27/%3E%3C/svg%3E"},24420:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23333%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3C/svg%3E"},77035:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z%27/%3E%3C/svg%3E"},43470:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5%27/%3E%3C/svg%3E"},13490:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z%27/%3E%3C/svg%3E"},80216:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27m10.5 14 4-8 4 8z%27/%3E%3Cpath fill=%27%23ccc%27 d=%27m10.5 16 4 8 4-8z%27/%3E%3C/svg%3E"},47695:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%2333b5e5%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3C/svg%3E"},92228:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%2333b5e5%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3C/svg%3E"},43737:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23666%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath fill=%27red%27 d=%27m14 5 1 1-9 9-1-1z%27/%3E%3C/svg%3E"},48460:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23999%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath fill=%27red%27 d=%27m14 5 1 1-9 9-1-1z%27/%3E%3C/svg%3E"},75796:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23aaa%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath fill=%27red%27 d=%27m14 5 1 1-9 9-1-1z%27/%3E%3C/svg%3E"},28869:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23e54e33%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3C/svg%3E"},9819:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23e58978%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3C/svg%3E"},30557:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3C/svg%3E"},68164:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z%27/%3E%3C/svg%3E"},64665:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5%27/%3E%3C/svg%3E"},91413:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z%27/%3E%3C/svg%3E"},13913:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z%27/%3E%3C/svg%3E"},61907:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27m10.5 14 4-8 4 8z%27/%3E%3Cpath fill=%27%23ccc%27 d=%27m10.5 16 4 8 4-8z%27/%3E%3C/svg%3E"},56539:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3C/svg%3E"},4890:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z%27/%3E%3C/svg%3E"},13363:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5%27/%3E%3C/svg%3E"},47603:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z%27/%3E%3C/svg%3E"},64643:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z%27/%3E%3C/svg%3E"},68605:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27m10.5 14 4-8 4 8z%27/%3E%3Cpath fill=%27%23ccc%27 d=%27m10.5 16 4 8 4-8z%27/%3E%3C/svg%3E"},47914:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2788%27 height=%2723%27 fill=%27none%27%3E%3Cpath fill=%27%23000%27 fill-opacity=%27.4%27 fill-rule=%27evenodd%27 d=%27M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z%27/%3E%3Cpath fill=%27%23fff%27 d=%27m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z%27/%3E%3Cpath fill=%27%23e1e3e9%27 d=%27M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z%27/%3E%3Cpath d=%27M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z%27 style=%27fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001%27/%3E%3Cg style=%27stroke-width:1.12603545%27%3E%3Cpath d=%27M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668%27 style=%27color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto%27 transform=%27translate%2815.553 2.85%29scale%28.88807%29%27/%3E%3Cpath d=%27M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3%27 style=%27clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4%27 transform=%27translate%2815.553 2.85%29scale%28.88807%29%27/%3E%3Cpath d=%27M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z%27 style=%27clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4%27 transform=%27translate%2815.553 2.85%29scale%28.88807%29%27/%3E%3C/g%3E%3C/svg%3E"},63779:function(){},77199:function(){},61990:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(85846),i=r(66030);function a(t){return i.geomReduce.call(void 0,t,((t,e)=>t+function(t){let e,r=0;switch(t.type){case"Polygon":return o(t.coordinates);case"MultiPolygon":for(e=0;e0){e+=Math.abs(c(t[0]));for(let r=1;r=e?(n+2)%e:n+2],s=i[0]*l,c=a[1]*l;r+=(o[0]*l-s)*Math.sin(c),n++}return r*s}var u=a;e.area=a,e.default=u},25368:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(66030);function i(t,e={}){if(null!=t.bbox&&!0!==e.recompute)return t.bbox;const r=[1/0,1/0,-1/0,-1/0];return n.coordEach.call(void 0,t,(t=>{r[0]>t[0]&&(r[0]=t[0]),r[1]>t[1]&&(r[1]=t[1]),r[2]0?t>180?t-360:t:t<-180?t+360:t},e.bearingToAzimuth=function(t){let e=t%360;return e<0&&(e+=360),e},e.convertArea=function(t,e="meters",r="kilometers"){if(!(t>=0))throw new Error("area must be a positive number");const n=i[e];if(!n)throw new Error("invalid original units");const a=i[r];if(!a)throw new Error("invalid final units");return t/n*a},e.convertLength=function(t,e="kilometers",r="kilometers"){if(!(t>=0))throw new Error("length must be a positive number");return p(d(t,e),r)},e.degreesToRadians=function(t){return t%360*Math.PI/180},e.earthRadius=r,e.factors=n,e.feature=a,e.featureCollection=c,e.geometry=function(t,e,r={}){switch(t){case"Point":return o(e).geometry;case"LineString":return l(e).geometry;case"Polygon":return s(e).geometry;case"MultiPoint":return h(e).geometry;case"MultiLineString":return u(e).geometry;case"MultiPolygon":return f(e).geometry;default:throw new Error(t+" is invalid")}},e.geometryCollection=function(t,e,r={}){return a({type:"GeometryCollection",geometries:t},e,r)},e.isNumber=g,e.isObject=function(t){return null!==t&&"object"==typeof t&&!Array.isArray(t)},e.lengthToDegrees=function(t,e){return m(d(t,e))},e.lengthToRadians=d,e.lineString=l,e.lineStrings=function(t,e,r={}){return c(t.map((t=>l(t,e))),r)},e.multiLineString=u,e.multiPoint=h,e.multiPolygon=f,e.point=o,e.points=function(t,e,r={}){return c(t.map((t=>o(t,e))),r)},e.polygon=s,e.polygons=function(t,e,r={}){return c(t.map((t=>s(t,e))),r)},e.radiansToDegrees=m,e.radiansToLength=p,e.round=function(t,e=0){if(e&&!(e>=0))throw new Error("precision must be a positive number");const r=Math.pow(10,e||0);return Math.round(t*r)/r},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((t=>{if(!g(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},66030:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(85846);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,c,u,h,f=0,p=0,d=t.type,m="FeatureCollection"===d,g="Feature"===d,y=m?t.features.length:1,v=0;vc||p>u||d>h)return l=i,c=r,u=p,h=d,void(o=0);var m=n.lineString.call(void 0,[l,i],t.properties);if(!1===e(m,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function u(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;s1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?o=r:s=r,r=.5*(s-o)+o;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var l=r(o);let c,u;function h(){return null==c&&(c="undefined"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof createImageBitmap),c}function f(){if(null==u&&(u=!1,h())){const t=5,e=new OffscreenCanvas(t,t).getContext("2d",{willReadFrequently:!0});if(e){for(let r=0;ri.solve(t)}const d=p(.25,.1,.25,1);function m(t,e,r){return Math.min(r,Math.max(e,t))}function g(t,e,r){const n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function y(t,...e){for(const r of e)for(const e in r)t[e]=r[e];return t}let v=1;function x(t,e,r){const n={};for(const r in t)n[r]=e.call(this,t[r],r,t);return n}function _(t,e,r){const n={};for(const r in t)e.call(this,t[r],r,t)&&(n[r]=t[r]);return n}function b(t){return Array.isArray(t)?t.map(b):"object"==typeof t&&t?x(t,b):t}const w={};function T(t){w[t]||("undefined"!=typeof console&&console.warn(t),w[t]=!0)}function k(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function A(t){return"undefined"!=typeof WorkerGlobalScope&&void 0!==t&&t instanceof WorkerGlobalScope}let M=null;function S(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap}const E="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function C(t,r,n,i,a){return e(this,void 0,void 0,(function*(){if("undefined"==typeof VideoFrame)throw new Error("VideoFrame not supported");const e=new VideoFrame(t,{timestamp:0});try{const o=null==e?void 0:e.format;if(!o||!o.startsWith("BGR")&&!o.startsWith("RGB"))throw new Error(`Unrecognized format ${o}`);const s=o.startsWith("BGR"),l=new Uint8ClampedArray(i*a*4);if(yield e.copyTo(l,function(t,e,r,n,i){const a=4*Math.max(-e,0),o=(Math.max(0,r)-r)*n*4+a,s=4*n,l=Math.max(0,e),c=Math.max(0,r);return{rect:{x:l,y:c,width:Math.min(t.width,e+n)-l,height:Math.min(t.height,r+i)-c},layout:[{offset:o,stride:s}]}}(t,r,n,i,a)),s)for(let t=0;tA(self)?self.worker&&self.worker.referrer:("blob:"===window.location.protocol?window.parent:window).location.href;const N=function(t,r){if(/:\/\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){const e=D(t.url);if(e)return e(t,r);if(A(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:t,targetMapId:R},r)}if(n=t.url,!(/^file:/.test(n)||/^file:/.test(B())&&!/^\w+:/.test(n))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(t,r){return e(this,void 0,void 0,(function*(){const e=new Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,cache:t.cache,referrer:B(),signal:r.signal});"json"!==t.type||e.headers.has("Accept")||e.headers.set("Accept","application/json");const n=yield fetch(e);if(!n.ok){const e=yield n.blob();throw new F(n.status,n.statusText,t.url,e)}let i;i="arrayBuffer"===t.type||"image"===t.type?n.arrayBuffer():"json"===t.type?n.json():n.text();const a=yield i;if(r.signal.aborted)throw z();return{data:a,cacheControl:n.headers.get("Cache-Control"),expires:n.headers.get("Expires")}}))}(t,r);if(A(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:t,mustQueue:!0,targetMapId:R},r)}var n;return function(t,e){return new Promise(((r,n)=>{var i;const a=new XMLHttpRequest;a.open(t.method||"GET",t.url,!0),"arrayBuffer"!==t.type&&"image"!==t.type||(a.responseType="arraybuffer");for(const e in t.headers)a.setRequestHeader(e,t.headers[e]);"json"===t.type&&(a.responseType="text",(null===(i=t.headers)||void 0===i?void 0:i.Accept)||a.setRequestHeader("Accept","application/json")),a.withCredentials="include"===t.credentials,a.onerror=()=>{n(new Error(a.statusText))},a.onload=()=>{if(!e.signal.aborted)if((a.status>=200&&a.status<300||0===a.status)&&null!==a.response){let e=a.response;if("json"===t.type)try{e=JSON.parse(a.response)}catch(t){return void n(t)}r({data:e,cacheControl:a.getResponseHeader("Cache-Control"),expires:a.getResponseHeader("Expires")})}else{const e=new Blob([a.response],{type:a.getResponseHeader("Content-Type")});n(new F(a.status,a.statusText,t.url,e))}},e.signal.addEventListener("abort",(()=>{a.abort(),n(z())})),a.send(t.body)}))}(t,r)};function j(t){if(!t||t.indexOf("://")<=0||0===t.indexOf("data:image/")||0===t.indexOf("blob:"))return!0;const e=new URL(t),r=window.location;return e.protocol===r.protocol&&e.host===r.host}function U(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e))}function V(t,e,r){if(r&&r[t]){const n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}class q{constructor(t,e={}){y(this,e),this.type=t}}class H extends q{constructor(t,e={}){super("error",y({error:t},e))}}class G{on(t,e){return this._listeners=this._listeners||{},U(t,e,this._listeners),this}off(t,e){return V(t,e,this._listeners),V(t,e,this._oneTimeListeners),this}once(t,e){return e?(this._oneTimeListeners=this._oneTimeListeners||{},U(t,e,this._oneTimeListeners),this):new Promise((e=>this.once(t,e)))}fire(t,e){"string"==typeof t&&(t=new q(t,e||{}));const r=t.type;if(this.listens(r)){t.target=this;const e=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];for(const r of e)r.call(this,t);const n=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];for(const e of n)V(r,e,this._oneTimeListeners),e.call(this,t);const i=this._eventedParent;i&&(y(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),i.fire(t))}else t instanceof H&&console.error(t.error);return this}listens(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var Z={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"enum",default:"mercator",values:{mercator:{},globe:{}}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};const W=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function Y(t,e){const r={};for(const e in t)"ref"!==e&&(r[e]=t[e]);return W.forEach((t=>{t in e&&(r[t]=e[t])})),r}function X(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let r=0;r`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const wt=[lt,ct,ut,ht,ft,gt,pt,_t(dt),yt,vt,xt];function Tt(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!Tt(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(const t of wt)if(!Tt(t,e))return null}return`Expected ${bt(t)} but found ${bt(e)} instead.`}function kt(t,e){return e.some((e=>e.kind===t.kind))}function At(t,e){return e.some((e=>"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t))}function Mt(t,e){return"array"===t.kind&&"array"===e.kind?t.itemType.kind===e.itemType.kind&&"number"==typeof t.N:t.kind===e.kind}const St=.96422,Et=1,Ct=.82521,Lt=4/29,It=6/29,Pt=3*It*It,zt=It*It*It,Ot=Math.PI/180,Dt=180/Math.PI;function Rt(t){return(t%=360)<0&&(t+=360),t}function Ft([t,e,r,n]){let i,a;const o=Nt((.2225045*(t=Bt(t))+.7168786*(e=Bt(e))+.0606169*(r=Bt(r)))/Et);t===e&&e===r?i=a=o:(i=Nt((.4360747*t+.3850649*e+.1430804*r)/St),a=Nt((.0139322*t+.0971045*e+.7141733*r)/Ct));const s=116*o-16;return[s<0?0:s,500*(i-o),200*(o-a),n]}function Bt(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Nt(t){return t>zt?Math.pow(t,1/3):t/Pt+Lt}function jt([t,e,r,n]){let i=(t+16)/116,a=isNaN(e)?i:i+e/500,o=isNaN(r)?i:i-r/200;return i=Et*Vt(i),a=St*Vt(a),o=Ct*Vt(o),[Ut(3.1338561*a-1.6168667*i-.4906146*o),Ut(-.9787684*a+1.9161415*i+.033454*o),Ut(.0719453*a-.2289914*i+1.4052427*o),n]}function Ut(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function Vt(t){return t>It?t*t*t:Pt*(t-Lt)}function qt(t){if("transparent"===(t=t.toLowerCase().trim()))return[0,0,0,0];const e=Yt[t];if(e){const[t,r,n]=e;return[t/255,r/255,n/255,1]}if(t.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(t)){const e=t.length<6?1:2;let r=1;return[Ht(t.slice(r,r+=e)),Ht(t.slice(r,r+=e)),Ht(t.slice(r,r+=e)),Ht(t.slice(r,r+e)||"ff")]}if(t.startsWith("rgb")){const e=/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/,r=t.match(e);if(r){const[t,e,n,i,a,o,s,l,c,u,h,f]=r,p=[i||" ",s||" ",u].join("");if(" "===p||" /"===p||",,"===p||",,,"===p){const t=[n,o,c].join(""),r="%%%"===t?100:""===t?255:0;if(r){const t=[Zt(+e/r,0,1),Zt(+a/r,0,1),Zt(+l/r,0,1),h?Gt(+h,f):1];if(Wt(t))return t}}return}}const r=t.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(r){const[t,e,n,i,a,o,s,l,c]=r,u=[n||" ",a||" ",s].join("");if(" "===u||" /"===u||",,"===u||",,,"===u){const t=[+e,Zt(+i,0,100),Zt(+o,0,100),l?Gt(+l,c):1];if(Wt(t))return function([t,e,r,n]){function i(n){const i=(n+t/30)%12,a=e*Math.min(r,1-r);return r-a*Math.max(-1,Math.min(i-3,9-i,1))}return t=Rt(t),e/=100,r/=100,[i(0),i(8),i(4),n]}(t)}}}function Ht(t){return parseInt(t.padEnd(2,t),16)/255}function Gt(t,e){return Zt(e?t/100:t,0,1)}function Zt(t,e,r){return Math.min(Math.max(e,t),r)}function Wt(t){return!t.some(Number.isNaN)}const Yt={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class Xt{constructor(t,e,r,n=1,i=!0){this.r=t,this.g=e,this.b=r,this.a=n,i||(this.r*=n,this.g*=n,this.b*=n,n||this.overwriteGetter("rgb",[t,e,r,n]))}static parse(t){if(t instanceof Xt)return t;if("string"!=typeof t)return;const e=qt(t);return e?new Xt(...e,!1):void 0}get rgb(){const{r:t,g:e,b:r,a:n}=this,i=n||1/0;return this.overwriteGetter("rgb",[t/i,e/i,r/i,n])}get hcl(){return this.overwriteGetter("hcl",function(t){const[e,r,n,i]=Ft(t),a=Math.sqrt(r*r+n*n);return[Math.round(1e4*a)?Rt(Math.atan2(n,r)*Dt):NaN,a,e,i]}(this.rgb))}get lab(){return this.overwriteGetter("lab",Ft(this.rgb))}overwriteGetter(t,e){return Object.defineProperty(this,t,{value:e}),e}toString(){const[t,e,r,n]=this.rgb;return`rgba(${[t,e,r].map((t=>Math.round(255*t))).join(",")},${n})`}}Xt.black=new Xt(0,0,0,1),Xt.white=new Xt(1,1,1,1),Xt.transparent=new Xt(0,0,0,0),Xt.red=new Xt(1,0,0,1);class $t{constructor(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Jt{constructor(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i}}class Kt{constructor(t){this.sections=t}static fromString(t){return new Kt([new Jt(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof Kt?t:Kt.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map((t=>t.text)).join("")}}class Qt{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Qt)return t;if("number"==typeof t)return new Qt([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if("number"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new Qt(t)}}toString(){return JSON.stringify(this.values)}}const te=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class ee{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof ee)return t;if(Array.isArray(t)&&!(t.length<1)&&t.length%2==0){for(let e=0;e=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:`Invalid rgba value [${[t,e,r,n].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function ie(t){if(null===t||"string"==typeof t||"boolean"==typeof t||"number"==typeof t||t instanceof Xt||t instanceof $t||t instanceof Kt||t instanceof Qt||t instanceof ee||t instanceof re)return!0;if(Array.isArray(t)){for(const e of t)if(!ie(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!ie(t[e]))return!1;return!0}return!1}function ae(t){if(null===t)return lt;if("string"==typeof t)return ut;if("boolean"==typeof t)return ht;if("number"==typeof t)return ct;if(t instanceof Xt)return ft;if(t instanceof $t)return mt;if(t instanceof Kt)return gt;if(t instanceof Qt)return yt;if(t instanceof ee)return xt;if(t instanceof re)return vt;if(Array.isArray(t)){const e=t.length;let r;for(const e of t){const t=ae(e);if(r){if(r===t)continue;r=dt;break}r=t}return _t(r||dt,e)}return pt}function oe(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Xt||t instanceof Kt||t instanceof Qt||t instanceof ee||t instanceof re?t.toString():JSON.stringify(t)}class se{constructor(t,e){this.type=t,this.value=e}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!ie(t[1]))return e.error("invalid value");const r=t[1];let n=ae(r);const i=e.expectedType;return"array"!==n.kind||0!==n.N||!i||"array"!==i.kind||"number"==typeof i.N&&0!==i.N||(n=i),new se(n,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class le{constructor(t){this.name="ExpressionEvaluationError",this.message=t}toJSON(){return this.message}}const ce={string:ut,number:ct,boolean:ht,object:pt};class ue{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let r,n=1;const i=t[0];if("array"===i){let i,a;if(t.length>2){const r=t[1];if("string"!=typeof r||!(r in ce)||"object"===r)return e.error('The item type argument of "array" must be one of string, number, boolean',1);i=ce[r],n++}else i=dt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);a=t[2],n++}r=_t(i,a)}else{if(!ce[i])throw new Error(`Types doesn't contain name = ${i}`);r=ce[i]}const a=[];for(;nt.outputDefined()))}}const he={"to-boolean":ht,"to-color":ft,"to-number":ct,"to-string":ut};class fe{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const r=t[0];if(!he[r])throw new Error(`Can't parse ${r} as it is not part of the known types`);if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");const n=he[r],i=[];for(let r=1;r4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:ne(e[0],e[1],e[2],e[3]),!r))return new Xt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new le(r||`Could not parse color from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"padding":{let e;for(const r of this.args){e=r.evaluate(t);const n=Qt.parse(e);if(n)return n}throw new le(`Could not parse padding from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"variableAnchorOffsetCollection":{let e;for(const r of this.args){e=r.evaluate(t);const n=ee.parse(e);if(n)return n}throw new le(`Could not parse variableAnchorOffsetCollection from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"number":{let e=null;for(const r of this.args){if(e=r.evaluate(t),null===e)return 0;const n=Number(e);if(!isNaN(n))return n}throw new le(`Could not convert ${JSON.stringify(e)} to number.`)}case"formatted":return Kt.fromString(oe(this.args[0].evaluate(t)));case"resolvedImage":return re.fromString(oe(this.args[0].evaluate(t)));default:return oe(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const pe=["Unknown","Point","LineString","Polygon"];class de{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?pe[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Xt.parse(t)),e}}class me{constructor(t,e,r=[],n,i=new st,a=[]){this.registry=t,this.path=r,this.key=r.map((t=>`[${t}]`)).join(""),this.scope=i,this.errors=a,this.expectedType=n,this._isConstant=e}parse(t,e,r,n,i={}){return e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)}_parse(t,e){function r(t,e,r){return"assert"===r?new ue(e,[t]):"coerce"===r?new fe(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const n=t[0];if("string"!=typeof n)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const i=this.registry[n];if(i){let n=i.parse(t,this);if(!n)return null;if(this.expectedType){const t=this.expectedType,i=n.type;if("string"!==t.kind&&"number"!==t.kind&&"boolean"!==t.kind&&"object"!==t.kind&&"array"!==t.kind||"value"!==i.kind)if("color"!==t.kind&&"formatted"!==t.kind&&"resolvedImage"!==t.kind||"value"!==i.kind&&"string"!==i.kind)if("padding"!==t.kind||"value"!==i.kind&&"number"!==i.kind&&"array"!==i.kind)if("variableAnchorOffsetCollection"!==t.kind||"value"!==i.kind&&"array"!==i.kind){if(this.checkSubtype(t,i))return null}else n=r(n,t,e.typeAnnotation||"coerce");else n=r(n,t,e.typeAnnotation||"coerce");else n=r(n,t,e.typeAnnotation||"coerce");else n=r(n,t,e.typeAnnotation||"assert")}if(!(n instanceof se)&&"resolvedImage"!==n.type.kind&&this._isConstant(n)){const t=new de;try{n=new se(n.type,n.evaluate(t))}catch(t){return this.error(t.message),null}}return n}return this.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error(`Expected an array, but found ${typeof t} instead.`)}concat(t,e,r){const n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new me(this.registry,this._isConstant,n,e||null,i,this.errors)}error(t,...e){const r=`${this.key}${e.map((t=>`[${t}]`)).join("")}`;this.errors.push(new ot(r,t))}checkSubtype(t,e){const r=Tt(t,e);return r&&this.error(r),r}}class ge{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result)}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const r=[];for(let n=1;n=r.length)throw new le(`Array index out of bounds: ${e} > ${r.length-1}.`);if(e!==Math.floor(e))throw new le(`Array index must be an integer, but found ${e} instead.`);return r[e]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}}class xe{constructor(t,e){this.type=ht,this.needle=t,this.haystack=e}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,dt);return r&&n?kt(r.type,[ht,ut,ct,lt,dt])?new xe(r,n):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${bt(r.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!At(e,["boolean","string","number","null"]))throw new le(`Expected first argument to be of type boolean, string, number or null, but found ${bt(ae(e))} instead.`);if(!At(r,["string","array"]))throw new le(`Expected second argument to be of type array or string, but found ${bt(ae(r))} instead.`);return r.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class _e{constructor(t,e,r){this.type=ct,this.needle=t,this.haystack=e,this.fromIndex=r}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,dt);if(!r||!n)return null;if(!kt(r.type,[ht,ut,ct,lt,dt]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${bt(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ct);return i?new _e(r,n,i):null}return new _e(r,n)}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!At(e,["boolean","string","number","null"]))throw new le(`Expected first argument to be of type boolean, string, number or null, but found ${bt(ae(e))} instead.`);if(!At(r,["string","array"]))throw new le(`Expected second argument to be of type array or string, but found ${bt(ae(r))} instead.`);if(this.fromIndex){const n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class be{constructor(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error("Expected an even number of arguments.");let r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);const i={},a=[];for(let o=2;oNumber.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof t&&Math.floor(t)!==t)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,ae(t)))return null}else r=ae(t);if(void 0!==i[String(t)])return c.error("Branch labels must be unique.");i[String(t)]=a.length}const u=e.parse(l,o,n);if(!u)return null;n=n||u.type,a.push(u)}const o=e.parse(t[1],1,dt);if(!o)return null;const s=e.parse(t[t.length-1],t.length-1,n);return s?"value"!==o.type.kind&&e.concat(1).checkSubtype(r,o.type)?null:new be(r,n,o,i,a,s):null}evaluate(t){const e=this.input.evaluate(t);return(ae(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))&&this.otherwise.outputDefined()}}class we{constructor(t,e,r){this.type=t,this.branches=e,this.otherwise=r}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error("Expected an odd number of arguments.");let r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);const n=[];for(let i=1;ie.outputDefined()))&&this.otherwise.outputDefined()}}class Te{constructor(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,ct);if(!r||!n)return null;if(!kt(r.type,[_t(dt),ut,dt]))return e.error(`Expected first argument to be of type array or string, but found ${bt(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ct);return i?new Te(r.type,r,n,i):null}return new Te(r.type,r,n)}evaluate(t){const e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!At(e,["string","array"]))throw new le(`Expected first argument to be of type array or string, but found ${bt(ae(e))} instead.`);if(this.endIndex){const n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function ke(t,e){const r=t.length-1;let n,i,a=0,o=r,s=0;for(;a<=o;)if(s=Math.floor((a+o)/2),n=t[s],i=t[s+1],n<=e){if(s===r||ee))throw new le("Input is not a number.");o=s-1}return 0}class Ae{constructor(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[t,e]of r)this.labels.push(t),this.outputs.push(e)}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");const r=e.parse(t[1],1,ct);if(!r)return null;const n=[];let i=null;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);for(let r=1;r=a)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',s);const c=e.parse(o,l,i);if(!c)return null;i=i||c.type,n.push([a,c])}return new Ae(i,r,n)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[ke(e,n)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Me(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Se=Ee;function Ee(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=r,this.p2y=n}Ee.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?o=r:s=r,r=.5*(s-o)+o;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var Ce=Me(Se);function Le(t,e,r){return t+r*(e-t)}function Ie(t,e,r){return t.map(((t,n)=>Le(t,e[n],r)))}const Pe={number:Le,color:function(t,e,r,n="rgb"){switch(n){case"rgb":{const[n,i,a,o]=Ie(t.rgb,e.rgb,r);return new Xt(n,i,a,o,!1)}case"hcl":{const[n,i,a,o]=t.hcl,[s,l,c,u]=e.hcl;let h,f;if(isNaN(n)||isNaN(s))isNaN(n)?isNaN(s)?h=NaN:(h=s,1!==a&&0!==a||(f=l)):(h=n,1!==c&&0!==c||(f=i));else{let t=s-n;s>n&&t>180?t-=360:s180&&(t+=360),h=n+r*t}const[p,d,m,g]=function([t,e,r,n]){return t=isNaN(t)?0:t*Ot,jt([r,Math.cos(t)*e,Math.sin(t)*e,n])}([h,null!=f?f:Le(i,l,r),Le(a,c,r),Le(o,u,r)]);return new Xt(p,d,m,g,!1)}case"lab":{const[n,i,a,o]=jt(Ie(t.lab,e.lab,r));return new Xt(n,i,a,o,!1)}}},array:Ie,padding:function(t,e,r){return new Qt(Ie(t.values,e.values,r))},variableAnchorOffsetCollection:function(t,e,r){const n=t.values,i=e.values;if(n.length!==i.length)throw new le(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${e.toString()}`);const a=[];for(let t=0;t"number"!=typeof t||t<0||t>1)))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:t}}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(i=e.parse(i,2,ct),!i)return null;const o=[];let s=null;"interpolate-hcl"===r||"interpolate-lab"===r?s=ft:e.expectedType&&"value"!==e.expectedType.kind&&(s=e.expectedType);for(let t=0;t=r)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',i);const c=e.parse(n,l,s);if(!c)return null;s=s||c.type,o.push([r,c])}return Mt(s,ct)||Mt(s,ft)||Mt(s,yt)||Mt(s,xt)||Mt(s,_t(ct))?new ze(s,r,n,i,o):e.error(`Type ${bt(s)} is not interpolatable.`)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);const a=ke(e,n),o=e[a],s=e[a+1],l=ze.interpolationFactor(this.interpolation,n,o,s),c=r[a].evaluate(t),u=r[a+1].evaluate(t);switch(this.operator){case"interpolate":return Pe[this.type.kind](c,u,l);case"interpolate-hcl":return Pe.color(c,u,l,"hcl");case"interpolate-lab":return Pe.color(c,u,l,"lab")}}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Oe(t,e,r,n){const i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}class De{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expectected at least one argument.");let r=null;const n=e.expectedType;n&&"value"!==n.kind&&(r=n);const i=[];for(const n of t.slice(1)){const t=e.parse(n,1+i.length,r,void 0,{typeAnnotation:"omit"});if(!t)return null;r=r||t.type,i.push(t)}if(!r)throw new Error("No output type");const a=n&&i.some((t=>Tt(n,t.type)));return new De(a?dt:r,i)}evaluate(t){let e,r=null,n=0;for(const i of this.args)if(n++,r=i.evaluate(t),r&&r instanceof re&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null!==r)break;return r}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}function Re(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function Fe(t,e,r,n){return 0===n.compare(e,r)}function Be(t,e,r){const n="=="!==t&&"!="!==t;return class i{constructor(t,e,r){this.type=ht,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");const r=t[0];let a=e.parse(t[1],1,dt);if(!a)return null;if(!Re(r,a.type))return e.concat(1).error(`"${r}" comparisons are not supported for type '${bt(a.type)}'.`);let o=e.parse(t[2],2,dt);if(!o)return null;if(!Re(r,o.type))return e.concat(2).error(`"${r}" comparisons are not supported for type '${bt(o.type)}'.`);if(a.type.kind!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return e.error(`Cannot compare types '${bt(a.type)}' and '${bt(o.type)}'.`);n&&("value"===a.type.kind&&"value"!==o.type.kind?a=new ue(o.type,[a]):"value"!==a.type.kind&&"value"===o.type.kind&&(o=new ue(a.type,[o])));let s=null;if(4===t.length){if("string"!==a.type.kind&&"string"!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(s=e.parse(t[3],3,mt),!s)return null}return new i(a,o,s)}evaluate(i){const a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){const e=ae(a),r=ae(o);if(e.kind!==r.kind||"string"!==e.kind&&"number"!==e.kind)throw new le(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${r.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){const t=ae(a),r=ae(o);if("string"!==t.kind||"string"!==r.kind)return e(i,a,o)}return this.collator?r(i,a,o,this.collator.evaluate(i)):e(i,a,o)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}}}const Ne=Be("==",(function(t,e,r){return e===r}),Fe),je=Be("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!Fe(0,e,r,n)})),Ue=Be("<",(function(t,e,r){return e",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),qe=Be("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),He=Be(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0}));class Ge{constructor(t,e,r){this.type=mt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e}static parse(t,e){if(2!==t.length)return e.error("Expected one argument.");const r=t[1];if("object"!=typeof r||Array.isArray(r))return e.error("Collator options argument must be an object.");const n=e.parse(void 0!==r["case-sensitive"]&&r["case-sensitive"],1,ht);if(!n)return null;const i=e.parse(void 0!==r["diacritic-sensitive"]&&r["diacritic-sensitive"],1,ht);if(!i)return null;let a=null;return r.locale&&(a=e.parse(r.locale,1,ut),!a)?null:new Ge(n,i,a)}evaluate(t){return new $t(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)}outputDefined(){return!1}}class Ze{constructor(t,e,r,n,i){this.type=ut,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const r=e.parse(t[1],1,ct);if(!r)return null;const n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");let i=null;if(n.locale&&(i=e.parse(n.locale,1,ut),!i))return null;let a=null;if(n.currency&&(a=e.parse(n.currency,1,ut),!a))return null;let o=null;if(n["min-fraction-digits"]&&(o=e.parse(n["min-fraction-digits"],1,ct),!o))return null;let s=null;return n["max-fraction-digits"]&&(s=e.parse(n["max-fraction-digits"],1,ct),!s)?null:new Ze(r,i,a,o,s)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}}class We{constructor(t){this.type=gt,this.sections=t}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");const n=[];let i=!1;for(let r=1;r<=t.length-1;++r){const a=t[r];if(i&&"object"==typeof a&&!Array.isArray(a)){i=!1;let t=null;if(a["font-scale"]&&(t=e.parse(a["font-scale"],1,ct),!t))return null;let r=null;if(a["text-font"]&&(r=e.parse(a["text-font"],1,_t(ut)),!r))return null;let o=null;if(a["text-color"]&&(o=e.parse(a["text-color"],1,ft),!o))return null;const s=n[n.length-1];s.scale=t,s.font=r,s.textColor=o}else{const a=e.parse(t[r],1,dt);if(!a)return null;const o=a.type.kind;if("string"!==o&&"value"!==o&&"null"!==o&&"resolvedImage"!==o)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:a,scale:null,font:null,textColor:null})}}return new We(n)}evaluate(t){return new Kt(this.sections.map((e=>{const r=e.content.evaluate(t);return ae(r)===vt?new Jt("",r,null,null,null):new Jt(oe(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor)}outputDefined(){return!1}}class Ye{constructor(t){this.type=vt,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const r=e.parse(t[1],1,ut);return r?new Ye(r):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),r=re.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r}eachChild(t){t(this.input)}outputDefined(){return!1}}class Xe{constructor(t){this.type=ct,this.input=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error(`Expected argument of type string or array, but found ${bt(r.type)} instead.`):new Xe(r):null}evaluate(t){const e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new le(`Expected value to be of type string or array, but found ${bt(ae(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const $e=8192;function Je(t,e){const r=(180+t[0])/360,n=(a=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+a*Math.PI/360)))/360),i=Math.pow(2,e.z);var a;return[Math.round(r*i*$e),Math.round(n*i*$e)]}function Ke(t,e){const r=Math.pow(2,e.z),n=(t[0]/$e+e.x)/r,i=(t[1]/$e+e.y)/r;return[(o=n,360*o-180),(a=i,360/Math.PI*Math.atan(Math.exp((180-360*a)*Math.PI/180))-90)];var a,o}function Qe(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1])}function tr(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function er(t,e,r){const n=t[0]-e[0],i=t[1]-e[1],a=t[0]-r[0],o=t[1]-r[1];return n*o-a*i==0&&n*a<=0&&i*o<=0}function rr(t,e,r,n){const i=[e[0]-t[0],e[1]-t[1]];return 0!=(a=[n[0]-r[0],n[1]-r[1]],o=i,a[0]*o[1]-a[1]*o[0])&&!(!lr(t,e,r,n)||!lr(r,n,t,e));var a,o}function nr(t,e,r){for(const n of r)for(let r=0;ri[1]!=o[1]>i[1]&&i[0]<(o[0]-a[0])*(i[1]-a[1])/(o[1]-a[1])+a[0]&&(n=!n)}var i,a,o;return n}function ar(t,e){for(const r of e)if(ir(t,r))return!0;return!1}function or(t,e){for(const r of t)if(!ir(r,e))return!1;for(let r=0;r0&&h<0||u<0&&h>0}function cr(t,e,r){const n=[];for(let i=0;ir[2]){const e=.5*n;let i=t[0]-r[0]>e?-n:r[0]-t[0]>e?n:0;0===i&&(i=t[0]-r[2]>e?-n:r[2]-t[0]>e?n:0),t[0]+=i}Qe(e,t)}function fr(t,e,r,n){const i=Math.pow(2,n.z)*$e,a=[n.x*$e,n.y*$e],o=[];for(const n of t)for(const t of n){const n=[t.x+a[0],t.y+a[1]];hr(n,e,r,i),o.push(n)}return o}function pr(t,e,r,n){const i=Math.pow(2,n.z)*$e,a=[n.x*$e,n.y*$e],o=[];for(const r of t){const t=[];for(const n of r){const r=[n.x+a[0],n.y+a[1]];Qe(e,r),t.push(r)}o.push(t)}if(e[2]-e[0]<=i/2){(s=e)[0]=s[1]=1/0,s[2]=s[3]=-1/0;for(const t of o)for(const n of t)hr(n,e,r,i)}var s;return o}class dr{constructor(t,e){this.type=ht,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(ie(t[1])){const e=t[1];if("FeatureCollection"===e.type){const t=[];for(const r of e.features){const{type:e,coordinates:n}=r.geometry;"Polygon"===e&&t.push(n),"MultiPolygon"===e&&t.push(...n)}if(t.length)return new dr(e,{type:"MultiPolygon",coordinates:t})}else if("Feature"===e.type){const t=e.geometry.type;if("Polygon"===t||"MultiPolygon"===t)return new dr(e,e.geometry)}else if("Polygon"===e.type||"MultiPolygon"===e.type)return new dr(e,e)}return e.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if("Polygon"===e.type){const a=cr(e.coordinates,n,i),o=fr(t.geometry(),r,n,i);if(!tr(r,n))return!1;for(const t of o)if(!ir(t,a))return!1}if("MultiPolygon"===e.type){const a=ur(e.coordinates,n,i),o=fr(t.geometry(),r,n,i);if(!tr(r,n))return!1;for(const t of o)if(!ar(t,a))return!1}return!0}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if("Polygon"===e.type){const a=cr(e.coordinates,n,i),o=pr(t.geometry(),r,n,i);if(!tr(r,n))return!1;for(const t of o)if(!or(t,a))return!1}if("MultiPolygon"===e.type){const a=ur(e.coordinates,n,i),o=pr(t.geometry(),r,n,i);if(!tr(r,n))return!1;for(const t of o)if(!sr(t,a))return!1}return!0}(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let mr=class{constructor(t=[],e=gr){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=a,t=n}e[t]=i}};function gr(t,e){return te?1:0}function yr(t,e,r,n,i){vr(t,e,r,n||t.length-1,i||_r)}function vr(t,e,r,n,i){for(;n>r;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);vr(t,e,Math.max(r,Math.floor(e-o*l/a+c)),Math.min(n,Math.floor(e+(a-o)*l/a+c)),i)}var u=t[e],h=r,f=n;for(xr(t,r,e),i(t[n],u)>0&&xr(t,r,n);h0;)f--}0===i(t[r],u)?xr(t,r,f):xr(t,++f,n),f<=e&&(r=f+1),e<=f&&(n=f-1)}}function xr(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function _r(t,e){return te?1:0}function br(t,e){if(t.length<=1)return[t];const r=[];let n,i;for(const e of t){const t=Tr(e);0!==t&&(e.area=Math.abs(t),void 0===i&&(i=t<0),i===t<0?(n&&r.push(n),n=[e]):n.push(e))}if(n&&r.push(n),e>1)for(let t=0;t1?(l=t[s+1][0],c=t[s+1][1]):f>0&&(l+=u/this.kx*f,c+=h/this.ky*f)),u=this.wrap(e[0]-l)*this.kx,h=(e[1]-c)*this.ky;const p=u*u+h*h;p180;)t-=360;return t}}const Er=100,Cr=50;function Lr(t,e){return e[0]-t[0]}function Ir(t){return t[1]-t[0]+1}function Pr(t,e){return t[1]>=t[0]&&t[1]t[1])return[null,null];const r=Ir(t);if(e){if(2===r)return[t,null];const e=Math.floor(r/2);return[[t[0],t[0]+e],[t[0]+e,t[1]]]}if(1===r)return[t,null];const n=Math.floor(r/2)-1;return[[t[0],t[0]+n],[t[0]+n+1,t[1]]]}function Or(t,e){if(!Pr(e,t.length))return[1/0,1/0,-1/0,-1/0];const r=[1/0,1/0,-1/0,-1/0];for(let n=e[0];n<=e[1];++n)Qe(r,t[n]);return r}function Dr(t){const e=[1/0,1/0,-1/0,-1/0];for(const r of t)for(const t of r)Qe(e,t);return e}function Rr(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function Fr(t,e,r){if(!Rr(t)||!Rr(e))return NaN;let n=0,i=0;return t[2]e[2]&&(n=t[0]-e[2]),t[1]>e[3]&&(i=t[1]-e[3]),t[3]=n)return n;if(tr(i,a)){if(Hr(t,e))return 0}else if(Hr(e,t))return 0;let o=1/0;for(const n of t)for(let t=0,i=n.length,a=i-1;t0;){const i=o.pop();if(i[0]>=a)continue;const l=i[1],c=e?Cr:Er;if(Ir(l)<=c){if(!Pr(l,t.length))return NaN;if(e){const e=qr(t,l,r,n);if(isNaN(e)||0===e)return e;a=Math.min(a,e)}else for(let e=l[0];e<=l[1];++e){const i=Vr(t[e],r,n);if(a=Math.min(a,i),0===a)return 0}}else{const r=zr(l,e);Zr(o,a,n,t,s,r[0]),Zr(o,a,n,t,s,r[1])}}return a}function Xr(t,e,r,n,i,a=1/0){let o=Math.min(a,i.distance(t[0],r[0]));if(0===o)return o;const s=new mr([[0,[0,t.length-1],[0,r.length-1]]],Lr);for(;s.length>0;){const a=s.pop();if(a[0]>=o)continue;const l=a[1],c=a[2],u=e?Cr:Er,h=n?Cr:Er;if(Ir(l)<=u&&Ir(c)<=h){if(!Pr(l,t.length)&&Pr(c,r.length))return NaN;let a;if(e&&n)a=jr(t,l,r,c,i),o=Math.min(o,a);else if(e&&!n){const e=t.slice(l[0],l[1]+1);for(let t=c[0];t<=c[1];++t)if(a=Br(r[t],e,i),o=Math.min(o,a),0===o)return o}else if(!e&&n){const e=r.slice(c[0],c[1]+1);for(let r=l[0];r<=l[1];++r)if(a=Br(t[r],e,i),o=Math.min(o,a),0===o)return o}else a=Ur(t,l,r,c,i),o=Math.min(o,a)}else{const a=zr(l,e),u=zr(c,n);Wr(s,o,i,t,r,a[0],u[0]),Wr(s,o,i,t,r,a[0],u[1]),Wr(s,o,i,t,r,a[1],u[0]),Wr(s,o,i,t,r,a[1],u[1])}}return o}function $r(t){return"MultiPolygon"===t.type?t.coordinates.map((t=>({type:"Polygon",coordinates:t}))):"MultiLineString"===t.type?t.coordinates.map((t=>({type:"LineString",coordinates:t}))):"MultiPoint"===t.type?t.coordinates.map((t=>({type:"Point",coordinates:t}))):[t]}class Jr{constructor(t,e){this.type=ct,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(ie(t[1])){const e=t[1];if("FeatureCollection"===e.type)return new Jr(e,e.features.map((t=>$r(t.geometry))).flat());if("Feature"===e.type)return new Jr(e,$r(e.geometry));if("type"in e&&"coordinates"in e)return new Jr(e,$r(e))}return e.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const r=t.geometry(),n=r.flat().map((e=>Ke([e.x,e.y],t.canonical)));if(0===r.length)return NaN;const i=new Sr(n[0][1]);let a=1/0;for(const t of e){switch(t.type){case"Point":a=Math.min(a,Xr(n,!1,[t.coordinates],!1,i,a));break;case"LineString":a=Math.min(a,Xr(n,!1,t.coordinates,!0,i,a));break;case"Polygon":a=Math.min(a,Yr(n,!1,t.coordinates,i,a))}if(0===a)return a}return a}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const r=t.geometry(),n=r.flat().map((e=>Ke([e.x,e.y],t.canonical)));if(0===r.length)return NaN;const i=new Sr(n[0][1]);let a=1/0;for(const t of e){switch(t.type){case"Point":a=Math.min(a,Xr(n,!0,[t.coordinates],!1,i,a));break;case"LineString":a=Math.min(a,Xr(n,!0,t.coordinates,!0,i,a));break;case"Polygon":a=Math.min(a,Yr(n,!0,t.coordinates,i,a))}if(0===a)return a}return a}(t,this.geometries);if("Polygon"===t.geometryType())return function(t,e){const r=t.geometry();if(0===r.length||0===r[0].length)return NaN;const n=br(r,0).map((e=>e.map((e=>e.map((e=>Ke([e.x,e.y],t.canonical))))))),i=new Sr(n[0][0][0][1]);let a=1/0;for(const t of e)for(const e of n){switch(t.type){case"Point":a=Math.min(a,Yr([t.coordinates],!1,e,i,a));break;case"LineString":a=Math.min(a,Yr(t.coordinates,!0,e,i,a));break;case"Polygon":a=Math.min(a,Gr(e,t.coordinates,i,a))}if(0===a)return a}return a}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}const Kr={"==":Ne,"!=":je,">":Ve,"<":Ue,">=":He,"<=":qe,array:ue,at:ve,boolean:ue,case:we,coalesce:De,collator:Ge,format:We,image:Ye,in:xe,"index-of":_e,interpolate:ze,"interpolate-hcl":ze,"interpolate-lab":ze,length:Xe,let:ge,literal:se,match:be,number:ue,"number-format":Ze,object:ue,slice:Te,step:Ae,string:ue,"to-boolean":fe,"to-color":fe,"to-number":fe,"to-string":fe,var:ye,within:dr,distance:Jr};class Qr{constructor(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,e){const r=t[0],n=Qr.definitions[r];if(!n)return e.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0);const i=Array.isArray(n)?n[0]:n.type,a=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,o=a.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let s=null;for(const[n,a]of o){s=new me(e.registry,an,e.path,null,e.scope);const o=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(bt).join(", ")})`:`(${bt(e.type)}...)`;var e})).join(" | "),n=[];for(let r=1;r{r=e?r&&an(t):r&&t instanceof se})),!!r&&on(t)&&ln(t,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function on(t){if(t instanceof Qr){if("get"===t.name&&1===t.args.length)return!1;if("feature-state"===t.name)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}if(t instanceof dr)return!1;if(t instanceof Jr)return!1;let e=!0;return t.eachChild((t=>{e&&!on(t)&&(e=!1)})),e}function sn(t){if(t instanceof Qr&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild((t=>{e&&!sn(t)&&(e=!1)})),e}function ln(t,e){if(t instanceof Qr&&e.indexOf(t.name)>=0)return!1;let r=!0;return t.eachChild((t=>{r&&!ln(t,e)&&(r=!1)})),r}function cn(t){return{result:"success",value:t}}function un(t){return{result:"error",value:t}}function hn(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function fn(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function pn(t){return!!t.expression&&t.expression.interpolated}function dn(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function mn(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function gn(t){return t}function yn(t,e){const r="color"===e.type,n=t.stops&&"object"==typeof t.stops[0][0],i=n||void 0!==t.property,a=n||!i,o=t.type||(pn(e)?"exponential":"interval");if(r||"padding"===e.type){const n=r?Xt.parse:Qt.parse;(t=at({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],n(t[1])]))),t.default?t.default=n(t.default):t.default=n(e.default)}if(t.colorSpace&&("rgb"!==(s=t.colorSpace)&&"hcl"!==s&&"lab"!==s))throw new Error(`Unknown color space: "${t.colorSpace}"`);var s;let l,c,u;if("exponential"===o)l=bn;else if("interval"===o)l=_n;else if("categorical"===o){l=xn,c=Object.create(null);for(const e of t.stops)c[e[0]]=e[1];u=typeof t.stops[0][0]}else{if("identity"!==o)throw new Error(`Unknown function type "${o}"`);l=wn}if(n){const r={},n=[];for(let e=0;et[0])),evaluate({zoom:r},n){return bn({stops:i,base:t.base},e,r).evaluate(r,n)}}}if(a){const r="exponential"===o?{name:"exponential",base:void 0!==t.base?t.base:1}:null;return{kind:"camera",interpolationType:r,interpolationFactor:ze.interpolationFactor.bind(void 0,r),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:r})=>l(t,e,r,c,u)}}return{kind:"source",evaluate(r,n){const i=n&&n.properties?n.properties[t.property]:void 0;return void 0===i?vn(t.default,e.default):l(t,e,i,c,u)}}}function vn(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function xn(t,e,r,n,i){return vn(typeof r===i?n[r]:void 0,t.default,e.default)}function _n(t,e,r){if("number"!==dn(r))return vn(t.default,e.default);const n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];const i=ke(t.stops.map((t=>t[0])),r);return t.stops[i][1]}function bn(t,e,r){const n=void 0!==t.base?t.base:1;if("number"!==dn(r))return vn(t.default,e.default);const i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];const a=ke(t.stops.map((t=>t[0])),r),o=function(t,e,r,n){const i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],c=Pe[e.type]||gn;return"function"==typeof s.evaluate?{evaluate(...e){const r=s.evaluate.apply(void 0,e),n=l.evaluate.apply(void 0,e);if(void 0!==r&&void 0!==n)return c(r,n,o,t.colorSpace)}}:c(s,l,o,t.colorSpace)}function wn(t,e,r){switch(e.type){case"color":r=Xt.parse(r);break;case"formatted":r=Kt.fromString(r.toString());break;case"resolvedImage":r=re.fromString(r.toString());break;case"padding":r=Qt.parse(r);break;default:dn(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0)}return vn(r,t.default,e.default)}Qr.register(Kr,{error:[{kind:"error"},[ut],(t,[e])=>{throw new le(e.evaluate(t))}],typeof:[ut,[dt],(t,[e])=>bt(ae(e.evaluate(t)))],"to-rgba":[_t(ct,4),[ft],(t,[e])=>{const[r,n,i,a]=e.evaluate(t).rgb;return[255*r,255*n,255*i,a]}],rgb:[ft,[ct,ct,ct],tn],rgba:[ft,[ct,ct,ct,ct],tn],has:{type:ht,overloads:[[[ut],(t,[e])=>en(e.evaluate(t),t.properties())],[[ut,pt],(t,[e,r])=>en(e.evaluate(t),r.evaluate(t))]]},get:{type:dt,overloads:[[[ut],(t,[e])=>rn(e.evaluate(t),t.properties())],[[ut,pt],(t,[e,r])=>rn(e.evaluate(t),r.evaluate(t))]]},"feature-state":[dt,[ut],(t,[e])=>rn(e.evaluate(t),t.featureState||{})],properties:[pt,[],t=>t.properties()],"geometry-type":[ut,[],t=>t.geometryType()],id:[dt,[],t=>t.id()],zoom:[ct,[],t=>t.globals.zoom],"heatmap-density":[ct,[],t=>t.globals.heatmapDensity||0],"line-progress":[ct,[],t=>t.globals.lineProgress||0],accumulated:[dt,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[ct,nn(ct),(t,e)=>{let r=0;for(const n of e)r+=n.evaluate(t);return r}],"*":[ct,nn(ct),(t,e)=>{let r=1;for(const n of e)r*=n.evaluate(t);return r}],"-":{type:ct,overloads:[[[ct,ct],(t,[e,r])=>e.evaluate(t)-r.evaluate(t)],[[ct],(t,[e])=>-e.evaluate(t)]]},"/":[ct,[ct,ct],(t,[e,r])=>e.evaluate(t)/r.evaluate(t)],"%":[ct,[ct,ct],(t,[e,r])=>e.evaluate(t)%r.evaluate(t)],ln2:[ct,[],()=>Math.LN2],pi:[ct,[],()=>Math.PI],e:[ct,[],()=>Math.E],"^":[ct,[ct,ct],(t,[e,r])=>Math.pow(e.evaluate(t),r.evaluate(t))],sqrt:[ct,[ct],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[ct,[ct],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[ct,[ct],(t,[e])=>Math.log(e.evaluate(t))],log2:[ct,[ct],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[ct,[ct],(t,[e])=>Math.sin(e.evaluate(t))],cos:[ct,[ct],(t,[e])=>Math.cos(e.evaluate(t))],tan:[ct,[ct],(t,[e])=>Math.tan(e.evaluate(t))],asin:[ct,[ct],(t,[e])=>Math.asin(e.evaluate(t))],acos:[ct,[ct],(t,[e])=>Math.acos(e.evaluate(t))],atan:[ct,[ct],(t,[e])=>Math.atan(e.evaluate(t))],min:[ct,nn(ct),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[ct,nn(ct),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[ct,[ct],(t,[e])=>Math.abs(e.evaluate(t))],round:[ct,[ct],(t,[e])=>{const r=e.evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[ct,[ct],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[ct,[ct],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[ht,[ut,dt],(t,[e,r])=>t.properties()[e.value]===r.value],"filter-id-==":[ht,[dt],(t,[e])=>t.id()===e.value],"filter-type-==":[ht,[ut],(t,[e])=>t.geometryType()===e.value],"filter-<":[ht,[ut,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n{const r=t.id(),n=e.value;return typeof r==typeof n&&r":[ht,[ut,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>i}],"filter-id->":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>n}],"filter-<=":[ht,[ut,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n<=i}],"filter-id-<=":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r<=n}],"filter->=":[ht,[ut,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>=i}],"filter-id->=":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>=n}],"filter-has":[ht,[dt],(t,[e])=>e.value in t.properties()],"filter-has-id":[ht,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[ht,[_t(ut)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[ht,[_t(dt)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[ht,[ut,_t(dt)],(t,[e,r])=>r.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[ht,[ut,_t(dt)],(t,[e,r])=>function(t,e,r,n){for(;r<=n;){const i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[e.value],r.value,0,r.value.length-1)],all:{type:ht,overloads:[[[ht,ht],(t,[e,r])=>e.evaluate(t)&&r.evaluate(t)],[nn(ht),(t,e)=>{for(const r of e)if(!r.evaluate(t))return!1;return!0}]]},any:{type:ht,overloads:[[[ht,ht],(t,[e,r])=>e.evaluate(t)||r.evaluate(t)],[nn(ht),(t,e)=>{for(const r of e)if(r.evaluate(t))return!0;return!1}]]},"!":[ht,[ht],(t,[e])=>!e.evaluate(t)],"is-supported-script":[ht,[ut],(t,[e])=>{const r=t.globals&&t.globals.isSupportedScript;return!r||r(e.evaluate(t))}],upcase:[ut,[ut],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[ut,[ut],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[ut,nn(dt),(t,e)=>e.map((e=>oe(e.evaluate(t)))).join("")],"resolved-locale":[ut,[mt],(t,[e])=>e.evaluate(t).resolvedLocale()]});class Tn{constructor(t,e){var r;this.expression=t,this._warningHistory={},this._evaluator=new de,this._defaultValue=e?"color"===(r=e).type&&mn(r.default)?new Xt(0,0,0,0):"color"===r.type?Xt.parse(r.default)||null:"padding"===r.type?Qt.parse(r.default)||null:"variableAnchorOffsetCollection"===r.type?ee.parse(r.default)||null:void 0===r.default?null:r.default:null,this._enumValues=e&&"enum"===e.type?e.values:null}evaluateWithoutErrorHandling(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||"number"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new le(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(", ")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function kn(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in Kr}function An(t,e){const r=new me(Kr,an,[],e?function(t){const e={color:ft,string:ut,number:ct,enum:ut,boolean:ht,formatted:gt,padding:yt,resolvedImage:vt,variableAnchorOffsetCollection:xt};return"array"===t.type?_t(e[t.value]||dt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?cn(new Tn(n,e)):un(r.errors)}class Mn{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!sn(e.expression)}evaluateWithoutErrorHandling(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)}evaluate(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)}}class Sn{constructor(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!sn(e.expression),this.interpolationType=n}evaluateWithoutErrorHandling(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)}evaluate(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)}interpolationFactor(t,e,r){return this.interpolationType?ze.interpolationFactor(this.interpolationType,t,e,r):0}}function En(t,e){const r=An(t,e);if("error"===r.result)return r;const n=r.value.expression,i=on(n);if(!i&&!hn(e))return un([new ot("","data expressions not supported")]);const a=ln(n,["zoom"]);if(!a&&!fn(e))return un([new ot("","zoom expressions not supported")]);const o=Ln(n);if(!o&&!a)return un([new ot("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(o instanceof ot)return un([o]);if(o instanceof ze&&!pn(e))return un([new ot("",'"interpolate" expressions cannot be used with this property')]);if(!o)return cn(new Mn(i?"constant":"source",r.value));const s=o instanceof ze?o.interpolation:void 0;return cn(new Sn(i?"camera":"composite",r.value,o.labels,s))}class Cn{constructor(t,e){this._parameters=t,this._specification=e,at(this,yn(this._parameters,this._specification))}static deserialize(t){return new Cn(t._parameters,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification}}}function Ln(t){let e=null;if(t instanceof ge)e=Ln(t.result);else if(t instanceof De){for(const r of t.args)if(e=Ln(r),e)break}else(t instanceof Ae||t instanceof ze)&&t.input instanceof Qr&&"zoom"===t.input.name&&(e=t);return e instanceof ot||t.eachChild((t=>{const r=Ln(t);r instanceof ot?e=r:!e&&r?e=new ot("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&r&&e!==r&&(e=new ot("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),e}function In(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const e of t.slice(1))if(!In(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const Pn={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function zn(t){if(null==t)return{filter:()=>!0,needGeometry:!1};In(t)||(t=Rn(t));const e=An(t,Pn);if("error"===e.result)throw new Error(e.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return{filter:(t,r,n)=>e.value.evaluate(t,r,{},n),needGeometry:Dn(t)}}function On(t,e){return te?1:0}function Dn(t){if(!Array.isArray(t))return!1;if("within"===t[0]||"distance"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?Fn(t[1],t[2],e):"any"===e?(r=t.slice(1),["any"].concat(r.map(Rn))):"all"===e?["all"].concat(t.slice(1).map(Rn)):"none"===e?["all"].concat(t.slice(1).map(Rn).map(jn)):"in"===e?Bn(t[1],t.slice(2)):"!in"===e?jn(Bn(t[1],t.slice(2))):"has"===e?Nn(t[1]):"!has"!==e||jn(Nn(t[1]));var r}function Fn(t,e,r){switch(t){case"$type":return[`filter-type-${r}`,e];case"$id":return[`filter-id-${r}`,e];default:return[`filter-${r}`,t,e]}}function Bn(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((t=>typeof t!=typeof e[0]))?["filter-in-large",t,["literal",e.sort(On)]]:["filter-in-small",t,["literal",e]]}}function Nn(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function jn(t){return["!",t]}function Un(t){const e=typeof t;if("number"===e||"boolean"===e||"string"===e||null==t)return JSON.stringify(t);if(Array.isArray(t)){let e="[";for(const r of t)e+=`${Un(r)},`;return`${e}]`}const r=Object.keys(t).sort();let n="{";for(let e=0;en.maximum?[new it(e,r,`${r} is greater than the maximum value ${n.maximum}`)]:[]}function Xn(t){const e=t.valueSpec,r=Hn(t.value.type);let n,i,a,o={};const s="categorical"!==r&&void 0===t.value.property,l=!s,c="array"===dn(t.value.stops)&&"array"===dn(t.value.stops[0])&&"object"===dn(t.value.stops[0][0]),u=Zn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===r)return[new it(t.key,t.value,'identity function may not have a "stops" property')];let e=[];const n=t.value;return e=e.concat(Wn({key:t.key,value:n,valueSpec:t.valueSpec,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),"array"===dn(n)&&0===n.length&&e.push(new it(t.key,n,"array must have at least one stop")),e},default:function(t){return t.validateSpec({key:t.key,value:t.value,valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===r&&s&&u.push(new it(t.key,t.value,'missing required property "property"')),"identity"===r||t.value.stops||u.push(new it(t.key,t.value,'missing required property "stops"')),"exponential"===r&&t.valueSpec.expression&&!pn(t.valueSpec)&&u.push(new it(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!hn(t.valueSpec)?u.push(new it(t.key,t.value,"property functions not supported")):s&&!fn(t.valueSpec)&&u.push(new it(t.key,t.value,"zoom functions not supported"))),"categorical"!==r&&!c||void 0!==t.value.property||u.push(new it(t.key,t.value,'"property" property is required')),u;function h(t){let r=[];const n=t.value,s=t.key;if("array"!==dn(n))return[new it(s,n,`array expected, ${dn(n)} found`)];if(2!==n.length)return[new it(s,n,`array length 2 expected, length ${n.length} found`)];if(c){if("object"!==dn(n[0]))return[new it(s,n,`object expected, ${dn(n[0])} found`)];if(void 0===n[0].zoom)return[new it(s,n,"object stop key must have zoom")];if(void 0===n[0].value)return[new it(s,n,"object stop key must have value")];if(a&&a>Hn(n[0].zoom))return[new it(s,n[0].zoom,"stop zoom values must appear in ascending order")];Hn(n[0].zoom)!==a&&(a=Hn(n[0].zoom),i=void 0,o={}),r=r.concat(Zn({key:`${s}[0]`,value:n[0],valueSpec:{zoom:{}},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Yn,value:f}}))}else r=r.concat(f({key:`${s}[0]`,value:n[0],valueSpec:{},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec},n));return kn(Gn(n[1]))?r.concat([new it(`${s}[1]`,n[1],"expressions are not allowed in function stops.")]):r.concat(t.validateSpec({key:`${s}[1]`,value:n[1],valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec}))}function f(t,a){const s=dn(t.value),l=Hn(t.value),c=null!==t.value?t.value:a;if(n){if(s!==n)return[new it(t.key,c,`${s} stop domain type must match previous stop domain type ${n}`)]}else n=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new it(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==r){let n=`number expected, ${s} found`;return hn(e)&&void 0===r&&(n+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new it(t.key,c,n)]}return"categorical"!==r||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==r&&"number"===s&&void 0!==i&&lnew it(`${t.key}${e.key}`,t.value,e.message)));const r=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&!r.outputDefined())return[new it(t.key,t.value,`Invalid data expression for "${t.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===t.expressionContext&&"layout"===t.propertyType&&!sn(r))return[new it(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext&&!sn(r))return[new it(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!ln(r,["zoom","feature-state"]))return[new it(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!on(r))return[new it(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Jn(t){const e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(Hn(r))&&i.push(new it(e,r,`expected one of [${n.values.join(", ")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(Hn(r))&&i.push(new it(e,r,`expected one of [${Object.keys(n.values).join(", ")}], ${JSON.stringify(r)} found`)),i}function Kn(t){return In(Gn(t.value))?$n(at({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Qn(t)}function Qn(t){const e=t.value,r=t.key;if("array"!==dn(e))return[new it(r,e,`array expected, ${dn(e)} found`)];const n=t.styleSpec;let i,a=[];if(e.length<1)return[new it(r,e,"filter array must have at least 1 element")];switch(a=a.concat(Jn({key:`${r}[0]`,value:e[0],valueSpec:n.filter_operator,style:t.style,styleSpec:t.styleSpec})),Hn(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===Hn(e[1])&&a.push(new it(r,e,`"$type" cannot be use with operator "${e[0]}"`));case"==":case"!=":3!==e.length&&a.push(new it(r,e,`filter array for operator "${e[0]}" must have 3 elements`));case"in":case"!in":e.length>=2&&(i=dn(e[1]),"string"!==i&&a.push(new it(`${r}[1]`,e[1],`string expected, ${i} found`)));for(let o=2;o{t in r&&e.push(new it(n,r[t],`"${t}" is prohibited for ref layers`))})),i.layers.forEach((e=>{Hn(e.id)===s&&(t=e)})),t?t.ref?e.push(new it(n,r.ref,"ref cannot reference another ref layer")):o=Hn(t.type):e.push(new it(n,r.ref,`ref layer "${s}" not found`))}else if("background"!==o)if(r.source){const t=i.sources&&i.sources[r.source],a=t&&Hn(t.type);t?"vector"===a&&"raster"===o?e.push(new it(n,r.source,`layer "${r.id}" requires a raster source`)):"raster-dem"!==a&&"hillshade"===o?e.push(new it(n,r.source,`layer "${r.id}" requires a raster-dem source`)):"raster"===a&&"raster"!==o?e.push(new it(n,r.source,`layer "${r.id}" requires a vector source`)):"vector"!==a||r["source-layer"]?"raster-dem"===a&&"hillshade"!==o?e.push(new it(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==o||!r.paint||!r.paint["line-gradient"]||"geojson"===a&&t.lineMetrics||e.push(new it(n,r,`layer "${r.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):e.push(new it(n,r,`layer "${r.id}" must specify a "source-layer"`)):e.push(new it(n,r.source,`source "${r.source}" not found`))}else e.push(new it(n,r,'missing required property "source"'));return e=e.concat(Zn({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{"*"(){return[]},type(){return t.validateSpec({key:`${n}.type`,value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,object:r,objectKey:"type"})},filter:Kn,layout(t){return Zn({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{"*"(t){return ri(at({layerType:o},t))}}})},paint(t){return Zn({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{"*"(t){return ei(at({layerType:o},t))}}})}}})),e}function ii(t){const e=t.value,r=t.key,n=dn(e);return"string"!==n?[new it(r,e,`string expected, ${n} found`)]:[]}const ai={promoteId:function({key:t,value:e}){if("string"===dn(e))return ii({key:t,value:e});{const r=[];for(const n in e)r.push(...ii({key:`${t}.${n}`,value:e[n]}));return r}}};function oi(t){const e=t.value,r=t.key,n=t.styleSpec,i=t.style,a=t.validateSpec;if(!e.type)return[new it(r,e,'"type" is required')];const o=Hn(e.type);let s;switch(o){case"vector":case"raster":return s=Zn({key:r,value:e,valueSpec:n[`source_${o.replace("-","_")}`],style:t.style,styleSpec:n,objectElementValidators:ai,validateSpec:a}),s;case"raster-dem":return s=function(t){var e;const r=null!==(e=t.sourceName)&&void 0!==e?e:"",n=t.value,i=t.styleSpec,a=i.source_raster_dem,o=t.style;let s=[];const l=dn(n);if(void 0===n)return s;if("object"!==l)return s.push(new it("source_raster_dem",n,`object expected, ${l} found`)),s;const c="custom"===Hn(n.encoding),u=["redFactor","greenFactor","blueFactor","baseShift"],h=t.value.encoding?`"${t.value.encoding}"`:"Default";for(const e in n)!c&&u.includes(e)?s.push(new it(e,n[e],`In "${r}": "${e}" is only valid when "encoding" is set to "custom". ${h} encoding found`)):a[e]?s=s.concat(t.validateSpec({key:e,value:n[e],valueSpec:a[e],validateSpec:t.validateSpec,style:o,styleSpec:i})):s.push(new it(e,n[e],`unknown property "${e}"`));return s}({sourceName:r,value:e,style:t.style,styleSpec:n,validateSpec:a}),s;case"geojson":if(s=Zn({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,validateSpec:a,objectElementValidators:ai}),e.cluster)for(const t in e.clusterProperties){const[n,i]=e.clusterProperties[t],o="string"==typeof n?[n,["accumulated"],["get",t]]:n;s.push(...$n({key:`${r}.${t}.map`,value:i,validateSpec:a,expressionContext:"cluster-map"})),s.push(...$n({key:`${r}.${t}.reduce`,value:o,validateSpec:a,expressionContext:"cluster-reduce"}))}return s;case"video":return Zn({key:r,value:e,valueSpec:n.source_video,style:i,validateSpec:a,styleSpec:n});case"image":return Zn({key:r,value:e,valueSpec:n.source_image,style:i,validateSpec:a,styleSpec:n});case"canvas":return[new it(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Jn({key:`${r}.type`,value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:i,validateSpec:a,styleSpec:n})}}function si(t){const e=t.value,r=t.styleSpec,n=r.light,i=t.style;let a=[];const o=dn(e);if(void 0===e)return a;if("object"!==o)return a=a.concat([new it("light",e,`object expected, ${o} found`)]),a;for(const o in e){const s=o.match(/^(.*)-transition$/);a=s&&n[s[1]]&&n[s[1]].transition?a.concat(t.validateSpec({key:o,value:e[o],valueSpec:r.transition,validateSpec:t.validateSpec,style:i,styleSpec:r})):n[o]?a.concat(t.validateSpec({key:o,value:e[o],valueSpec:n[o],validateSpec:t.validateSpec,style:i,styleSpec:r})):a.concat([new it(o,e[o],`unknown property "${o}"`)])}return a}function li(t){const e=t.value,r=t.styleSpec,n=r.sky,i=t.style,a=dn(e);if(void 0===e)return[];if("object"!==a)return[new it("sky",e,`object expected, ${a} found`)];let o=[];for(const a in e)o=n[a]?o.concat(t.validateSpec({key:a,value:e[a],valueSpec:n[a],style:i,styleSpec:r})):o.concat([new it(a,e[a],`unknown property "${a}"`)]);return o}function ci(t){const e=t.value,r=t.styleSpec,n=r.terrain,i=t.style;let a=[];const o=dn(e);if(void 0===e)return a;if("object"!==o)return a=a.concat([new it("terrain",e,`object expected, ${o} found`)]),a;for(const o in e)a=n[o]?a.concat(t.validateSpec({key:o,value:e[o],valueSpec:n[o],validateSpec:t.validateSpec,style:i,styleSpec:r})):a.concat([new it(o,e[o],`unknown property "${o}"`)]);return a}function ui(t){let e=[];const r=t.value,n=t.key;if(Array.isArray(r)){const i=[],a=[];for(const o in r){r[o].id&&i.includes(r[o].id)&&e.push(new it(n,r,`all the sprites' ids must be unique, but ${r[o].id} is duplicated`)),i.push(r[o].id),r[o].url&&a.includes(r[o].url)&&e.push(new it(n,r,`all the sprites' URLs must be unique, but ${r[o].url} is duplicated`)),a.push(r[o].url);const s={id:{type:"string",required:!0},url:{type:"string",required:!0}};e=e.concat(Zn({key:`${n}[${o}]`,value:r[o],valueSpec:s,validateSpec:t.validateSpec}))}return e}return ii({key:n,value:r})}const hi={"*"(){return[]},array:Wn,boolean:function(t){const e=t.value,r=t.key,n=dn(e);return"boolean"!==n?[new it(r,e,`boolean expected, ${n} found`)]:[]},number:Yn,color:function(t){const e=t.key,r=t.value,n=dn(r);return"string"!==n?[new it(e,r,`color expected, ${n} found`)]:Xt.parse(String(r))?[]:[new it(e,r,`color expected, "${r}" found`)]},constants:qn,enum:Jn,filter:Kn,function:Xn,layer:ni,object:Zn,source:oi,light:si,sky:li,terrain:ci,projection:function(t){const e=t.value,r=t.styleSpec,n=r.projection,i=t.style,a=dn(e);if(void 0===e)return[];if("object"!==a)return[new it("projection",e,`object expected, ${a} found`)];let o=[];for(const a in e)o=n[a]?o.concat(t.validateSpec({key:a,value:e[a],valueSpec:n[a],style:i,styleSpec:r})):o.concat([new it(a,e[a],`unknown property "${a}"`)]);return o},string:ii,formatted:function(t){return 0===ii(t).length?[]:$n(t)},resolvedImage:function(t){return 0===ii(t).length?[]:$n(t)},padding:function(t){const e=t.key,r=t.value;if("array"===dn(r)){if(r.length<1||r.length>4)return[new it(e,r,`padding requires 1 to 4 values; ${r.length} values found`)];const n={type:"number"};let i=[];for(let a=0;at.line-e.line))}function yi(t){return function(...e){return gi(t.apply(this,e))}}di.source=yi(mi(oi)),di.sprite=yi(mi(ui)),di.glyphs=yi(mi(pi)),di.light=yi(mi(si)),di.sky=yi(mi(li)),di.terrain=yi(mi(ci)),di.layer=yi(mi(ni)),di.filter=yi(mi(Kn)),di.paintProperty=yi(mi(ei)),di.layoutProperty=yi(mi(ri));const vi=di;vi.source;const xi=vi.light,_i=vi.sky;vi.terrain,vi.filter;const bi=vi.paintProperty,wi=vi.layoutProperty;function Ti(t,e){let r=!1;if(e&&e.length)for(const n of e)t.fire(new H(new Error(n.message))),r=!0;return r}class ki{constructor(t,e,r){const n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;const i=new Int32Array(this.arrayBuffer);t=i[0],e=i[1],r=i[2],this.d=e+2*r;for(let t=0;t=c[l+0]&&n>=c[l+1])?(o[h]=!0,a.push(i[h])):o[h]=!1}}}}_forEachCell(t,e,r,n,i,a,o,s){const l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n);for(let f=l;f<=u;f++)for(let l=c;l<=h;l++){const c=this.d*l+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(l),this._convertFromCellCoord(f+1),this._convertFromCellCoord(l+1)))&&i.call(this,t,e,r,n,c,a,o,s))return}}_convertFromCellCoord(t){return(t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const t=this.cells,e=3+this.cells.length+1+1;let r=0;for(let t=0;t=0)continue;const a=t[n];i[n]=Ai[r].shallow.indexOf(n)>=0?a:Li(a,e)}t instanceof Error&&(i.message=t.message)}if(i.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==r&&(i.$name=r),i}function Ii(t){if(Ci(t))return t;if(Array.isArray(t))return t.map(Ii);if("object"!=typeof t)throw new Error("can't deserialize object of type "+typeof t);const e=Ei(t)||"Object";if(!Ai[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:r}=Ai[e];if(!r)throw new Error(`can't deserialize unregistered class ${e}`);if(r.deserialize)return r.deserialize(t);const n=Object.create(r.prototype);for(const r of Object.keys(t)){if("$name"===r)continue;const i=t[r];n[r]=Ai[e].shallow.indexOf(r)>=0?i:Ii(i)}return n}class Pi{constructor(){this.first=!0}update(t,e){const r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoomt>=128&&t<=255,Arabic:t=>t>=1536&&t<=1791,"Arabic Supplement":t=>t>=1872&&t<=1919,"Arabic Extended-A":t=>t>=2208&&t<=2303,"Hangul Jamo":t=>t>=4352&&t<=4607,"Unified Canadian Aboriginal Syllabics":t=>t>=5120&&t<=5759,Khmer:t=>t>=6016&&t<=6143,"Unified Canadian Aboriginal Syllabics Extended":t=>t>=6320&&t<=6399,"General Punctuation":t=>t>=8192&&t<=8303,"Letterlike Symbols":t=>t>=8448&&t<=8527,"Number Forms":t=>t>=8528&&t<=8591,"Miscellaneous Technical":t=>t>=8960&&t<=9215,"Control Pictures":t=>t>=9216&&t<=9279,"Optical Character Recognition":t=>t>=9280&&t<=9311,"Enclosed Alphanumerics":t=>t>=9312&&t<=9471,"Geometric Shapes":t=>t>=9632&&t<=9727,"Miscellaneous Symbols":t=>t>=9728&&t<=9983,"Miscellaneous Symbols and Arrows":t=>t>=11008&&t<=11263,"CJK Radicals Supplement":t=>t>=11904&&t<=12031,"Kangxi Radicals":t=>t>=12032&&t<=12255,"Ideographic Description Characters":t=>t>=12272&&t<=12287,"CJK Symbols and Punctuation":t=>t>=12288&&t<=12351,Hiragana:t=>t>=12352&&t<=12447,Katakana:t=>t>=12448&&t<=12543,Bopomofo:t=>t>=12544&&t<=12591,"Hangul Compatibility Jamo":t=>t>=12592&&t<=12687,Kanbun:t=>t>=12688&&t<=12703,"Bopomofo Extended":t=>t>=12704&&t<=12735,"CJK Strokes":t=>t>=12736&&t<=12783,"Katakana Phonetic Extensions":t=>t>=12784&&t<=12799,"Enclosed CJK Letters and Months":t=>t>=12800&&t<=13055,"CJK Compatibility":t=>t>=13056&&t<=13311,"CJK Unified Ideographs Extension A":t=>t>=13312&&t<=19903,"Yijing Hexagram Symbols":t=>t>=19904&&t<=19967,"CJK Unified Ideographs":t=>t>=19968&&t<=40959,"Yi Syllables":t=>t>=40960&&t<=42127,"Yi Radicals":t=>t>=42128&&t<=42191,"Hangul Jamo Extended-A":t=>t>=43360&&t<=43391,"Hangul Syllables":t=>t>=44032&&t<=55215,"Hangul Jamo Extended-B":t=>t>=55216&&t<=55295,"Private Use Area":t=>t>=57344&&t<=63743,"CJK Compatibility Ideographs":t=>t>=63744&&t<=64255,"Arabic Presentation Forms-A":t=>t>=64336&&t<=65023,"Vertical Forms":t=>t>=65040&&t<=65055,"CJK Compatibility Forms":t=>t>=65072&&t<=65103,"Small Form Variants":t=>t>=65104&&t<=65135,"Arabic Presentation Forms-B":t=>t>=65136&&t<=65279,"Halfwidth and Fullwidth Forms":t=>t>=65280&&t<=65519};function Oi(t){for(const e of t)if(Fi(e.charCodeAt(0)))return!0;return!1}function Di(t){for(const e of t)if(!Ri(e.charCodeAt(0)))return!1;return!0}function Ri(t){return!(zi.Arabic(t)||zi["Arabic Supplement"](t)||zi["Arabic Extended-A"](t)||zi["Arabic Presentation Forms-A"](t)||zi["Arabic Presentation Forms-B"](t))}function Fi(t){return!(746!==t&&747!==t&&(t<4352||!(zi["Bopomofo Extended"](t)||zi.Bopomofo(t)||zi["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||zi["CJK Compatibility Ideographs"](t)||zi["CJK Compatibility"](t)||zi["CJK Radicals Supplement"](t)||zi["CJK Strokes"](t)||!(!zi["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||zi["CJK Unified Ideographs Extension A"](t)||zi["CJK Unified Ideographs"](t)||zi["Enclosed CJK Letters and Months"](t)||zi["Hangul Compatibility Jamo"](t)||zi["Hangul Jamo Extended-A"](t)||zi["Hangul Jamo Extended-B"](t)||zi["Hangul Jamo"](t)||zi["Hangul Syllables"](t)||zi.Hiragana(t)||zi["Ideographic Description Characters"](t)||zi.Kanbun(t)||zi["Kangxi Radicals"](t)||zi["Katakana Phonetic Extensions"](t)||zi.Katakana(t)&&12540!==t||!(!zi["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!zi["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||zi["Unified Canadian Aboriginal Syllabics"](t)||zi["Unified Canadian Aboriginal Syllabics Extended"](t)||zi["Vertical Forms"](t)||zi["Yijing Hexagram Symbols"](t)||zi["Yi Syllables"](t)||zi["Yi Radicals"](t))))}function Bi(t){return!(Fi(t)||function(t){return!!(zi["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||zi["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||zi["Letterlike Symbols"](t)||zi["Number Forms"](t)||zi["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||zi["Control Pictures"](t)&&9251!==t||zi["Optical Character Recognition"](t)||zi["Enclosed Alphanumerics"](t)||zi["Geometric Shapes"](t)||zi["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||zi["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||zi["CJK Symbols and Punctuation"](t)||zi.Katakana(t)||zi["Private Use Area"](t)||zi["CJK Compatibility Forms"](t)||zi["Small Form Variants"](t)||zi["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function Ni(t){return zi.Arabic(t)||zi["Arabic Supplement"](t)||zi["Arabic Extended-A"](t)||zi["Arabic Presentation Forms-A"](t)||zi["Arabic Presentation Forms-B"](t)}function ji(t){return t>=1424&&t<=2303||zi["Arabic Presentation Forms-A"](t)||zi["Arabic Presentation Forms-B"](t)}function Ui(t,e){return!(!e&&ji(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||zi.Khmer(t))}function Vi(t){for(const e of t)if(ji(e.charCodeAt(0)))return!0;return!1}const qi=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(t){this.pluginStatus=t.pluginStatus,this.pluginURL=t.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(t){this.applyArabicShaping=t.applyArabicShaping,this.processBidirectionalText=t.processBidirectionalText,this.processStyledBidirectionalText=t.processStyledBidirectionalText}isParsed(){return null!=this.applyArabicShaping&&null!=this.processBidirectionalText&&null!=this.processStyledBidirectionalText}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Hi{constructor(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Pi,this.transition={})}isSupportedScript(t){return function(t,e){for(const r of t)if(!Ui(r.charCodeAt(0),e))return!1;return!0}(t,"loaded"===qi.getRTLTextPluginStatus())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}}}class Gi{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(mn(t))return new Cn(t,e);if(kn(t)){const r=En(t,e);if("error"===r.result)throw new Error(r.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return r.value}{let r=t;return"color"===e.type&&"string"==typeof t?r=Xt.parse(t):"padding"!==e.type||"number"!=typeof t&&!Array.isArray(t)?"variableAnchorOffsetCollection"===e.type&&Array.isArray(t)&&(r=ee.parse(t)):r=Qt.parse(t),{kind:"constant",evaluate:()=>r}}}(void 0===e?t.specification.default:e,t.specification)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)}}class Zi{constructor(t){this.property=t,this.value=new Gi(t,void 0)}transitioned(t,e){return new Yi(this.property,this.value,e,y({},t.transition,this.transition),t.now)}untransitioned(){return new Yi(this.property,this.value,null,{},0)}}class Wi{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)}getValue(t){return b(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Zi(this._values[t].property)),this._values[t].value=new Gi(this._values[t].property,null===e?void 0:b(e))}getTransition(t){return b(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Zi(this._values[t].property)),this._values[t].transition=b(e)||void 0}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r);const n=this.getTransition(e);void 0!==n&&(t[`${e}-transition`]=n)}return t}transitioned(t,e){const r=new Xi(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].transitioned(t,e._values[n]);return r}untransitioned(){const t=new Xi(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class Yi{constructor(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)}possiblyEvaluate(t,e,r){const n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),a=this.prior;if(a){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;const e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}}return i}}class Xi{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)}possiblyEvaluate(t,e,r){const n=new Ki(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}hasTransition(){for(const t of Object.keys(this._values))if(this._values[t].prior)return!0;return!1}}class $i{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)}hasValue(t){return void 0!==this._values[t].value}getValue(t){return b(this._values[t].value)}setValue(t,e){this._values[t]=new Gi(this._values[t].property,null===e?void 0:b(e))}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r)}return t}possiblyEvaluate(t,e,r){const n=new Ki(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}}class Ji{constructor(t,e,r){this.property=t,this.value=e,this.parameters=r}isConstant(){return"constant"===this.value.kind}constantOr(t){return"constant"===this.value.kind?this.value.value:t}evaluate(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)}}class Ki{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)}get(t){return this._values[t]}}class Qi{constructor(t){this.specification=t}possiblyEvaluate(t,e){if(t.isDataDriven())throw new Error("Value should not be data driven");return t.expression.evaluate(e)}interpolate(t,e,r){const n=this.specification.type,i=Pe[n];return i?i(t,e,r):t}}class ta{constructor(t,e){this.specification=t,this.overrides=e}possiblyEvaluate(t,e,r,n){return"constant"===t.expression.kind||"camera"===t.expression.kind?new Ji(this,{kind:"constant",value:t.expression.evaluate(e,null,{},r,n)},e):new Ji(this,t.expression,e)}interpolate(t,e,r){if("constant"!==t.value.kind||"constant"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new Ji(this,{kind:"constant",value:void 0},t.parameters);const n=this.specification.type,i=Pe[n];if(i){const n=i(t.value.value,e.value.value,r);return new Ji(this,{kind:"constant",value:n},t.parameters)}return t}evaluate(t,e,r,n,i,a){return"constant"===t.kind?t.value:t.evaluate(e,r,n,i,a)}}class ea extends ta{possiblyEvaluate(t,e,r,n){if(void 0===t.value)return new Ji(this,{kind:"constant",value:void 0},e);if("constant"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n),a="resolvedImage"===t.property.specification.type&&"string"!=typeof i?i.name:i,o=this._calculate(a,a,a,e);return new Ji(this,{kind:"constant",value:o},e)}if("camera"===t.expression.kind){const r=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new Ji(this,{kind:"constant",value:r},e)}return new Ji(this,t.expression,e)}evaluate(t,e,r,n,i,a){if("source"===t.kind){const o=t.evaluate(e,r,n,i,a);return this._calculate(o,o,o,e)}return"composite"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class ra{constructor(t){this.specification=t}possiblyEvaluate(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Hi(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Hi(Math.floor(e.zoom),e)),t.expression.evaluate(new Hi(Math.floor(e.zoom+1),e)),e)}}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class na{constructor(t){this.specification=t}possiblyEvaluate(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)}interpolate(){return!1}}class ia{constructor(t){this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const e in t){const r=t[e];r.specification.overridable&&this.overridableProperties.push(e);const n=this.defaultPropertyValues[e]=new Gi(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Zi(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}}}Mi("DataDrivenProperty",ta),Mi("DataConstantProperty",Qi),Mi("CrossFadedDataDrivenProperty",ea),Mi("CrossFadedProperty",ra),Mi("ColorRampProperty",na);const aa="-transition";class oa extends G{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1},"custom"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,"background"!==t.type&&(this.source=t.source,this.sourceLayer=t["source-layer"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new $i(e.layout)),e.paint)){this._transitionablePaint=new Wi(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ki(e.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,r={}){if(null!=e){const n=`layers.${this.id}.layout.${t}`;if(this._validate(wi,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e}getPaintProperty(t){return t.endsWith(aa)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,r={}){if(null!=e){const n=`layers.${this.id}.paint.${t}`;if(this._validate(bi,n,t,e,r))return!1}if(t.endsWith(aa))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;{const r=this._transitionablePaint._values[t],n="cross-faded-data-driven"===r.property.specification["property-type"],i=r.value.isDataDriven(),a=r.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const o=this._transitionablePaint._values[t].value;return o.isDataDriven()||i||n||this._handleOverridablePaintPropertyUpdate(t,a,o)}}_handleSpecialPaintPropertyUpdate(t){}_handleOverridablePaintPropertyUpdate(t,e,r){return!1}isHidden(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)}serialize(){const t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),_(t,((t,e)=>!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)))}_validate(t,e,r,n,i={}){return(!i||!1!==i.validate)&&Ti(this,t.call(vi,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Z,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof Ji&&hn(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1}}const sa={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class la{constructor(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class ca{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}}static deserialize(t){const e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(t){this.reserve(t),this.length=t}reserve(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function ua(t,e=1){let r=0,n=0;return{members:t.map((t=>{const i=(s=t.type,sa[s].BYTES_PER_ELEMENT),a=r=ha(r,Math.max(e,i)),o=t.components||1;var s;return n=Math.max(n,i),r+=i*o,{name:t.name,type:t.type,components:o,offset:a}})),size:ha(r,Math.max(n,e)),alignment:e}}function ha(t,e){return Math.ceil(t/e)*e}class fa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t}}fa.prototype.bytesPerElement=4,Mi("StructArrayLayout2i4",fa);class pa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t}}pa.prototype.bytesPerElement=6,Mi("StructArrayLayout3i6",pa);class da extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t}}da.prototype.bytesPerElement=8,Mi("StructArrayLayout4i8",da);class ma extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,o){const s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t}}ma.prototype.bytesPerElement=12,Mi("StructArrayLayout2i4i12",ma);class ga extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,o){const s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t}}ga.prototype.bytesPerElement=8,Mi("StructArrayLayout2i4ub8",ga);class ya extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t}}ya.prototype.bytesPerElement=8,Mi("StructArrayLayout2f8",ya);class va extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a,o,s,l,c){const u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l,c)}emplace(t,e,r,n,i,a,o,s,l,c,u){const h=10*t;return this.uint16[h+0]=e,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=a,this.uint16[h+5]=o,this.uint16[h+6]=s,this.uint16[h+7]=l,this.uint16[h+8]=c,this.uint16[h+9]=u,t}}va.prototype.bytesPerElement=20,Mi("StructArrayLayout10ui20",va);class xa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a,o,s,l,c,u,h){const f=this.length;return this.resize(f+1),this.emplace(f,t,e,r,n,i,a,o,s,l,c,u,h)}emplace(t,e,r,n,i,a,o,s,l,c,u,h,f){const p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=h,this.int16[p+11]=f,t}}xa.prototype.bytesPerElement=24,Mi("StructArrayLayout4i4ui4i24",xa);class _a extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t}}_a.prototype.bytesPerElement=12,Mi("StructArrayLayout3f12",_a);class ba extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){const r=1*t;return this.uint32[r+0]=e,t}}ba.prototype.bytesPerElement=4,Mi("StructArrayLayout1ul4",ba);class wa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a,o,s,l){const c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l)}emplace(t,e,r,n,i,a,o,s,l,c){const u=10*t,h=5*t;return this.int16[u+0]=e,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[h+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,t}}wa.prototype.bytesPerElement=20,Mi("StructArrayLayout6i1ul2ui20",wa);class Ta extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,o){const s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t}}Ta.prototype.bytesPerElement=12,Mi("StructArrayLayout2i2i2i12",Ta);class ka extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)}emplace(t,e,r,n,i,a){const o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t}}ka.prototype.bytesPerElement=16,Mi("StructArrayLayout2f1f2i16",ka);class Aa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,o){const s=16*t,l=4*t,c=8*t;return this.uint8[s+0]=e,this.uint8[s+1]=r,this.float32[l+1]=n,this.float32[l+2]=i,this.int16[c+6]=a,this.int16[c+7]=o,t}}Aa.prototype.bytesPerElement=16,Mi("StructArrayLayout2ub2f2i16",Aa);class Ma extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t}}Ma.prototype.bytesPerElement=6,Mi("StructArrayLayout3ui6",Ma);class Sa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g){const y=this.length;return this.resize(y+1),this.emplace(y,t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g)}emplace(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y){const v=24*t,x=12*t,_=48*t;return this.int16[v+0]=e,this.int16[v+1]=r,this.uint16[v+2]=n,this.uint16[v+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[v+10]=l,this.uint16[v+11]=c,this.uint16[v+12]=u,this.float32[x+7]=h,this.float32[x+8]=f,this.uint8[_+36]=p,this.uint8[_+37]=d,this.uint8[_+38]=m,this.uint32[x+10]=g,this.int16[v+22]=y,t}}Sa.prototype.bytesPerElement=48,Mi("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Sa);class Ea extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S){const E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S)}emplace(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E){const C=32*t,L=16*t;return this.int16[C+0]=e,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=i,this.int16[C+4]=a,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=h,this.uint16[C+11]=f,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=m,this.uint16[C+15]=g,this.uint16[C+16]=y,this.uint16[C+17]=v,this.uint16[C+18]=x,this.uint16[C+19]=_,this.uint16[C+20]=b,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[L+12]=k,this.float32[L+13]=A,this.float32[L+14]=M,this.uint16[C+30]=S,this.uint16[C+31]=E,t}}Ea.prototype.bytesPerElement=64,Mi("StructArrayLayout8i15ui1ul2f2ui64",Ea);class Ca extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){const r=1*t;return this.float32[r+0]=e,t}}Ca.prototype.bytesPerElement=4,Mi("StructArrayLayout1f4",Ca);class La extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=6*t,a=3*t;return this.uint16[i+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,t}}La.prototype.bytesPerElement=12,Mi("StructArrayLayout1ui2f12",La);class Ia extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t}}Ia.prototype.bytesPerElement=8,Mi("StructArrayLayout1ul2ui8",Ia);class Pa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t}}Pa.prototype.bytesPerElement=4,Mi("StructArrayLayout2ui4",Pa);class za extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){const r=1*t;return this.uint16[r+0]=e,t}}za.prototype.bytesPerElement=2,Mi("StructArrayLayout1ui2",za);class Oa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t}}Oa.prototype.bytesPerElement=16,Mi("StructArrayLayout4f16",Oa);class Da extends la{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}}Da.prototype.size=20;class Ra extends wa{get(t){return new Da(this,t)}}Mi("CollisionBoxArray",Ra);class Fa extends la{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(t){this._structArray.uint8[this._pos1+37]=t}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(t){this._structArray.uint8[this._pos1+38]=t}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(t){this._structArray.uint32[this._pos4+10]=t}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Fa.prototype.size=48;class Ba extends Sa{get(t){return new Fa(this,t)}}Mi("PlacedSymbolArray",Ba);class Na extends la{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(t){this._structArray.uint32[this._pos4+12]=t}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Na.prototype.size=64;class ja extends Ea{get(t){return new Na(this,t)}}Mi("SymbolInstanceArray",ja);class Ua extends Ca{getoffsetX(t){return this.float32[1*t+0]}}Mi("GlyphOffsetArray",Ua);class Va extends pa{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}Mi("SymbolLineVertexArray",Va);class qa extends la{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}qa.prototype.size=12;class Ha extends La{get(t){return new qa(this,t)}}Mi("TextAnchorOffsetArray",Ha);class Ga extends la{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}Ga.prototype.size=8;class Za extends Ia{get(t){return new Ga(this,t)}}Mi("FeatureIndexArray",Za);class Wa extends fa{}class Ya extends fa{}class Xa extends fa{}class $a extends ma{}class Ja extends ga{}class Ka extends ya{}class Qa extends va{}class to extends xa{}class eo extends _a{}class ro extends ba{}class no extends Ta{}class io extends Aa{}class ao extends Ma{}class oo extends Pa{}const so=ua([{name:"a_pos",components:2,type:"Int16"}],4),{members:lo,size:co,alignment:uo}=so;class ho{constructor(t=[]){this.segments=t}prepareSegment(t,e,r,n){let i=this.segments[this.segments.length-1];return t>ho.MAX_VERTEX_ARRAY_LENGTH&&T(`Max vertices per segment is ${ho.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!i||i.vertexLength+t>ho.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i}get(){return this.segments}destroy(){for(const t of this.segments)for(const e in t.vaos)t.vaos[e].destroy()}static simpleSegment(t,e,r,n){return new ho([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])}}function fo(t,e){return 256*(t=m(Math.floor(t),0,255))+m(Math.floor(e),0,255)}ho.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Mi("SegmentVector",ho);const po=ua([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]);var mo={exports:{}},go={exports:{}};!function(t){t.exports=function(t,e){var r,n,i,a,o,s,l,c;for(r=3&t.length,n=t.length-r,i=e,o=3432918353,s=461845907,c=0;c>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}}(go);var yo=go.exports,vo={exports:{}};!function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}}(vo);var xo=yo,_o=vo.exports;mo.exports=xo,mo.exports.murmur3=xo,mo.exports.murmur2=_o;var bo=r(mo.exports);class wo{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,e,r,n){this.ids.push(To(t)),this.positions.push(e,r,n)}getPositions(t){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");const e=To(t);let r=0,n=this.ids.length-1;for(;r>1;this.ids[t]>=e?n=t:r=t+1}const i=[];for(;this.ids[r]===e;){const t=this.positions[3*r],e=this.positions[3*r+1],n=this.positions[3*r+2];i.push({index:t,start:e,end:n}),r++}return i}static serialize(t,e){const r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return ko(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}}static deserialize(t){const e=new wo;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function To(t){const e=+t;return!isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:bo(String(t))}function ko(t,e,r,n){for(;r>1];let a=r-1,o=n+1;for(;;){do{a++}while(t[a]i);if(a>=o)break;Ao(t,a,o),Ao(e,3*a,3*o),Ao(e,3*a+1,3*o+1),Ao(e,3*a+2,3*o+2)}o-r`u_${t}`)),this.type=r}setUniform(t,e,r){t.set(r.constantOr(this.value))}getBinding(t,e,r){return"color"===this.type?new Co(t,e):new So(t,e)}}class zo{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr}setUniform(t,e,r,n){const i="u_pattern_to"===n?this.patternTo:"u_pattern_from"===n?this.patternFrom:"u_pixel_ratio_to"===n?this.pixelRatioTo:"u_pixel_ratio_from"===n?this.pixelRatioFrom:null;i&&t.set(i)}getBinding(t,e,r){return"u_pattern"===r.substr(0,9)?new Eo(t,e):new So(t,e)}}class Oo{constructor(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===r?2:1,offset:0}))),this.paintVertexArray=new n}populatePaintArray(t,e,r,n,i){const a=this.paintVertexArray.length,o=this.expression.evaluate(new Hi(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(a,t,o)}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i)}_setPaintValue(t,e,r){if("color"===this.type){const n=Io(r);for(let r=t;r`u_${t}_t`)),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===r?4:2,offset:0}))),this.paintVertexArray=new a}populatePaintArray(t,e,r,n,i){const a=this.expression.evaluate(new Hi(this.zoom),e,{},n,[],i),o=this.expression.evaluate(new Hi(this.zoom+1),e,{},n,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(s,t,a,o)}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,i,a)}_setPaintValue(t,e,r,n){if("color"===this.type){const i=Io(r),a=Io(n);for(let r=t;r`#define HAS_UNIFORM_${t}`)))}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const r=this.binders[e];if(r instanceof Oo||r instanceof Do)for(let e=0;e!0)){this.programConfigurations={};for(const n of t)this.programConfigurations[n.id]=new Fo(n,e,r);this.needsUpload=!1,this._featureMap=new wo,this._bufferOffset=0}populatePaintArrays(t,e,r,n,i,a){for(const r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e,n,i,a);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0}updatePaintArrays(t,e,r,n){for(const i of r)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(t,this._featureMap,e,i,n)||this.needsUpload}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy()}}function No(t,e){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[t]||[t.replace(`${e}-`,"").replace(/-/g,"_")]}function jo(t,e,r){const n={color:{source:ya,composite:Oa},number:{source:Ca,composite:ya}},i=function(t){return{"line-pattern":{source:Qa,composite:Qa},"fill-pattern":{source:Qa,composite:Qa},"fill-extrusion-pattern":{source:Qa,composite:Qa}}[t]}(t);return i&&i[r]||n[e][r]}Mi("ConstantBinder",Po),Mi("CrossFadedConstantBinder",zo),Mi("SourceExpressionBinder",Oo),Mi("CrossFadedCompositeBinder",Ro),Mi("CompositeExpressionBinder",Do),Mi("ProgramConfiguration",Fo,{omit:["_buffers"]}),Mi("ProgramConfigurationSet",Bo);const Uo=8192,Vo=Math.pow(2,14)-1,qo=-Vo-1;function Ho(t){const e=Uo/t.extent,r=t.loadGeometry();for(let t=0;tr.x+1||ar.y+1)&&T("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return r}function Go(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?Ho(t):[]}}function Zo(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}class Wo{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Ya,this.indexArray=new ao,this.segments=new ho,this.programConfigurations=new Bo(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,r){const n=this.layers[0],i=[];let a=null,o=!1;"circle"===n.type&&(a=n.layout.get("circle-sort-key"),o=!a.isConstant());for(const{feature:e,id:n,index:s,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Go(e,t);if(!this.layers[0]._featureFilter.filter(new Hi(this.zoom),c,r))continue;const u=o?a.evaluate(c,{},r):void 0,h={id:n,properties:e.properties,type:e.type,sourceLayerIndex:l,index:s,geometry:t?c.geometry:Ho(e),patterns:{},sortKey:u};i.push(h)}o&&i.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of i){const{geometry:i,index:a,sourceLayerIndex:o}=n,s=t[a].feature;this.addFeature(n,i,a,r),e.featureIndex.insert(s,i,a,o,this.index)}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,lo),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(t,e,r,n){for(const r of e)for(const e of r){const r=e.x,n=e.y;if(r<0||r>=Uo||n<0||n>=Uo)continue;const i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),a=i.vertexLength;Zo(this.layoutVertexArray,r,n,-1,-1),Zo(this.layoutVertexArray,r,n,1,-1),Zo(this.layoutVertexArray,r,n,1,1),Zo(this.layoutVertexArray,r,n,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+3,a+2),i.vertexLength+=4,i.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)}}function Yo(t,e){for(let r=0;r1){if(Ko(t,e))return!0;for(let n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function rs(t,e){let r,n,i,a=!1;for(let o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a)}return a}function ns(t,e){let r=!1;for(let n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function is(t,e,r){const n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;const a=k(t,e,r[0]);return a!==k(t,e,r[1])||a!==k(t,e,r[2])||a!==k(t,e,r[3])}function as(t,e,r){const n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function os(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function ss(t,e,r,n,i){if(!e[0]&&!e[1])return t;const o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);const s=[];for(let e=0;ews(t,e)))}(l,s),f=u?c*o:c;for(const t of n)for(const e of t){const t=u?e:ws(e,s);let r=f;const n=vs([],[e.x,e.y,0,1],s);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?r*=n[3]/a.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(r*=a.cameraToCenterDistance/n[3]),Xo(h,t,r))return!0}return!1}}function ws(t,e){const r=vs([],[t.x,t.y,0,1],e);return new a(r[0]/r[3],r[1]/r[3])}class Ts extends Wo{}let ks;Mi("HeatmapBucket",Ts,{omit:["layers"]});var As={get paint(){return ks=ks||new ia({"heatmap-radius":new ta(Z.paint_heatmap["heatmap-radius"]),"heatmap-weight":new ta(Z.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Qi(Z.paint_heatmap["heatmap-intensity"]),"heatmap-color":new na(Z.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Qi(Z.paint_heatmap["heatmap-opacity"])})}};function Ms(t,{width:e,height:r},n,i){if(i){if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==e*r*n)throw new RangeError(`mismatched image size. expected: ${i.length} but got: ${e*r*n}`)}else i=new Uint8Array(e*r*n);return t.width=e,t.height=r,t.data=i,t}function Ss(t,{width:e,height:r},n){if(e===t.width&&r===t.height)return;const i=Ms({},{width:e,height:r},n);Es(t,i,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,e),height:Math.min(t.height,r)},n),t.width=e,t.height=r,t.data=i.data}function Es(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");const o=t.data,s=e.data;if(o===s)throw new Error("srcData equals dstData, so image is already copied");for(let l=0;l{e[t.evaluationKey]=a;const o=t.expression.evaluate(e);i.data[r+n+0]=Math.floor(255*o.r/o.a),i.data[r+n+1]=Math.floor(255*o.g/o.a),i.data[r+n+2]=Math.floor(255*o.b/o.a),i.data[r+n+3]=Math.floor(255*o.a)};if(t.clips)for(let e=0,i=0;e80*r){s=1/0,l=1/0;let e=-1/0,n=-1/0;for(let a=r;ae&&(e=r),i>n&&(n=i)}c=Math.max(e-s,n-l),c=0!==c?32767/c:0}return qs(a,o,r,s,l,c,0),o}function Us(t,e,r,n,i){let a;if(i===function(t,e,r,n){let i=0;for(let a=e,o=r-n;a0)for(let i=e;i=e;i-=n)a=ll(i/n|0,t[i],t[i+1],a);return a&&rl(a,a.next)&&(cl(a),a=a.next),a}function Vs(t,e){if(!t)return t;e||(e=t);let r,n=t;do{if(r=!1,n.steiner||!rl(n,n.next)&&0!==el(n.prev,n,n.next))n=n.next;else{if(cl(n),n=e=n.prev,n===n.next)break;r=!0}}while(r||n!==e);return e}function qs(t,e,r,n,i,a,o){if(!t)return;!o&&a&&function(t,e,r,n){let i=t;do{0===i.z&&(i.z=Js(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){let e,r=1;do{let n,i=t;t=null;let a=null;for(e=0;i;){e++;let o=i,s=0;for(let t=0;t0||l>0&&o;)0!==s&&(0===l||!o||i.z<=o.z)?(n=i,i=i.nextZ,s--):(n=o,o=o.nextZ,l--),a?a.nextZ=n:t=n,n.prevZ=a,a=n;i=o}a.nextZ=null,r*=2}while(e>1)}(i)}(t,n,i,a);let s=t;for(;t.prev!==t.next;){const l=t.prev,c=t.next;if(a?Gs(t,n,i,a):Hs(t))e.push(l.i,t.i,c.i),cl(t),t=c.next,s=c.next;else if((t=c)===s){o?1===o?qs(t=Zs(Vs(t),e),e,r,n,i,a,2):2===o&&Ws(t,e,r,n,i,a):qs(Vs(t),e,r,n,i,a,1);break}}}function Hs(t){const e=t.prev,r=t,n=t.next;if(el(e,r,n)>=0)return!1;const i=e.x,a=r.x,o=n.x,s=e.y,l=r.y,c=n.y,u=ia?i>o?i:o:a>o?a:o,p=s>l?s>c?s:c:l>c?l:c;let d=n.next;for(;d!==e;){if(d.x>=u&&d.x<=f&&d.y>=h&&d.y<=p&&Qs(i,s,a,l,o,c,d.x,d.y)&&el(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function Gs(t,e,r,n){const i=t.prev,a=t,o=t.next;if(el(i,a,o)>=0)return!1;const s=i.x,l=a.x,c=o.x,u=i.y,h=a.y,f=o.y,p=sl?s>c?s:c:l>c?l:c,g=u>h?u>f?u:f:h>f?h:f,y=Js(p,d,e,r,n),v=Js(m,g,e,r,n);let x=t.prevZ,_=t.nextZ;for(;x&&x.z>=y&&_&&_.z<=v;){if(x.x>=p&&x.x<=m&&x.y>=d&&x.y<=g&&x!==i&&x!==o&&Qs(s,u,l,h,c,f,x.x,x.y)&&el(x.prev,x,x.next)>=0)return!1;if(x=x.prevZ,_.x>=p&&_.x<=m&&_.y>=d&&_.y<=g&&_!==i&&_!==o&&Qs(s,u,l,h,c,f,_.x,_.y)&&el(_.prev,_,_.next)>=0)return!1;_=_.nextZ}for(;x&&x.z>=y;){if(x.x>=p&&x.x<=m&&x.y>=d&&x.y<=g&&x!==i&&x!==o&&Qs(s,u,l,h,c,f,x.x,x.y)&&el(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;_&&_.z<=v;){if(_.x>=p&&_.x<=m&&_.y>=d&&_.y<=g&&_!==i&&_!==o&&Qs(s,u,l,h,c,f,_.x,_.y)&&el(_.prev,_,_.next)>=0)return!1;_=_.nextZ}return!0}function Zs(t,e){let r=t;do{const n=r.prev,i=r.next.next;!rl(n,i)&&nl(n,r,r.next,i)&&ol(n,i)&&ol(i,n)&&(e.push(n.i,r.i,i.i),cl(r),cl(r.next),r=t=i),r=r.next}while(r!==t);return Vs(r)}function Ws(t,e,r,n,i,a){let o=t;do{let t=o.next.next;for(;t!==o.prev;){if(o.i!==t.i&&tl(o,t)){let s=sl(o,t);return o=Vs(o,o.next),s=Vs(s,s.next),qs(o,e,r,n,i,a,0),void qs(s,e,r,n,i,a,0)}t=t.next}o=o.next}while(o!==t)}function Ys(t,e){return t.x-e.x}function Xs(t,e){const r=function(t,e){let r=e;const n=t.x,i=t.y;let a,o=-1/0;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){const t=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(t<=n&&t>o&&(o=t,a=r.x=r.x&&r.x>=l&&n!==r.x&&Qs(ia.x||r.x===a.x&&$s(a,r)))&&(a=r,u=e)}r=r.next}while(r!==s);return a}(t,e);if(!r)return e;const n=sl(r,t);return Vs(n,n.next),Vs(r,r.next)}function $s(t,e){return el(t.prev,t,e.prev)<0&&el(e.next,t,t.next)<0}function Js(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Ks(t){let e=t,r=t;do{(e.x=(t-o)*(a-s)&&(t-o)*(n-s)>=(r-o)*(e-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function tl(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&nl(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(ol(t,e)&&ol(e,t)&&function(t,e){let r=t,n=!1;const i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(el(t.prev,t,e.prev)||el(t,e.prev,e))||rl(t,e)&&el(t.prev,t,t.next)>0&&el(e.prev,e,e.next)>0)}function el(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function rl(t,e){return t.x===e.x&&t.y===e.y}function nl(t,e,r,n){const i=al(el(t,e,r)),a=al(el(t,e,n)),o=al(el(r,n,t)),s=al(el(r,n,e));return i!==a&&o!==s||!(0!==i||!il(t,r,e))||!(0!==a||!il(t,n,e))||!(0!==o||!il(r,t,n))||!(0!==s||!il(r,e,n))}function il(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function al(t){return t>0?1:t<0?-1:0}function ol(t,e){return el(t.prev,t,t.next)<0?el(t,e,t.next)>=0&&el(t,t.prev,e)>=0:el(t,e,t.prev)<0||el(t,t.next,e)<0}function sl(t,e){const r=ul(t.i,t.x,t.y),n=ul(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function ll(t,e,r,n){const i=ul(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function cl(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function ul(t,e,r){return{i:t,x:e,y:r,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function hl(t,e,r){const n=r.patternDependencies;let i=!1;for(const r of e){const e=r.paint.get(`${t}-pattern`);e.isConstant()||(i=!0);const a=e.constantOr(null);a&&(i=!0,n[a.to]=!0,n[a.from]=!0)}return i}function fl(t,e,r,n,i){const a=i.patternDependencies;for(const o of e){const e=o.paint.get(`${t}-pattern`).value;if("constant"!==e.kind){let t=e.evaluate({zoom:n-1},r,{},i.availableImages),s=e.evaluate({zoom:n},r,{},i.availableImages),l=e.evaluate({zoom:n+1},r,{},i.availableImages);t=t&&t.name?t.name:t,s=s&&s.name?s.name:s,l=l&&l.name?l.name:l,a[t]=!0,a[s]=!0,a[l]=!0,r.patterns[o.id]={min:t,mid:s,max:l}}}return r}class pl{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Xa,this.indexArray=new ao,this.indexArray2=new oo,this.programConfigurations=new Bo(t.layers,t.zoom),this.segments=new ho,this.segments2=new ho,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,r){this.hasPattern=hl("fill",this.layers,e);const n=this.layers[0].layout.get("fill-sort-key"),i=!n.isConstant(),a=[];for(const{feature:o,id:s,index:l,sourceLayerIndex:c}of t){const t=this.layers[0]._featureFilter.needGeometry,u=Go(o,t);if(!this.layers[0]._featureFilter.filter(new Hi(this.zoom),u,r))continue;const h=i?n.evaluate(u,{},r,e.availableImages):void 0,f={id:s,properties:o.properties,type:o.type,sourceLayerIndex:c,index:l,geometry:t?u.geometry:Ho(o),patterns:{},sortKey:h};a.push(f)}i&&a.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of a){const{geometry:i,index:a,sourceLayerIndex:o}=n;if(this.hasPattern){const t=fl("fill",this.layers,n,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(n,i,a,r,{});const s=t[a].feature;e.featureIndex.insert(s,i,a,o,this.index)}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Fs),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(t,e,r,n,i){for(const t of br(e,500)){let e=0;for(const r of t)e+=r.length;const r=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),n=r.vertexLength,i=[],a=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&a.push(i.length/2);const r=this.segments2.prepareSegment(e.length,this.layoutVertexArray,this.indexArray2),n=r.vertexLength;this.layoutVertexArray.emplaceBack(e[0].x,e[0].y),this.indexArray2.emplaceBack(n+e.length-1,n),i.push(e[0].x),i.push(e[0].y);for(let t=1;t>3}if(i--,1===n||2===n)a+=t.readSVarint(),o+=t.readSVarint(),1===n&&(e&&s.push(e),e=[]),e.push(new kl(a,o));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&s.push(e),s},Ml.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())c&&(c=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},Ml.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=Ml.types[this.type];function u(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}Il.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Cl(this._pbf,e,this.extent,this._keys,this._values)};var zl=Ll,Ol=function(t,e){this.layers=t.readFields(Dl,{},e)};function Dl(t,e,r){if(3===t){var n=new zl(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Tl.VectorTile=Ol,Tl.VectorTileFeature=Al,Tl.VectorTileLayer=Ll;const Rl=Tl.VectorTileFeature.types,Fl=Math.pow(2,13);function Bl(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*Fl)+o,i*Fl*2,a*Fl*2,Math.round(s))}class Nl{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new $a,this.centroidVertexArray=new Wa,this.indexArray=new ao,this.programConfigurations=new Bo(t.layers,t.zoom),this.segments=new ho,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,r){this.features=[],this.hasPattern=hl("fill-extrusion",this.layers,e);for(const{feature:n,id:i,index:a,sourceLayerIndex:o}of t){const t=this.layers[0]._featureFilter.needGeometry,s=Go(n,t);if(!this.layers[0]._featureFilter.filter(new Hi(this.zoom),s,r))continue;const l={id:i,sourceLayerIndex:o,index:a,geometry:t?s.geometry:Ho(n),properties:n.properties,type:n.type,patterns:{}};this.hasPattern?this.features.push(fl("fill-extrusion",this.layers,l,this.zoom,e)):this.addFeature(l,l.geometry,a,r,{}),e.featureIndex.insert(n,l.geometry,a,o,this.index,!0)}}addFeatures(t,e,r){for(const t of this.features){const{geometry:n}=t;this.addFeature(t,n,t.index,e,r)}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,_l),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,xl.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(t,e,r,n,i){for(const r of br(e,500)){const e={x:0,y:0,vertexCount:0};let n=0;for(const t of r)n+=t.length;let i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of r){if(0===t.length)continue;if(Ul(t))continue;let r=0;for(let n=0;n=1){const o=t[n-1];if(!jl(a,o)){i.vertexLength+4>ho.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=a.sub(o)._perp()._unit(),n=o.dist(a);r+n>32768&&(r=0),Bl(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,0,r),Bl(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,1,r),e.x+=2*a.x,e.y+=2*a.y,e.vertexCount+=2,r+=n,Bl(this.layoutVertexArray,o.x,o.y,t.x,t.y,0,0,r),Bl(this.layoutVertexArray,o.x,o.y,t.x,t.y,0,1,r),e.x+=2*o.x,e.y+=2*o.y,e.vertexCount+=2;const s=i.vertexLength;this.indexArray.emplaceBack(s,s+2,s+1),this.indexArray.emplaceBack(s+1,s+2,s+3),i.vertexLength+=4,i.primitiveLength+=2}}}}if(i.vertexLength+n>ho.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(n,this.layoutVertexArray,this.indexArray)),"Polygon"!==Rl[t.type])continue;const a=[],o=[],s=i.vertexLength;for(const t of r)if(0!==t.length){t!==r[0]&&o.push(a.length/2);for(let r=0;rUo)||t.y===e.y&&(t.y<0||t.y>Uo)}function Ul(t){return t.every((t=>t.x<0))||t.every((t=>t.x>Uo))||t.every((t=>t.y<0))||t.every((t=>t.y>Uo))}let Vl;Mi("FillExtrusionBucket",Nl,{omit:["layers","features"]});var ql={get paint(){return Vl=Vl||new ia({"fill-extrusion-opacity":new Qi(Z["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new ta(Z["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Qi(Z["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Qi(Z["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new ea(Z["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new ta(Z["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new ta(Z["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Qi(Z["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class Hl extends oa{constructor(t){super(t,ql)}createBucket(t){return new Nl(t)}queryRadius(){return os(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(t,e,r,n,i,o,s,l){const c=ss(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),o.angle,s),u=this.paint.get("fill-extrusion-height").evaluate(e,r),h=this.paint.get("fill-extrusion-base").evaluate(e,r),f=function(t,e,r,n){const i=[];for(const r of t){const t=[r.x,r.y,n,1];vs(t,t,e),i.push(new a(t[0]/t[3],t[1]/t[3]))}return i}(c,l,0,0),p=function(t,e,r,n){const i=[],o=[],s=n[8]*e,l=n[9]*e,c=n[10]*e,u=n[11]*e,h=n[8]*r,f=n[9]*r,p=n[10]*r,d=n[11]*r;for(const e of t){const t=[],r=[];for(const i of e){const e=i.x,o=i.y,m=n[0]*e+n[4]*o+n[12],g=n[1]*e+n[5]*o+n[13],y=n[2]*e+n[6]*o+n[14],v=n[3]*e+n[7]*o+n[15],x=y+c,_=v+u,b=m+h,w=g+f,T=y+p,k=v+d,A=new a((m+s)/_,(g+l)/_);A.z=x/_,t.push(A);const M=new a(b/k,w/k);M.z=T/k,r.push(M)}i.push(t),o.push(r)}return[i,o]}(n,h,u,l);return function(t,e,r){let n=1/0;$o(r,e)&&(n=Zl(r,e[0]));for(let i=0;it.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={}})),this.layoutVertexArray=new Ja,this.layoutVertexArray2=new Ka,this.indexArray=new ao,this.programConfigurations=new Bo(t.layers,t.zoom),this.segments=new ho,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,r){this.hasPattern=hl("line",this.layers,e);const n=this.layers[0].layout.get("line-sort-key"),i=!n.isConstant(),a=[];for(const{feature:e,id:o,index:s,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Go(e,t);if(!this.layers[0]._featureFilter.filter(new Hi(this.zoom),c,r))continue;const u=i?n.evaluate(c,{},r):void 0,h={id:o,properties:e.properties,type:e.type,sourceLayerIndex:l,index:s,geometry:t?c.geometry:Ho(e),patterns:{},sortKey:u};a.push(h)}i&&a.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of a){const{geometry:i,index:a,sourceLayerIndex:o}=n;if(this.hasPattern){const t=fl("line",this.layers,n,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(n,i,a,r,{});const s=t[a].feature;e.featureIndex.insert(s,i,a,o,this.index)}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Kl)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Yl),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(t){if(t.properties&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_end"))return{start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,r,n,i){const a=this.layers[0].layout,o=a.get("line-join").evaluate(t,{}),s=a.get("line-cap"),l=a.get("line-miter-limit"),c=a.get("line-round-limit");this.lineClips=this.lineFeatureClips(t);for(const r of e)this.addLine(r,t,o,s,l,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n)}addLine(t,e,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[s-1].equals(t[s-2]);)s--;let l=0;for(;l0;if(b&&e>l){const t=h.dist(f);if(t>2*c){const e=h.sub(h.sub(f)._mult(c/t)._round());this.updateDistance(f,e),this.addCurrentVertex(e,d,0,0,u),f=e}}const T=f&&p;let k=T?r:o?"butt":n;if(T&&"round"===k&&(xi&&(k="bevel"),"bevel"===k&&(x>2&&(k="flipbevel"),x100)g=m.mult(-1);else{const t=x*d.add(m).mag()/d.sub(m).mag();g._perp()._mult(t*(w?-1:1))}this.addCurrentVertex(h,g,0,0,u),this.addCurrentVertex(h,g.mult(-1),0,0,u)}else if("bevel"===k||"fakeround"===k){const t=-Math.sqrt(x*x-1),e=w?t:0,r=w?0:t;if(f&&this.addCurrentVertex(h,d,e,r,u),"fakeround"===k){const t=Math.round(180*_/Math.PI/20);for(let e=1;e2*c){const e=h.add(p.sub(h)._mult(c/t)._round());this.updateDistance(h,e),this.addCurrentVertex(e,m,0,0,u),h=e}}}}addCurrentVertex(t,e,r,n,i,a=!1){const o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,c=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,c,a,!0,-n,i),this.distance>nc/2&&0===this.totalDistance&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(t,e,r,n,i,a))}addHalfVertex({x:t,y:e},r,n,i,a,o,s){const l=.5*(this.lineClips?this.scaledDistance*(nc-1):this.scaledDistance);if(this.layoutVertexArray.emplaceBack((t<<1)+(i?1:0),(e<<1)+(a?1:0),Math.round(63*r)+128,Math.round(63*n)+128,1+(0===o?0:o<0?-1:1)|(63&l)<<2,l>>6),this.lineClips){const t=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(t,this.lineClipsArray.length)}const c=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),s.primitiveLength++),a?this.e2=c:this.e1=c}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance()}}let ac;Mi("LineBucket",ic,{omit:["layers","patternFeatures"]});let oc;var sc={get paint(){return oc=oc||new ia({"line-opacity":new ta(Z.paint_line["line-opacity"]),"line-color":new ta(Z.paint_line["line-color"]),"line-translate":new Qi(Z.paint_line["line-translate"]),"line-translate-anchor":new Qi(Z.paint_line["line-translate-anchor"]),"line-width":new ta(Z.paint_line["line-width"]),"line-gap-width":new ta(Z.paint_line["line-gap-width"]),"line-offset":new ta(Z.paint_line["line-offset"]),"line-blur":new ta(Z.paint_line["line-blur"]),"line-dasharray":new ra(Z.paint_line["line-dasharray"]),"line-pattern":new ea(Z.paint_line["line-pattern"]),"line-gradient":new na(Z.paint_line["line-gradient"])})},get layout(){return ac=ac||new ia({"line-cap":new Qi(Z.layout_line["line-cap"]),"line-join":new ta(Z.layout_line["line-join"]),"line-miter-limit":new Qi(Z.layout_line["line-miter-limit"]),"line-round-limit":new Qi(Z.layout_line["line-round-limit"]),"line-sort-key":new ta(Z.layout_line["line-sort-key"])})}};class lc extends ta{possiblyEvaluate(t,e){return e=new Hi(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,zoomHistory:e.zoomHistory,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,r,n){return e=y({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,r,n)}}let cc;class uc extends oa{constructor(t){super(t,sc),this.gradientVersion=0,cc||(cc=new lc(sc.paint.properties["line-width"].specification),cc.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(t){if("line-gradient"===t){const t=this.gradientExpression();!function(t){return void 0!==t._styleExpression}(t)?this.stepInterpolant=!1:this.stepInterpolant=t._styleExpression.expression instanceof Ae,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(t,e){super.recalculate(t,e),this.paint._values["line-floorwidth"]=cc.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,t)}createBucket(t){return new ic(t)}queryRadius(t){const e=t,r=hc(as("line-width",this,e),as("line-gap-width",this,e)),n=as("line-offset",this,e);return r/2+Math.abs(n)+os(this.paint.get("line-translate"))}queryIntersectsFeature(t,e,r,n,i,o,s){const l=ss(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),c=s/2*hc(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),u=this.paint.get("line-offset").evaluate(e,r);return u&&(n=function(t,e){const r=[];for(let n=0;n=3)for(let e=0;e0?e+2*t:t}const fc=ua([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),pc=ua([{name:"a_projected_pos",components:3,type:"Float32"}],4);ua([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const dc=ua([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);ua([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const mc=ua([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),gc=ua([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function yc(t,e,r){return t.sections.forEach((t=>{t.text=function(t,e,r){const n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),qi.applyArabicShaping&&(t=qi.applyArabicShaping(t)),t}(t.text,e,r)})),t}ua([{name:"triangle",components:3,type:"Uint16"}]),ua([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),ua([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"collisionCircleDiameter"},{type:"Uint16",name:"textAnchorOffsetStartIndex"},{type:"Uint16",name:"textAnchorOffsetEndIndex"}]),ua([{type:"Float32",name:"offsetX"}]),ua([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),ua([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);const vc={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var xc=24,_c=wc,bc={read:function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},write:function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m}};function wc(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}wc.Varint=0,wc.Fixed64=1,wc.Bytes=2,wc.Fixed32=5;var Tc=4294967296,kc=1/Tc,Ac="undefined"==typeof TextDecoder?null:new TextDecoder("utf-8");function Mc(t){return t.type===wc.Bytes?t.readVarint()+t.pos:t.pos+1}function Sc(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Ec(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function Cc(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function jc(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}wc.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Bc(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=jc(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Bc(this.buf,this.pos)+Bc(this.buf,this.pos+4)*Tc;return this.pos+=8,t},readSFixed64:function(){var t=Bc(this.buf,this.pos)+jc(this.buf,this.pos+4)*Tc;return this.pos+=8,t},readFloat:function(){var t=bc.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=bc.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Sc(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Sc(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Sc(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Sc(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Sc(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Sc(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Ac?function(t,e,r){return Ac.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==wc.Bytes)return t.push(this.readVarint(e));var r=Mc(this);for(t=t||[];this.pos127;);else if(e===wc.Bytes)this.pos=this.readVarint()+this.pos;else if(e===wc.Fixed32)this.pos+=4;else{if(e!==wc.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Ec(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),bc.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),bc.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&Ec(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,wc.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Cc,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Lc,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,zc,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Ic,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Pc,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Oc,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Dc,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Rc,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Fc,e)},writeBytesField:function(t,e){this.writeTag(t,wc.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,wc.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,wc.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,wc.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,wc.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,wc.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,wc.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,wc.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,wc.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,wc.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var Uc=r(_c);const Vc=3;function qc(t,e,r){1===t&&r.readMessage(Hc,e)}function Hc(t,e,r){if(3===t){const{id:t,bitmap:n,width:i,height:a,left:o,top:s,advance:l}=r.readMessage(Gc,{});e.push({id:t,bitmap:new Cs({width:i+2*Vc,height:a+2*Vc},n),metrics:{width:i,height:a,left:o,top:s,advance:l}})}}function Gc(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}const Zc=Vc;function Wc(t){let e=0,r=0;for(const n of t)e+=n.w*n.h,r=Math.max(r,n.w);t.sort(((t,e)=>e.h-t.h));const n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}];let i=0,a=0;for(const e of t)for(let t=n.length-1;t>=0;t--){const r=n[t];if(!(e.w>r.w||e.h>r.h)){if(e.x=r.x,e.y=r.y,a=Math.max(a,e.y+e.h),i=Math.max(i,e.x+e.w),e.w===r.w&&e.h===r.h){const e=n.pop();t=0&&r>=t&&ru[this.text.charCodeAt(r)];r--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e)}substring(t,e){const r=new tu;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Qc.forText(t.scale,t.fontStack||e));const r=this.sections.length-1;for(let e=0;e=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function eu(e,r,n,i,a,o,s,l,c,u,h,f,p,d,m){const g=tu.fromFeature(e,a);let y;f===t.ai.vertical&&g.verticalizePunctuation();const{processBidirectionalText:v,processStyledBidirectionalText:x}=qi;if(v&&1===g.sections.length){y=[];const t=v(g.toString(),uu(g,u,o,r,i,d));for(const e of t){const t=new tu;t.text=e,t.sections=g.sections;for(let r=0;r0&&n>b&&(b=n)}else{const t=n[m.fontStack],e=t&&t[y];if(e&&e.rect)w=e.rect,x=e.metrics;else{const t=r[m.fontStack],e=t&&t[y];if(!e)continue;x=e.metrics}v=(a-m.scale)*xc}A?(e.verticalizable=!0,_.push({glyph:y,imageName:T,x:p,y:d+v,vertical:A,scale:m.scale,fontStack:m.fontStack,sectionIndex:g,metrics:x,rect:w}),p+=k*m.scale+u):(_.push({glyph:y,imageName:T,x:p,y:d+v,vertical:A,scale:m.scale,fontStack:m.fontStack,sectionIndex:g,metrics:x,rect:w}),p+=x.advance*m.scale+u)}if(0!==_.length){const t=p-u;m=Math.max(t,m),fu(_,0,_.length-1,y,b)}p=0;const w=o*a+b;x.lineOffset=Math.max(b,l),d+=w,g=Math.max(w,g),++v}const x=d-Kc,{horizontalAlign:_,verticalAlign:b}=hu(s);(function(t,e,r,n,i,a,o,s,l){const c=(e-r)*i;let u=0;u=a!==o?-s*n-Kc:(-n*l+.5)*o;for(const e of t)for(const t of e.positionedGlyphs)t.x+=c,t.y+=u})(e.positionedLines,y,_,b,m,g,o,x,a.length),e.top+=-b*x,e.bottom=e.top+x,e.left+=-_*m,e.right=e.left+m}(b,r,n,i,y,s,l,c,f,u,p,m),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return!1;return!0}(_)&&b}const ru={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},nu={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},iu={40:!0};function au(t,e,r,n,i,a){if(e.imageName){const t=n[e.imageName];return t?t.displaySize[0]*e.scale*xc/a+i:0}{const n=r[e.fontStack],a=n&&n[t];return a?a.metrics.advance*e.scale+i:0}}function ou(t,e,r,n){const i=Math.pow(t-e,2);return n?t=0;let c=0;for(let r=0;rh){const t=Math.ceil(a/h);i*=t/o,o=t}return{x1:n,y1:i,x2:n+a,y2:i+o}}function mu(t,e,r,n,i,a){const o=t.image;let s;if(o.content){const t=o.content,e=o.pixelRatio||1;s=[t[0]/e,t[1]/e,o.displaySize[0]-t[2]/e,o.displaySize[1]-t[3]/e]}const l=e.left*a,c=e.right*a;let u,h,f,p;"width"===r||"both"===r?(p=i[0]+l-n[3],h=i[0]+c+n[1]):(p=i[0]+(l+c-o.displaySize[0])/2,h=p+o.displaySize[0]);const d=e.top*a,m=e.bottom*a;return"height"===r||"both"===r?(u=i[1]+d-n[0],f=i[1]+m+n[2]):(u=i[1]+(d+m-o.displaySize[1])/2,f=u+o.displaySize[1]),{image:o,top:u,right:h,bottom:f,left:p,collisionPadding:s}}const gu=255,yu=128,vu=gu*yu;function xu(t,e){const{expression:r}=e;if("constant"===r.kind)return{kind:"constant",layoutSize:r.evaluate(new Hi(t+1))};if("source"===r.kind)return{kind:"source"};{const{zoomStops:e,interpolationType:n}=r;let i=0;for(;it.id)),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=ps([]),this.placementViewportMatrix=ps([]);const r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=xu(this.zoom,r["text-size"]),this.iconSizeData=xu(this.zoom,r["icon-size"]);const n=this.layers[0].layout,i=n.get("symbol-sort-key"),a=n.get("symbol-z-order");this.canOverlap="never"!==_u(n,"text-overlap","text-allow-overlap")||"never"!==_u(n,"icon-overlap","icon-allow-overlap")||n.get("text-ignore-placement")||n.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==a&&!i.isConstant();const o="viewport-y"===a||"auto"===a&&!this.sortFeaturesByKey;this.sortFeaturesByY=o&&this.canOverlap,"point"===n.get("symbol-placement")&&(this.writingModes=n.get("text-writing-mode").map((e=>t.ai[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID}createArrays(){this.text=new Mu(new Bo(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new Mu(new Bo(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new Ua,this.lineVertexArray=new Va,this.symbolInstances=new ja,this.textAnchorOffsets=new Ha}calculateGlyphDependencies(t,e,r,n,i){for(let a=0;a0)&&("constant"!==o.value.kind||o.value.value.length>0),u="constant"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,h=a.get("symbol-sort-key");if(this.features=[],!c&&!u)return;const f=r.iconDependencies,p=r.glyphDependencies,d=r.availableImages,m=new Hi(this.zoom);for(const{feature:r,id:s,index:l,sourceLayerIndex:g}of e){const e=i._featureFilter.needGeometry,y=Go(r,e);if(!i._featureFilter.filter(m,y,n))continue;let v,x;if(e||(y.geometry=Ho(r)),c){const t=i.getValueAndResolveTokens("text-field",y,n,d),e=Kt.factory(t),r=this.hasRTLText=this.hasRTLText||Au(e);(!r||"unavailable"===qi.getRTLTextPluginStatus()||r&&qi.isParsed())&&(v=yc(e,i,y))}if(u){const t=i.getValueAndResolveTokens("icon-image",y,n,d);x=t instanceof re?t:re.fromString(t)}if(!v&&!x)continue;const _=this.sortFeaturesByKey?h.evaluate(y,{},n):void 0,b={id:s,text:v,icon:x,index:l,sourceLayerIndex:g,geometry:y.geometry,properties:r.properties,type:bu[r.type],sortKey:_};if(this.features.push(b),x&&(f[x.name]=!0),v){const e=o.evaluate(y,{},n).join(","),r="viewport"!==a.get("text-rotation-alignment")&&"point"!==a.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.ai.vertical)>=0;for(const t of v.sections)if(t.image)f[t.image.name]=!0;else{const n=Oi(v.toString()),i=t.fontStack||e,a=p[i]=p[i]||{};this.calculateGlyphDependencies(t.text,a,r,this.allowVerticalPlacement,n)}}}"line"===a.get("symbol-placement")&&(this.features=function(t){const e={},r={},n=[];let i=0;function a(e){n.push(t[e]),i++}function o(t,e,i){const a=r[t];return delete r[t],r[e]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(t,r,i){const a=e[r];return delete e[r],e[t]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function l(t,e,r){const n=r?e[0][e[0].length-1]:e[0][0];return`${t}:${n.x}:${n.y}`}for(let c=0;ct.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey))}update(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(t,e){const r=this.lineVertexArray.length;if(void 0!==t.segment){let r=t.dist(e[t.segment+1]),n=t.dist(e[t.segment]);const i={};for(let n=t.segment+1;n=0;r--)i[r]={x:e[r].x,y:e[r].y,tileUnitDistanceFromAnchor:n},r>0&&(n+=e[r-1].dist(e[r]));for(let t=0;t0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(t,e){const r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs;for(let e=r.vertexStartIndex;en[t]-n[e]||i[e]-i[t])),a}addToSortKeyRanges(t,e){const r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1})}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex),[e.rightJustifiedTextSymbolIndex,e.centerJustifiedTextSymbolIndex,e.leftJustifiedTextSymbolIndex].forEach(((t,e,r)=>{t>=0&&r.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t)})),e.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,e.verticalPlacedTextSymbolIndex),e.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.placedIconSymbolIndex),e.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let Cu;Mi("SymbolBucket",Eu,{omit:["layers","collisionBoxArray","features","compareText"]}),Eu.MAX_GLYPHS=65535,Eu.addDynamicAttributes=ku;let Lu;var Iu={get paint(){return Lu=Lu||new ia({"icon-opacity":new ta(Z.paint_symbol["icon-opacity"]),"icon-color":new ta(Z.paint_symbol["icon-color"]),"icon-halo-color":new ta(Z.paint_symbol["icon-halo-color"]),"icon-halo-width":new ta(Z.paint_symbol["icon-halo-width"]),"icon-halo-blur":new ta(Z.paint_symbol["icon-halo-blur"]),"icon-translate":new Qi(Z.paint_symbol["icon-translate"]),"icon-translate-anchor":new Qi(Z.paint_symbol["icon-translate-anchor"]),"text-opacity":new ta(Z.paint_symbol["text-opacity"]),"text-color":new ta(Z.paint_symbol["text-color"],{runtimeType:ft,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),"text-halo-color":new ta(Z.paint_symbol["text-halo-color"]),"text-halo-width":new ta(Z.paint_symbol["text-halo-width"]),"text-halo-blur":new ta(Z.paint_symbol["text-halo-blur"]),"text-translate":new Qi(Z.paint_symbol["text-translate"]),"text-translate-anchor":new Qi(Z.paint_symbol["text-translate-anchor"])})},get layout(){return Cu=Cu||new ia({"symbol-placement":new Qi(Z.layout_symbol["symbol-placement"]),"symbol-spacing":new Qi(Z.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Qi(Z.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new ta(Z.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Qi(Z.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Qi(Z.layout_symbol["icon-allow-overlap"]),"icon-overlap":new Qi(Z.layout_symbol["icon-overlap"]),"icon-ignore-placement":new Qi(Z.layout_symbol["icon-ignore-placement"]),"icon-optional":new Qi(Z.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Qi(Z.layout_symbol["icon-rotation-alignment"]),"icon-size":new ta(Z.layout_symbol["icon-size"]),"icon-text-fit":new Qi(Z.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Qi(Z.layout_symbol["icon-text-fit-padding"]),"icon-image":new ta(Z.layout_symbol["icon-image"]),"icon-rotate":new ta(Z.layout_symbol["icon-rotate"]),"icon-padding":new ta(Z.layout_symbol["icon-padding"]),"icon-keep-upright":new Qi(Z.layout_symbol["icon-keep-upright"]),"icon-offset":new ta(Z.layout_symbol["icon-offset"]),"icon-anchor":new ta(Z.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Qi(Z.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Qi(Z.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Qi(Z.layout_symbol["text-rotation-alignment"]),"text-field":new ta(Z.layout_symbol["text-field"]),"text-font":new ta(Z.layout_symbol["text-font"]),"text-size":new ta(Z.layout_symbol["text-size"]),"text-max-width":new ta(Z.layout_symbol["text-max-width"]),"text-line-height":new Qi(Z.layout_symbol["text-line-height"]),"text-letter-spacing":new ta(Z.layout_symbol["text-letter-spacing"]),"text-justify":new ta(Z.layout_symbol["text-justify"]),"text-radial-offset":new ta(Z.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Qi(Z.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new ta(Z.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new ta(Z.layout_symbol["text-anchor"]),"text-max-angle":new Qi(Z.layout_symbol["text-max-angle"]),"text-writing-mode":new Qi(Z.layout_symbol["text-writing-mode"]),"text-rotate":new ta(Z.layout_symbol["text-rotate"]),"text-padding":new Qi(Z.layout_symbol["text-padding"]),"text-keep-upright":new Qi(Z.layout_symbol["text-keep-upright"]),"text-transform":new ta(Z.layout_symbol["text-transform"]),"text-offset":new ta(Z.layout_symbol["text-offset"]),"text-allow-overlap":new Qi(Z.layout_symbol["text-allow-overlap"]),"text-overlap":new Qi(Z.layout_symbol["text-overlap"]),"text-ignore-placement":new Qi(Z.layout_symbol["text-ignore-placement"]),"text-optional":new Qi(Z.layout_symbol["text-optional"])})}};class Pu{constructor(t){if(void 0===t.property.overrides)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=t.property.overrides?t.property.overrides.runtimeType:lt,this.defaultValue=t}evaluate(t){if(t.formattedSection){const e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Mi("FormatSectionOverride",Pu,{omit:["defaultValue"]});class zu extends oa{constructor(t){super(t,Iu)}recalculate(t,e){if(super.recalculate(t,e),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]="map"===this.layout.get("text-rotation-alignment")?"map":"viewport"),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){const t=this.layout.get("text-writing-mode");if(t){const e=[];for(const r of t)e.indexOf(r)<0&&e.push(r);this.layout._values["text-writing-mode"]=e}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(t,e,r,n){const i=this.layout.get(t).evaluate(e,{},r,n),a=this._unevaluatedLayout._values[t];return a.isDataDriven()||kn(a.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,((e,r)=>t&&r in t?String(t[r]):""))}(e.properties,i)}createBucket(t){return new Eu(t)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(const t of Iu.paint.overridableProperties){if(!zu.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),r=new Pu(e),n=new Tn(r,e.property.specification);let i=null;i="constant"===e.value.kind||"source"===e.value.kind?new Mn("source",n):new Sn("composite",n,e.value.zoomStops),this.paint._values[t]=new Ji(e.property,i,e.parameters)}}_handleOverridablePaintPropertyUpdate(t,e,r){return!(!this.layout||e.isDataDriven()||r.isDataDriven())&&zu.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const r=t.get("text-field"),n=Iu.paint.properties[e];let i=!1;const a=t=>{for(const e of t)if(n.overrides&&n.overrides.hasOverride(e))return void(i=!0)};if("constant"===r.value.kind&&r.value.value instanceof Kt)a(r.value.value.sections);else if("source"===r.value.kind){const t=e=>{if(!i)if(e instanceof se&&ae(e.value)===gt){const t=e.value;a(t.sections)}else e instanceof We?a(e.sections):e.eachChild(t)},e=r.value;e._styleExpression&&t(e._styleExpression.expression)}return i}}let Ou;var Du={get paint(){return Ou=Ou||new ia({"background-color":new Qi(Z.paint_background["background-color"]),"background-pattern":new ra(Z.paint_background["background-pattern"]),"background-opacity":new Qi(Z.paint_background["background-opacity"])})}};class Ru extends oa{constructor(t){super(t,Du)}}let Fu;var Bu={get paint(){return Fu=Fu||new ia({"raster-opacity":new Qi(Z.paint_raster["raster-opacity"]),"raster-hue-rotate":new Qi(Z.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Qi(Z.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Qi(Z.paint_raster["raster-brightness-max"]),"raster-saturation":new Qi(Z.paint_raster["raster-saturation"]),"raster-contrast":new Qi(Z.paint_raster["raster-contrast"]),"raster-resampling":new Qi(Z.paint_raster["raster-resampling"]),"raster-fade-duration":new Qi(Z.paint_raster["raster-fade-duration"])})}};class Nu extends oa{constructor(t){super(t,Bu)}}class ju extends oa{constructor(t){super(t,{}),this.onAdd=t=>{this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)},this.onRemove=t=>{this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)},this.implementation=t}is3D(){return"3d"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}class Uu{constructor(t){this._methodToThrottle=t,this._triggered=!1,"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._methodToThrottle()}),0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}const Vu=6371008.8;class qu{constructor(t,e){if(isNaN(t)||isNaN(e))throw new Error(`Invalid LngLat object: (${t}, ${e})`);if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new qu(g(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return Vu*Math.acos(Math.min(i,1))}static convert(t){if(t instanceof qu)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new qu(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new qu(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}const Hu=2*Math.PI*Vu;function Gu(t){return Hu*Math.cos(t*Math.PI/180)}function Zu(t){return(180+t)/360}function Wu(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Yu(t,e){return t/Gu(e)}function Xu(t){const e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}class $u{constructor(t,e,r=0){this.x=+t,this.y=+e,this.z=+r}static fromLngLat(t,e=0){const r=qu.convert(t);return new $u(Zu(r.lng),Wu(r.lat),Yu(e,r.lat))}toLngLat(){return new qu(360*this.x-180,Xu(this.y))}toAltitude(){return t=this.z,e=this.y,t*Gu(Xu(e));var t,e}meterInMercatorCoordinateUnits(){return 1/Hu*(t=Xu(this.y),1/Math.cos(t*Math.PI/180));var t}}function Ju(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}class Ku{constructor(t,e,r){if(t<0||t>25||r<0||r>=Math.pow(2,t)||e<0||e>=Math.pow(2,t))throw new Error(`x=${e}, y=${r}, z=${t} outside of bounds. 0<=x<${Math.pow(2,t)}, 0<=y<${Math.pow(2,t)} 0<=z<=25 `);this.z=t,this.x=e,this.y=r,this.key=eh(0,t,t,e,r)}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e,r){const n=(a=this.x,o=this.y,s=this.z,l=Ju(256*a,256*(o=Math.pow(2,s)-o-1),s),c=Ju(256*(a+1),256*(o+1),s),l[0]+","+l[1]+","+c[0]+","+c[1]),i=function(t,e,r){let n,i="";for(let a=t;a>0;a--)n=1<1?"@2x":"").replace(/{quadkey}/g,i).replace(/{bbox-epsg-3857}/g,n)}isChildOf(t){const e=this.z-t.z;return e>0&&t.x===this.x>>e&&t.y===this.y>>e}getTilePoint(t){const e=Math.pow(2,this.z);return new a((t.x*e-this.x)*Uo,(t.y*e-this.y)*Uo)}toString(){return`${this.z}/${this.x}/${this.y}`}}class Qu{constructor(t,e){this.wrap=t,this.canonical=e,this.key=eh(t,e.z,e.z,e.x,e.y)}}class th{constructor(t,e,r,n,i){if(t= z; overscaledZ = ${t}; z = ${r}`);this.overscaledZ=t,this.wrap=e,this.canonical=new Ku(r,+n,+i),this.key=eh(e,t,r,n,i)}clone(){return new th(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const e=this.canonical.z-t;return t>this.canonical.z?new th(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new th(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const r=this.canonical.z-t;return t>this.canonical.z?eh(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):eh(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)}isChildOf(t){if(t.wrap!==this.wrap)return!1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return[new th(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new th(e,this.wrap,e,r,n),new th(e,this.wrap,e,r+1,n),new th(e,this.wrap,e,r,n+1),new th(e,this.wrap,e,r+1,n+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.ythis.max&&(this.max=r),r=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)}unpack(t,e,r){return t*this.redFactor+e*this.greenFactor+r*this.blueFactor-this.baseShift}getPixels(){return new Ls({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");let n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}const s=-e*this.dim,l=-r*this.dim;for(let e=a;e=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${t} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[t]}}class ih{constructor(t,e,r,n,i){this.type="Feature",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,this.id=i}get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(t){this._geometry=t}toJSON(){const t={geometry:this.geometry};for(const e in this)"_geometry"!==e&&"_vectorTileFeature"!==e&&(t[e]=this[e]);return t}}class ah{constructor(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new ki(Uo,16,0),this.grid3D=new ki(Uo,16,0),this.featureIndexArray=new Za,this.promoteId=e}insert(t,e,r,n,i,a){const o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);const s=a?this.grid3D:this.grid;for(let t=0;t=0&&n[3]>=0&&s.insert(o,n[0],n[1],n[2],n[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new Tl.VectorTile(new Uc(this.rawTileData)).layers,this.sourceLayerCoder=new nh(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(t,e,r,n){this.loadVTLayers();const i=t.params||{},o=Uo/t.tileSize/t.scale,s=zn(i.filter),l=t.queryGeometry,c=t.queryPadding*o,u=sh(l),h=this.grid.query(u.minX-c,u.minY-c,u.maxX+c,u.maxY+c),f=sh(t.cameraQueryGeometry),p=this.grid3D.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c,((e,r,n,i)=>function(t,e,r,n,i){for(const a of t)if(e<=a.x&&r<=a.y&&n>=a.x&&i>=a.y)return!0;const o=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(const e of o)if(ns(t,e))return!0;for(let e=0;e(f||(f=Ho(e)),r.queryIntersectsFeature(l,e,n,f,this.z,t.transform,o,t.pixelPosMatrix))))}return d}loadMatchingFeature(t,e,r,n,i,a,o,s,l,c,u){const h=this.bucketLayerIDs[e];if(a&&!function(t,e){for(let r=0;r=0)return!0;return!1}(a,h))return;const f=this.sourceLayerCoder.decode(r),p=this.vtLayers[f].feature(n);if(i.needGeometry){const t=Go(p,!0);if(!i.filter(new Hi(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!i.filter(new Hi(this.tileID.overscaledZ),p))return;const d=this.getId(p,f);for(let e=0;e{const o=e instanceof Ki?e.get(a):null;return o&&o.evaluate?o.evaluate(r,n,i):o}))}function sh(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const a of t)e=Math.min(e,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return{minX:e,minY:r,maxX:n,maxY:i}}function lh(t,e){return e-t}function ch(t,e,r,n,i){const o=[];for(let s=0;s=n&&u.x>=n||(s.x>=n?s=new a(n,s.y+(u.y-s.y)*((n-s.x)/(u.x-s.x)))._round():u.x>=n&&(u=new a(n,s.y+(u.y-s.y)*((n-s.x)/(u.x-s.x)))._round()),s.y>=i&&u.y>=i||(s.y>=i?s=new a(s.x+(u.x-s.x)*((i-s.y)/(u.y-s.y)),i)._round():u.y>=i&&(u=new a(s.x+(u.x-s.x)*((i-s.y)/(u.y-s.y)),i)._round()),c&&s.equals(c[c.length-1])||(c=[s],o.push(c)),c.push(u)))))}}return o}Mi("FeatureIndex",ah,{omit:["rawTileData","sourceLayerCoder"]});class uh extends a{constructor(t,e,r,n){super(t,e),this.angle=r,void 0!==n&&(this.segment=n)}clone(){return new uh(this.x,this.y,this.angle,this.segment)}}function hh(t,e,r,n,i){if(void 0===e.segment||0===r)return!0;let a=e,o=e.segment+1,s=0;for(;s>-r/2;){if(o--,o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;const l=[];let c=0;for(;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=r.dist(a)}return!0}function fh(t){let e=0;for(let r=0;rc){const u=(c-l)/a,h=Pe.number(n.x,i.x,u),f=Pe.number(n.y,i.y,u),p=new uh(h,f,i.angleTo(n),r);return p._round(),!o||hh(t,p,s,o,e)?p:void 0}l+=a}}function gh(t,e,r,n,i,a,o,s,l){const c=ph(n,a,o),u=dh(n,i),h=u*o,f=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&y=0&&v=0&&f+c<=u){const r=new uh(y,v,m,e);r._round(),n&&!hh(t,r,a,n,i)||p.push(r)}}h+=d}return s||p.length||o||(p=yh(t,h/2,r,n,i,a,o,!0,l)),p}Mi("Anchor",uh);const vh=Yc;function xh(t,e,r,n){const i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2*vh,c=o.paddedRect.h-2*vh;let u={x1:t.left,y1:t.top,x2:t.right,y2:t.bottom};const h=o.stretchX||[[0,l]],f=o.stretchY||[[0,c]],p=(t,e)=>t+e[1]-e[0],d=h.reduce(p,0),m=f.reduce(p,0),g=l-d,y=c-m;let v=0,x=d,_=0,b=m,w=0,T=g,k=0,A=y;if(o.content&&n){const e=o.content,r=e[2]-e[0],n=e[3]-e[1];(o.textFitWidth||o.textFitHeight)&&(u=du(t)),v=_h(h,0,e[0]),_=_h(f,0,e[1]),x=_h(h,e[0],e[2]),b=_h(f,e[1],e[3]),w=e[0]-v,k=e[1]-_,T=r-x,A=n-b}const M=u.x1,S=u.y1,E=u.x2-M,C=u.y2-S,L=(t,n,i,l)=>{const c=wh(t.stretch-v,x,E,M),u=Th(t.fixed-w,T,t.stretch,d),h=wh(n.stretch-_,b,C,S),f=Th(n.fixed-k,A,n.stretch,m),p=wh(i.stretch-v,x,E,M),g=Th(i.fixed-w,T,i.stretch,d),y=wh(l.stretch-_,b,C,S),L=Th(l.fixed-k,A,l.stretch,m),I=new a(c,h),P=new a(p,h),z=new a(p,y),O=new a(c,y),D=new a(u/s,f/s),R=new a(g/s,L/s),F=e*Math.PI/180;if(F){const t=Math.sin(F),e=Math.cos(F),r=[e,-t,t,e];I._matMult(r),P._matMult(r),O._matMult(r),z._matMult(r)}const B=t.stretch+t.fixed,N=i.stretch+i.fixed,j=n.stretch+n.fixed,U=l.stretch+l.fixed;return{tl:I,tr:P,bl:O,br:z,tex:{x:o.paddedRect.x+vh+B,y:o.paddedRect.y+vh+j,w:N-B,h:U-j},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:R,minFontScaleX:T/s/E,minFontScaleY:A/s/C,isSDF:r}};if(n&&(o.stretchX||o.stretchY)){const t=bh(h,g,d),e=bh(f,y,m);for(let r=0;r0&&(n=Math.max(10,n),this.circleDiameter=n)}else{const c=(null===(h=o.image)||void 0===h?void 0:h.content)&&(o.image.textFitWidth||o.image.textFitHeight)?du(o):{x1:o.left,y1:o.top,x2:o.right,y2:o.bottom};c.y1=c.y1*s-l[0],c.y2=c.y2*s+l[2],c.x1=c.x1*s-l[3],c.x2=c.x2*s+l[1];const f=o.collisionPadding;if(f&&(c.x1-=f[0]*s,c.y1-=f[1]*s,c.x2+=f[2]*s,c.y2+=f[3]*s),u){const t=new a(c.x1,c.y1),e=new a(c.x2,c.y1),r=new a(c.x1,c.y2),n=new a(c.x2,c.y2),i=u*Math.PI/180;t._rotate(i),e._rotate(i),r._rotate(i),n._rotate(i),c.x1=Math.min(t.x,e.x,r.x,n.x),c.x2=Math.max(t.x,e.x,r.x,n.x),c.y1=Math.min(t.y,e.y,r.y,n.y),c.y2=Math.max(t.y,e.y,r.y,n.y)}t.emplaceBack(e.x,e.y,c.x1,c.y1,c.x2,c.y2,r,n,i)}this.boxEndIndex=t.length}}class Ah{constructor(t=[],e=((t,e)=>te?1:0)){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t)}push(t){this.data.push(t),this._up(this.length++)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return--this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=e[n],t=n}e[t]=i}}function Mh(t,e=1,r=!1){let n=1/0,i=1/0,o=-1/0,s=-1/0;const l=t[0];for(let t=0;to)&&(o=e.x),(!t||e.y>s)&&(s=e.y)}const c=o-n,u=s-i,h=Math.min(c,u);let f=h/2;const p=new Ah([],Sh);if(0===h)return new a(n,i);for(let e=n;ed.d||!d.d)&&(d=n,r&&console.log("found best %d after %d probes",Math.round(1e4*n.d)/1e4,m)),n.max-d.d<=e||(f=n.h/2,p.push(new Eh(n.p.x-f,n.p.y-f,f,t)),p.push(new Eh(n.p.x+f,n.p.y-f,f,t)),p.push(new Eh(n.p.x-f,n.p.y+f,f,t)),p.push(new Eh(n.p.x+f,n.p.y+f,f,t)),m+=4)}return r&&(console.log(`num probes: ${m}`),console.log(`best distance: ${d.d}`)),d.p}function Sh(t,e){return e.max-t.max}function Eh(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){let r=!1,n=1/0;for(let i=0;it.y!=s.y>t.y&&t.x<(s.x-i.x)*(t.y-i.y)/(s.y-i.y)+i.x&&(r=!r),n=Math.min(n,es(t,i,s))}}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}var Ch;t.ar=void 0,(Ch=t.ar||(t.ar={}))[Ch.center=1]="center",Ch[Ch.left=2]="left",Ch[Ch.right=3]="right",Ch[Ch.top=4]="top",Ch[Ch.bottom=5]="bottom",Ch[Ch["top-left"]=6]="top-left",Ch[Ch["top-right"]=7]="top-right",Ch[Ch["bottom-left"]=8]="bottom-left",Ch[Ch["bottom-right"]=9]="bottom-right";const Lh=7,Ih=Number.POSITIVE_INFINITY;function Ph(t,e){return e[1]!==Ih?function(t,e,r){let n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-Lh;break;case"bottom-right":case"bottom-left":case"bottom":i=-r+Lh}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){let r=0,n=0;e<0&&(e=0);const i=e/Math.SQRT2;switch(t){case"top-right":case"top-left":n=i-Lh;break;case"bottom-right":case"bottom-left":n=-i+Lh;break;case"bottom":n=-e+Lh;break;case"top":n=e-Lh}switch(t){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=e;break;case"right":r=-e}return[r,n]}(t,e[0])}function zh(t,e,r){var n;const i=t.layout,a=null===(n=i.get("text-variable-anchor-offset"))||void 0===n?void 0:n.evaluate(e,{},r);if(a){const t=a.values,e=[];for(let r=0;rt*xc));n.startsWith("top")?i[1]-=Lh:n.startsWith("bottom")&&(i[1]+=Lh),e[r+1]=i}return new ee(e)}const o=i.get("text-variable-anchor");if(o){let n;n=void 0!==t._unevaluatedLayout.getValue("text-radial-offset")?[i.get("text-radial-offset").evaluate(e,{},r)*xc,Ih]:i.get("text-offset").evaluate(e,{},r).map((t=>t*xc));const a=[];for(const t of o)a.push(t,Ph(t,n));return new ee(a)}return null}function Oh(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function Dh(e,r,n,i,a,o,s,l,c,u,h){let f=o.textMaxSize.evaluate(r,{});void 0===f&&(f=s);const p=e.layers[0].layout,d=p.get("icon-offset").evaluate(r,{},h),m=Fh(n.horizontal),g=s/24,y=e.tilePixelRatio*g,v=e.tilePixelRatio*f/24,x=e.tilePixelRatio*l,_=e.tilePixelRatio*p.get("symbol-spacing"),b=p.get("text-padding")*e.tilePixelRatio,w=function(t,e,r,n=1){const i=t.get("icon-padding").evaluate(e,{},r),a=i&&i.values;return[a[0]*n,a[1]*n,a[2]*n,a[3]*n]}(p,r,h,e.tilePixelRatio),k=p.get("text-max-angle")/180*Math.PI,A="viewport"!==p.get("text-rotation-alignment")&&"point"!==p.get("symbol-placement"),M="map"===p.get("icon-rotation-alignment")&&"point"!==p.get("symbol-placement"),S=p.get("symbol-placement"),E=_/2,C=p.get("icon-text-fit");let L;i&&"none"!==C&&(e.allowVerticalPlacement&&n.vertical&&(L=mu(i,n.vertical,C,p.get("icon-text-fit-padding"),d,g)),m&&(i=mu(i,m,C,p.get("icon-text-fit-padding"),d,g)));const I=(l,f)=>{f.x<0||f.x>=Uo||f.y<0||f.y>=Uo||function(e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,k,A,M){const S=e.addToLineVertexArray(r,n);let E,C,L,I,P=0,z=0,O=0,D=0,R=-1,F=-1;const B={};let N=bo("");if(e.allowVerticalPlacement&&i.vertical){const t=l.layout.get("text-rotate").evaluate(b,{},A)+90,e=i.vertical;L=new kh(c,r,u,h,f,e,p,d,m,t),s&&(I=new kh(c,r,u,h,f,s,y,v,m,t))}if(a){const n=l.layout.get("icon-rotate").evaluate(b,{}),i="none"!==l.layout.get("icon-text-fit"),o=xh(a,n,k,i),p=s?xh(s,n,k,i):void 0;C=new kh(c,r,u,h,f,a,y,v,!1,n),P=4*o.length;const d=e.iconSizeData;let m=null;"source"===d.kind?(m=[yu*l.layout.get("icon-size").evaluate(b,{})],m[0]>vu&&T(`${e.layerIds[0]}: Value for "icon-size" is >= ${gu}. Reduce your "icon-size".`)):"composite"===d.kind&&(m=[yu*w.compositeIconSizes[0].evaluate(b,{},A),yu*w.compositeIconSizes[1].evaluate(b,{},A)],(m[0]>vu||m[1]>vu)&&T(`${e.layerIds[0]}: Value for "icon-size" is >= ${gu}. Reduce your "icon-size".`)),e.addSymbols(e.icon,o,m,_,x,b,t.ai.none,r,S.lineStartIndex,S.lineLength,-1,A),R=e.icon.placedSymbolArray.length-1,p&&(z=4*p.length,e.addSymbols(e.icon,p,m,_,x,b,t.ai.vertical,r,S.lineStartIndex,S.lineLength,-1,A),F=e.icon.placedSymbolArray.length-1)}const j=Object.keys(i.horizontal);for(const n of j){const a=i.horizontal[n];if(!E){N=bo(a.text);const t=l.layout.get("text-rotate").evaluate(b,{},A);E=new kh(c,r,u,h,f,a,p,d,m,t)}const s=1===a.positionedLines.length;if(O+=Rh(e,r,a,o,l,m,b,g,S,i.vertical?t.ai.horizontal:t.ai.horizontalOnly,s?j:[n],B,R,w,A),s)break}i.vertical&&(D+=Rh(e,r,i.vertical,o,l,m,b,g,S,t.ai.vertical,["vertical"],B,F,w,A));const U=E?E.boxStartIndex:e.collisionBoxArray.length,V=E?E.boxEndIndex:e.collisionBoxArray.length,q=L?L.boxStartIndex:e.collisionBoxArray.length,H=L?L.boxEndIndex:e.collisionBoxArray.length,G=C?C.boxStartIndex:e.collisionBoxArray.length,Z=C?C.boxEndIndex:e.collisionBoxArray.length,W=I?I.boxStartIndex:e.collisionBoxArray.length,Y=I?I.boxEndIndex:e.collisionBoxArray.length;let X=-1;const $=(t,e)=>t&&t.circleDiameter?Math.max(t.circleDiameter,e):e;X=$(E,X),X=$(L,X),X=$(C,X),X=$(I,X);const J=X>-1?1:0;J&&(X*=M/xc),e.glyphOffsetArray.length>=Eu.MAX_GLYPHS&&T("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,b.sortKey);const K=zh(l,b,A),[Q,tt]=function(e,r){const n=e.length,i=null==r?void 0:r.values;if((null==i?void 0:i.length)>0)for(let r=0;r=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,U,V,q,H,G,Z,W,Y,u,O,D,P,z,J,0,p,X,Q,tt)}(e,f,l,n,i,a,L,e.layers[0],e.collisionBoxArray,r.index,r.sourceLayerIndex,e.index,y,[b,b,b,b],A,c,x,w,M,d,r,o,u,h,s)};if("line"===S)for(const t of ch(r.geometry,0,0,Uo,Uo)){const r=gh(t,_,k,n.vertical||m,i,24,v,e.overscaling,Uo);for(const n of r)m&&Bh(e,m.text,E,n)||I(t,n)}else if("line-center"===S){for(const t of r.geometry)if(t.length>1){const e=mh(t,k,n.vertical||m,i,24,v);e&&I(t,e)}}else if("Polygon"===r.type)for(const t of br(r.geometry,0)){const e=Mh(t,16);I(t[0],new uh(e.x,e.y,0))}else if("LineString"===r.type)for(const t of r.geometry)I(t,new uh(t[0].x,t[0].y,0));else if("Point"===r.type)for(const t of r.geometry)for(const e of t)I([e],new uh(e.x,e.y,0))}function Rh(t,e,r,n,i,o,s,l,c,u,h,f,p,d,m){const g=function(t,e,r,n,i,o,s,l){const c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=[];for(const t of e.positionedLines)for(const n of t.positionedGlyphs){if(!n.rect)continue;const o=n.rect||{};let h=Zc+1,f=!0,p=1,d=0;const m=(i||l)&&n.vertical,g=n.metrics.advance*n.scale/2;if(l&&e.verticalizable){const e=(n.scale-1)*xc,r=(xc-n.metrics.width*n.scale)/2;d=t.lineOffset/2-(n.imageName?-r:e)}if(n.imageName){const t=s[n.imageName];f=t.sdf,p=t.pixelRatio,h=Yc/p}const y=i?[n.x+g,n.y]:[0,0];let v=i?[0,0]:[n.x+g+r[0],n.y+r[1]-d],x=[0,0];m&&(x=v,v=[0,0]);const _=n.metrics.isDoubleResolution?2:1,b=(n.metrics.left-h)*n.scale-g+v[0],w=(-n.metrics.top-h)*n.scale+v[1],T=b+o.w/_*n.scale/p,k=w+o.h/_*n.scale/p,A=new a(b,w),M=new a(T,w),S=new a(b,k),E=new a(T,k);if(m){const t=new a(-g,g-Kc),e=-Math.PI/2,r=xc/2-g,i=n.imageName?r:0,o=new a(5-Kc-r,-i),s=new a(...x);A._rotateAround(e,t)._add(o)._add(s),M._rotateAround(e,t)._add(o)._add(s),S._rotateAround(e,t)._add(o)._add(s),E._rotateAround(e,t)._add(o)._add(s)}if(c){const t=Math.sin(c),e=Math.cos(c),r=[e,-t,t,e];A._matMult(r),M._matMult(r),S._matMult(r),E._matMult(r)}const C=new a(0,0),L=new a(0,0),I=0,P=0;u.push({tl:A,tr:M,bl:S,br:E,tex:o,writingMode:e.writingMode,glyphOffset:y,sectionIndex:n.sectionIndex,isSDF:f,pixelOffsetTL:C,pixelOffsetBR:L,minFontScaleX:I,minFontScaleY:P})}return u}(0,r,l,i,o,s,n,t.allowVerticalPlacement),y=t.textSizeData;let v=null;"source"===y.kind?(v=[yu*i.layout.get("text-size").evaluate(s,{})],v[0]>vu&&T(`${t.layerIds[0]}: Value for "text-size" is >= ${gu}. Reduce your "text-size".`)):"composite"===y.kind&&(v=[yu*d.compositeTextSizes[0].evaluate(s,{},m),yu*d.compositeTextSizes[1].evaluate(s,{},m)],(v[0]>vu||v[1]>vu)&&T(`${t.layerIds[0]}: Value for "text-size" is >= ${gu}. Reduce your "text-size".`)),t.addSymbols(t.text,g,v,l,o,s,u,e,c.lineStartIndex,c.lineLength,p,m);for(const e of h)f[e]=t.text.placedSymbolArray.length-1;return 4*g.length}function Fh(t){for(const e in t)return t[e];return null}function Bh(t,e,r,n){const i=t.compareText;if(e in i){const t=i[e];for(let e=t.length-1;e>=0;e--)if(n.dist(t[e])>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);const i=Nh[15&r];if(!i)throw new Error("Unrecognized array type.");const[a]=new Uint16Array(t,2,1),[o]=new Uint32Array(t,4,1);return new jh(o,a,i,t)}constructor(t,e=64,r=Float64Array,n){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+e,2),65535),this.ArrayType=r,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const i=Nh.indexOf(this.ArrayType),a=2*t*this.ArrayType.BYTES_PER_ELEMENT,o=t*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-o%8)%8;if(i<0)throw new Error(`Unexpected typed array class: ${r}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+o+s,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+a+o+s),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+o+s,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=e,new Uint32Array(this.data,4,1)[0]=t)}add(t,e){const r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=t,this.coords[this._pos++]=e,r}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return Uh(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,e,r,n){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:i,coords:a,nodeSize:o}=this,s=[0,i.length-1,0],l=[];for(;s.length;){const c=s.pop()||0,u=s.pop()||0,h=s.pop()||0;if(u-h<=o){for(let o=h;o<=u;o++){const s=a[2*o],c=a[2*o+1];s>=t&&s<=r&&c>=e&&c<=n&&l.push(i[o])}continue}const f=h+u>>1,p=a[2*f],d=a[2*f+1];p>=t&&p<=r&&d>=e&&d<=n&&l.push(i[f]),(0===c?t<=p:e<=d)&&(s.push(h),s.push(f-1),s.push(1-c)),(0===c?r>=p:n>=d)&&(s.push(f+1),s.push(u),s.push(1-c))}return l}within(t,e,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:n,coords:i,nodeSize:a}=this,o=[0,n.length-1,0],s=[],l=r*r;for(;o.length;){const c=o.pop()||0,u=o.pop()||0,h=o.pop()||0;if(u-h<=a){for(let r=h;r<=u;r++)Gh(i[2*r],i[2*r+1],t,e)<=l&&s.push(n[r]);continue}const f=h+u>>1,p=i[2*f],d=i[2*f+1];Gh(p,d,t,e)<=l&&s.push(n[f]),(0===c?t-r<=p:e-r<=d)&&(o.push(h),o.push(f-1),o.push(1-c)),(0===c?t+r>=p:e+r>=d)&&(o.push(f+1),o.push(u),o.push(1-c))}return s}}function Uh(t,e,r,n,i,a){if(i-n<=r)return;const o=n+i>>1;Vh(t,e,o,n,i,a),Uh(t,e,r,n,o-1,1-a),Uh(t,e,r,o+1,i,1-a)}function Vh(t,e,r,n,i,a){for(;i>n;){if(i-n>600){const o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);Vh(t,e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}const o=e[2*r+a];let s=n,l=i;for(qh(t,e,n,r),e[2*i+a]>o&&qh(t,e,n,i);so;)l--}e[2*n+a]===o?qh(t,e,n,l):(l++,qh(t,e,l,i)),l<=r&&(n=l+1),r<=l&&(i=l-1)}}function qh(t,e,r,n){Hh(t,r,n),Hh(e,2*r,2*n),Hh(e,2*r+1,2*n+1)}function Hh(t,e,r){const n=t[e];t[e]=t[r],t[r]=n}function Gh(t,e,r,n){const i=t-r,a=e-n;return i*i+a*a}var Zh;t.bf=void 0,(Zh=t.bf||(t.bf={})).create="create",Zh.load="load",Zh.fullLoad="fullLoad";let Wh=null,Yh=[];const Xh=1e3/60,$h="loadTime",Jh="fullLoadTime",Kh={mark(t){performance.mark(t)},frame(t){const e=t;if(null!=Wh){const t=e-Wh;Yh.push(t)}Wh=e},clearMetrics(){Wh=null,Yh=[],performance.clearMeasures($h),performance.clearMeasures(Jh);for(const e in t.bf)performance.clearMarks(t.bf[e])},getPerformanceMetrics(){performance.measure($h,t.bf.create,t.bf.load),performance.measure(Jh,t.bf.create,t.bf.fullLoad);const e=performance.getEntriesByName($h)[0].duration,r=performance.getEntriesByName(Jh)[0].duration,n=Yh.length,i=1/(Yh.reduce(((t,e)=>t+e),0)/n/1e3),a=Yh.filter((t=>t>Xh)).reduce(((t,e)=>t+(e-Xh)/Xh),0);return{loadTime:e,fullLoadTime:r,fps:i,percentDroppedFrames:a/(n+a)*100,totalFrames:n}}};t.$=class extends da{},t.A=fs,t.B=_i,t.C=function(t){if(null==M){const e=t.navigator?t.navigator.userAgent:null;M=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return M},t.D=Qi,t.E=G,t.F=class{constructor(t,e){this.target=t,this.mapId=e,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Uu((()=>this.process())),this.subscription=function(t,e,r,n){return t.addEventListener(e,r,n),{unsubscribe:()=>{t.removeEventListener(e,r,n)}}}(this.target,"message",(t=>this.receive(t)),!1),this.globalScope=A(self)?t:window}registerMessageHandler(t,e){this.messageHandlers[t]=e}sendAsync(t,e){return new Promise(((r,n)=>{const i=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[i]={resolve:r,reject:n},e&&e.signal.addEventListener("abort",(()=>{delete this.resolveRejects[i];const e={id:i,type:"",origin:location.origin,targetMapId:t.targetMapId,sourceMapId:this.mapId};this.target.postMessage(e)}),{once:!0});const a=[],o=Object.assign(Object.assign({},t),{id:i,sourceMapId:this.mapId,origin:location.origin,data:Li(t.data,a)});this.target.postMessage(o,{transfer:a})}))}receive(t){const e=t.data,r=e.id;if(!("file://"!==e.origin&&"file://"!==location.origin&&"resource://android"!==e.origin&&"resource://android"!==location.origin&&e.origin!==location.origin||e.targetMapId&&this.mapId!==e.targetMapId)){if(""===e.type){delete this.tasks[r];const t=this.abortControllers[r];return delete this.abortControllers[r],void(t&&t.abort())}if(A(self)||e.mustQueue)return this.tasks[r]=e,this.taskQueue.push(r),void this.invoker.trigger();this.processTask(r,e)}}process(){if(0===this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length>0&&this.invoker.trigger(),e&&this.processTask(t,e)}processTask(t,r){return e(this,void 0,void 0,(function*(){if(""===r.type){const e=this.resolveRejects[t];if(delete this.resolveRejects[t],!e)return;return void(r.error?e.reject(Ii(r.error)):e.resolve(Ii(r.data)))}if(!this.messageHandlers[r.type])return void this.completeTask(t,new Error(`Could not find a registered handler for ${r.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));const e=Ii(r.data),n=new AbortController;this.abortControllers[t]=n;try{const i=yield this.messageHandlers[r.type](r.sourceMapId,e,n);this.completeTask(t,null,i)}catch(e){this.completeTask(t,e)}}))}completeTask(t,e,r){const n=[];delete this.abortControllers[t];const i={id:t,type:"",sourceMapId:this.mapId,origin:location.origin,error:e?Li(e):null,data:Li(r,n)};this.target.postMessage(i,{transfer:n})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},t.G=R,t.H=function(){var t=new fs(16);return fs!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.I=Xc,t.J=function(t,e,r){var n,i,a,o,s,l,c,u,h,f,p,d,m=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*m+e[4]*g+e[8]*y+e[12],t[13]=e[1]*m+e[5]*g+e[9]*y+e[13],t[14]=e[2]*m+e[6]*g+e[10]*y+e[14],t[15]=e[3]*m+e[7]*g+e[11]*y+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*m+s*g+h*y+e[12],t[13]=i*m+l*g+f*y+e[13],t[14]=a*m+c*g+p*y+e[14],t[15]=o*m+u*g+d*y+e[15]),t},t.K=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.L=ds,t.M=function(t,e){const r={};for(let n=0;n{const e=window.document.createElement("video");return e.muted=!0,new Promise((r=>{e.onloadstart=()=>{r(e)};for(const r of t){const t=window.document.createElement("source");j(r)||(e.crossOrigin="Anonymous"),t.src=r,e.appendChild(t)}}))},t.a4=function(){return v++},t.a5=Ra,t.a6=Eu,t.a7=zn,t.a8=Go,t.a9=Hi,t.aA=function(t){t=t.slice();const e=Object.create(null);for(let r=0;r{"source"in t&&n[t.source]?r.push({command:"removeLayer",args:[t.id]}):a.push(t)})),r=r.concat(i),function(t,e,r){e=e||[];const n=(t=t||[]).map(rt),i=e.map(rt),a=t.reduce(nt,{}),o=e.reduce(nt,{}),s=n.slice(),l=Object.create(null);let c,u,h,f,p;for(let t=0,e=0;t@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((t,r,n,i)=>{const a=n||i;return e[r]=!a||a.toLowerCase(),""})),e["max-age"]){const t=parseInt(e["max-age"],10);isNaN(t)?delete e["max-age"]:e["max-age"]=t}return e},t.ac=function(t,e){const r=[];for(const n in t)n in e||r.push(n);return r},t.ad=m,t.ae=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t},t.af=function(t){var e=new fs(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.ag=vs,t.ah=function(t,e){let r=0,n=0;if("constant"===t.kind)n=t.layoutSize;else if("source"!==t.kind){const{interpolationType:i,minZoom:a,maxZoom:o}=t,s=i?m(ze.interpolationFactor(i,e,a,o),0,1):0;"camera"===t.kind?n=Pe.number(t.minSize,t.maxSize,s):r=s}return{uSizeT:r,uSize:n}},t.aj=function(t,{uSize:e,uSizeT:r},{lowerSize:n,upperSize:i}){return"source"===t.kind?n/yu:"composite"===t.kind?Pe.number(n/yu,i/yu,r):e},t.ak=ku,t.al=function(t,e,r,n){const i=e.y-t.y,o=e.x-t.x,s=n.y-r.y,l=n.x-r.x,c=s*o-l*i;if(0===c)return null;const u=(l*(t.y-r.y)-s*(t.x-r.x))/c;return new a(t.x+u*o,t.y+u*i)},t.am=ch,t.an=Yo,t.ao=ps,t.ap=function(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const a of t)e=Math.min(e,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return[e,r,n,i]},t.aq=xc,t.as=_u,t.at=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],m=e[13],g=e[14],y=e[15],v=r*s-n*o,x=r*l-i*o,_=r*c-a*o,b=n*l-i*s,w=n*c-a*s,T=i*c-a*l,k=u*m-h*d,A=u*g-f*d,M=u*y-p*d,S=h*g-f*m,E=h*y-p*m,C=f*y-p*g,L=v*C-x*E+_*S+b*M-w*A+T*k;return L?(L=1/L,t[0]=(s*C-l*E+c*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(m*T-g*w+y*b)*L,t[3]=(f*w-h*T-p*b)*L,t[4]=(l*M-o*C-c*A)*L,t[5]=(r*C-i*M+a*A)*L,t[6]=(g*_-d*T-y*x)*L,t[7]=(u*T-f*_+p*x)*L,t[8]=(o*E-s*M+c*k)*L,t[9]=(n*M-r*E-a*k)*L,t[10]=(d*w-m*_+y*v)*L,t[11]=(h*_-u*w-p*v)*L,t[12]=(s*A-o*S-l*k)*L,t[13]=(r*S-n*A+i*k)*L,t[14]=(m*x-d*b-g*v)*L,t[15]=(u*b-h*x+f*v)*L,t):null},t.au=Oh,t.av=hu,t.aw=jh,t.ax=function(){const t={},e=Z.$version;for(const r in Z.$root){const n=Z.$root[r];if(n.required){let i=null;i="version"===r?e:"array"===n.type?[]:{},null!=i&&(t[r]=i)}}return t},t.ay=Pi,t.az=B,t.b=S,t.b0=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.b1=_s,t.b2=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.b3=g,t.b4=Qu,t.b5=Yu,t.b6=ms,t.b7=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t},t.b8=p,t.b9=d,t.bA=function(t){return t.message===P},t.bB=An,t.bC=qi,t.ba=function(t){return t*Math.PI/180},t.bb=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.bc=class extends pa{},t.bd=Vu,t.be=Kh,t.bg=F,t.bh=function(t,e){O.REGISTERED_PROTOCOLS[t]=e},t.bi=function(t){delete O.REGISTERED_PROTOCOLS[t]},t.bj=function(t,e){const r={};for(let n=0;nt*xc))}let x=l?"center":i.get("text-justify").evaluate(r,{},e.canonical);const _="point"===i.get("symbol-placement")?i.get("text-max-width").evaluate(r,{},e.canonical)*xc:1/0,b=()=>{e.bucket.allowVerticalPlacement&&Oi(o)&&(d.vertical=eu(m,e.glyphMap,e.glyphPositions,e.imagePositions,a,_,s,g,"left",p,y,t.ai.vertical,!0,f,h))};if(!l&&v){const r=new Set;if("auto"===x)for(let t=0;te(void 0,void 0,void 0,(function*(){if(0===t.byteLength)return createImageBitmap(new ImageData(1,1));const e=new Blob([new Uint8Array(t)],{type:"image/png"});try{return createImageBitmap(e)}catch(t){throw new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}})),t.e=y,t.f=t=>new Promise(((e,r)=>{const n=new Image;n.onload=()=>{e(n),URL.revokeObjectURL(n.src),n.onload=null,window.requestAnimationFrame((()=>{n.src=E}))},n.onerror=()=>r(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));const i=new Blob([new Uint8Array(t)],{type:"image/png"});n.src=t.byteLength?URL.createObjectURL(i):E})),t.g=D,t.h=(t,e)=>N(y(t,{type:"json"}),e),t.i=A,t.j=H,t.k=q,t.l=(t,e)=>N(y(t,{type:"arrayBuffer"}),e),t.m=N,t.n=function(t){return new Uc(t).readFields(qc,[])},t.o=Cs,t.p=Wc,t.q=ia,t.r=xi,t.s=j,t.t=Ti,t.u=zi,t.v=Z,t.w=T,t.x=vi,t.y=function([t,e,r]){return e+=90,e*=Math.PI/180,r*=Math.PI/180,{x:t*Math.cos(e)*Math.sin(r),y:t*Math.sin(e)*Math.sin(r),z:t*Math.cos(r)}},t.z=Pe})),r("worker",0,(function(t){class e{constructor(t){this.keyCache={},t&&this.replace(t)}replace(t){this._layerConfigs={},this._layers={},this.update(t,[])}update(e,r){for(const r of e){this._layerConfigs[r.id]=r;const e=this._layers[r.id]=t.aB(r);e._featureFilter=t.a7(e.filter),this.keyCache[r.id]&&delete this.keyCache[r.id]}for(const t of r)delete this.keyCache[t],delete this._layerConfigs[t],delete this._layers[t];this.familiesBySource={};const n=t.bj(Object.values(this._layerConfigs),this.keyCache);for(const t of n){const e=t.map((t=>this._layers[t.id])),r=e[0];if("none"===r.visibility)continue;const n=r.source||"";let i=this.familiesBySource[n];i||(i=this.familiesBySource[n]={});const a=r.sourceLayer||"_geojsonTileLayer";let o=i[a];o||(o=i[a]=[]),o.push(e)}}}class r{constructor(e){const r={},n=[];for(const t in e){const i=e[t],a=r[t]={};for(const t in i){const e=i[+t];if(!e||0===e.bitmap.width||0===e.bitmap.height)continue;const r={x:0,y:0,w:e.bitmap.width+2,h:e.bitmap.height+2};n.push(r),a[t]={rect:r,metrics:e.metrics}}}const{w:i,h:a}=t.p(n),o=new t.o({width:i||1,height:a||1});for(const n in e){const i=e[n];for(const e in i){const a=i[+e];if(!a||0===a.bitmap.width||0===a.bitmap.height)continue;const s=r[n][e].rect;t.o.copy(a.bitmap,o,{x:0,y:0},{x:s.x+1,y:s.y+1},a.bitmap)}}this.image=o,this.positions=r}}t.bk("GlyphAtlas",r);class n{constructor(e){this.tileID=new t.S(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId,this.inFlightDependencies=[]}parse(e,n,a,o){return t._(this,void 0,void 0,(function*(){this.status="parsing",this.data=e,this.collisionBoxArray=new t.a5;const s=new t.bl(Object.keys(e.layers).sort()),l=new t.bm(this.tileID,this.promoteId);l.bucketLayerIDs=[];const c={},u={featureIndex:l,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:a},h=n.familiesBySource[this.source];for(const r in h){const n=e.layers[r];if(!n)continue;1===n.version&&t.w(`Vector tile source "${this.source}" layer "${r}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const o=s.encode(r),f=[];for(let t=0;t=r.maxzoom||"none"!==r.visibility&&(i(e,this.zoom,a),(c[r.id]=r.createBucket({index:l.bucketLayerIDs.length,layers:e,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:o,sourceID:this.source})).populate(f,u,this.tileID.canonical),l.bucketLayerIDs.push(e.map((t=>t.id))))}}const f=t.aG(u.glyphDependencies,(t=>Object.keys(t).map(Number)));this.inFlightDependencies.forEach((t=>null==t?void 0:t.abort())),this.inFlightDependencies=[];let p=Promise.resolve({});if(Object.keys(f).length){const t=new AbortController;this.inFlightDependencies.push(t),p=o.sendAsync({type:"GG",data:{stacks:f,source:this.source,tileID:this.tileID,type:"glyphs"}},t)}const d=Object.keys(u.iconDependencies);let m=Promise.resolve({});if(d.length){const t=new AbortController;this.inFlightDependencies.push(t),m=o.sendAsync({type:"GI",data:{icons:d,source:this.source,tileID:this.tileID,type:"icons"}},t)}const g=Object.keys(u.patternDependencies);let y=Promise.resolve({});if(g.length){const t=new AbortController;this.inFlightDependencies.push(t),y=o.sendAsync({type:"GI",data:{icons:g,source:this.source,tileID:this.tileID,type:"patterns"}},t)}const[v,x,_]=yield Promise.all([p,m,y]),b=new r(v),w=new t.bn(x,_);for(const e in c){const r=c[e];r instanceof t.a6?(i(r.layers,this.zoom,a),t.bo({bucket:r,glyphMap:v,glyphPositions:b.positions,imageMap:x,imagePositions:w.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):r.hasPattern&&(r instanceof t.bp||r instanceof t.bq||r instanceof t.br)&&(i(r.layers,this.zoom,a),r.addFeatures(u,this.tileID.canonical,w.patternPositions))}return this.status="done",{buckets:Object.values(c).filter((t=>!t.isEmpty())),featureIndex:l,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:b.image,imageAtlas:w,glyphMap:this.returnDependencies?v:null,iconMap:this.returnDependencies?x:null,glyphPositions:this.returnDependencies?b.positions:null}}))}}function i(e,r,n){const i=new t.a9(r);for(const t of e)t.recalculate(i,n)}class a{constructor(t,e,r){this.actor=t,this.layerIndex=e,this.availableImages=r,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(e,r){return t._(this,void 0,void 0,(function*(){const n=yield t.l(e.request,r);try{return{vectorTile:new t.bs.VectorTile(new t.bt(n.data)),rawData:n.data,cacheControl:n.cacheControl,expires:n.expires}}catch(t){const r=new Uint8Array(n.data),i=31===r[0]&&139===r[1];let a=`Unable to parse the tile at ${e.request.url}, `;throw a+=i?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${t.message}`,new Error(a)}}))}loadTile(e){return t._(this,void 0,void 0,(function*(){const r=e.uid,i=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.bu(e.request),a=new n(e);this.loading[r]=a;const o=new AbortController;a.abort=o;try{const n=yield this.loadVectorTile(e,o);if(delete this.loading[r],!n)return null;const s=n.rawData,l={};n.expires&&(l.expires=n.expires),n.cacheControl&&(l.cacheControl=n.cacheControl);const c={};if(i){const t=i.finish();t&&(c.resourceTiming=JSON.parse(JSON.stringify(t)))}a.vectorTile=n.vectorTile;const u=a.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[r]=a,this.fetching[r]={rawTileData:s,cacheControl:l,resourceTiming:c};try{const e=yield u;return t.e({rawTileData:s.slice(0)},e,l,c)}finally{delete this.fetching[r]}}catch(t){throw delete this.loading[r],a.status="done",this.loaded[r]=a,t}}))}reloadTile(e){return t._(this,void 0,void 0,(function*(){const r=e.uid;if(!this.loaded||!this.loaded[r])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");const n=this.loaded[r];if(n.showCollisionBoxes=e.showCollisionBoxes,"parsing"===n.status){const e=yield n.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor);let i;if(this.fetching[r]){const{rawTileData:n,cacheControl:a,resourceTiming:o}=this.fetching[r];delete this.fetching[r],i=t.e({rawTileData:n.slice(0)},e,a,o)}else i=e;return i}if("done"===n.status&&n.vectorTile)return n.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor)}))}abortTile(e){return t._(this,void 0,void 0,(function*(){const t=this.loading,r=e.uid;t&&t[r]&&t[r].abort&&(t[r].abort.abort(),delete t[r])}))}removeTile(e){return t._(this,void 0,void 0,(function*(){this.loaded&&this.loaded[e.uid]&&delete this.loaded[e.uid]}))}}class o{constructor(){this.loaded={}}loadTile(e){return t._(this,void 0,void 0,(function*(){const{uid:r,encoding:n,rawImageData:i,redFactor:a,greenFactor:o,blueFactor:s,baseShift:l}=e,c=i.width+2,u=i.height+2,h=t.b(i)?new t.R({width:c,height:u},yield t.bv(i,-1,-1,c,u)):i,f=new t.bw(r,h,n,a,o,s,l);return this.loaded=this.loaded||{},this.loaded[r]=f,f}))}removeTile(t){const e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]}}var s=function t(e,r){var n,i=e&&e.type;if("FeatureCollection"===i)for(n=0;n=Math.abs(s)?r-l+s:s-l+r,r=l}r+n>=0!=!!e&&t.reverse()}var u=t.bx(s);const h=t.bs.VectorTileFeature.prototype.toGeoJSON;let f=class{constructor(e){this._feature=e,this.extent=t.X,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))}loadGeometry(){if(1===this._feature.type){const e=[];for(const r of this._feature.geometry)e.push([new t.P(r[0],r[1])]);return e}{const e=[];for(const r of this._feature.geometry){const n=[];for(const e of r)n.push(new t.P(e[0],e[1]));e.push(n)}return e}}toGeoJSON(t,e,r){return h.call(this,t,e,r)}},p=class{constructor(e){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=t.X,this.length=e.length,this._features=e}feature(t){return new f(this._features[t])}};var d={exports:{}},m=t.by,g=t.bs.VectorTileFeature,y=v;function v(t,e){this.options=e||{},this.features=t,this.length=t.length}function x(t,e){this.id="number"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}v.prototype.feature=function(t){return new x(this.features[t],this.options.extent)},x.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e>31}function E(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;st},z=Math.fround||(O=new Float32Array(1),t=>(O[0]=+t,O[0]));var O;const D=3,R=5,F=6;class B{constructor(t){this.options=Object.assign(Object.create(P),t),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(t){const{log:e,minZoom:r,maxZoom:n}=this.options;e&&console.time("total time");const i=`prepare ${t.length} points`;e&&console.time(i),this.points=t;const a=[];for(let e=0;e=r;t--){const r=+Date.now();o=this.trees[t]=this._createTree(this._cluster(o,t)),e&&console.log("z%d: %d clusters in %dms",t,o.numItems,+Date.now()-r)}return e&&console.timeEnd("total time"),this}getClusters(t,e){let r=((t[0]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,t[1]));let i=180===t[2]?180:((t[2]+180)%360+360)%360-180;const a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){const t=this.getClusters([r,n,180,a],e),o=this.getClusters([-180,n,i,a],e);return t.concat(o)}const o=this.trees[this._limitZoom(e)],s=o.range(U(r),V(a),U(i),V(n)),l=o.data,c=[];for(const t of s){const e=this.stride*t;c.push(l[e+R]>1?N(l,e,this.clusterProps):this.points[l[e+D]])}return c}getChildren(t){const e=this._getOriginId(t),r=this._getOriginZoom(t),n="No cluster with the specified id.",i=this.trees[r];if(!i)throw new Error(n);const a=i.data;if(e*this.stride>=a.length)throw new Error(n);const o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=a[e*this.stride],l=a[e*this.stride+1],c=i.within(s,l,o),u=[];for(const e of c){const r=e*this.stride;a[r+4]===t&&u.push(a[r+R]>1?N(a,r,this.clusterProps):this.points[a[r+D]])}if(0===u.length)throw new Error(n);return u}getLeaves(t,e,r){e=e||10,r=r||0;const n=[];return this._appendLeaves(n,t,e,r,0),n}getTile(t,e,r){const n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),{extent:a,radius:o}=this.options,s=o/a,l=(r-s)/i,c=(r+1+s)/i,u={features:[]};return this._addTileFeatures(n.range((e-s)/i,l,(e+1+s)/i,c),n.data,e,r,i,u),0===e&&this._addTileFeatures(n.range(1-s/i,l,1,c),n.data,i,r,i,u),e===i-1&&this._addTileFeatures(n.range(0,l,s/i,c),n.data,-1,r,i,u),u.features.length?u:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e}_appendLeaves(t,e,r,n,i){const a=this.getChildren(e);for(const e of a){const a=e.properties;if(a&&a.cluster?i+a.point_count<=n?i+=a.point_count:i=this._appendLeaves(t,a.cluster_id,r,n,i):i1;let l,c,u;if(s)l=j(e,t,this.clusterProps),c=e[t],u=e[t+1];else{const r=this.points[e[t+D]];l=r.properties;const[n,i]=r.geometry.coordinates;c=U(n),u=V(i)}const h={type:1,geometry:[[Math.round(this.options.extent*(c*i-r)),Math.round(this.options.extent*(u*i-n))]],tags:l};let f;f=s||this.options.generateId?e[t+D]:this.points[e[t+D]].id,void 0!==f&&(h.id=f),a.features.push(h)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,e){const{radius:r,extent:n,reduce:i,minPoints:a}=this.options,o=r/(n*Math.pow(2,e)),s=t.data,l=[],c=this.stride;for(let r=0;re&&(p+=s[r+R])}if(p>f&&p>=a){let t,a=n*f,o=u*f,d=-1;const m=((r/c|0)<<5)+(e+1)+this.points.length;for(const n of h){const l=n*c;if(s[l+2]<=e)continue;s[l+2]=e;const u=s[l+R];a+=s[l]*u,o+=s[l+1]*u,s[l+4]=m,i&&(t||(t=this._map(s,r,!0),d=this.clusterProps.length,this.clusterProps.push(t)),i(t,this._map(s,l)))}s[r+4]=m,l.push(a/p,o/p,1/0,m,-1,p),i&&l.push(d)}else{for(let t=0;t1)for(const t of h){const r=t*c;if(!(s[r+2]<=e)){s[r+2]=e;for(let t=0;t>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e,r){if(t[e+R]>1){const n=this.clusterProps[t[e+F]];return r?Object.assign({},n):n}const n=this.points[t[e+D]].properties,i=this.options.map(n);return r&&i===n?Object.assign({},i):i}}function N(t,e,r){return{type:"Feature",id:t[e+D],properties:j(t,e,r),geometry:{type:"Point",coordinates:[(n=t[e],360*(n-.5)),q(t[e+1])]}};var n}function j(t,e,r){const n=t[e+R],i=n>=1e4?`${Math.round(n/1e3)}k`:n>=1e3?Math.round(n/100)/10+"k":n,a=t[e+F],o=-1===a?{}:Object.assign({},r[a]);return Object.assign(o,{cluster:!0,cluster_id:t[e+D],point_count:n,point_count_abbreviated:i})}function U(t){return t/360+.5}function V(t){const e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function q(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function H(t,e,r,n){let i=n;const a=e+(r-e>>1);let o,s=r-e;const l=t[e],c=t[e+1],u=t[r],h=t[r+1];for(let n=e+3;ni)o=n,i=e;else if(e===i){const t=Math.abs(n-a);tn&&(o-e>3&&H(t,e,o,n),t[o+2]=i,r-o>3&&H(t,o,r,n))}function G(t,e,r,n,i,a){let o=i-r,s=a-n;if(0!==o||0!==s){const l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return o=t-r,s=e-n,o*o+s*s}function Z(t,e,r,n){const i={id:null==t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if("Point"===e||"MultiPoint"===e||"LineString"===e)W(i,r);else if("Polygon"===e)W(i,r[0]);else if("MultiLineString"===e)for(const t of r)W(i,t);else if("MultiPolygon"===e)for(const t of r)W(i,t[0]);return i}function W(t,e){for(let r=0;r0&&(o+=n?(i*l-s*a)/2:Math.sqrt(Math.pow(s-i,2)+Math.pow(l-a,2))),i=s,a=l}const s=e.length-3;e[2]=1,H(e,0,s,r),e[s+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function J(t,e,r,n){for(let i=0;i1?1:r}function tt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;const l=[];for(const e of t){const t=e.geometry;let a=e.type;const o=0===i?e.minX:e.minY,c=0===i?e.maxX:e.maxY;if(o>=r&&c=n)continue;let u=[];if("Point"===a||"MultiPoint"===a)et(t,u,r,n,i);else if("LineString"===a)rt(t,u,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===a)it(t,u,r,n,i,!1);else if("Polygon"===a)it(t,u,r,n,i,!0);else if("MultiPolygon"===a)for(const e of t){const t=[];it(e,t,r,n,i,!0),t.length&&u.push(t)}if(u.length){if(s.lineMetrics&&"LineString"===a){for(const t of u)l.push(Z(e.id,a,t,e.tags));continue}"LineString"!==a&&"MultiLineString"!==a||(1===u.length?(a="LineString",u=u[0]):a="MultiLineString"),"Point"!==a&&"MultiPoint"!==a||(a=3===u.length?"Point":"MultiPoint"),l.push(Z(e.id,a,u,e.tags))}}return l.length?l:null}function et(t,e,r,n,i){for(let a=0;a=r&&o<=n&&at(e,t[a],t[a+1],t[a+2])}}function rt(t,e,r,n,i,a,o){let s=nt(t);const l=0===i?ot:st;let c,u,h=t.start;for(let f=0;fr&&(u=l(s,p,d,g,y,r),o&&(s.start=h+c*u)):v>n?x=r&&(u=l(s,p,d,g,y,r),_=!0),x>n&&v<=n&&(u=l(s,p,d,g,y,n),_=!0),!a&&_&&(o&&(s.end=h+c*u),e.push(s),s=nt(t)),o&&(h+=c)}let f=t.length-3;const p=t[f],d=t[f+1],m=t[f+2],g=0===i?p:d;g>=r&&g<=n&&at(s,p,d,m),f=s.length-3,a&&f>=3&&(s[f]!==s[0]||s[f+1]!==s[1])&&at(s,s[0],s[1],s[2]),s.length&&e.push(s)}function nt(t){const e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function it(t,e,r,n,i,a){for(const o of t)rt(o,e,r,n,i,a,!1)}function at(t,e,r,n){t.push(e,r,n)}function ot(t,e,r,n,i,a){const o=(a-e)/(n-e);return at(t,a,r+(i-r)*o,1),o}function st(t,e,r,n,i,a){const o=(a-r)/(i-r);return at(t,e+(n-e)*o,a,1),o}function lt(t,e){const r=[];for(let n=0;n0&&e.size<(i?o:n))return void(r.numPoints+=e.length/3);const s=[];for(let t=0;to)&&(r.numSimplified++,s.push(e[t],e[t+1])),r.numPoints++;i&&function(t,e){let r=0;for(let e=0,n=t.length,i=n-2;e0===e)for(let e=0,r=t.length;e24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");let n=function(t,e){const r=[];if("FeatureCollection"===t.type)for(let n=0;n1&&console.time("creation"),f=this.tiles[h]=ft(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd("creation"));const t=`z${e}`;this.stats[t]=(this.stats[t]||0)+1,this.total++}if(f.source=t,null==i){if(e===l.indexMaxZoom||f.numPoints<=l.indexMaxPoints)continue}else{if(e===l.maxZoom||e===i)continue;if(null!=i){const t=i-e;if(r!==a>>t||n!==o>>t)continue}}if(f.source=null,0===t.length)continue;c>1&&console.time("clipping");const p=.5*l.buffer/l.extent,d=.5-p,m=.5+p,g=1+p;let y=null,v=null,x=null,_=null,b=tt(t,u,r-p,r+m,0,f.minX,f.maxX,l),w=tt(t,u,r+d,r+g,0,f.minX,f.maxX,l);t=null,b&&(y=tt(b,u,n-p,n+m,1,f.minY,f.maxY,l),v=tt(b,u,n+d,n+g,1,f.minY,f.maxY,l),b=null),w&&(x=tt(w,u,n-p,n+m,1,f.minY,f.maxY,l),_=tt(w,u,n+d,n+g,1,f.minY,f.maxY,l),w=null),c>1&&console.timeEnd("clipping"),s.push(y||[],e+1,2*r,2*n),s.push(v||[],e+1,2*r,2*n+1),s.push(x||[],e+1,2*r+1,2*n),s.push(_||[],e+1,2*r+1,2*n+1)}}getTile(t,e,r){t=+t,e=+e,r=+r;const n=this.options,{extent:i,debug:a}=n;if(t<0||t>24)return null;const o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,r);let l,c=t,u=e,h=r;for(;!l&&c>0;)c--,u>>=1,h>>=1,l=this.tiles[yt(c,u,h)];return l&&l.source?(a>1&&(console.log("found parent tile z%d-%d-%d",c,u,h),console.time("drilling down")),this.splitTile(l.source,c,u,h,t,e,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?ut(this.tiles[s],i):null):null}}function yt(t,e,r){return 32*((1<{o.properties=t;const e={};for(const t of s)e[t]=n[t].evaluate(a,o);return e},e.reduce=(t,e)=>{o.properties=e;for(const e of s)a.accumulated=t[e],t[e]=i[e].evaluate(a,o)},e}(e)).load((yield this._pendingData).features):(i=yield this._pendingData,a=e.geojsonVtOptions,new gt(i,a)),this.loaded={};const r={};if(n){const t=n.finish();t&&(r.resourceTiming={},r.resourceTiming[e.source]=JSON.parse(JSON.stringify(t)))}return r}catch(e){if(delete this._pendingRequest,t.bA(e))return{abandoned:!0};throw e}var i,a}))}getData(){return t._(this,void 0,void 0,(function*(){return this._pendingData}))}reloadTile(t){const e=this.loaded,r=t.uid;return e&&e[r]?super.reloadTile(t):this.loadTile(t)}loadAndProcessGeoJSON(e,r){return t._(this,void 0,void 0,(function*(){let n=yield this.loadGeoJSON(e,r);if(delete this._pendingRequest,"object"!=typeof n)throw new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`);if(u(n,!0),e.filter){const r=t.bB(e.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===r.result)throw new Error(r.value.map((t=>`${t.key}: ${t.message}`)).join(", "));const i=n.features.filter((t=>r.value.evaluate({zoom:0},t)));n={type:"FeatureCollection",features:i}}return n}))}loadGeoJSON(e,r){return t._(this,void 0,void 0,(function*(){const{promoteId:n}=e;if(e.request){const i=yield t.h(e.request,r);return this._dataUpdateable=xt(i.data,n)?_t(i.data,n):void 0,i.data}if("string"==typeof e.data)try{const t=JSON.parse(e.data);return this._dataUpdateable=xt(t,n)?_t(t,n):void 0,t}catch(t){throw new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`)}if(!e.dataDiff)throw new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${e.source}`);return function(t,e,r){var n,i,a,o;if(e.removeAll&&t.clear(),e.remove)for(const r of e.remove)t.delete(r);if(e.add)for(const n of e.add){const e=vt(n,r);null!=e&&t.set(e,n)}if(e.update)for(const r of e.update){let e=t.get(r.id);if(null==e)continue;const s=r.newGeometry||r.removeAllProperties,l=!r.removeAllProperties&&((null===(n=r.removeProperties)||void 0===n?void 0:n.length)>0||(null===(i=r.addOrUpdateProperties)||void 0===i?void 0:i.length)>0);if((s||l)&&(e=Object.assign({},e),t.set(r.id,e),l&&(e.properties=Object.assign({},e.properties))),r.newGeometry&&(e.geometry=r.newGeometry),r.removeAllProperties)e.properties={};else if((null===(a=r.removeProperties)||void 0===a?void 0:a.length)>0)for(const t of r.removeProperties)Object.prototype.hasOwnProperty.call(e.properties,t)&&delete e.properties[t];if((null===(o=r.addOrUpdateProperties)||void 0===o?void 0:o.length)>0)for(const{key:t,value:n}of r.addOrUpdateProperties)e.properties[t]=n}}(this._dataUpdateable,e.dataDiff,n),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}}))}removeSource(e){return t._(this,void 0,void 0,(function*(){this._pendingRequest&&this._pendingRequest.abort()}))}getClusterExpansionZoom(t){return this._geoJSONIndex.getClusterExpansionZoom(t.clusterId)}getClusterChildren(t){return this._geoJSONIndex.getChildren(t.clusterId)}getClusterLeaves(t){return this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset)}}class wt{constructor(e){this.self=e,this.actor=new t.F(e),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(t,e)=>{if(this.externalWorkerSourceTypes[t])throw new Error(`Worker source with name "${t}" already registered.`);this.externalWorkerSourceTypes[t]=e},this.self.addProtocol=t.bh,this.self.removeProtocol=t.bi,this.self.registerRTLTextPlugin=e=>{if(t.bC.isParsed())throw new Error("RTL text plugin already registered.");t.bC.setMethods(e)},this.actor.registerMessageHandler("LDT",((t,e)=>this._getDEMWorkerSource(t,e.source).loadTile(e))),this.actor.registerMessageHandler("RDT",((e,r)=>t._(this,void 0,void 0,(function*(){this._getDEMWorkerSource(e,r.source).removeTile(r)})))),this.actor.registerMessageHandler("GCEZ",((e,r)=>t._(this,void 0,void 0,(function*(){return this._getWorkerSource(e,r.type,r.source).getClusterExpansionZoom(r)})))),this.actor.registerMessageHandler("GCC",((e,r)=>t._(this,void 0,void 0,(function*(){return this._getWorkerSource(e,r.type,r.source).getClusterChildren(r)})))),this.actor.registerMessageHandler("GCL",((e,r)=>t._(this,void 0,void 0,(function*(){return this._getWorkerSource(e,r.type,r.source).getClusterLeaves(r)})))),this.actor.registerMessageHandler("LD",((t,e)=>this._getWorkerSource(t,e.type,e.source).loadData(e))),this.actor.registerMessageHandler("GD",((t,e)=>this._getWorkerSource(t,e.type,e.source).getData())),this.actor.registerMessageHandler("LT",((t,e)=>this._getWorkerSource(t,e.type,e.source).loadTile(e))),this.actor.registerMessageHandler("RT",((t,e)=>this._getWorkerSource(t,e.type,e.source).reloadTile(e))),this.actor.registerMessageHandler("AT",((t,e)=>this._getWorkerSource(t,e.type,e.source).abortTile(e))),this.actor.registerMessageHandler("RMT",((t,e)=>this._getWorkerSource(t,e.type,e.source).removeTile(e))),this.actor.registerMessageHandler("RS",((e,r)=>t._(this,void 0,void 0,(function*(){if(!this.workerSources[e]||!this.workerSources[e][r.type]||!this.workerSources[e][r.type][r.source])return;const t=this.workerSources[e][r.type][r.source];delete this.workerSources[e][r.type][r.source],void 0!==t.removeSource&&t.removeSource(r)})))),this.actor.registerMessageHandler("RM",(e=>t._(this,void 0,void 0,(function*(){delete this.layerIndexes[e],delete this.availableImages[e],delete this.workerSources[e],delete this.demWorkerSources[e]})))),this.actor.registerMessageHandler("SR",((e,r)=>t._(this,void 0,void 0,(function*(){this.referrer=r})))),this.actor.registerMessageHandler("SRPS",((t,e)=>this._syncRTLPluginState(t,e))),this.actor.registerMessageHandler("IS",((e,r)=>t._(this,void 0,void 0,(function*(){this.self.importScripts(r)})))),this.actor.registerMessageHandler("SI",((t,e)=>this._setImages(t,e))),this.actor.registerMessageHandler("UL",((e,r)=>t._(this,void 0,void 0,(function*(){this._getLayerIndex(e).update(r.layers,r.removedIds)})))),this.actor.registerMessageHandler("SL",((e,r)=>t._(this,void 0,void 0,(function*(){this._getLayerIndex(e).replace(r)}))))}_setImages(e,r){return t._(this,void 0,void 0,(function*(){this.availableImages[e]=r;for(const t in this.workerSources[e]){const n=this.workerSources[e][t];for(const t in n)n[t].availableImages=r}}))}_syncRTLPluginState(e,r){return t._(this,void 0,void 0,(function*(){if(t.bC.isParsed())return t.bC.getState();if("loading"!==r.pluginStatus)return t.bC.setState(r),r;const e=r.pluginURL;if(this.self.importScripts(e),t.bC.isParsed()){const r={pluginStatus:"loaded",pluginURL:e};return t.bC.setState(r),r}throw t.bC.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${e}`)}))}_getAvailableImages(t){let e=this.availableImages[t];return e||(e=[]),e}_getLayerIndex(t){let r=this.layerIndexes[t];return r||(r=this.layerIndexes[t]=new e),r}_getWorkerSource(t,e,r){if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][r]){const n={sendAsync:(e,r)=>(e.targetMapId=t,this.actor.sendAsync(e,r))};switch(e){case"vector":this.workerSources[t][e][r]=new a(n,this._getLayerIndex(t),this._getAvailableImages(t));break;case"geojson":this.workerSources[t][e][r]=new bt(n,this._getLayerIndex(t),this._getAvailableImages(t));break;default:this.workerSources[t][e][r]=new this.externalWorkerSourceTypes[e](n,this._getLayerIndex(t),this._getAvailableImages(t))}}return this.workerSources[t][e][r]}_getDEMWorkerSource(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new o),this.demWorkerSources[t][e]}}return t.i(self)&&(self.worker=new wt(self)),wt})),r("index",0,(function(t,e){var r="4.5.2";let n,i;const a={now:"undefined"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync(t){return new Promise(((r,n)=>{const i=requestAnimationFrame(r);t.signal.addEventListener("abort",(()=>{cancelAnimationFrame(i),n(e.c())}))}))},getImageData(t,e=0){return this.getImageCanvasContext(t).getImageData(-e,-e,t.width+2*e,t.height+2*e)},getImageCanvasContext(t){const e=window.document.createElement("canvas"),r=e.getContext("2d",{willReadFrequently:!0});if(!r)throw new Error("failed to create canvas 2d context");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0,t.width,t.height),r},resolveURL(t){return n||(n=document.createElement("a")),n.href=t,n.href},hardwareConcurrency:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(null==i&&(i=matchMedia("(prefers-reduced-motion: reduce)")),i.matches)}};class o{static testProp(t){if(!o.docStyle)return t[0];for(let e=0;e{window.removeEventListener("click",o.suppressClickInternal,!0)}),0)}static getScale(t){const e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}static getPoint(t,r,n){const i=r.boundingClientRect;return new e.P((n.clientX-i.left)/r.x-t.clientLeft,(n.clientY-i.top)/r.y-t.clientTop)}static mousePos(t,e){const r=o.getScale(t);return o.getPoint(t,r,e)}static touchPos(t,e){const r=[],n=o.getScale(t);for(let i=0;i{l&&f(l),l=null,h=!0},c.onerror=()=>{u=!0,l=null},c.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(t){let r,n,i,a;t.resetRequestQueue=()=>{r=[],n=0,i=0,a={}},t.addThrottleControl=t=>{const e=i++;return a[e]=t,e},t.removeThrottleControl=t=>{delete a[t],l()};t.getImage=(t,n,i=!0)=>new Promise(((a,o)=>{s.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),e.e(t,{type:"image"});const c={abortController:n,requestParameters:t,supportImageRefresh:i,state:"queued",onError:t=>{o(t)},onSuccess:t=>{a(t)}};r.push(c),l()}));const o=t=>e._(this,void 0,void 0,(function*(){t.state="running";const{requestParameters:r,supportImageRefresh:i,onError:a,onSuccess:o,abortController:s}=t,u=!1===i&&!e.i(self)&&!e.g(r.url)&&(!r.headers||Object.keys(r.headers).reduce(((t,e)=>t&&"accept"===e),!0));n++;const h=u?c(r,s):e.m(r,s);try{const r=yield h;delete t.abortController,t.state="completed",r.data instanceof HTMLImageElement||e.b(r.data)?o(r):r.data&&o({data:yield(f=r.data,"function"==typeof createImageBitmap?e.d(f):e.f(f)),cacheControl:r.cacheControl,expires:r.expires})}catch(e){delete t.abortController,a(e)}finally{n--,l()}var f})),l=()=>{const t=(()=>{for(const t of Object.keys(a))if(a[t]())return!0;return!1})()?e.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:e.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let e=n;e0;e++){const t=r.shift();t.abortController.signal.aborted?e--:o(t)}},c=(t,r)=>new Promise(((n,i)=>{const a=new Image,o=t.url,s=t.credentials;s&&"include"===s?a.crossOrigin="use-credentials":(s&&"same-origin"===s||!e.s(o))&&(a.crossOrigin="anonymous"),r.signal.addEventListener("abort",(()=>{a.src="",i(e.c())})),a.fetchPriority="high",a.onload=()=>{a.onerror=a.onload=null,n({data:a})},a.onerror=()=>{a.onerror=a.onload=null,r.signal.aborted||i(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))},a.src=o}))}(p||(p={})),p.resetRequestQueue();class d{constructor(t){this._transformRequestFn=t}transformRequest(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}}setTransformRequest(t){this._transformRequestFn=t}}function m(t){var r=new e.A(3);return r[0]=t[0],r[1]=t[1],r[2]=t[2],r}var g,y=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};g=new e.A(3),e.A!=Float32Array&&(g[0]=0,g[1]=0,g[2]=0);var v=function(t){var e=t[0],r=t[1];return e*e+r*r};function x(t){const e=[];if("string"==typeof t)e.push({id:"default",url:t});else if(t&&t.length>0){const r=[];for(const{id:n,url:i}of t){const t=`${n}${i}`;-1===r.indexOf(t)&&(r.push(t),e.push({id:n,url:i}))}}return e}function _(t,e,r){const n=t.split("?");return n[0]+=`${e}${r}`,n.join("?")}function b(t,r,n,i){return e._(this,void 0,void 0,(function*(){const o=x(t),s=n>1?"@2x":"",l={},c={};for(const{id:t,url:n}of o){const a=r.transformRequest(_(n,s,".json"),"SpriteJSON");l[t]=e.h(a,i);const o=r.transformRequest(_(n,s,".png"),"SpriteImage");c[t]=p.getImage(o,i)}return yield Promise.all([...Object.values(l),...Object.values(c)]),function(t,r){return e._(this,void 0,void 0,(function*(){const e={};for(const n in t){e[n]={};const i=a.getImageCanvasContext((yield r[n]).data),o=(yield t[n]).data;for(const t in o){const{width:r,height:a,x:s,y:l,sdf:c,pixelRatio:u,stretchX:h,stretchY:f,content:p,textFitWidth:d,textFitHeight:m}=o[t],g={width:r,height:a,x:s,y:l,context:i};e[n][t]={data:null,pixelRatio:u,sdf:c,stretchX:h,stretchY:f,content:p,textFitWidth:d,textFitHeight:m,spriteData:g}}}return e}))}(l,c)}))}!function(){var t=new e.A(2);e.A!=Float32Array&&(t[0]=0,t[1]=0)}();class w{constructor(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)}update(t,r,n){const{width:i,height:a}=t,o=!(this.size&&this.size[0]===i&&this.size[1]===a||n),{context:s}=this,{gl:l}=s;if(this.useMipmap=Boolean(r&&r.useMipmap),l.bindTexture(l.TEXTURE_2D,this.texture),s.pixelStoreUnpackFlipY.set(!1),s.pixelStoreUnpack.set(1),s.pixelStoreUnpackPremultiplyAlpha.set(this.format===l.RGBA&&(!r||!1!==r.premultiply)),o)this.size=[i,a],t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texImage2D(l.TEXTURE_2D,0,this.format,this.format,l.UNSIGNED_BYTE,t):l.texImage2D(l.TEXTURE_2D,0,this.format,i,a,0,this.format,l.UNSIGNED_BYTE,t.data);else{const{x:r,y:o}=n||{x:0,y:0};t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texSubImage2D(l.TEXTURE_2D,0,r,o,l.RGBA,l.UNSIGNED_BYTE,t):l.texSubImage2D(l.TEXTURE_2D,0,r,o,i,a,l.RGBA,l.UNSIGNED_BYTE,t.data)}this.useMipmap&&this.isSizePowerOfTwo()&&l.generateMipmap(l.TEXTURE_2D)}bind(t,e,r){const{context:n}=this,{gl:i}=n;i.bindTexture(i.TEXTURE_2D,this.texture),r!==i.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=i.LINEAR),t!==this.filter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,t),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,e),this.wrap=e)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){const{gl:t}=this.context;t.deleteTexture(this.texture),this.texture=null}}function T(t){const{userImage:e}=t;return!!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}class k extends e.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(t){if(this.loaded!==t&&(this.loaded=t,t)){for(const{ids:t,promiseResolve:e}of this.requestors)e(this._getImagesForIds(t));this.requestors=[]}}getImage(t){const r=this.images[t];if(r&&!r.data&&r.spriteData){const t=r.spriteData;r.data=new e.R({width:t.width,height:t.height},t.context.getImageData(t.x,t.y,t.width,t.height).data),r.spriteData=null}return r}addImage(t,e){if(this.images[t])throw new Error(`Image id ${t} already exist, use updateImage instead`);this._validate(t,e)&&(this.images[t]=e)}_validate(t,r){let n=!0;const i=r.data||r.spriteData;return this._validateStretch(r.stretchX,i&&i.width)||(this.fire(new e.j(new Error(`Image "${t}" has invalid "stretchX" value`))),n=!1),this._validateStretch(r.stretchY,i&&i.height)||(this.fire(new e.j(new Error(`Image "${t}" has invalid "stretchY" value`))),n=!1),this._validateContent(r.content,r)||(this.fire(new e.j(new Error(`Image "${t}" has invalid "content" value`))),n=!1),n}_validateStretch(t,e){if(!t)return!0;let r=0;for(const n of t){if(n[0]{let n=!0;if(!this.isLoaded())for(const e of t)this.images[e]||(n=!1);this.isLoaded()||n?e(this._getImagesForIds(t)):this.requestors.push({ids:t,promiseResolve:e})}))}_getImagesForIds(t){const r={};for(const n of t){let t=this.getImage(n);t||(this.fire(new e.k("styleimagemissing",{id:n})),t=this.getImage(n)),t?r[n]={data:t.data.clone(),pixelRatio:t.pixelRatio,sdf:t.sdf,version:t.version,stretchX:t.stretchX,stretchY:t.stretchY,content:t.content,textFitWidth:t.textFitWidth,textFitHeight:t.textFitHeight,hasRenderCallback:Boolean(t.userImage&&t.userImage.render)}:e.w(`Image "${n}" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.`)}return r}getPixelSize(){const{width:t,height:e}=this.atlasImage;return{width:t,height:e}}getPattern(t){const r=this.patterns[t],n=this.getImage(t);if(!n)return null;if(r&&r.position.version===n.version)return r.position;if(r)r.position.version=n.version;else{const r={w:n.data.width+2,h:n.data.height+2,x:0,y:0},i=new e.I(r,n);this.patterns[t]={bin:r,position:i}}return this._updatePatternAtlas(),this.patterns[t].position}bind(t){const e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new w(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE)}_updatePatternAtlas(){const t=[];for(const e in this.patterns)t.push(this.patterns[e].bin);const{w:r,h:n}=e.p(t),i=this.atlasImage;i.resize({width:r||1,height:n||1});for(const t in this.patterns){const{bin:r}=this.patterns[t],n=r.x+1,a=r.y+1,o=this.getImage(t).data,s=o.width,l=o.height;e.R.copy(o,i,{x:0,y:0},{x:n,y:a},{width:s,height:l}),e.R.copy(o,i,{x:0,y:l-1},{x:n,y:a-1},{width:s,height:1}),e.R.copy(o,i,{x:0,y:0},{x:n,y:a+l},{width:s,height:1}),e.R.copy(o,i,{x:s-1,y:0},{x:n-1,y:a},{width:1,height:l}),e.R.copy(o,i,{x:0,y:0},{x:n+s,y:a},{width:1,height:l})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(t){for(const r of t){if(this.callbackDispatchedThisFrame[r])continue;this.callbackDispatchedThisFrame[r]=!0;const t=this.getImage(r);t||e.w(`Image with ID: "${r}" was not found`),T(t)&&this.updateImage(r,t)}}}const A=1e20;function M(t,e,r,n,i,a,o,s,l){for(let c=e;c-1);l++,a[l]=s,o[l]=c,o[l+1]=A}for(let s=0,l=0;s65535)throw new Error("glyphs > 65535 not supported");if(e.ranges[i])return{stack:t,id:r,glyph:n};if(!this.url)throw new Error("glyphsUrl is not set");if(!e.requests[i]){const r=E.loadGlyphRange(t,i,this.url,this.requestManager);e.requests[i]=r}const a=yield e.requests[i];for(const t in a)this._doesCharSupportLocalGlyph(+t)||(e.glyphs[+t]=a[+t]);return e.ranges[i]=!0,{stack:t,id:r,glyph:a[r]||null}}))}_doesCharSupportLocalGlyph(t){return!!this.localIdeographFontFamily&&(e.u["CJK Unified Ideographs"](t)||e.u["Hangul Syllables"](t)||e.u.Hiragana(t)||e.u.Katakana(t))}_tinySDF(t,r,n){const i=this.localIdeographFontFamily;if(!i)return;if(!this._doesCharSupportLocalGlyph(n))return;let a=t.tinySDF;if(!a){let e="400";/bold/i.test(r)?e="900":/medium/i.test(r)?e="500":/light/i.test(r)&&(e="200"),a=t.tinySDF=new E.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:i,fontWeight:e})}const o=a.draw(String.fromCharCode(n));return{id:n,bitmap:new e.o({width:o.width||60,height:o.height||60},o.data),metrics:{width:o.glyphWidth/2||24,height:o.glyphHeight/2||24,left:o.glyphLeft/2+.5||0,top:o.glyphTop/2-27.5||-8,advance:o.glyphAdvance/2||24,isDoubleResolution:!0}}}}E.loadGlyphRange=function(t,r,n,i){return e._(this,void 0,void 0,(function*(){const a=256*r,o=a+255,s=i.transformRequest(n.replace("{fontstack}",t).replace("{range}",`${a}-${o}`),"Glyphs"),l=yield e.l(s,new AbortController);if(!l||!l.data)throw new Error(`Could not load glyph range. range: ${r}, ${a}-${o}`);const c={};for(const t of e.n(l.data))c[t.id]=t;return c}))},E.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:r=8,cutoff:n=.25,fontFamily:i="sans-serif",fontWeight:a="normal",fontStyle:o="normal"}={}){this.buffer=e,this.cutoff=n,this.radius=r;const s=this.size=t+4*e,l=this._createCanvas(s),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${o} ${a} ${t}px ${i}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(s*s),this.gridInner=new Float64Array(s*s),this.f=new Float64Array(s),this.z=new Float64Array(s+1),this.v=new Uint16Array(s)}_createCanvas(t){const e=document.createElement("canvas");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:r,actualBoundingBoxDescent:n,actualBoundingBoxLeft:i,actualBoundingBoxRight:a}=this.ctx.measureText(t),o=Math.ceil(r),s=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(a-i))),l=Math.min(this.size-this.buffer,o+Math.ceil(n)),c=s+2*this.buffer,u=l+2*this.buffer,h=Math.max(c*u,0),f=new Uint8ClampedArray(h),p={data:f,width:c,height:u,glyphWidth:s,glyphHeight:l,glyphTop:o,glyphLeft:0,glyphAdvance:e};if(0===s||0===l)return p;const{ctx:d,buffer:m,gridInner:g,gridOuter:y}=this;d.clearRect(m,m,s,l),d.fillText(t,m,m+o);const v=d.getImageData(m,m,s,l);y.fill(A,0,h),g.fill(0,0,h);for(let t=0;t0?t*t:0,g[n]=t<0?t*t:0}}M(y,0,0,c,u,c,this.f,this.v,this.z),M(g,m,m,s,l,c,this.f,this.v,this.z);for(let t=0;t1&&(s=t[++o]);const l=Math.abs(i-s.left),c=Math.abs(i-s.right),u=Math.min(l,c);let h;const f=e/r*(n+1);if(s.isDash){const t=n-Math.abs(f);h=Math.sqrt(u*u+t*t)}else h=n-Math.sqrt(u*u+f*f);this.data[a+i]=Math.max(0,Math.min(255,h+128))}}}addRegularDash(t){for(let e=t.length-1;e>=0;--e){const r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}const e=t[0],r=t[t.length-1];e.isDash===r.isDash&&(e.left=r.left-this.width,r.right=e.right+this.width);const n=this.width*this.nextRow;let i=0,a=t[i];for(let e=0;e1&&(a=t[++i]);const r=Math.abs(e-a.left),o=Math.abs(e-a.right),s=Math.min(r,o),l=a.isDash?s:-s;this.data[n+e]=Math.max(0,Math.min(255,l+128))}}addDash(t,r){const n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return e.w("LineAtlas out of space"),null;let a=0;for(let e=0;e{t.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[F]}numActive(){return Object.keys(this.active).length}}const N=Math.floor(a.hardwareConcurrency/2);let j,U;function V(){return j||(j=new B),j}B.workerCount=e.C(globalThis)?Math.max(Math.min(N,3),1):1;class q{constructor(t,r){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=r;const n=this.workerPool.acquire(r);for(let t=0;t{t.remove()})),this.actors=[],t&&this.workerPool.release(this.id)}registerMessageHandler(t,e){for(const r of this.actors)r.registerMessageHandler(t,e)}}function H(){return U||(U=new q(V(),e.G),U.registerMessageHandler("GR",((t,r,n)=>e.m(r,n)))),U}function G(t,r){const n=e.H();return e.J(n,n,[1,1,0]),e.K(n,n,[.5*t.width,.5*t.height,1]),e.L(n,n,t.calculatePosMatrix(r.toUnwrapped()))}function Z(t,e,r,n,i,a){const o=function(t,e,r){if(t)for(const n of t){const t=e[n];if(t&&t.source===r&&"fill-extrusion"===t.type)return!0}else for(const t in e){const n=e[t];if(n.source===r&&"fill-extrusion"===n.type)return!0}return!1}(i&&i.layers,e,t.id),s=a.maxPitchScaleFactor(),l=t.tilesIn(n,s,o);l.sort(W);const c=[];for(const n of l)c.push({wrappedTileID:n.tileID.wrapped().key,queryResults:n.tile.queryRenderedFeatures(e,r,t._state,n.queryGeometry,n.cameraQueryGeometry,n.scale,i,a,s,G(t.transform,n.tileID))});const u=function(t){const e={},r={};for(const n of t){const t=n.queryResults,i=n.wrappedTileID,a=r[i]=r[i]||{};for(const r in t){const n=t[r],i=a[r]=a[r]||{},o=e[r]=e[r]||[];for(const t of n)i[t.featureIndex]||(i[t.featureIndex]=!0,o.push(t))}}return e}(c);for(const e in u)u[e].forEach((e=>{const r=e.feature,n=t.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=n}));return u}function W(t,e){const r=t.tileID,n=e.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}function Y(t,r,n){return e._(this,void 0,void 0,(function*(){let i=t;if(t.url?i=(yield e.h(r.transformRequest(t.url,"Source"),n)).data:yield a.frameAsync(n),!i)return null;const o=e.M(e.e(i,t),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in i&&i.vector_layers&&(o.vectorLayerIds=i.vector_layers.map((t=>t.id))),o}))}class X{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):Array.isArray(t)&&(4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1])))}setNorthEast(t){return this._ne=t instanceof e.N?new e.N(t.lng,t.lat):e.N.convert(t),this}setSouthWest(t){return this._sw=t instanceof e.N?new e.N(t.lng,t.lat):e.N.convert(t),this}extend(t){const r=this._sw,n=this._ne;let i,a;if(t instanceof e.N)i=t,a=t;else{if(!(t instanceof X)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){const e=t;return this.extend(X.convert(e))}{const r=t;return this.extend(e.N.convert(r))}}return t&&("lng"in t||"lon"in t)&&"lat"in t?this.extend(e.N.convert(t)):this}if(i=t._sw,a=t._ne,!i||!a)return this}return r||n?(r.lng=Math.min(i.lng,r.lng),r.lat=Math.min(i.lat,r.lat),n.lng=Math.max(a.lng,n.lng),n.lat=Math.max(a.lat,n.lat)):(this._sw=new e.N(i.lng,i.lat),this._ne=new e.N(a.lng,a.lat)),this}getCenter(){return new e.N((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new e.N(this.getWest(),this.getNorth())}getSouthEast(){return new e.N(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(t){const{lng:r,lat:n}=e.N.convert(t),i=this._sw.lat<=n&&n<=this._ne.lat;let a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a}static convert(t){return t instanceof X?t:t?new X(t):t}static fromLngLat(t,r=0){const n=360*r/40075017,i=n/Math.cos(Math.PI/180*t.lat);return new X(new e.N(t.lng-i,t.lat-n),new e.N(t.lng+i,t.lat+n))}}class ${constructor(t,e,r){this.bounds=X.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=r||24}validateBounds(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]}contains(t){const r=Math.pow(2,t.z),n=Math.floor(e.O(this.bounds.getWest())*r),i=Math.floor(e.Q(this.bounds.getNorth())*r),a=Math.ceil(e.O(this.bounds.getEast())*r),o=Math.ceil(e.Q(this.bounds.getSouth())*r);return t.x>=n&&t.x=i&&t.y{this._options.tiles=t})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return e.e({},this._options)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),r={request:this.map._requestManager.transformRequest(e,"Tile"),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};r.request.collectResourceTiming=this._collectResourceTiming;let n="RT";if(t.actor&&"expired"!==t.state){if("loading"===t.state)return new Promise(((e,r)=>{t.reloadPromise={resolve:e,reject:r}}))}else t.actor=this.dispatcher.getActor(),n="LT";t.abortController=new AbortController;try{const e=yield t.actor.sendAsync({type:n,data:r},t.abortController);if(delete t.abortController,t.aborted)return;this._afterTileLoadWorkerResponse(t,e)}catch(e){if(delete t.abortController,t.aborted)return;if(e&&404!==e.status)throw e;this._afterTileLoadWorkerResponse(t,null)}}))}_afterTileLoadWorkerResponse(t,e){if(e&&e.resourceTiming&&(t.resourceTiming=e.resourceTiming),e&&this.map._refreshExpiredTiles&&t.setExpiryData(e),t.loadVectorData(e,this.map.painter),t.reloadPromise){const e=t.reloadPromise;t.reloadPromise=null,this.loadTile(t).then(e.resolve).catch(e.reject)}}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.actor&&(yield t.actor.sendAsync({type:"AT",data:{uid:t.uid,type:this.type,source:this.id}}))}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),t.actor&&(yield t.actor.sendAsync({type:"RMT",data:{uid:t.uid,type:this.type,source:this.id}}))}))}hasTransition(){return!1}}class K extends e.E{constructor(t,r,n,i){super(),this.id=t,this.dispatcher=n,this.setEventedParent(i),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=e.e({type:"raster"},r),e.e(this,e.M(r,["url","scheme","tileSize"]))}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{const t=yield Y(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,t&&(e.e(this,t),t.bounds&&(this.tileBounds=new $(t.bounds,this.minzoom,this.maxzoom)),this.fire(new e.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.k("data",{dataType:"source",sourceDataType:"content"})))}catch(t){this._tileJSONRequest=null,this.fire(new e.j(t))}}))}loaded(){return this._loaded}onAdd(t){this.map=t,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(t){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),t(),this.load()}setTiles(t){return this.setSourceProperty((()=>{this._options.tiles=t})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t})),this}serialize(){return e.e({},this._options)}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);t.abortController=new AbortController;try{const r=yield p.getImage(this.map._requestManager.transformRequest(e,"Tile"),t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state="unloaded");if(r&&r.data){this.map._refreshExpiredTiles&&r.cacheControl&&r.expires&&t.setExpiryData({cacheControl:r.cacheControl,expires:r.expires});const e=this.map.painter.context,n=e.gl,i=r.data;t.texture=this.map.painter.getTileTexture(i.width),t.texture?t.texture.update(i,{useMipmap:!0}):(t.texture=new w(e,i,n.RGBA,{useMipmap:!0}),t.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE,n.LINEAR_MIPMAP_NEAREST)),t.state="loaded"}}catch(e){if(delete t.abortController,t.aborted)t.state="unloaded";else if(e)throw t.state="errored",e}}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController)}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.texture&&this.map.painter.saveTileTexture(t.texture)}))}hasTransition(){return!1}}class Q extends K{constructor(t,r,n,i){super(t,r,n,i),this.type="raster-dem",this.maxzoom=22,this._options=e.e({type:"raster-dem"},r),this.encoding=r.encoding||"mapbox",this.redFactor=r.redFactor,this.greenFactor=r.greenFactor,this.blueFactor=r.blueFactor,this.baseShift=r.baseShift}loadTile(t){return e._(this,void 0,void 0,(function*(){const r=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n=this.map._requestManager.transformRequest(r,"Tile");t.neighboringTiles=this._getNeighboringTiles(t.tileID),t.abortController=new AbortController;try{const r=yield p.getImage(n,t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state="unloaded");if(r&&r.data){const n=r.data;this.map._refreshExpiredTiles&&r.cacheControl&&r.expires&&t.setExpiryData({cacheControl:r.cacheControl,expires:r.expires});const i=e.b(n)&&e.U()?n:yield this.readImageNow(n),a={type:this.type,uid:t.uid,source:this.id,rawImageData:i,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!t.actor||"expired"===t.state){t.actor=this.dispatcher.getActor();const e=yield t.actor.sendAsync({type:"LDT",data:a});t.dem=e,t.needsHillshadePrepare=!0,t.needsTerrainPrepare=!0,t.state="loaded"}}}catch(e){if(delete t.abortController,t.aborted)t.state="unloaded";else if(e)throw t.state="errored",e}}))}readImageNow(t){return e._(this,void 0,void 0,(function*(){if("undefined"!=typeof VideoFrame&&e.V()){const r=t.width+2,n=t.height+2;try{return new e.R({width:r,height:n},yield e.W(t,-1,-1,r,n))}catch(t){}}return a.getImageData(t,1)}))}_getNeighboringTiles(t){const r=t.canonical,n=Math.pow(2,r.z),i=(r.x-1+n)%n,a=0===r.x?t.wrap-1:t.wrap,o=(r.x+1+n)%n,s=r.x+1===n?t.wrap+1:t.wrap,l={};return l[new e.S(t.overscaledZ,a,r.z,i,r.y).key]={backfilled:!1},l[new e.S(t.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new e.S(t.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new e.S(t.overscaledZ,t.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new e.S(t.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&e.e(i,{resourceTiming:n}),this.fire(new e.k("data",Object.assign(Object.assign({},i),{sourceDataType:"metadata"}))),this.fire(new e.k("data",Object.assign(Object.assign({},i),{sourceDataType:"content"})))}catch(t){if(this._pendingLoads--,this._removed)return void this.fire(new e.k("dataabort",{dataType:"source"}));this.fire(new e.j(t))}}))}loaded(){return 0===this._pendingLoads}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.actor?"RT":"LT";t.actor=this.actor;const r={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.abortController=new AbortController;const n=yield this.actor.sendAsync({type:e,data:r},t.abortController);delete t.abortController,t.unloadVectorData(),t.aborted||t.loadVectorData(n,this.map.painter,"RT"===e)}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.aborted=!0}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:t.uid,type:this.type,source:this.id}})}))}onRemove(){this._removed=!0,this.actor.sendAsync({type:"RS",data:{type:this.type,source:this.id}})}serialize(){return e.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var et=e.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class rt extends e.E{constructor(t,e,r,n){super(),this.id=t,this.dispatcher=r,this.coordinates=e.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(n),this.options=e}load(t){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{const e=yield p.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,e&&e.data&&(this.image=e.data,t&&(this.coordinates=t),this._finishLoading())}catch(t){this._request=null,this._loaded=!0,this.fire(new e.j(t))}}))}loaded(){return this._loaded}updateImage(t){return t.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=t.url,this.load(t.coordinates).finally((()=>{this.texture=null})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(t){this.map=t,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(t){this.coordinates=t;const r=t.map(e.Z.fromLngLat);this.tileID=function(t){let r=1/0,n=1/0,i=-1/0,a=-1/0;for(const e of t)r=Math.min(r,e.x),n=Math.min(n,e.y),i=Math.max(i,e.x),a=Math.max(a,e.y);const o=i-r,s=a-n,l=Math.max(o,s),c=Math.max(0,Math.floor(-Math.log(l)/Math.LN2)),u=Math.pow(2,c);return new e.a1(c,Math.floor((r+i)/2*u),Math.floor((n+a)/2*u))}(r),this.minzoom=this.maxzoom=this.tileID.z;const n=r.map((t=>this.tileID.getTilePoint(t)._round()));return this._boundsArray=new e.$,this._boundsArray.emplaceBack(n[0].x,n[0].y,0,0),this._boundsArray.emplaceBack(n[1].x,n[1].y,e.X,0),this._boundsArray.emplaceBack(n[3].x,n[3].y,0,e.X),this._boundsArray.emplaceBack(n[2].x,n[2].y,e.X,e.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new e.k("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const t=this.map.painter.context,r=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,et.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new w(t,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE));let n=!1;for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture,n=!0)}n&&this.fire(new e.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(t){return e._(this,void 0,void 0,(function*(){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={}):t.state="errored"}))}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class nt extends rt{constructor(t,e,r,n){super(t,e,r,n),this.roundZoom=!0,this.type="video",this.options=e}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1;const t=this.options;this.urls=[];for(const e of t.urls)this.urls.push(this.map._requestManager.transformRequest(e,"Source").url);try{const t=yield e.a3(this.urls);if(this._loaded=!0,!t)return;this.video=t,this.video.loop=!0,this.video.addEventListener("playing",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading()}catch(t){this.fire(new e.j(t))}}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(t){if(this.video){const r=this.video.seekable;tr.end(0)?this.fire(new e.j(new e.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${r.start(0)} and ${r.end(0)}-second mark.`))):this.video.currentTime=t}}getVideo(){return this.video}onAdd(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const t=this.map.painter.context,r=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,et.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new w(t,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE));let n=!1;for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture,n=!0)}n&&this.fire(new e.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class it extends rt{constructor(t,r,n,i){super(t,r,n,i),r.coordinates?Array.isArray(r.coordinates)&&4===r.coordinates.length&&!r.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>"number"!=typeof t))))||this.fire(new e.j(new e.a2(`sources.${t}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.j(new e.a2(`sources.${t}`,null,'missing required property "coordinates"'))),r.animate&&"boolean"!=typeof r.animate&&this.fire(new e.j(new e.a2(`sources.${t}`,null,'optional "animate" property must be a boolean value'))),r.canvas?"string"==typeof r.canvas||r.canvas instanceof HTMLCanvasElement||this.fire(new e.j(new e.a2(`sources.${t}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new e.j(new e.a2(`sources.${t}`,null,'missing required property "canvas"'))),this.options=r,this.animate=void 0===r.animate||r.animate}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new e.j(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())}))}getCanvas(){return this.canvas}onAdd(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const r=this.map.painter.context,n=r.gl;this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,et.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new w(r,this.canvas,n.RGBA,{premultiply:!0});let i=!1;for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture,i=!0)}i&&this.fire(new e.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of[this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return!0;return!1}}const at={},ot=t=>{switch(t){case"geojson":return tt;case"image":return rt;case"raster":return K;case"raster-dem":return Q;case"vector":return J;case"video":return nt;case"canvas":return it}return at[t]};const st="RTLPluginLoaded";class lt extends e.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=H()}_syncState(t){return this.status=t,this.dispatcher.broadcast("SRPS",{pluginStatus:t,pluginURL:this.url}).catch((t=>{throw this.status="error",t}))}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(t){return e._(this,arguments,void 0,(function*(t,e=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=a.resolveURL(t),!this.url)throw new Error(`requested url ${t} is invalid`);if("unavailable"===this.status){if(!e)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if("requested"===this.status)return this._requestImport()}))}_requestImport(){return e._(this,void 0,void 0,(function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new e.k(st))}))}lazyLoad(){"unavailable"===this.status?this.status="requested":"deferred"===this.status&&this._requestImport()}}let ct=null;function ut(){return ct||(ct=new lt),ct}class ht{constructor(t,r){this.timeAdded=0,this.fadeEndTime=0,this.tileID=t,this.uid=e.a4(),this.uses=0,this.tileSize=r,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(t){const e=t+this.timeAdded;ee.getLayer(t))).filter(Boolean);if(0!==t.length){n.layers=t,n.stateDependentLayerIds&&(n.stateDependentLayers=n.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)r[e.id]=n}}return r}(t.buckets,r.style),this.hasSymbolBuckets=!1;for(const t in this.buckets){const r=this.buckets[t];if(r instanceof e.a6){if(this.hasSymbolBuckets=!0,!n)break;r.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const t in this.buckets){const r=this.buckets[t];if(r instanceof e.a6&&r.hasRTLText){this.hasRTLText=!0,ut().lazyLoad();break}}this.queryPadding=0;for(const t in this.buckets){const e=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,r.style.getLayer(t).queryRadius(e))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new e.a5}unloadVectorData(){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const r=this.buckets[e];r.uploadPending()&&r.upload(t)}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new w(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new w(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null)}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)}queryRenderedFeatures(t,e,r,n,i,a,o,s,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:n,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:c,transform:s,params:o,queryPadding:this.queryPadding*l},t,e,r):{}}querySourceFeatures(t,r){const n=this.latestFeatureIndex;if(!n||!n.rawTileData)return;const i=n.loadVTLayers(),a=r&&r.sourceLayer?r.sourceLayer:"",o=i._geojsonTileLayer||i[a];if(!o)return;const s=e.a7(r&&r.filter),{z:l,x:c,y:u}=this.tileID.canonical,h={z:l,x:c,y:u};for(let r=0;rt)e=!1;else if(r)if(this.expirationTime{this.remove(t,i)}),r)),this.data[n].push(i),this.order.push(n),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}filter(t){const e=[];for(const r in this.data)for(const n of this.data[r])t(n.value)||e.push(n);for(const t of e)this.remove(t.value.tileID,t)}}class pt{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(t,r,n){const i=String(r);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][i]=this.stateChanges[t][i]||{},e.e(this.stateChanges[t][i],n),null===this.deletedStates[t]){this.deletedStates[t]={};for(const e in this.state[t])e!==i&&(this.deletedStates[t][e]=null)}else if(this.deletedStates[t]&&null===this.deletedStates[t][i]){this.deletedStates[t][i]={};for(const e in this.state[t][i])n[e]||(this.deletedStates[t][i][e]=null)}else for(const e in n)this.deletedStates[t]&&this.deletedStates[t][i]&&null===this.deletedStates[t][i][e]&&delete this.deletedStates[t][i][e]}removeFeatureState(t,e,r){if(null===this.deletedStates[t])return;const n=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},r&&void 0!==e)null!==this.deletedStates[t][n]&&(this.deletedStates[t][n]=this.deletedStates[t][n]||{},this.deletedStates[t][n][r]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][n])for(r in this.deletedStates[t][n]={},this.stateChanges[t][n])this.deletedStates[t][n][r]=null;else this.deletedStates[t][n]=null;else this.deletedStates[t]=null}getState(t,r){const n=String(r),i=this.state[t]||{},a=this.stateChanges[t]||{},o=e.e({},i[n],a[n]);if(null===this.deletedStates[t])return{};if(this.deletedStates[t]){const e=this.deletedStates[t][r];if(null===e)return{};for(const t in e)delete o[t]}return o}initializeTileState(t,e){t.setFeatureState(this.state,e)}coalesceChanges(t,r){const n={};for(const t in this.stateChanges){this.state[t]=this.state[t]||{};const r={};for(const n in this.stateChanges[t])this.state[t][n]||(this.state[t][n]={}),e.e(this.state[t][n],this.stateChanges[t][n]),r[n]=this.state[t][n];n[t]=r}for(const t in this.deletedStates){this.state[t]=this.state[t]||{};const r={};if(null===this.deletedStates[t])for(const e in this.state[t])r[e]={},this.state[t][e]={};else for(const e in this.deletedStates[t]){if(null===this.deletedStates[t][e])this.state[t][e]={};else for(const r of Object.keys(this.deletedStates[t][e]))delete this.state[t][e][r];r[e]=this.state[t][e]}n[t]=n[t]||{},e.e(n[t],r)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(n).length)for(const e in t)t[e].setFeatureState(n,r)}}class dt extends e.E{constructor(t,e,r){super(),this.id=t,this.dispatcher=r,this.on("data",(t=>this._dataHandler(t))),this.on("dataloading",(()=>{this._sourceErrored=!1})),this.on("error",(()=>{this._sourceErrored=this._source.loaded()})),this._source=((t,e,r,n)=>{const i=new(ot(e.type))(t,e,r,n);if(i.id!==t)throw new Error(`Expected Source id to be ${t} instead of ${i.id}`);return i})(t,e,r,this),this._tiles={},this._cache=new ft(0,(t=>this._unloadTile(t))),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new pt,this._didEmitContent=!1,this._updated=!1}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._maxTileCacheZoomLevels=t?t._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(t)}onRemove(t){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(t)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;if(!(void 0===this.used&&void 0===this.usedForTerrain||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(const t in this._tiles){const e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(t,r,n){return e._(this,void 0,void 0,(function*(){try{yield this._source.loadTile(t),this._tileLoaded(t,r,n)}catch(r){t.state="errored",404!==r.status?this._source.fire(new e.j(r,{tile:t})):this.update(this.transform,this.terrain)}}))}_unloadTile(t){this._source.unloadTile&&this._source.unloadTile(t)}_abortTile(t){this._source.abortTile&&this._source.abortTile(t),this._source.fire(new e.k("dataabort",{tile:t,coord:t.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const r=this._tiles[e];r.upload(t),r.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map((t=>t.tileID)).sort(mt).map((t=>t.key))}getRenderableIds(t){const r=[];for(const e in this._tiles)this._isIdRenderable(e,t)&&r.push(this._tiles[e]);return t?r.sort(((t,r)=>{const n=t.tileID,i=r.tileID,a=new e.P(n.canonical.x,n.canonical.y)._rotate(this.transform.angle),o=new e.P(i.canonical.x,i.canonical.y)._rotate(this.transform.angle);return n.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x})).map((t=>t.tileID.key)):r.map((t=>t.tileID)).sort(mt).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const t in this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(t,"reloading")}}_reloadTile(t,r){return e._(this,void 0,void 0,(function*(){const e=this._tiles[t];e&&("loading"!==e.state&&(e.state=r),yield this._loadTile(e,t,r))}))}_tileLoaded(t,r,n){t.timeAdded=a.now(),"expired"===n&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(r,t),"raster-dem"===this.getSource().type&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),t.aborted||this._source.fire(new e.k("data",{dataType:"source",tile:t,coord:t.tileID}))}_backfillDEM(t){const e=this.getRenderableIds();for(let n=0;n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,r,n){for(const i in this._tiles){let a=this._tiles[i];if(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)continue;let o=a.tileID;for(;a&&a.tileID.overscaledZ>e+1;){const t=a.tileID.scaledTo(a.tileID.overscaledZ-1);a=this._tiles[t.key],a&&a.hasData()&&(o=t)}let s=o;for(;s.overscaledZ>e;)if(s=s.scaledTo(s.overscaledZ-1),t[s.key]){n[o.key]=o;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(let r=t.overscaledZ-1;r>=e;r--){const e=t.scaledTo(r),n=this._getLoadedTile(e);if(n)return n}}findLoadedSibling(t){return this._getLoadedTile(t)}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(t){const r=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),n=null===this._maxTileCacheZoomLevels?e.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels,i=Math.floor(r*n),a="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,i):i;this._cache.setMaxSize(a)}handleWrapJump(t){const e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){const t={};for(const e in this._tiles){const n=this._tiles[e];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+r),t[n.tileID.key]=n}this._tiles=t;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles){const e=this._tiles[t];this._setTileReloadTimer(t,e)}}}_updateCoveredAndRetainedTiles(t,e,r,n,i,o){const s={},l={},c=Object.keys(t),u=a.now();for(const r of c){const n=t[r],i=this._tiles[r];if(!i||0!==i.fadeEndTime&&i.fadeEndTime<=u)continue;const a=this.findLoadedParent(n,e),o=this.findLoadedSibling(n),c=a||o||null;c&&(this._addTile(c.tileID),s[c.tileID.key]=c.tileID),l[r]=n}this._retainLoadedChildren(l,n,r,t);for(const e in s)t[e]||(this._coveredTiles[e]=!0,t[e]=s[e]);if(o){const e={},r={};for(const t of i)this._tiles[t.key].hasData()?e[t.key]=t:r[t.key]=t;for(const n in r){const i=r[n].children(this._source.maxzoom);this._tiles[i[0].key]&&this._tiles[i[1].key]&&this._tiles[i[2].key]&&this._tiles[i[3].key]&&(e[i[0].key]=t[i[0].key]=i[0],e[i[1].key]=t[i[1].key]=i[1],e[i[2].key]=t[i[2].key]=i[2],e[i[3].key]=t[i[3].key]=i[3],delete r[n])}for(const n in r){const i=r[n],a=this.findLoadedParent(i,this._source.minzoom),o=this.findLoadedSibling(i),s=a||o||null;if(s){e[s.tileID.key]=t[s.tileID.key]=s.tileID;for(const t in e)e[t].isChildOf(s.tileID)&&delete e[t]}}for(const t in this._tiles)e[t]||(this._coveredTiles[t]=!0)}}update(t,r){if(!this._sourceLoaded||this._paused)return;let n;this.transform=t,this.terrain=r,this.updateCacheSize(t),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?n=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((t=>new e.S(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y))):(n=t.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:r}),this._source.hasTile&&(n=n.filter((t=>this._source.hasTile(t))))):n=[];const i=t.coveringZoomLevel(this._source),a=Math.max(i-dt.maxOverzooming,this._source.minzoom),o=Math.max(i+dt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const t={};for(const e of n)if(e.canonical.z>this._source.minzoom){const r=e.scaledTo(e.canonical.z-1);t[r.key]=r;const n=e.scaledTo(Math.max(this._source.minzoom,Math.min(e.canonical.z,5)));t[n.key]=n}n=n.concat(Object.values(t))}const s=0===n.length&&!this._updated&&this._didEmitContent;this._updated=!0,s&&this.fire(new e.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));const l=this._updateRetainedTiles(n,i);gt(this._source.type)&&this._updateCoveredAndRetainedTiles(l,a,o,i,n,r);for(const t in l)this._tiles[t].clearFadeHold();const c=e.ac(this._tiles,l);for(const t of c){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(t)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)}_updateRetainedTiles(t,e){var r;const n={},i={},a=Math.max(e-dt.maxOverzooming,this._source.minzoom),o=Math.max(e+dt.maxUnderzooming,this._source.minzoom),s={};for(const r of t){const t=this._addTile(r);n[r.key]=r,t.hasData()||ethis._source.maxzoom){const t=o.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){n[t.key]=t;continue}}else{const t=o.children(this._source.maxzoom);if(n[t[0].key]&&n[t[1].key]&&n[t[2].key]&&n[t[3].key])continue}let s=t.wasRequested();for(let e=o.overscaledZ-1;e>=a;--e){const a=o.scaledTo(e);if(i[a.key])break;if(i[a.key]=!0,t=this.getTile(a),!t&&s&&(t=this._addTile(a)),t){const e=t.hasData();if((e||!(null===(r=this.map)||void 0===r?void 0:r.cancelPendingTileRequestsWhileZooming)||s)&&(n[a.key]=a),s=t.wasRequested(),e)break}}}return n}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let r,n=this._tiles[t].tileID;for(;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);const t=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(t),r)break;n=t}for(const t of e)this._loadedParentTiles[t]=r}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(const t in this._tiles){const e=this._tiles[t].tileID,r=this._getLoadedTile(e);this._loadedSiblingTiles[e.key]=r}}_addTile(t){let r=this._tiles[t.key];if(r)return r;r=this._cache.getAndRemove(t),r&&(this._setTileReloadTimer(t.key,r),r.tileID=t,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,r)));const n=r;return r||(r=new ht(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(r,t.key,r.state)),r.uses++,this._tiles[t.key]=r,n||this._source.fire(new e.k("dataloading",{tile:r,coord:r.tileID,dataType:"source"})),r}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const r=e.getExpiryTimeout();r&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,"expired"),delete this._timers[t]}),r))}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))}_dataHandler(t){const e=t.sourceDataType;"source"===t.dataType&&"metadata"===e&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===t.dataType&&"content"===e&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset()}tilesIn(t,r,n){const i=[],a=this.transform;if(!a)return i;const o=n?a.getCameraQueryGeometry(t):t,s=t.map((t=>a.pointCoordinate(t,this.terrain))),l=o.map((t=>a.pointCoordinate(t,this.terrain))),c=this.getIds();let u=1/0,h=1/0,f=-1/0,p=-1/0;for(const t of l)u=Math.min(u,t.x),h=Math.min(h,t.y),f=Math.max(f,t.x),p=Math.max(p,t.y);for(let t=0;t=0&&g[1].y+m>=0){const t=s.map((t=>o.getTilePoint(t))),e=l.map((t=>o.getTilePoint(t)));i.push({tile:n,tileID:o,queryGeometry:t,cameraQueryGeometry:e,scale:d})}}return i}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const t of e)t.posMatrix=this.transform.calculatePosMatrix(t.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return!0;if(gt(this._source.type)){const t=a.now();for(const e in this._tiles)if(this._tiles[e].fadeEndTime>=t)return!0}return!1}setFeatureState(t,e,r){t=t||"_geojsonTileLayer",this._state.updateState(t,e,r)}removeFeatureState(t,e,r){t=t||"_geojsonTileLayer",this._state.removeFeatureState(t,e,r)}getFeatureState(t,e){return t=t||"_geojsonTileLayer",this._state.getState(t,e)}setDependencies(t,e,r){const n=this._tiles[t];n&&n.setDependencies(e,r)}reloadTilesForDependencies(t,e){for(const r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,"reloading");this._cache.filter((r=>!r.hasDependency(t,e)))}}function mt(t,e){const r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function gt(t){return"raster"===t||"image"===t||"video"===t}dt.maxOverzooming=10,dt.maxUnderzooming=3;class yt{constructor(t,e){this.reset(t,e)}reset(t,e){this.points=t||[],this._distances=[0];for(let t=1;t0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))}}function vt(t,e){let r=!0;return"always"===t||"never"!==t&&"never"!==e||(r=!1),r}class xt{constructor(t,e,r){const n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(let t=0;tthis.width||n<0||e>this.height)return[];const s=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return[{key:null,x1:t,y1:e,x2:r,y2:n}];for(let t=0;t0}hitTestCircle(t,e,r,n,i){const a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!1;const c=[],u={hitTest:!0,overlapMode:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,c,u,i),c.length>0}_queryCell(t,e,r,n,i,a,o,s){const{seenUids:l,hitTest:c,overlapMode:u}=o,h=this.boxCells[i];if(null!==h){const i=this.bboxes;for(const o of h)if(!l.box[o]){l.box[o]=!0;const h=4*o,f=this.boxKeys[o];if(t<=i[h+2]&&e<=i[h+3]&&r>=i[h+0]&&n>=i[h+1]&&(!s||s(f))&&(!c||!vt(u,f.overlapMode))&&(a.push({key:f,x1:i[h],y1:i[h+1],x2:i[h+2],y2:i[h+3]}),c))return!0}}const f=this.circleCells[i];if(null!==f){const i=this.circles;for(const o of f)if(!l.circle[o]){l.circle[o]=!0;const h=3*o,f=this.circleKeys[o];if(this._circleAndRectCollide(i[h],i[h+1],i[h+2],t,e,r,n)&&(!s||s(f))&&(!c||!vt(u,f.overlapMode))){const t=i[h],e=i[h+1],r=i[h+2];if(a.push({key:f,x1:t-r,y1:e-r,x2:t+r,y2:e+r}),c)return!0}}}return!1}_queryCellCircle(t,e,r,n,i,a,o,s){const{circle:l,seenUids:c,overlapMode:u}=o,h=this.boxCells[i];if(null!==h){const t=this.bboxes;for(const e of h)if(!c.box[e]){c.box[e]=!0;const r=4*e,n=this.boxKeys[e];if(this._circleAndRectCollide(l.x,l.y,l.radius,t[r+0],t[r+1],t[r+2],t[r+3])&&(!s||s(n))&&!vt(u,n.overlapMode))return a.push(!0),!0}}const f=this.circleCells[i];if(null!==f){const t=this.circles;for(const e of f)if(!c.circle[e]){c.circle[e]=!0;const r=3*e,n=this.circleKeys[e];if(this._circlesCollide(t[r],t[r+1],t[r+2],l.x,l.y,l.radius)&&(!s||s(n))&&!vt(u,n.overlapMode))return a.push(!0),!0}}}_forEachCell(t,e,r,n,i,a,o,s){const l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),u=this._convertToXCellCoord(r),h=this._convertToYCellCoord(n);for(let f=l;f<=u;f++)for(let l=c;l<=h;l++){const c=this.xCellCount*l+f;if(i.call(this,t,e,r,n,c,a,o,s))return}}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,e,r,n,i,a){const o=n-t,s=i-e,l=r+a;return l*l>o*o+s*s}_circleAndRectCollide(t,e,r,n,i,a,o){const s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;const c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;const h=l-s,f=u-c;return h*h+f*f<=r*r}}function _t(t,r,n,i,a){const o=e.H();return r?(e.K(o,o,[1/a,1/a,1]),n||e.ae(o,o,i.angle)):e.L(o,i.labelPlaneMatrix,t),o}function bt(t,r,n,i,a){if(r){const r=e.af(t);return e.K(r,r,[a,a,1]),n||e.ae(r,r,-i.angle),r}return i.glCoordMatrix}function wt(t,r,n){let i;n?(i=[t.x,t.y,n(t.x,t.y),1],e.ag(i,i,r)):(i=[t.x,t.y,0,1],function(t,e,r){const n=e[0],i=e[1];t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t[3]=r[3]*n+r[7]*i+r[15]}(i,i,r));const a=i[3];return{point:new e.P(i[0]/a,i[1]/a),signedDistanceFromCamera:a,isOccluded:!1}}function Tt(t,e){return.5+t/e*.5}function kt(t,e){return t.x>=-e[0]&&t.x<=e[0]&&t.y>=-e[1]&&t.y<=e[1]}function At(t,r,n,i,a,o,s,l,c,u,h,f,p,d,m){const g=i?t.textSizeData:t.iconSizeData,y=e.ah(g,n.transform.zoom),v=[256/n.width*2+1,256/n.height*2+1],x=i?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;x.clear();const _=t.lineVertexArray,b=i?t.text.placedSymbolArray:t.icon.placedSymbolArray,w=n.transform.width/n.transform.height;let T=!1;for(let i=0;iMath.abs(n.x-r.x)*i?{useVertical:!0}:(t===e.ai.vertical?r.yn.x)?{needsFlipping:!0}:null}function Et(t,r,n,i,a,o,s,l,c,u,h){const f=n/24,p=r.lineOffsetX*f,d=r.lineOffsetY*f;let m;if(r.numGlyphs>1){const e=r.glyphStartIndex+r.numGlyphs,n=r.lineStartIndex,o=r.lineStartIndex+r.lineLength,c=Mt(f,l,p,d,i,r,h,t);if(!c)return{notEnoughRoom:!0};const g=wt(c.first.point,s,t.getElevation).point,y=wt(c.last.point,s,t.getElevation).point;if(a&&!i){const t=St(r.writingMode,g,y,u);if(t)return t}m=[c.first];for(let a=r.glyphStartIndex+1;a0?s.point:function(t,e,r,n,i,a){return Ct(t,e,r,n,i,a)}(t.tileAnchorPoint,a,n,1,o,t),c=St(r.writingMode,n,l,u);if(c)return c}const n=Ot(f*l.getoffsetX(r.glyphStartIndex),p,d,i,r.segment,r.lineStartIndex,r.lineStartIndex+r.lineLength,t,h);if(!n||t.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};m=[n]}for(const t of m)e.ak(c,t.point,t.angle);return{}}function Ct(t,e,r,n,i,a){const o=t.add(t.sub(e)._unit()),s=void 0!==i?wt(o,i,a.getElevation).point:It(o.x,o.y,a).point,l=r.sub(s);return r.add(l._mult(n/l.mag()))}function Lt(t,r,n){const i=r.projectionCache;if(i.projections[t])return i.projections[t];const a=new e.P(r.lineVertexArray.getx(t),r.lineVertexArray.gety(t)),o=It(a.x,a.y,r);if(o.signedDistanceFromCamera>0)return i.projections[t]=o.point,i.anyProjectionOccluded=i.anyProjectionOccluded||o.isOccluded,o.point;const s=t-n.direction,l=0===n.distanceFromAnchor?r.tileAnchorPoint:new e.P(r.lineVertexArray.getx(s),r.lineVertexArray.gety(s)),c=n.absOffsetX-n.distanceFromAnchor+1;return function(t,e,r,n,i){return Ct(t,e,r,n,void 0,i)}(l,a,n.previousVertex,c,r)}function It(t,r,n){const i=t+n.translation[0],a=r+n.translation[1];let o;return!n.pitchWithMap&&n.projection.useSpecialProjectionForSymbols?(o=n.projection.projectTileCoordinates(i,a,n.unwrappedTileID,n.getElevation),o.point.x=(.5*o.point.x+.5)*n.width,o.point.y=(.5*-o.point.y+.5)*n.height):(o=wt(new e.P(i,a),n.labelPlaneMatrix,n.getElevation),o.isOccluded=!1),o}function Pt(t,e,r){return t._unit()._perp()._mult(e*r)}function zt(t,r,n,i,a,o,s,l,c){if(l.projectionCache.offsets[t])return l.projectionCache.offsets[t];const u=n.add(r);if(t+c.direction=a)return l.projectionCache.offsets[t]=u,u;const h=Lt(t+c.direction,l,c),f=Pt(h.sub(n),s,c.direction),p=n.add(f),d=h.add(f);return l.projectionCache.offsets[t]=e.al(o,u,p,d)||u,l.projectionCache.offsets[t]}function Ot(t,e,r,n,i,a,o,s,l){const c=n?t-e:t+e;let u=c>0?1:-1,h=0;n&&(u*=-1,h=Math.PI),u<0&&(h+=Math.PI);let f,p=u>0?a+i:a+i+1;s.projectionCache.cachedAnchorPoint?f=s.projectionCache.cachedAnchorPoint:(f=It(s.tileAnchorPoint.x,s.tileAnchorPoint.y,s).point,s.projectionCache.cachedAnchorPoint=f);let d,m,g=f,y=f,v=0,x=0;const _=Math.abs(c),b=[];let w;for(;v+x<=_;){if(p+=u,p=o)return null;v+=x,y=g,m=d;const t={absOffsetX:_,direction:u,distanceFromAnchor:v,previousVertex:y};if(g=Lt(p,s,t),0===r)b.push(y),w=g.sub(y);else{let e;const n=g.sub(y);e=0===n.mag()?Pt(Lt(p+u,s,t).sub(g),r,u):Pt(n,r,u),m||(m=y.add(e)),d=zt(p,e,g,a,o,m,r,s,t),b.push(m),w=d.sub(m)}x=w.mag()}const T=(_-v)/x,k=w._mult(T)._add(m||y),A=h+Math.atan2(g.y-y.y,g.x-y.x);return b.push(k),{point:k,angle:l?A:0,path:b}}const Dt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Rt(t,e){for(let r=0;r=1;t--)l.push(o.path[t]);for(let t=1;tt.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point))}let m=[];if(l.length>0){const t=l[0].clone(),r=l[0].clone();for(let e=1;e=n.x&&r.x<=i.x&&t.y>=n.y&&r.y<=i.y?[l]:r.xi.x||r.yi.y?[]:e.am([l],n.x,n.y,i.x,i.y)}for(const e of m){a.reset(e,.25*r);let n=0;n=a.length<=.5*r?1:Math.ceil(a.paddedLength/h)+1;for(let e=0;ewt(t,r,e.getElevation)))}queryRenderedSymbols(t){if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};const r=[];let n=1/0,i=1/0,a=-1/0,o=-1/0;for(const s of t){const t=new e.P(s.x+Ft,s.y+Ft);n=Math.min(n,t.x),i=Math.min(i,t.y),a=Math.max(a,t.x),o=Math.max(o,t.y),r.push(t)}const s=this.grid.query(n,i,a,o).concat(this.ignoredGrid.query(n,i,a,o)),l={},c={};for(const t of s){const n=t.key;if(void 0===l[n.bucketInstanceId]&&(l[n.bucketInstanceId]={}),l[n.bucketInstanceId][n.featureIndex])continue;const i=[new e.P(t.x1,t.y1),new e.P(t.x2,t.y1),new e.P(t.x2,t.y2),new e.P(t.x1,t.y2)];e.an(r,i)&&(l[n.bucketInstanceId][n.featureIndex]=!0,void 0===c[n.bucketInstanceId]&&(c[n.bucketInstanceId]=[]),c[n.bucketInstanceId].push(n.featureIndex))}return c}insertCollisionBox(t,e,r,n,i,a){const o={bucketInstanceId:n,featureIndex:i,collisionGroupID:a,overlapMode:e};(r?this.ignoredGrid:this.grid).insert(o,t[0],t[1],t[2],t[3])}insertCollisionCircles(t,e,r,n,i,a){const o=r?this.ignoredGrid:this.grid,s={bucketInstanceId:n,featureIndex:i,collisionGroupID:a,overlapMode:e};for(let e=0;e=this.screenRightBoundary||nthis.screenBottomBoundary}isInsideGrid(t,e,r,n){return r>=0&&t=0&&ethis.projectAndGetPerspectiveRatio(n,t.x,t.y,i,c)));A=t.some((t=>!t.isOccluded)),k=t.map((t=>t.point))}else A=!0;return{box:e.ap(k),allPointsOccluded:!A}}}function Nt(t,r,n){return r*(e.X/(t.tileSize*Math.pow(2,n-t.tileID.overscaledZ)))}class jt{constructor(t,e,r,n){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):n&&r?1:0,this.placed=r}isHidden(){return 0===this.opacity&&!this.placed}}class Ut{constructor(t,e,r,n,i){this.text=new jt(t?t.text:null,e,r,i),this.icon=new jt(t?t.icon:null,e,n,i)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Vt{constructor(t,e,r){this.text=t,this.icon=e,this.skipFade=r}}class qt{constructor(){this.invProjMatrix=e.H(),this.viewportMatrix=e.H(),this.circles=[]}}class Ht{constructor(t,e,r,n,i){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=i}}class Gt{constructor(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={}}get(t){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[t]){const e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:t=>t.collisionGroupID===e}}return this.collisionGroups[t]}}function Zt(t,r,n,i,a){const{horizontalAlign:o,verticalAlign:s}=e.av(t),l=-(o-.5)*r,c=-(s-.5)*n;return new e.P(l+i[0]*a,c+i[1]*a)}class Wt{constructor(t,e,r,n,i,a){this.transform=t.clone(),this.terrain=r,this.collisionIndex=new Bt(this.transform,e),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=n,this.retainedQueryData={},this.collisionGroups=new Gt(i),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=a,a&&(a.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(t){const e=this.terrain;return e?(r,n)=>e.getElevation(t,r,n):null}getBucketParts(t,r,n,i){const a=n.getBucket(r),o=n.latestFeatureIndex;if(!a||!o||r.id!==a.layerIds[0])return;const s=n.collisionBoxArray,l=a.layers[0].layout,c=a.layers[0].paint,u=Math.pow(2,this.transform.zoom-n.tileID.overscaledZ),h=n.tileSize/e.X,f=n.tileID.toUnwrapped(),p=this.transform.calculatePosMatrix(f),d="map"===l.get("text-pitch-alignment"),m="map"===l.get("text-rotation-alignment"),g=Nt(n,1,this.transform.zoom),y=this.collisionIndex.mapProjection.translatePosition(this.transform,n,c.get("text-translate"),c.get("text-translate-anchor")),v=this.collisionIndex.mapProjection.translatePosition(this.transform,n,c.get("icon-translate"),c.get("icon-translate-anchor")),x=_t(p,d,m,this.transform,g);let _=null;if(d){const t=bt(p,d,m,this.transform,g);_=e.L([],this.transform.labelPlaneMatrix,t)}this.retainedQueryData[a.bucketInstanceId]=new Ht(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,n.tileID);const b={bucket:a,layout:l,translationText:y,translationIcon:v,posMatrix:p,unwrappedTileID:f,textLabelPlaneMatrix:x,labelToScreenMatrix:_,scale:u,textPixelRatio:h,holdingForFade:n.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:e.ah(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(i)for(const e of a.sortKeyRanges){const{sortKey:r,symbolInstanceStart:n,symbolInstanceEnd:i}=e;t.push({sortKey:r,symbolInstanceStart:n,symbolInstanceEnd:i,parameters:b})}else t.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:b})}attemptAnchorPlacement(t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x){const _=e.ar[t.textAnchor],b=[t.textOffset0,t.textOffset1],w=Zt(_,n,i,b,a),T=this.collisionIndex.placeCollisionBox(r,f,l,c,u,s,o,g,h.predicate,x,w);if((!v||this.collisionIndex.placeCollisionBox(v,f,l,c,u,s,o,y,h.predicate,x,w).placeable)&&T.placeable){let t;if(this.prevPlacement&&this.prevPlacement.variableOffsets[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID].text&&(t=this.prevPlacement.variableOffsets[p.crossTileID].anchor),0===p.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[p.crossTileID]={textOffset:b,width:n,height:i,anchor:_,textBoxScale:a,prevAnchor:t},this.markUsedJustification(d,_,p,m),d.allowVerticalPlacement&&(this.markUsedOrientation(d,m,p),this.placedOrientations[p.crossTileID]=m),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(t,r,n){const{bucket:i,layout:a,translationText:o,translationIcon:s,posMatrix:l,unwrappedTileID:c,textLabelPlaneMatrix:u,labelToScreenMatrix:h,textPixelRatio:f,holdingForFade:p,collisionBoxArray:d,partiallyEvaluatedTextSize:m,collisionGroup:g}=t.parameters,y=a.get("text-optional"),v=a.get("icon-optional"),x=e.as(a,"text-overlap","text-allow-overlap"),_="always"===x,b=e.as(a,"icon-overlap","icon-allow-overlap"),w="always"===b,T="map"===a.get("text-rotation-alignment"),k="map"===a.get("text-pitch-alignment"),A="none"!==a.get("icon-text-fit"),M="viewport-y"===a.get("symbol-z-order"),S=_&&(w||!i.hasIconData()||v),E=w&&(_||!i.hasTextData()||y);!i.collisionArrays&&d&&i.deserializeCollisionBoxes(d);const C=this.retainedQueryData[i.bucketInstanceId].tileID,L=this._getTerrainElevationFunc(C),I=(t,d,w)=>{var M,C;if(r[t.crossTileID])return;if(p)return void(this.placements[t.crossTileID]=new Vt(!1,!1,!1));let I=!1,P=!1,z=!0,O=null,D={box:null,placeable:!1,offscreen:null},R={box:null,placeable:!1,offscreen:null},F=null,B=null,N=null,j=0,U=0,V=0;d.textFeatureIndex?j=d.textFeatureIndex:t.useRuntimeCollisionCircles&&(j=t.featureIndex),d.verticalTextFeatureIndex&&(U=d.verticalTextFeatureIndex);const q=d.textBox;if(q){const r=r=>{let n=e.ai.horizontal;if(i.allowVerticalPlacement&&!r&&this.prevPlacement){const e=this.prevPlacement.placedOrientations[t.crossTileID];e&&(this.placedOrientations[t.crossTileID]=e,n=e,this.markUsedOrientation(i,n,t))}return n},a=(r,n)=>{if(i.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&d.verticalTextBox){for(const t of i.writingModes)if(t===e.ai.vertical?(D=n(),R=D):D=r(),D&&D.placeable)break}else D=r()},u=t.textAnchorOffsetStartIndex,h=t.textAnchorOffsetEndIndex;if(h===u){const n=(e,r)=>{const n=this.collisionIndex.placeCollisionBox(e,x,f,l,c,k,T,o,g.predicate,L);return n&&n.placeable&&(this.markUsedOrientation(i,r,t),this.placedOrientations[t.crossTileID]=r),n};a((()=>n(q,e.ai.horizontal)),(()=>{const r=d.verticalTextBox;return i.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&r?n(r,e.ai.vertical):{box:null,offscreen:null}})),r(D&&D.placeable)}else{let p=e.ar[null===(C=null===(M=this.prevPlacement)||void 0===M?void 0:M.variableOffsets[t.crossTileID])||void 0===C?void 0:C.anchor];const m=(r,a,d)=>{const m=r.x2-r.x1,y=r.y2-r.y1,v=t.textBoxScale,_=A&&"never"===b?a:null;let w=null,M="never"===x?1:2,S="never";p&&M++;for(let e=0;em(q,d.iconBox,e.ai.horizontal)),(()=>{const r=d.verticalTextBox,n=D&&D.placeable;return i.allowVerticalPlacement&&!n&&t.numVerticalGlyphVertices>0&&r?m(r,d.verticalIconBox,e.ai.vertical):{box:null,occluded:!0,offscreen:null}})),D&&(I=D.placeable,z=D.offscreen);const y=r(D&&D.placeable);if(!I&&this.prevPlacement){const e=this.prevPlacement.variableOffsets[t.crossTileID];e&&(this.variableOffsets[t.crossTileID]=e,this.markUsedJustification(i,e.anchor,t,y))}}}if(F=D,I=F&&F.placeable,z=F&&F.offscreen,t.useRuntimeCollisionCircles){const r=i.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex),s=e.aj(i.textSizeData,m,r),f=a.get("text-padding"),p=t.collisionCircleDiameter;B=this.collisionIndex.placeCollisionCircles(x,r,i.lineVertexArray,i.glyphOffsetArray,s,l,c,u,h,n,k,g.predicate,p,f,o,L),B.circles.length&&B.collisionDetected&&!n&&e.w("Collisions detected, but collision boxes are not shown"),I=_||B.circles.length>0&&!B.collisionDetected,z=z&&B.offscreen}if(d.iconFeatureIndex&&(V=d.iconFeatureIndex),d.iconBox){const t=t=>this.collisionIndex.placeCollisionBox(t,b,f,l,c,k,T,s,g.predicate,L,A&&O?O:void 0);R&&R.placeable&&d.verticalIconBox?(N=t(d.verticalIconBox),P=N.placeable):(N=t(d.iconBox),P=N.placeable),z=z&&N.offscreen}const H=y||0===t.numHorizontalGlyphVertices&&0===t.numVerticalGlyphVertices,G=v||0===t.numIconVertices;H||G?G?H||(P=P&&I):I=P&&I:P=I=P&&I;const Z=I&&F.placeable,W=P&&N.placeable;if(Z&&(R&&R.placeable&&U?this.collisionIndex.insertCollisionBox(F.box,x,a.get("text-ignore-placement"),i.bucketInstanceId,U,g.ID):this.collisionIndex.insertCollisionBox(F.box,x,a.get("text-ignore-placement"),i.bucketInstanceId,j,g.ID)),W&&this.collisionIndex.insertCollisionBox(N.box,b,a.get("icon-ignore-placement"),i.bucketInstanceId,V,g.ID),B&&I&&this.collisionIndex.insertCollisionCircles(B.circles,x,a.get("text-ignore-placement"),i.bucketInstanceId,j,g.ID),n&&this.storeCollisionData(i.bucketInstanceId,w,d,F,N,B),0===t.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");if(0===i.bucketInstanceId)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[t.crossTileID]=new Vt(I||S,P||E,z||i.justReloaded),r[t.crossTileID]=!0};if(M){if(0!==t.symbolInstanceStart)throw new Error("bucket.bucketInstanceId should be 0");const e=i.getSortedSymbolIndexes(this.transform.angle);for(let t=e.length-1;t>=0;--t){const r=e[t];I(i.symbolInstances.get(r),i.collisionArrays[r],r)}}else for(let e=t.symbolInstanceStart;e=0&&(t.text.placedSymbolArray.get(e).crossTileID=o>=0&&e!==o?0:n.crossTileID)}markUsedOrientation(t,r,n){const i=r===e.ai.horizontal||r===e.ai.horizontalOnly?r:0,a=r===e.ai.vertical?r:0,o=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];for(const e of o)t.text.placedSymbolArray.get(e).placedOrientation=i;n.verticalPlacedTextSymbolIndex&&(t.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=a)}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const e=this.prevPlacement;let r=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;const n=e?e.symbolFadeChange(t):1,i=e?e.opacities:{},a=e?e.variableOffsets:{},o=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],a=i[t];a?(this.opacities[t]=new Ut(a,n,e.text,e.icon),r=r||e.text!==a.text.placed||e.icon!==a.icon.placed):(this.opacities[t]=new Ut(null,n,e.text,e.icon,e.skipFade),r=r||e.text||e.icon)}for(const t in i){const e=i[t];if(!this.opacities[t]){const i=new Ut(e,n,!1,!1);i.isHidden()||(this.opacities[t]=i,r=r||e.text.placed||e.icon.placed)}}for(const t in a)this.variableOffsets[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.variableOffsets[t]=a[t]);for(const t in o)this.placedOrientations[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.placedOrientations[t]=o[t]);if(e&&void 0===e.lastPlacementChangeTime)throw new Error("Last placement time for previous placement is not defined");r?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)}updateLayerOpacities(t,e){const r={};for(const n of e){const e=n.getBucket(t);e&&n.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,n.tileID,r,n.collisionBoxArray)}}updateBucketOpacities(t,r,n,i){t.hasTextData()&&(t.text.opacityVertexArray.clear(),t.text.hasVisibleVertices=!1),t.hasIconData()&&(t.icon.opacityVertexArray.clear(),t.icon.hasVisibleVertices=!1),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();const a=t.layers[0],o=a.layout,s=new Ut(null,0,!1,!1,!0),l=o.get("text-allow-overlap"),c=o.get("icon-allow-overlap"),u=a._unevaluatedLayout.hasValue("text-variable-anchor")||a._unevaluatedLayout.hasValue("text-variable-anchor-offset"),h="map"===o.get("text-rotation-alignment"),f="map"===o.get("text-pitch-alignment"),p="none"!==o.get("icon-text-fit"),d=new Ut(null,0,l&&(c||!t.hasIconData()||o.get("icon-optional")),c&&(l||!t.hasTextData()||o.get("text-optional")),!0);!t.collisionArrays&&i&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(i);const m=(t,e,r)=>{for(let n=0;n0||o>0,x=i.numIconVertices>0,_=this.placedOrientations[i.crossTileID],b=_===e.ai.vertical,w=_===e.ai.horizontal||_===e.ai.horizontalOnly;if(v){const e=re(y.text),r=b?ne:e;m(t.text,a,r);const n=w?ne:e;m(t.text,o,n);const s=y.text.isHidden();[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach((e=>{e>=0&&(t.text.placedSymbolArray.get(e).hidden=s||b?1:0)})),i.verticalPlacedTextSymbolIndex>=0&&(t.text.placedSymbolArray.get(i.verticalPlacedTextSymbolIndex).hidden=s||w?1:0);const l=this.variableOffsets[i.crossTileID];l&&this.markUsedJustification(t,l.anchor,i,_);const c=this.placedOrientations[i.crossTileID];c&&(this.markUsedJustification(t,"left",i,c),this.markUsedOrientation(t,c,i))}if(x){const e=re(y.icon),r=!(p&&i.verticalPlacedIconSymbolIndex&&b);if(i.placedIconSymbolIndex>=0){const n=r?e:ne;m(t.icon,i.numIconVertices,n),t.icon.placedSymbolArray.get(i.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(i.verticalPlacedIconSymbolIndex>=0){const n=r?ne:e;m(t.icon,i.numVerticalIconVertices,n),t.icon.placedSymbolArray.get(i.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}const T=g&&g.has(r)?g.get(r):{text:null,icon:null};if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){const n=t.collisionArrays[r];if(n){let r=new e.P(0,0);if(n.textBox||n.verticalTextBox){let e=!0;if(u){const t=this.variableOffsets[l];t?(r=Zt(t.anchor,t.width,t.height,t.textOffset,t.textBoxScale),h&&r._rotate(f?this.transform.angle:-this.transform.angle)):e=!1}if(n.textBox||n.verticalTextBox){let i;n.textBox&&(i=b),n.verticalTextBox&&(i=w),Yt(t.textCollisionBox.collisionVertexArray,y.text.placed,!e||i,T.text,r.x,r.y)}}if(n.iconBox||n.verticalIconBox){const e=Boolean(!w&&n.verticalIconBox);let i;n.iconBox&&(i=e),n.verticalIconBox&&(i=!e),Yt(t.iconCollisionBox.collisionVertexArray,y.icon.placed,i,T.icon,p?r.x:0,p?r.y:0)}}}}if(t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.text.opacityVertexArray.length!==t.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${t.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${t.text.layoutVertexArray.length}) / 4`);if(t.icon.opacityVertexArray.length!==t.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${t.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${t.icon.layoutVertexArray.length}) / 4`);if(t.bucketInstanceId in this.collisionCircleArrays){const e=this.collisionCircleArrays[t.bucketInstanceId];t.placementInvProjMatrix=e.invProjMatrix,t.placementViewportMatrix=e.viewportMatrix,t.collisionCircleArray=e.circles,delete this.collisionCircleArrays[t.bucketInstanceId]}}symbolFadeChange(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0}}function Yt(t,e,r,n,i,a){n&&0!==n.length||(n=[0,0,0,0]);const o=n[0]-Ft,s=n[1]-Ft,l=n[2]-Ft,c=n[3]-Ft;t.emplaceBack(e?1:0,r?1:0,i||0,a||0,o,s),t.emplaceBack(e?1:0,r?1:0,i||0,a||0,l,s),t.emplaceBack(e?1:0,r?1:0,i||0,a||0,l,c),t.emplaceBack(e?1:0,r?1:0,i||0,a||0,o,c)}const Xt=Math.pow(2,25),$t=Math.pow(2,24),Jt=Math.pow(2,17),Kt=Math.pow(2,16),Qt=Math.pow(2,9),te=Math.pow(2,8),ee=Math.pow(2,1);function re(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;const e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Xt+e*$t+r*Jt+e*Kt+r*Qt+e*te+r*ee+e}const ne=0;function ie(){return{isOccluded(t,e,r){return!1},getPitchedTextCorrection(t,e,r){return 1},get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(t,e,r,n){throw new Error("Not implemented.")},translatePosition(t,e,r,n){return function(t,e,r,n,i=!1){if(!r[0]&&!r[1])return[0,0];const a=i?"map"===n?t.angle:0:"viewport"===n?-t.angle:0;if(a){const t=Math.sin(a),e=Math.cos(a);r=[r[0]*e-r[1]*t,r[0]*t+r[1]*e]}return[i?r[0]:Nt(e,r[0],t.zoom),i?r[1]:Nt(e,r[1],t.zoom)]}(t,e,r,n)},getCircleRadiusCorrection(t){return 1}}}class ae{constructor(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&!t.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(t,e,r,n,i){const a=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex!this._forceFullPlacement&&a.now()-n>2;for(;this._currentPlacementIndex>=0;){const n=e[t[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if("symbol"===n.type&&(!n.minzoom||n.minzoom<=a)&&(!n.maxzoom||n.maxzoom>a)){if(this._inProgressLayer||(this._inProgressLayer=new ae(n)),this._inProgressLayer.continuePlacement(r[n.source],this.placement,this._showCollisionBoxes,n,i))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(t){return this.placement.commit(t),this.placement}}const se=512/e.X/2;class le{constructor(t,r,n){this.tileID=t,this.bucketInstanceId=n,this._symbolsByKey={};const i=new Map;for(let t=0;t({x:Math.floor(t.anchorX*se),y:Math.floor(t.anchorY*se)}))),crossTileIDs:r.map((t=>t.crossTileID))};if(n.positions.length>128){const t=new e.aw(n.positions.length,16,Uint16Array);for(const{x:e,y:r}of n.positions)t.add(e,r);t.finish(),delete n.positions,n.index=t}this._symbolsByKey[t]=n}}getScaledCoordinates(t,r){const{x:n,y:i,z:a}=this.tileID.canonical,{x:o,y:s,z:l}=r.canonical,c=l-a,u=se/Math.pow(2,c),h=(o*e.X+t.anchorX)*u,f=(s*e.X+t.anchorY)*u,p=n*e.X*se,d=i*e.X*se;return{x:Math.floor(h-p),y:Math.floor(f-d)}}findMatches(t,e,r){const n=this.tileID.canonical.zt))}}class ce{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class ue{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(t){const e=Math.round((t-this.lng)/360);if(0!==e)for(const t in this.indexes){const r=this.indexes[t],n={};for(const t in r){const i=r[t];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+e),n[i.tileID.key]=i}this.indexes[t]=n}this.lng=t}addBucket(t,e,r){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(let t=0;tt.overscaledZ)for(const r in i){const a=i[r];a.tileID.isChildOf(t)&&a.findMatches(e.symbolInstances,t,n)}else{const a=i[t.scaledTo(Number(r)).key];a&&a.findMatches(e.symbolInstances,t,n)}}for(let t=0;t{e[t]=!0}));for(const t in this.layerIndexes)e[t]||delete this.layerIndexes[t]}}const fe=(t,r)=>e.t(t,r&&r.filter((t=>"source.canvas"!==t.identifier))),pe=e.ax();class de extends e.E{constructor(t,r={}){super(),this._rtlPluginLoaded=()=>{for(const t in this.sourceCaches){const e=this.sourceCaches[t].getSource().type;"vector"!==e&&"geojson"!==e||this.sourceCaches[t].reload()}},this.map=t,this.dispatcher=new q(V(),t._getMapId()),this.dispatcher.registerMessageHandler("GG",((t,e)=>this.getGlyphs(t,e))),this.dispatcher.registerMessageHandler("GI",((t,e)=>this.getImages(t,e))),this.imageManager=new k,this.imageManager.setEventedParent(this),this.glyphManager=new E(t._requestManager,r.localIdeographFontFamily),this.lineAtlas=new R(256,512),this.crossTileSymbolIndex=new he,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new e.ay,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("SR",e.az()),ut().on(st,this._rtlPluginLoaded),this.on("data",(t=>{if("source"!==t.dataType||"metadata"!==t.sourceDataType)return;const e=this.sourceCaches[t.sourceId];if(!e)return;const r=e.getSource();if(r&&r.vectorLayerIds)for(const t in this._layers){const e=this._layers[t];e.source===r.id&&this._validateLayer(e)}}))}loadURL(t,r={},n){this.fire(new e.k("dataloading",{dataType:"style"})),r.validate="boolean"!=typeof r.validate||r.validate;const i=this.map._requestManager.transformRequest(t,"Style");this._loadStyleRequest=new AbortController;const a=this._loadStyleRequest;e.h(i,this._loadStyleRequest).then((t=>{this._loadStyleRequest=null,this._load(t.data,r,n)})).catch((t=>{this._loadStyleRequest=null,t&&!a.signal.aborted&&this.fire(new e.j(t))}))}loadJSON(t,r={},n){this.fire(new e.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,a.frameAsync(this._frameRequest).then((()=>{this._frameRequest=null,r.validate=!1!==r.validate,this._load(t,r,n)})).catch((()=>{}))}loadEmpty(){this.fire(new e.k("dataloading",{dataType:"style"})),this._load(pe,{validate:!1})}_load(t,r,n){var i;const a=r.transformStyle?r.transformStyle(n,t):t;if(!r.validate||!fe(this,e.x(a))){this._loaded=!0,this.stylesheet=a;for(const t in a.sources)this.addSource(t,a.sources[t],{validate:!1});a.sprite?this._loadSprite(a.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(a.glyphs),this._createLayers(),this.light=new P(this.stylesheet.light),this.sky=new D(this.stylesheet.sky),this.map.setTerrain(null!==(i=this.stylesheet.terrain)&&void 0!==i?i:null),this.fire(new e.k("data",{dataType:"style"})),this.fire(new e.k("style.load"))}}_createLayers(){const t=e.aA(this.stylesheet.layers);this.dispatcher.broadcast("SL",t),this._order=t.map((t=>t.id)),this._layers={},this._serializedLayers=null;for(const r of t){const t=e.aB(r);t.setEventedParent(this,{layer:{id:r.id}}),this._layers[r.id]=t}}_loadSprite(t,r=!1,n=void 0){let i;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,b(t,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then((t=>{if(this._spriteRequest=null,t)for(const e in t){this._spritesImagesIds[e]=[];const n=this._spritesImagesIds[e]?this._spritesImagesIds[e].filter((e=>!(e in t))):[];for(const t of n)this.imageManager.removeImage(t),this._changedImages[t]=!0;for(const n in t[e]){const i="default"===e?n:`${e}:${n}`;this._spritesImagesIds[e].push(i),i in this.imageManager.images?this.imageManager.updateImage(i,t[e][n],!1):this.imageManager.addImage(i,t[e][n]),r&&(this._changedImages[i]=!0)}}})).catch((t=>{this._spriteRequest=null,i=t,this.fire(new e.j(i))})).finally((()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),r&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"})),n&&n(i)}))}_unloadSprite(){for(const t of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(t),this._changedImages[t]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}_validateLayer(t){const r=this.sourceCaches[t.source];if(!r)return;const n=t.sourceLayer;if(!n)return;const i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new e.j(new Error(`Source layer "${n}" does not exist on source "${i.id}" as specified by style layer "${t.id}".`)))}loaded(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(const t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(t){const e=this._serializedAllLayers();if(!t||0===t.length)return Object.values(e);const r=[];for(const n of t)e[n]&&r.push(e[n]);return r}_serializedAllLayers(){let t=this._serializedLayers;if(t)return t;t=this._serializedLayers={};const e=Object.keys(this._layers);for(const r of e){const e=this._layers[r];"custom"!==e.type&&(t[r]=e.serialize())}return t}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;if(this.sky&&this.sky.hasTransition())return!0;for(const t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(const t in this._layers)if(this._layers[t].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(t){if(!this._loaded)return;const r=this._changed;if(r){const e=Object.keys(this._updatedLayers),r=Object.keys(this._removedLayers);(e.length||r.length)&&this._updateWorkerLayers(e,r);for(const t in this._updatedSources){const e=this._updatedSources[t];if("reload"===e)this._reloadSource(t);else{if("clear"!==e)throw new Error(`Invalid action ${e}`);this._clearSource(t)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(const e in this._updatedPaintProps)this._layers[e].updateTransitions(t);this.light.updateTransitions(t),this.sky.updateTransitions(t),this._resetUpdates()}const n={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];n[t]=e.used,e.used=!1}for(const e of this._order){const r=this._layers[e];r.recalculate(t,this._availableImages),!r.isHidden(t.zoom)&&r.source&&(this.sourceCaches[r.source].used=!0)}for(const t in n){const r=this.sourceCaches[t];!!n[t]!=!!r.used&&r.fire(new e.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:t}))}this.light.recalculate(t),this.sky.recalculate(t),this.z=t.zoom,r&&this.fire(new e.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["icons","patterns"],t);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(t,e){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(t),removedIds:e})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(t,r={}){var n;this._checkLoaded();const i=this.serialize();if(t=r.transformStyle?r.transformStyle(i,t):t,(null===(n=r.validate)||void 0===n||n)&&fe(this,e.x(t)))return!1;(t=e.aC(t)).layers=e.aA(t.layers);const a=e.aD(i,t),o=this._getOperationsToPerform(a);if(o.unimplemented.length>0)throw new Error(`Unimplemented: ${o.unimplemented.join(", ")}.`);if(0===o.operations.length)return!1;for(const t of o.operations)t();return this.stylesheet=t,this._serializedLayers=null,!0}_getOperationsToPerform(t){const e=[],r=[];for(const n of t)switch(n.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":e.push((()=>this.addLayer.apply(this,n.args)));break;case"removeLayer":e.push((()=>this.removeLayer.apply(this,n.args)));break;case"setPaintProperty":e.push((()=>this.setPaintProperty.apply(this,n.args)));break;case"setLayoutProperty":e.push((()=>this.setLayoutProperty.apply(this,n.args)));break;case"setFilter":e.push((()=>this.setFilter.apply(this,n.args)));break;case"addSource":e.push((()=>this.addSource.apply(this,n.args)));break;case"removeSource":e.push((()=>this.removeSource.apply(this,n.args)));break;case"setLayerZoomRange":e.push((()=>this.setLayerZoomRange.apply(this,n.args)));break;case"setLight":e.push((()=>this.setLight.apply(this,n.args)));break;case"setGeoJSONSourceData":e.push((()=>this.setGeoJSONSourceData.apply(this,n.args)));break;case"setGlyphs":e.push((()=>this.setGlyphs.apply(this,n.args)));break;case"setSprite":e.push((()=>this.setSprite.apply(this,n.args)));break;case"setSky":e.push((()=>this.setSky.apply(this,n.args)));break;case"setTerrain":e.push((()=>this.map.setTerrain.apply(this,n.args)));break;case"setTransition":e.push((()=>{}));break;default:r.push(n.command)}return{operations:e,unimplemented:r}}addImage(t,r){if(this.getImage(t))return this.fire(new e.j(new Error(`An image named "${t}" already exists.`)));this.imageManager.addImage(t,r),this._afterImageUpdated(t)}updateImage(t,e){this.imageManager.updateImage(t,e)}getImage(t){return this.imageManager.getImage(t)}removeImage(t){if(!this.getImage(t))return this.fire(new e.j(new Error(`An image named "${t}" does not exist.`)));this.imageManager.removeImage(t),this._afterImageUpdated(t)}_afterImageUpdated(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(t,r,n={}){if(this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error(`Source "${t}" already exists.`);if(!r.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(r).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(e.x.source,`sources.${t}`,r,null,n))return;this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);const i=this.sourceCaches[t]=new dt(t,r,this.dispatcher);i.style=this,i.setEventedParent(this,(()=>({isSourceLoaded:i.loaded(),source:i.serialize(),sourceId:t}))),i.onAdd(this.map),this._changed=!0}removeSource(t){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error("There is no source with this ID");for(const r in this._layers)if(this._layers[r].source===t)return this.fire(new e.j(new Error(`Source "${t}" cannot be removed while layer "${r}" is using it.`)));const r=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],r.fire(new e.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:t})),r.setEventedParent(null),r.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(t,e){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(`There is no source with this ID=${t}`);const r=this.sourceCaches[t].getSource();if("geojson"!==r.type)throw new Error(`geojsonSource.type is ${r.type}, which is !== 'geojson`);r.setData(e),this._changed=!0}getSource(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()}addLayer(t,r,n={}){this._checkLoaded();const i=t.id;if(this.getLayer(i))return void this.fire(new e.j(new Error(`Layer "${i}" already exists on this map.`)));let a;if("custom"===t.type){if(fe(this,e.aE(t)))return;a=e.aB(t)}else{if("source"in t&&"object"==typeof t.source&&(this.addSource(i,t.source),t=e.aC(t),t=e.e(t,{source:i})),this._validate(e.x.layer,`layers.${i}`,t,{arrayIndex:-1},n))return;a=e.aB(t),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}})}const o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new e.j(new Error(`Cannot add layer "${i}" before non-existing layer "${r}".`)));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){const t=this._removedLayers[i];delete this._removedLayers[i],t.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}moveLayer(t,r){if(this._checkLoaded(),this._changed=!0,!this._layers[t])return void this.fire(new e.j(new Error(`The layer '${t}' does not exist in the map's style and cannot be moved.`)));if(t===r)return;const n=this._order.indexOf(t);this._order.splice(n,1);const i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new e.j(new Error(`Cannot move layer "${t}" before non-existing layer "${r}".`))):(this._order.splice(i,0,t),this._layerOrderChanged=!0)}removeLayer(t){this._checkLoaded();const r=this._layers[t];if(!r)return void this.fire(new e.j(new Error(`Cannot remove non-existing layer "${t}".`)));r.setEventedParent(null);const n=this._order.indexOf(t);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=r,delete this._layers[t],this._serializedLayers&&delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],r.onRemove&&r.onRemove(this.map)}getLayer(t){return this._layers[t]}getLayersOrder(){return[...this._order]}hasLayer(t){return t in this._layers}setLayerZoomRange(t,r,n){this._checkLoaded();const i=this.getLayer(t);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new e.j(new Error(`Cannot set the zoom range of non-existing layer "${t}".`)))}setFilter(t,r,n={}){this._checkLoaded();const i=this.getLayer(t);if(i){if(!e.aF(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(e.x.filter,`layers.${i.id}.filter`,r,null,n)||(i.filter=e.aC(r),this._updateLayer(i)))}else this.fire(new e.j(new Error(`Cannot filter non-existing layer "${t}".`)))}getFilter(t){return e.aC(this.getLayer(t).filter)}setLayoutProperty(t,r,n,i={}){this._checkLoaded();const a=this.getLayer(t);a?e.aF(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new e.j(new Error(`Cannot style non-existing layer "${t}".`)))}getLayoutProperty(t,r){const n=this.getLayer(t);if(n)return n.getLayoutProperty(r);this.fire(new e.j(new Error(`Cannot get style of non-existing layer "${t}".`)))}setPaintProperty(t,r,n,i={}){this._checkLoaded();const a=this.getLayer(t);a?e.aF(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[t]=!0,this._serializedLayers=null):this.fire(new e.j(new Error(`Cannot style non-existing layer "${t}".`)))}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(t,r){this._checkLoaded();const n=t.source,i=t.sourceLayer,a=this.sourceCaches[n];if(void 0===a)return void this.fire(new e.j(new Error(`The source '${n}' does not exist in the map's style.`)));const o=a.getSource().type;"geojson"===o&&i?this.fire(new e.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===t.id&&this.fire(new e.j(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,t.id,r)):this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(t,r){this._checkLoaded();const n=t.source,i=this.sourceCaches[n];if(void 0===i)return void this.fire(new e.j(new Error(`The source '${n}' does not exist in the map's style.`)));const a=i.getSource().type,o="vector"===a?t.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof t.id&&"number"!=typeof t.id?this.fire(new e.j(new Error("A feature id is required to remove its specific state property."))):i.removeFeatureState(o,t.id,r):this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(t){this._checkLoaded();const r=t.source,n=t.sourceLayer,i=this.sourceCaches[r];if(void 0!==i)return"vector"!==i.getSource().type||n?(void 0===t.id&&this.fire(new e.j(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,t.id)):void this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new e.j(new Error(`The source '${r}' does not exist in the map's style.`)))}getTransition(){return e.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;const t=e.aG(this.sourceCaches,(t=>t.serialize())),r=this._serializeByIds(this._order),n=this.map.getTerrain()||void 0,i=this.stylesheet;return e.aH({version:i.version,name:i.name,metadata:i.metadata,light:i.light,sky:i.sky,center:i.center,zoom:i.zoom,bearing:i.bearing,pitch:i.pitch,sprite:i.sprite,glyphs:i.glyphs,transition:i.transition,sources:t,layers:r,terrain:n},(t=>void 0!==t))}_updateLayer(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(t){const e=t=>"fill-extrusion"===this._layers[t].type,r={},n=[];for(let i=this._order.length-1;i>=0;i--){const a=this._order[i];if(e(a)){r[a]=i;for(const e of t){const t=e[a];if(t)for(const e of t)n.push(e)}}}n.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const i=[];for(let a=this._order.length-1;a>=0;a--){const o=this._order[a];if(e(o))for(let t=n.length-1;t>=0;t--){const e=n[t].feature;if(r[e.layer.id]{const n=r.featureSortOrder;if(n){const r=n.indexOf(t.featureIndex);return n.indexOf(e.featureIndex)-r}return e.featureIndex-t.featureIndex}));for(const t of i)e.push(t)}}for(const e in s)s[e].forEach((n=>{const i=n.feature,a=t[e],o=r[a.source].getFeatureState(i.layer["source-layer"],i.id);i.source=i.layer.source,i.layer["source-layer"]&&(i.sourceLayer=i.layer["source-layer"]),i.state=o}));return s}(this._layers,o,this.sourceCaches,t,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(a)}querySourceFeatures(t,r){r&&r.filter&&this._validate(e.x.filter,"querySourceFeatures.filter",r.filter,null,r);const n=this.sourceCaches[t];return n?function(t,e){const r=t.getRenderableIds().map((e=>t.getTileByID(e))),n=[],i={};for(let t=0;tt.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)))}const n=this.crossTileSymbolIndex.addLayer(r,l[r.source],t.center.lng);o=o||n}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((i=i||this._layerOrderChanged||0===r)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(a.now(),t.zoom))&&(this.pauseablePlacement=new oe(t,this.map.terrain,this._order,i,e,r,n,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(a.now()),s=!0),o&&this.pauseablePlacement.placement.setStale()),s||o)for(const t of this._order){const e=this._layers[t];"symbol"===e.type&&this.placement.updateLayerOpacities(e,l[e.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(a.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()}getImages(t,r){return e._(this,void 0,void 0,(function*(){const t=yield this.imageManager.getImages(r.icons);this._updateTilesForChangedImages();const e=this.sourceCaches[r.source];return e&&e.setDependencies(r.tileID.key,r.type,r.icons),t}))}getGlyphs(t,r){return e._(this,void 0,void 0,(function*(){const t=yield this.glyphManager.getGlyphs(r.stacks),e=this.sourceCaches[r.source];return e&&e.setDependencies(r.tileID.key,r.type,[""]),t}))}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(t,r={}){this._checkLoaded(),t&&this._validate(e.x.glyphs,"glyphs",t,null,r)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=t,this.glyphManager.entries={},this.glyphManager.setURL(t))}addSprite(t,r,n={},i){this._checkLoaded();const a=[{id:t,url:r}],o=[...x(this.stylesheet.sprite),...a];this._validate(e.x.sprite,"sprite",o,null,n)||(this.stylesheet.sprite=o,this._loadSprite(a,!0,i))}removeSprite(t){this._checkLoaded();const r=x(this.stylesheet.sprite);if(r.find((e=>e.id===t))){if(this._spritesImagesIds[t])for(const e of this._spritesImagesIds[t])this.imageManager.removeImage(e),this._changedImages[e]=!0;r.splice(r.findIndex((e=>e.id===t)),1),this.stylesheet.sprite=r.length>0?r:void 0,delete this._spritesImagesIds[t],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}else this.fire(new e.j(new Error(`Sprite "${t}" doesn't exists on this map.`)))}getSprite(){return x(this.stylesheet.sprite)}setSprite(t,r={},n){this._checkLoaded(),t&&this._validate(e.x.sprite,"sprite",t,null,r)||(this.stylesheet.sprite=t,t?this._loadSprite(t,!0,n):(this._unloadSprite(),n&&n(null)))}}var me=e.Y([{name:"a_pos",type:"Int16",components:2}]);const ge={prelude:ye("#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\n","#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\n#ifdef TERRAIN3D\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n#endif\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n#ifdef TERRAIN3D\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\n#else\nreturn 0.0;\n#endif\n}"),background:ye("uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:ye("uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),circle:ye("varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}"),clippingMask:ye("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:ye("uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}"),heatmapTexture:ye("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:ye("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:ye("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:ye("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}"),fill:ye("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),fillOutline:ye("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),fillOutlinePattern:ye("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),fillPattern:ye("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),fillExtrusion:ye("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),fillExtrusionPattern:ye("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),hillshadePrepare:ye("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:ye("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),line:ye("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}"),lineGradient:ye("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}"),linePattern:ye("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),lineSDF:ye("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),raster:ye("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),symbolIcon:ye("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}"),symbolSDF:ye("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),symbolTextAndIcon:ye("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}"),terrain:ye("uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}"),terrainDepth:ye("varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}"),terrainCoords:ye("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}"),sky:ye("uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}","attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}")};function ye(t,e){const r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=e.match(/attribute ([\w]+) ([\w]+)/g),i=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:t=t.replace(r,((t,e,r,n,i)=>(s[i]=!0,"define"===e?`\n#ifndef HAS_UNIFORM_u_${i}\nvarying ${r} ${n} ${i};\n#else\nuniform ${r} ${n} u_${i};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${i}\n ${r} ${n} ${i} = u_${i};\n#endif\n`))),vertexSource:e=e.replace(r,((t,e,r,n,i)=>{const a="float"===n?"vec2":"vec4",o=i.match(/color/)?"color":a;return s[i]?"define"===e?`\n#ifndef HAS_UNIFORM_u_${i}\nuniform lowp float u_${i}_t;\nattribute ${r} ${a} a_${i};\nvarying ${r} ${n} ${i};\n#else\nuniform ${r} ${n} u_${i};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${i}\n ${i} = a_${i};\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${i}\n ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`:"define"===e?`\n#ifndef HAS_UNIFORM_u_${i}\nuniform lowp float u_${i}_t;\nattribute ${r} ${a} a_${i};\n#else\nuniform ${r} ${n} u_${i};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${i}\n ${r} ${n} ${i} = a_${i};\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${i}\n ${r} ${n} ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`})),staticAttributes:n,staticUniforms:o}}class ve{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(t,e,r,n,i,a,o,s,l){this.context=t;let c=this.boundPaintVertexBuffers.length!==n.length;for(let t=0;!c&&t({u_matrix:t,u_texture:0,u_ele_delta:r,u_fog_matrix:n,u_fog_color:i?i.properties.get("fog-color"):e.aN.white,u_fog_ground_blend:i?i.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:i?i.calculateFogBlendOpacity(a):0,u_horizon_color:i?i.properties.get("horizon-color"):e.aN.white,u_horizon_fog_blend:i?i.properties.get("horizon-fog-blend"):1});function _e(t){const e=[];for(let r=0;r({u_depth:new e.aI(t,r.u_depth),u_terrain:new e.aI(t,r.u_terrain),u_terrain_dim:new e.aJ(t,r.u_terrain_dim),u_terrain_matrix:new e.aK(t,r.u_terrain_matrix),u_terrain_unpack:new e.aL(t,r.u_terrain_unpack),u_terrain_exaggeration:new e.aJ(t,r.u_terrain_exaggeration)}))(t,b),this.binderUniforms=n?n.getUniforms(t,b):[]}draw(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y){const v=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),s){t.activeTexture.set(v.TEXTURE2),v.bindTexture(v.TEXTURE_2D,s.depthTexture),t.activeTexture.set(v.TEXTURE3),v.bindTexture(v.TEXTURE_2D,s.texture);for(const t in this.terrainUniforms)this.terrainUniforms[t].set(s[t])}for(const t in this.fixedUniforms)this.fixedUniforms[t].set(o[t]);d&&d.setUniforms(t,this.binderUniforms,f,{zoom:p});let x=0;switch(e){case v.LINES:x=2;break;case v.TRIANGLES:x=3;break;case v.LINE_STRIP:x=1}for(const r of h.get()){const n=r.vaos||(r.vaos={});(n[l]||(n[l]=new ve)).bind(t,this,c,d?d.getPaintVertexBuffers():[],u,r.vertexOffset,m,g,y),v.drawElements(e,r.primitiveLength*x,v.UNSIGNED_SHORT,r.primitiveOffset*x*2)}}}function we(t,e,r){const n=1/Nt(r,1,e.transform.tileZoom),i=Math.pow(2,r.tileID.overscaledZ),a=r.tileSize*Math.pow(2,e.transform.tileZoom)/i,o=a*(r.tileID.canonical.x+r.tileID.wrap*i),s=a*r.tileID.canonical.y;return{u_image:0,u_texsize:r.imageAtlasTexture.size,u_scale:[n,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[o>>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}const Te=(t,r,n,i)=>{const a=r.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=function(){var t=new e.A(9);return e.A!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}();"viewport"===a.properties.get("anchor")&&function(t,e){var r=Math.sin(e),n=Math.cos(e);t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1}(l,-r.transform.angle),function(t,e,r){var n=e[0],i=e[1],a=e[2];t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8]}(s,s,l);const c=a.properties.get("color");return{u_matrix:t,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+n,u_opacity:i}},ke=(t,r,n,i,a,o,s)=>e.e(Te(t,r,n,i),we(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8}),Ae=t=>({u_matrix:t}),Me=(t,r,n,i)=>e.e(Ae(t),we(n,r,i)),Se=(t,e)=>({u_matrix:t,u_world:e}),Ee=(t,r,n,i,a)=>e.e(Me(t,r,n,i),{u_world:a}),Ce=(t,e,r,n)=>{const i=t.transform;let a,o;if("map"===n.paint.get("circle-pitch-alignment")){const t=Nt(r,1,i.zoom);a=!0,o=[t,t]}else a=!1,o=i.pixelsToGLUnits;return{u_camera_to_center_distance:i.cameraToCenterDistance,u_scale_with_map:+("map"===n.paint.get("circle-pitch-scale")),u_matrix:t.translatePosMatrix(e.posMatrix,r,n.paint.get("circle-translate"),n.paint.get("circle-translate-anchor")),u_pitch_with_map:+a,u_device_pixel_ratio:t.pixelRatio,u_extrude_scale:o}},Le=(t,e)=>({u_matrix:e,u_pixel_extrude_scale:[1/t.width,1/t.height]}),Ie=(t,e,r)=>({u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}),Pe=(t,e,r=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}),ze=t=>({u_matrix:t}),Oe=(t,e,r,n)=>({u_matrix:t,u_extrude_scale:Nt(e,1,r),u_intensity:n}),De=(t,r,n,i)=>{const a=e.H();e.aQ(a,0,t.width,t.height,0,0,1);const o=t.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:i,u_opacity:r.paint.get("heatmap-opacity")}},Re=(t,e,r,n)=>{const i=r.paint.get("hillshade-shadow-color"),a=r.paint.get("hillshade-highlight-color"),o=r.paint.get("hillshade-accent-color");let s=r.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===r.paint.get("hillshade-illumination-anchor")&&(s-=t.transform.angle);const l=!t.options.moving;return{u_matrix:n?n.posMatrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:Be(0,e.tileID),u_light:[r.paint.get("hillshade-exaggeration"),s],u_shadow:i,u_highlight:a,u_accent:o}},Fe=(t,r)=>{const n=r.stride,i=e.H();return e.aQ(i,0,e.X,-e.X,0,0,1),e.J(i,i,[0,-e.X,0]),{u_matrix:i,u_image:1,u_dimension:[n,n],u_zoom:t.overscaledZ,u_unpack:r.getUnpackVector()}};function Be(t,r){const n=Math.pow(2,r.canonical.z),i=r.canonical.y;return[new e.Z(0,i/n).toLngLat().lat,new e.Z(0,(i+1)/n).toLngLat().lat]}const Ne=(t,e,r,n)=>{const i=t.transform;return{u_matrix:He(t,e,r,n),u_ratio:1/Nt(e,1,i.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},je=(t,r,n,i,a)=>e.e(Ne(t,r,n,a),{u_image:0,u_image_height:i}),Ue=(t,e,r,n,i)=>{const a=t.transform,o=qe(e,a);return{u_matrix:He(t,e,r,i),u_texsize:e.imageAtlasTexture.size,u_ratio:1/Nt(e,1,a.zoom),u_device_pixel_ratio:t.pixelRatio,u_image:0,u_scale:[o,n.fromScale,n.toScale],u_fade:n.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Ve=(t,r,n,i,a,o)=>{const s=t.transform,l=t.lineAtlas,c=qe(r,s),u="round"===n.layout.get("line-cap"),h=l.getDash(i.from,u),f=l.getDash(i.to,u),p=h.width*a.fromScale,d=f.width*a.toScale;return e.e(Ne(t,r,n,o),{u_patternscale_a:[c/p,-h.height/2],u_patternscale_b:[c/d,-f.height/2],u_sdfgamma:l.width/(256*Math.min(p,d)*t.pixelRatio)/2,u_image:0,u_tex_y_a:h.y,u_tex_y_b:f.y,u_mix:a.t})};function qe(t,e){return 1/Nt(t,1,e.tileZoom)}function He(t,e,r,n){return t.translatePosMatrix(n?n.posMatrix:e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}const Ge=(t,e,r,n,i)=>{return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Ze(i.paint.get("raster-hue-rotate"))};var a,o};function Ze(t){t*=Math.PI/180;const e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}const We=(t,e,r,n,i,a,o,s,l,c,u,h,f,p)=>{const d=o.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:d.cameraToCenterDistance,u_pitch:d.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:d.width/d.height,u_fade_change:o.options.fadeDuration?o.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:l,u_coord_matrix:c,u_is_text:+h,u_pitch_with_map:+n,u_is_along_line:i,u_is_variable_anchor:a,u_texsize:f,u_texture:0,u_translation:u,u_pitched_scale:p}},Ye=(t,r,n,i,a,o,s,l,c,u,h,f,p,d,m)=>{const g=s.transform;return e.e(We(t,r,n,i,a,o,s,l,c,u,h,f,p,m),{u_gamma_scale:i?Math.cos(g._pitch)*g.cameraToCenterDistance:1,u_device_pixel_ratio:s.pixelRatio,u_is_halo:+d})},Xe=(t,r,n,i,a,o,s,l,c,u,h,f,p,d)=>e.e(Ye(t,r,n,i,a,o,s,l,c,u,h,!0,f,!0,d),{u_texsize_icon:p,u_texture_icon:1}),$e=(t,e,r)=>({u_matrix:t,u_opacity:e,u_color:r}),Je=(t,r,n,i,a,o)=>e.e(function(t,e,r,n){const i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),{width:o,height:s}=r.imageManager.getPixelSize(),l=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/l,u=c*(n.tileID.canonical.x+n.tileID.wrap*l),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[o,s],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/Nt(n,1,r.transform.tileZoom),u_pixel_coord_upper:[u>>16,h>>16],u_pixel_coord_lower:[65535&u,65535&h]}}(i,o,n,a),{u_matrix:t,u_opacity:r}),Ke={fillExtrusion:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_lightpos:new e.aO(t,r.u_lightpos),u_lightintensity:new e.aJ(t,r.u_lightintensity),u_lightcolor:new e.aO(t,r.u_lightcolor),u_vertical_gradient:new e.aJ(t,r.u_vertical_gradient),u_opacity:new e.aJ(t,r.u_opacity)}),fillExtrusionPattern:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_lightpos:new e.aO(t,r.u_lightpos),u_lightintensity:new e.aJ(t,r.u_lightintensity),u_lightcolor:new e.aO(t,r.u_lightcolor),u_vertical_gradient:new e.aJ(t,r.u_vertical_gradient),u_height_factor:new e.aJ(t,r.u_height_factor),u_image:new e.aI(t,r.u_image),u_texsize:new e.aP(t,r.u_texsize),u_pixel_coord_upper:new e.aP(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,r.u_pixel_coord_lower),u_scale:new e.aO(t,r.u_scale),u_fade:new e.aJ(t,r.u_fade),u_opacity:new e.aJ(t,r.u_opacity)}),fill:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix)}),fillPattern:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_image:new e.aI(t,r.u_image),u_texsize:new e.aP(t,r.u_texsize),u_pixel_coord_upper:new e.aP(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,r.u_pixel_coord_lower),u_scale:new e.aO(t,r.u_scale),u_fade:new e.aJ(t,r.u_fade)}),fillOutline:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_world:new e.aP(t,r.u_world)}),fillOutlinePattern:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_world:new e.aP(t,r.u_world),u_image:new e.aI(t,r.u_image),u_texsize:new e.aP(t,r.u_texsize),u_pixel_coord_upper:new e.aP(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,r.u_pixel_coord_lower),u_scale:new e.aO(t,r.u_scale),u_fade:new e.aJ(t,r.u_fade)}),circle:(t,r)=>({u_camera_to_center_distance:new e.aJ(t,r.u_camera_to_center_distance),u_scale_with_map:new e.aI(t,r.u_scale_with_map),u_pitch_with_map:new e.aI(t,r.u_pitch_with_map),u_extrude_scale:new e.aP(t,r.u_extrude_scale),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_matrix:new e.aK(t,r.u_matrix)}),collisionBox:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_pixel_extrude_scale:new e.aP(t,r.u_pixel_extrude_scale)}),collisionCircle:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_inv_matrix:new e.aK(t,r.u_inv_matrix),u_camera_to_center_distance:new e.aJ(t,r.u_camera_to_center_distance),u_viewport_size:new e.aP(t,r.u_viewport_size)}),debug:(t,r)=>({u_color:new e.aM(t,r.u_color),u_matrix:new e.aK(t,r.u_matrix),u_overlay:new e.aI(t,r.u_overlay),u_overlay_scale:new e.aJ(t,r.u_overlay_scale)}),clippingMask:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix)}),heatmap:(t,r)=>({u_extrude_scale:new e.aJ(t,r.u_extrude_scale),u_intensity:new e.aJ(t,r.u_intensity),u_matrix:new e.aK(t,r.u_matrix)}),heatmapTexture:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_world:new e.aP(t,r.u_world),u_image:new e.aI(t,r.u_image),u_color_ramp:new e.aI(t,r.u_color_ramp),u_opacity:new e.aJ(t,r.u_opacity)}),hillshade:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_image:new e.aI(t,r.u_image),u_latrange:new e.aP(t,r.u_latrange),u_light:new e.aP(t,r.u_light),u_shadow:new e.aM(t,r.u_shadow),u_highlight:new e.aM(t,r.u_highlight),u_accent:new e.aM(t,r.u_accent)}),hillshadePrepare:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_image:new e.aI(t,r.u_image),u_dimension:new e.aP(t,r.u_dimension),u_zoom:new e.aJ(t,r.u_zoom),u_unpack:new e.aL(t,r.u_unpack)}),line:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_ratio:new e.aJ(t,r.u_ratio),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.aP(t,r.u_units_to_pixels)}),lineGradient:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_ratio:new e.aJ(t,r.u_ratio),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.aP(t,r.u_units_to_pixels),u_image:new e.aI(t,r.u_image),u_image_height:new e.aJ(t,r.u_image_height)}),linePattern:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_texsize:new e.aP(t,r.u_texsize),u_ratio:new e.aJ(t,r.u_ratio),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_image:new e.aI(t,r.u_image),u_units_to_pixels:new e.aP(t,r.u_units_to_pixels),u_scale:new e.aO(t,r.u_scale),u_fade:new e.aJ(t,r.u_fade)}),lineSDF:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_ratio:new e.aJ(t,r.u_ratio),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.aP(t,r.u_units_to_pixels),u_patternscale_a:new e.aP(t,r.u_patternscale_a),u_patternscale_b:new e.aP(t,r.u_patternscale_b),u_sdfgamma:new e.aJ(t,r.u_sdfgamma),u_image:new e.aI(t,r.u_image),u_tex_y_a:new e.aJ(t,r.u_tex_y_a),u_tex_y_b:new e.aJ(t,r.u_tex_y_b),u_mix:new e.aJ(t,r.u_mix)}),raster:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_tl_parent:new e.aP(t,r.u_tl_parent),u_scale_parent:new e.aJ(t,r.u_scale_parent),u_buffer_scale:new e.aJ(t,r.u_buffer_scale),u_fade_t:new e.aJ(t,r.u_fade_t),u_opacity:new e.aJ(t,r.u_opacity),u_image0:new e.aI(t,r.u_image0),u_image1:new e.aI(t,r.u_image1),u_brightness_low:new e.aJ(t,r.u_brightness_low),u_brightness_high:new e.aJ(t,r.u_brightness_high),u_saturation_factor:new e.aJ(t,r.u_saturation_factor),u_contrast_factor:new e.aJ(t,r.u_contrast_factor),u_spin_weights:new e.aO(t,r.u_spin_weights)}),symbolIcon:(t,r)=>({u_is_size_zoom_constant:new e.aI(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aI(t,r.u_is_size_feature_constant),u_size_t:new e.aJ(t,r.u_size_t),u_size:new e.aJ(t,r.u_size),u_camera_to_center_distance:new e.aJ(t,r.u_camera_to_center_distance),u_pitch:new e.aJ(t,r.u_pitch),u_rotate_symbol:new e.aI(t,r.u_rotate_symbol),u_aspect_ratio:new e.aJ(t,r.u_aspect_ratio),u_fade_change:new e.aJ(t,r.u_fade_change),u_matrix:new e.aK(t,r.u_matrix),u_label_plane_matrix:new e.aK(t,r.u_label_plane_matrix),u_coord_matrix:new e.aK(t,r.u_coord_matrix),u_is_text:new e.aI(t,r.u_is_text),u_pitch_with_map:new e.aI(t,r.u_pitch_with_map),u_is_along_line:new e.aI(t,r.u_is_along_line),u_is_variable_anchor:new e.aI(t,r.u_is_variable_anchor),u_texsize:new e.aP(t,r.u_texsize),u_texture:new e.aI(t,r.u_texture),u_translation:new e.aP(t,r.u_translation),u_pitched_scale:new e.aJ(t,r.u_pitched_scale)}),symbolSDF:(t,r)=>({u_is_size_zoom_constant:new e.aI(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aI(t,r.u_is_size_feature_constant),u_size_t:new e.aJ(t,r.u_size_t),u_size:new e.aJ(t,r.u_size),u_camera_to_center_distance:new e.aJ(t,r.u_camera_to_center_distance),u_pitch:new e.aJ(t,r.u_pitch),u_rotate_symbol:new e.aI(t,r.u_rotate_symbol),u_aspect_ratio:new e.aJ(t,r.u_aspect_ratio),u_fade_change:new e.aJ(t,r.u_fade_change),u_matrix:new e.aK(t,r.u_matrix),u_label_plane_matrix:new e.aK(t,r.u_label_plane_matrix),u_coord_matrix:new e.aK(t,r.u_coord_matrix),u_is_text:new e.aI(t,r.u_is_text),u_pitch_with_map:new e.aI(t,r.u_pitch_with_map),u_is_along_line:new e.aI(t,r.u_is_along_line),u_is_variable_anchor:new e.aI(t,r.u_is_variable_anchor),u_texsize:new e.aP(t,r.u_texsize),u_texture:new e.aI(t,r.u_texture),u_gamma_scale:new e.aJ(t,r.u_gamma_scale),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_is_halo:new e.aI(t,r.u_is_halo),u_translation:new e.aP(t,r.u_translation),u_pitched_scale:new e.aJ(t,r.u_pitched_scale)}),symbolTextAndIcon:(t,r)=>({u_is_size_zoom_constant:new e.aI(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aI(t,r.u_is_size_feature_constant),u_size_t:new e.aJ(t,r.u_size_t),u_size:new e.aJ(t,r.u_size),u_camera_to_center_distance:new e.aJ(t,r.u_camera_to_center_distance),u_pitch:new e.aJ(t,r.u_pitch),u_rotate_symbol:new e.aI(t,r.u_rotate_symbol),u_aspect_ratio:new e.aJ(t,r.u_aspect_ratio),u_fade_change:new e.aJ(t,r.u_fade_change),u_matrix:new e.aK(t,r.u_matrix),u_label_plane_matrix:new e.aK(t,r.u_label_plane_matrix),u_coord_matrix:new e.aK(t,r.u_coord_matrix),u_is_text:new e.aI(t,r.u_is_text),u_pitch_with_map:new e.aI(t,r.u_pitch_with_map),u_is_along_line:new e.aI(t,r.u_is_along_line),u_is_variable_anchor:new e.aI(t,r.u_is_variable_anchor),u_texsize:new e.aP(t,r.u_texsize),u_texsize_icon:new e.aP(t,r.u_texsize_icon),u_texture:new e.aI(t,r.u_texture),u_texture_icon:new e.aI(t,r.u_texture_icon),u_gamma_scale:new e.aJ(t,r.u_gamma_scale),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_is_halo:new e.aI(t,r.u_is_halo),u_translation:new e.aP(t,r.u_translation),u_pitched_scale:new e.aJ(t,r.u_pitched_scale)}),background:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_opacity:new e.aJ(t,r.u_opacity),u_color:new e.aM(t,r.u_color)}),backgroundPattern:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_opacity:new e.aJ(t,r.u_opacity),u_image:new e.aI(t,r.u_image),u_pattern_tl_a:new e.aP(t,r.u_pattern_tl_a),u_pattern_br_a:new e.aP(t,r.u_pattern_br_a),u_pattern_tl_b:new e.aP(t,r.u_pattern_tl_b),u_pattern_br_b:new e.aP(t,r.u_pattern_br_b),u_texsize:new e.aP(t,r.u_texsize),u_mix:new e.aJ(t,r.u_mix),u_pattern_size_a:new e.aP(t,r.u_pattern_size_a),u_pattern_size_b:new e.aP(t,r.u_pattern_size_b),u_scale_a:new e.aJ(t,r.u_scale_a),u_scale_b:new e.aJ(t,r.u_scale_b),u_pixel_coord_upper:new e.aP(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,r.u_pixel_coord_lower),u_tile_units_to_pixels:new e.aJ(t,r.u_tile_units_to_pixels)}),terrain:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_texture:new e.aI(t,r.u_texture),u_ele_delta:new e.aJ(t,r.u_ele_delta),u_fog_matrix:new e.aK(t,r.u_fog_matrix),u_fog_color:new e.aM(t,r.u_fog_color),u_fog_ground_blend:new e.aJ(t,r.u_fog_ground_blend),u_fog_ground_blend_opacity:new e.aJ(t,r.u_fog_ground_blend_opacity),u_horizon_color:new e.aM(t,r.u_horizon_color),u_horizon_fog_blend:new e.aJ(t,r.u_horizon_fog_blend)}),terrainDepth:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_ele_delta:new e.aJ(t,r.u_ele_delta)}),terrainCoords:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_texture:new e.aI(t,r.u_texture),u_terrain_coords_id:new e.aJ(t,r.u_terrain_coords_id),u_ele_delta:new e.aJ(t,r.u_ele_delta)}),sky:(t,r)=>({u_sky_color:new e.aM(t,r.u_sky_color),u_horizon_color:new e.aM(t,r.u_horizon_color),u_horizon:new e.aJ(t,r.u_horizon),u_sky_horizon_blend:new e.aJ(t,r.u_sky_horizon_blend)})};class Qe{constructor(t,e,r){this.context=t;const n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(t){const e=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)}destroy(){const t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)}}const tr={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class er{constructor(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;const i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(t){if(t.length!==this.length)throw new Error(`Length of new data is ${t.length}, which doesn't match current length of ${this.length}`);const e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)}enableAttributes(t,e){for(let r=0;r0){const r=e.H();e.aR(r,d.placementInvProjMatrix,t.transform.glCoordMatrix),e.aR(r,r,d.placementViewportMatrix),c.push({circleArray:g,circleOffset:h,transform:p.posMatrix,invTransform:r,coord:p}),u+=g.length/4,h=u}m&&l.draw(o,s.LINES,qr.disabled,Gr.disabled,t.colorModeForRenderPass(),Zr.disabled,Le(t.transform,p.posMatrix),t.style.map.terrain&&t.style.map.terrain.getTerrainData(p),n.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,null,t.transform.zoom,null,null,m.collisionVertexBuffer)}if(!a||!c.length)return;const f=t.useProgram("collisionCircle"),p=new e.aS;p.resize(4*u),p._trim();let d=0;for(const t of c)for(let e=0;er.style.map.terrain.getElevation(a,t,e):null,i=h.translatePosition(u,t,s,l);Qr(o,f,p,c,u,y,a.posMatrix,e,m,v,h,i,a.toUnwrapped(),n)}}}(i,t,n,r,n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),a),0!==n.paint.get("icon-opacity").constantOr(1)&&en(t,r,n,i,!1,n.paint.get("icon-translate"),n.paint.get("icon-translate-anchor"),n.layout.get("icon-rotation-alignment"),n.layout.get("icon-pitch-alignment"),n.layout.get("icon-keep-upright"),o,s),0!==n.paint.get("text-opacity").constantOr(1)&&en(t,r,n,i,!0,n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.layout.get("text-keep-upright"),o,s),r.map.showCollisionBoxes&&(Yr(t,r,n,i,!0),Yr(t,r,n,i,!1))}function Jr(t,r,n,i,a,o){const{horizontalAlign:s,verticalAlign:l}=e.av(t),c=-(s-.5)*r,u=-(l-.5)*n;return new e.P((c/a+i[0])*o,(u/a+i[1])*o)}function Kr(t,r,n,i,a,o){const s=r.tileAnchorPoint.add(new e.P(r.translation[0],r.translation[1]));if(r.pitchWithMap){let t=i.mult(o);return n||(t=t.rotate(-a)),wt(s.add(t),r.labelPlaneMatrix,r.getElevation).point}if(n){const e=It(r.tileAnchorPoint.x+1,r.tileAnchorPoint.y,r).point.sub(t),n=Math.atan(e.y/e.x)+(e.x<0?Math.PI:0);return t.add(i.rotate(n))}return t.add(i)}function Qr(t,r,n,i,a,o,s,l,c,u,h,f,p,d){const m=t.text.placedSymbolArray,g=t.text.dynamicLayoutVertexArray,y=t.icon.dynamicLayoutVertexArray,v={};g.clear();for(let y=0;y=0&&(v[x.associatedIconIndex]={shiftedAnchor:L,angle:I})}else Rt(x.numGlyphs,g)}if(u){y.clear();const r=t.icon.placedSymbolArray;for(let t=0;tt.style.map.terrain.getElevation(l,e,r):null,r="map"===n.layout.get("text-rotation-alignment");At(c,l.posMatrix,t,a,j,V,v,u,r,g,l.toUnwrapped(),m.width,m.height,q,e)}const Z=l.posMatrix,W=a&&A||G,Y=x||W?Xr:j,X=U,$=p&&0!==n.paint.get(a?"text-halo-width":"icon-halo-width").constantOr(1);let J;J=p?c.iconsInText?Xe(k.kind,L,_,v,x,W,t,Z,Y,X,q,P,R,S):Ye(k.kind,L,_,v,x,W,t,Z,Y,X,q,a,P,!0,S):We(k.kind,L,_,v,x,W,t,Z,Y,X,q,a,P,S);const K={program:C,buffers:h,uniformValues:J,atlasTexture:z,atlasTextureIcon:F,atlasInterpolation:O,atlasInterpolationIcon:D,isSDF:p,hasHalo:$};if(w&&c.canOverlap){T=!0;const t=h.segments.get();for(const r of t)M.push({segments:new e.a0([r]),sortKey:r.sortKey,state:K,terrainData:I})}else M.push({segments:h.segments,sortKey:0,state:K,terrainData:I})}T&&M.sort(((t,e)=>t.sortKey-e.sortKey));for(const e of M){const r=e.state;if(p.activeTexture.set(d.TEXTURE0),r.atlasTexture.bind(r.atlasInterpolation,d.CLAMP_TO_EDGE),r.atlasTextureIcon&&(p.activeTexture.set(d.TEXTURE1),r.atlasTextureIcon&&r.atlasTextureIcon.bind(r.atlasInterpolationIcon,d.CLAMP_TO_EDGE)),r.isSDF){const i=r.uniformValues;r.hasHalo&&(i.u_is_halo=1,rn(r.buffers,e.segments,n,t,r.program,k,h,f,i,e.terrainData)),i.u_is_halo=0}rn(r.buffers,e.segments,n,t,r.program,k,h,f,r.uniformValues,e.terrainData)}}function rn(t,e,r,n,i,a,o,s,l,c){const u=n.context,h=u.gl;i.draw(u,h.TRIANGLES,a,o,s,Zr.disabled,l,c,r.id,t.layoutVertexBuffer,t.indexBuffer,e,r.paint,n.transform.zoom,t.programConfigurations.get(r.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function nn(t,r,n,i){if(0!==n.paint.get("heatmap-opacity"))if("offscreen"===t.renderPass){const a=t.context,o=a.gl,s=Gr.disabled,l=new Ur([o.ONE,o.ONE],e.aN.transparent,[!0,!0,!0,!0]);(function(t,e,r){const n=t.gl;t.activeTexture.set(n.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);let i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),t.bindFramebuffer.set(i.framebuffer);else{const a=n.createTexture();n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),i=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1,!1),function(t,e,r,n){var i,a;const o=t.gl,s=null!==(i=t.HALF_FLOAT)&&void 0!==i?i:o.UNSIGNED_BYTE,l=null!==(a=t.RGBA16F)&&void 0!==a?a:o.RGBA;o.texImage2D(o.TEXTURE_2D,0,l,e.width/4,e.height/4,0,o.RGBA,s,null),n.colorAttachment.set(r)}(t,e,a,i)}})(a,t,n),a.clear({color:e.aN.transparent});for(let e=0;e0){const i=a.now(),s=(i-t.timeAdded)/l,c=r?(i-r.timeAdded)/l:-1,u=n.getSource(),h=o.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(t.tileID.overscaledZ-h),p=f&&t.refreshedUponExpiration?1:e.ad(f?s:1-c,0,1);return t.refreshedUponExpiration&&s>=1&&(t.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}const hn=new e.aN(1,0,0,1),fn=new e.aN(0,1,0,1),pn=new e.aN(0,0,1,1),dn=new e.aN(1,0,1,1),mn=new e.aN(0,1,1,1);function gn(t){const e=t.transform.padding;yn(t,t.transform.height-(e.top||0),3,hn),yn(t,e.bottom||0,3,fn),vn(t,e.left||0,3,pn),vn(t,t.transform.width-(e.right||0),3,dn);const r=t.transform.centerPoint;!function(t,e,r,n){const i=20,a=2;xn(t,e-a/2,r-i/2,a,i,n),xn(t,e-i/2,r-a/2,i,a,n)}(t,r.x,t.transform.height-r.y,mn)}function yn(t,e,r,n){xn(t,0,e+r/2,t.transform.width,r,n)}function vn(t,e,r,n){xn(t,e-r/2,0,r,t.transform.height,n)}function xn(t,e,r,n,i,a){const o=t.context,s=o.gl;s.enable(s.SCISSOR_TEST),s.scissor(e*t.pixelRatio,r*t.pixelRatio,n*t.pixelRatio,i*t.pixelRatio),o.clear({color:a}),s.disable(s.SCISSOR_TEST)}function _n(t,r,n){const i=t.context,a=i.gl,o=n.posMatrix,s=t.useProgram("debug"),l=qr.disabled,c=Gr.disabled,u=t.colorModeForRenderPass(),h="$debug",f=t.style.map.terrain&&t.style.map.terrain.getTerrainData(n);i.activeTexture.set(a.TEXTURE0);const p=r.getTileByID(n.key).latestRawTileData,d=p&&p.byteLength||0,m=Math.floor(d/1024),g=r.getTile(n).tileSize,y=512/Math.min(g,512)*(n.overscaledZ/t.transform.zoom)*.5;let v=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(v+=` => ${n.overscaledZ}`),function(t,e){t.initDebugOverlayCanvas();const r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(t,`${v} ${m}kB`),s.draw(i,a.TRIANGLES,l,c,Ur.alphaBlended,Zr.disabled,Pe(o,e.aN.transparent,y),null,h,t.debugBuffer,t.quadTriangleIndexBuffer,t.debugSegments),s.draw(i,a.LINE_STRIP,l,c,u,Zr.disabled,Pe(o,e.aN.red),f,h,t.debugBuffer,t.tileBorderIndexBuffer,t.debugSegments)}function bn(t,e,r){const n=t.context,i=n.gl,a=t.colorModeForRenderPass(),o=new qr(i.LEQUAL,qr.ReadWrite,t.depthRangeFor3D),s=t.useProgram("terrain"),l=e.getTerrainMesh();n.bindFramebuffer.set(null),n.viewport.set([0,0,t.width,t.height]);for(const c of r){const r=t.renderToTexture.getTexture(c),u=e.getTerrainData(c.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,r.texture);const h=t.transform.calculatePosMatrix(c.tileID.toUnwrapped()),f=e.getMeshFrameDelta(t.transform.zoom),p=t.transform.calculateFogMatrix(c.tileID.toUnwrapped()),d=xe(h,f,p,t.style.sky,t.transform.pitch);s.draw(n,i.TRIANGLES,o,Gr.disabled,a,Zr.backCCW,d,u,"terrain",l.vertexBuffer,l.indexBuffer,l.segments)}}class wn{constructor(t,e,r){this.vertexBuffer=t,this.indexBuffer=e,this.segments=r}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class Tn{constructor(t,r){this.context=new Vr(t),this.transform=r,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:e.ao(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=dt.maxUnderzooming+dt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new he}resize(t,e,r){if(this.width=Math.floor(t*r),this.height=Math.floor(e*r),this.pixelRatio=r,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const t of this.style._order)this.style._layers[t].resize()}setup(){const t=this.context,r=new e.aX;r.emplaceBack(0,0),r.emplaceBack(e.X,0),r.emplaceBack(0,e.X),r.emplaceBack(e.X,e.X),this.tileExtentBuffer=t.createVertexBuffer(r,me.members),this.tileExtentSegments=e.a0.simpleSegment(0,0,4,2);const n=new e.aX;n.emplaceBack(0,0),n.emplaceBack(e.X,0),n.emplaceBack(0,e.X),n.emplaceBack(e.X,e.X),this.debugBuffer=t.createVertexBuffer(n,me.members),this.debugSegments=e.a0.simpleSegment(0,0,4,5);const i=new e.$;i.emplaceBack(0,0,0,0),i.emplaceBack(e.X,0,e.X,0),i.emplaceBack(0,e.X,0,e.X),i.emplaceBack(e.X,e.X,e.X,e.X),this.rasterBoundsBuffer=t.createVertexBuffer(i,et.members),this.rasterBoundsSegments=e.a0.simpleSegment(0,0,4,2);const a=new e.aX;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(a,me.members),this.viewportSegments=e.a0.simpleSegment(0,0,4,2);const o=new e.aZ;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=t.createIndexBuffer(o);const s=new e.aY;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(s);const l=this.context.gl;this.stencilClearMode=new Gr({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)}clearStencil(){const t=this.context,r=t.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const n=e.H();e.aQ(n,0,this.width,this.height,0,0,1),e.K(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(t,r.TRIANGLES,qr.disabled,this.stencilClearMode,Ur.disabled,Zr.disabled,ze(n),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(t,e){if(this.currentStencilSource===t.source||!t.isTileClipped()||!e||!e.length)return;this.currentStencilSource=t.source;const r=this.context,n=r.gl;this.nextStencilID+e.length>256&&this.clearStencil(),r.setColorMode(Ur.disabled),r.setDepthMode(qr.disabled);const i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const t of e){const e=this._tileClippingMaskIDs[t.key]=this.nextStencilID++,a=this.style.map.terrain&&this.style.map.terrain.getTerrainData(t);i.draw(r,n.TRIANGLES,qr.disabled,new Gr({func:n.ALWAYS,mask:0},e,255,n.KEEP,n.KEEP,n.REPLACE),Ur.disabled,Zr.disabled,ze(t.posMatrix),a,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,e=this.context.gl;return new Gr({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new Gr({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)}stencilConfigForOverlap(t){const e=this.context.gl,r=t.sort(((t,e)=>e.overscaledZ-t.overscaledZ)),n=r[r.length-1].overscaledZ,i=r[0].overscaledZ-n+1;if(i>1){this.currentStencilSource=void 0,this.nextStencilID+i>256&&this.clearStencil();const t={};for(let r=0;r({u_sky_color:t.properties.get("sky-color"),u_horizon_color:t.properties.get("horizon-color"),u_horizon:(e.height/2+e.getHorizon())*r,u_sky_horizon_blend:t.properties.get("sky-horizon-blend")*e.height/2*r}))(r,t.style.map.transform,t.pixelRatio),o=new qr(i.LEQUAL,qr.ReadWrite,[0,1]),s=Gr.disabled,l=t.colorModeForRenderPass(),c=t.useProgram("sky");if(!r.mesh){const t=new e.aX;t.emplaceBack(-1,-1),t.emplaceBack(1,-1),t.emplaceBack(1,1),t.emplaceBack(-1,1);const i=new e.aY;i.emplaceBack(0,1,2),i.emplaceBack(0,2,3),r.mesh=new wn(n.createVertexBuffer(t,me.members),n.createIndexBuffer(i),e.a0.simpleSegment(0,0,t.length,i.length))}c.draw(n,i.TRIANGLES,o,s,l,Zr.disabled,a,void 0,"sky",r.mesh.vertexBuffer,r.mesh.indexBuffer,r.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRangeFor3D=[0,1-(t._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=i.length-1;this.currentLayer>=0;this.currentLayer--){const t=this.style._layers[i[this.currentLayer]],e=o[t.source],r=s[t.source];this._renderTileClippingMasks(t,r),this.renderLayer(this,e,t,r)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerr.source&&!r.isHidden(e)?[t.sourceCaches[r.source]]:[])),i=n.filter((t=>"vector"===t.getSource().type)),a=n.filter((t=>"vector"!==t.getSource().type)),o=t=>{(!r||r.getSource().maxzoomo(t))),r||a.forEach((t=>o(t))),r}(this.style,this.transform.zoom);t&&function(t,e,r){for(let n=0;n0),i&&(e.b0(r,n),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(t,r){const n=t.context,i=n.gl,a=Ur.unblended,o=new qr(i.LEQUAL,qr.ReadWrite,[0,1]),s=r.getTerrainMesh(),l=r.sourceCache.getRenderableTiles(),c=t.useProgram("terrainDepth");n.bindFramebuffer.set(r.getFramebuffer("depth").framebuffer),n.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),n.clear({color:e.aN.transparent,depth:1});for(const e of l){const l=r.getTerrainData(e.tileID),u={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_ele_delta:r.getMeshFrameDelta(t.transform.zoom)};c.draw(n,i.TRIANGLES,o,Gr.disabled,a,Zr.backCCW,u,l,"terrain",s.vertexBuffer,s.indexBuffer,s.segments)}n.bindFramebuffer.set(null),n.viewport.set([0,0,t.width,t.height])}(this,this.style.map.terrain),function(t,r){const n=t.context,i=n.gl,a=Ur.unblended,o=new qr(i.LEQUAL,qr.ReadWrite,[0,1]),s=r.getTerrainMesh(),l=r.getCoordsTexture(),c=r.sourceCache.getRenderableTiles(),u=t.useProgram("terrainCoords");n.bindFramebuffer.set(r.getFramebuffer("coords").framebuffer),n.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),n.clear({color:e.aN.transparent,depth:1}),r.coordsIndex=[];for(const e of c){const c=r.getTerrainData(e.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,l.texture);const h={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_terrain_coords_id:(255-r.coordsIndex.length)/255,u_texture:0,u_ele_delta:r.getMeshFrameDelta(t.transform.zoom)};u.draw(n,i.TRIANGLES,o,Gr.disabled,a,Zr.backCCW,h,c,"terrain",s.vertexBuffer,s.indexBuffer,s.segments),r.coordsIndex.push(e.tileID.key)}n.bindFramebuffer.set(null),n.viewport.set([0,0,t.width,t.height])}(this,this.style.map.terrain))}renderLayer(t,r,n,i){if(!n.isHidden(this.transform.zoom)&&("background"===n.type||"custom"===n.type||(i||[]).length))switch(this.id=n.id,n.type){case"symbol":$r(t,r,n,i,this.style.placement.variableOffsets);break;case"circle":!function(t,r,n,i){if("translucent"!==t.renderPass)return;const a=n.paint.get("circle-opacity"),o=n.paint.get("circle-stroke-width"),s=n.paint.get("circle-stroke-opacity"),l=!n.layout.get("circle-sort-key").isConstant();if(0===a.constantOr(1)&&(0===o.constantOr(1)||0===s.constantOr(1)))return;const c=t.context,u=c.gl,h=t.depthModeForSublayer(0,qr.ReadOnly),f=Gr.disabled,p=t.colorModeForRenderPass(),d=[];for(let a=0;at.sortKey-e.sortKey));for(const e of d){const{programConfiguration:r,program:i,layoutVertexBuffer:a,indexBuffer:o,uniformValues:s,terrainData:l}=e.state,d=e.segments;i.draw(c,u.TRIANGLES,h,f,p,Zr.disabled,s,l,n.id,a,o,d,n.paint,t.transform.zoom,r)}}(t,r,n,i);break;case"heatmap":nn(t,r,n,i);break;case"line":!function(t,r,n,i){if("translucent"!==t.renderPass)return;const a=n.paint.get("line-opacity"),o=n.paint.get("line-width");if(0===a.constantOr(1)||0===o.constantOr(1))return;const s=t.depthModeForSublayer(0,qr.ReadOnly),l=t.colorModeForRenderPass(),c=n.paint.get("line-dasharray"),u=n.paint.get("line-pattern"),h=u.constantOr(1),f=n.paint.get("line-gradient"),p=n.getCrossfadeParameters(),d=h?"linePattern":c?"lineSDF":f?"lineGradient":"line",m=t.context,g=m.gl;let y=!0;for(const a of i){const i=r.getTile(a);if(h&&!i.patternsLoaded())continue;const o=i.getBucket(n);if(!o)continue;const v=o.programConfigurations.get(n.id),x=t.context.program.get(),_=t.useProgram(d,v),b=y||_.program!==x,T=t.style.map.terrain&&t.style.map.terrain.getTerrainData(a),k=u.constantOr(null);if(k&&i.imageAtlas){const t=i.imageAtlas,e=t.patternPositions[k.to.toString()],r=t.patternPositions[k.from.toString()];e&&r&&v.setConstantPatternPositions(e,r)}const A=T?a:null,M=h?Ue(t,i,n,p,A):c?Ve(t,i,n,c,p,A):f?je(t,i,n,o.lineClipsArray.length,A):Ne(t,i,n,A);if(h)m.activeTexture.set(g.TEXTURE0),i.imageAtlasTexture.bind(g.LINEAR,g.CLAMP_TO_EDGE),v.updatePaintBuffers(p);else if(c&&(b||t.lineAtlas.dirty))m.activeTexture.set(g.TEXTURE0),t.lineAtlas.bind(m);else if(f){const i=o.gradients[n.id];let s=i.texture;if(n.gradientVersion!==i.version){let l=256;if(n.stepInterpolant){const n=r.getSource().maxzoom,i=a.canonical.z===n?Math.ceil(1<20&&a.texParameterf(a.TEXTURE_2D,i.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,i.extTextureFilterAnisotropicMax);const _=t.style.map.terrain&&t.style.map.terrain.getTerrainData(n),b=_?n:null,w=b?b.posMatrix:t.transform.calculatePosMatrix(n.toUnwrapped(),f),T=Ge(w,v||[0,0],y||1,g,r);o instanceof rt?s.draw(i,a.TRIANGLES,u,Gr.disabled,l,Zr.disabled,T,_,r.id,o.boundsBuffer,t.quadTriangleIndexBuffer,o.boundsSegments):s.draw(i,a.TRIANGLES,u,c[n.overscaledZ],l,Zr.disabled,T,_,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}}(t,r,n,i);break;case"background":!function(t,e,r,n){const i=r.paint.get("background-color"),a=r.paint.get("background-opacity");if(0===a)return;const o=t.context,s=o.gl,l=t.transform,c=l.tileSize,u=r.paint.get("background-pattern");if(t.isPatternMissing(u))return;const h=!u&&1===i.a&&1===a&&t.opaquePassEnabledForLayer()?"opaque":"translucent";if(t.renderPass!==h)return;const f=Gr.disabled,p=t.depthModeForSublayer(0,"opaque"===h?qr.ReadWrite:qr.ReadOnly),d=t.colorModeForRenderPass(),m=t.useProgram(u?"backgroundPattern":"background"),g=n||l.coveringTiles({tileSize:c,terrain:t.style.map.terrain});u&&(o.activeTexture.set(s.TEXTURE0),t.imageManager.bind(t.context));const y=r.getCrossfadeParameters();for(const e of g){const l=n?e.posMatrix:t.transform.calculatePosMatrix(e.toUnwrapped()),h=u?Je(l,a,t,u,{tileID:e,tileSize:c},y):$e(l,a,i),g=t.style.map.terrain&&t.style.map.terrain.getTerrainData(e);m.draw(o,s.TRIANGLES,p,f,d,Zr.disabled,h,g,r.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments)}}(t,0,n,i);break;case"custom":!function(t,e,r){const n=t.context,i=r.implementation;if("offscreen"===t.renderPass){const e=i.prerender;e&&(t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),e.call(i,n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState())}else if("translucent"===t.renderPass){t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),n.setStencilMode(Gr.disabled);const e="3d"===i.renderingMode?new qr(t.context.gl.LEQUAL,qr.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,qr.ReadOnly);n.setDepthMode(e),i.render(n.gl,t.transform.customLayerMatrix(),{farZ:t.transform.farZ,nearZ:t.transform.nearZ,fov:t.transform._fov,modelViewProjectionMatrix:t.transform.modelViewProjectionMatrix,projectionMatrix:t.transform.projectionMatrix}),n.setDirty(),t.setBaseState(),n.bindFramebuffer.set(null)}}(t,0,n)}}translatePosMatrix(t,r,n,i,a){if(!n[0]&&!n[1])return t;const o=a?"map"===i?this.transform.angle:0:"viewport"===i?-this.transform.angle:0;if(o){const t=Math.sin(o),e=Math.cos(o);n=[n[0]*e-n[1]*t,n[0]*t+n[1]*e]}const s=[a?n[0]:Nt(r,n[0],this.transform.zoom),a?n[1]:Nt(r,n[1],this.transform.zoom),0],l=new Float32Array(16);return e.J(l,t,s),l}saveTileTexture(t){const e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]}getTileTexture(t){const e=this._tileTextures[t];return e&&e.length>0?e.pop():null}isPatternMissing(t){if(!t)return!1;if(!t.from||!t.to)return!0;const e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r}useProgram(t,e){this.cache=this.cache||{};const r=t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[r]||(this.cache[r]=new be(this.context,ge[t],e,Ke[t],this._showOverdrawInspector,this.style.map.terrain)),this.cache[r]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)}initDebugOverlayCanvas(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;const t=this.context.gl;this.debugOverlayTexture=new w(this.context,this.debugOverlayCanvas,t.RGBA)}}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){const{drawingBufferWidth:t,drawingBufferHeight:e}=this.context.gl;return this.width!==t||this.height!==e}}class kn{constructor(t,e){this.points=t,this.planes=e}static fromInvProjectionMatrix(t,r,n){const i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((n=>{const a=1/(n=e.ag([],n,t))[3]/r*i;return e.b1(n,n,[a,a,1/n[3],a])})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((t=>{const e=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t}([],function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}([],y([],a[t[0]],a[t[1]]),y([],a[t[2]],a[t[1]]))),r=(n=e,i=a[t[1]],-(n[0]*i[0]+n[1]*i[1]+n[2]*i[2]));var n,i;return e.concat(r)}));return new kn(a,o)}}class An{constructor(t,e){this.min=t,this.max=e,this.center=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}([],function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}([],this.min,this.max),.5)}quadrant(t){const e=[t%2==0,t<2],r=m(this.min),n=m(this.max);for(let t=0;t=0&&o++;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(let e=0;e<3;e++){let r=Number.MAX_VALUE,n=-Number.MAX_VALUE;for(let i=0;ithis.max[e]-this.min[e])return 0}return 1}}class Mn{constructor(t=0,e=0,r=0,n=0){if(isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=r,this.right=n}interpolate(t,r,n){return null!=r.top&&null!=t.top&&(this.top=e.z.number(t.top,r.top,n)),null!=r.bottom&&null!=t.bottom&&(this.bottom=e.z.number(t.bottom,r.bottom,n)),null!=r.left&&null!=t.left&&(this.left=e.z.number(t.left,r.left,n)),null!=r.right&&null!=t.right&&(this.right=e.z.number(t.right,r.right,n)),this}getCenter(t,r){const n=e.ad((this.left+t-this.right)/2,0,t),i=e.ad((this.top+r-this.bottom)/2,0,r);return new e.P(n,i)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new Mn(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}const Sn=85.051129;class En{constructor(t,r,n,i,a){this.tileSize=512,this._renderWorldCopies=void 0===a||!!a,this._minZoom=t||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new e.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Mn,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){const t=new En(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.apply(this),t}apply(t){this.tileSize=t.tileSize,this.latRange=t.latRange,this.width=t.width,this.height=t.height,this._center=t._center,this._elevation=t._elevation,this.minElevationForCurrentTile=t.minElevationForCurrentTile,this.zoom=t.zoom,this.angle=t.angle,this._fov=t._fov,this._pitch=t._pitch,this._unmodified=t._unmodified,this._edgeInsets=t._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))}get maxZoom(){return this._maxZoom}set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))}get minPitch(){return this._minPitch}set minPitch(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))}get maxPitch(){return this._maxPitch}set maxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new e.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(t){const r=-e.b3(t,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=function(){var t=new e.A(4);return e.A!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t}(),function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(t){const r=e.ad(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(t){const e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.tileZoom=Math.max(0,Math.floor(e)),this.scale=this.zoomScale(e),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(t){t!==this._elevation&&(this._elevation=t,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(t){return this._edgeInsets.equals(t)}interpolatePadding(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()}coveringZoomLevel(t){const e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)}getVisibleUnwrappedCoordinates(t){const r=[new e.b4(0,t)];if(this._renderWorldCopies){const n=this.pointCoordinate(new e.P(0,0)),i=this.pointCoordinate(new e.P(this.width,0)),a=this.pointCoordinate(new e.P(this.width,this.height)),o=this.pointCoordinate(new e.P(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),c=1;for(let n=s-c;n<=l+c;n++)0!==n&&r.push(new e.b4(n,t))}return r}coveringTiles(t){var r,n;let i=this.coveringZoomLevel(t);const a=i;if(void 0!==t.minzoom&&it.maxzoom&&(i=t.maxzoom);const o=this.pointCoordinate(this.getCameraPoint()),s=e.Z.fromLngLat(this.center),l=Math.pow(2,i),c=[l*o.x,l*o.y,0],u=[l*s.x,l*s.y,0],h=kn.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,i);let f=t.minzoom||0;!t.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(f=i);const p=t.terrain?2/Math.min(this.tileSize,t.tileSize)*this.tileSize:3,d=t=>({aabb:new An([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),m=[],g=[],y=i,x=t.reparseOverscaled?a:i;if(this._renderWorldCopies)for(let t=1;t<=3;t++)m.push(d(-t)),m.push(d(t));for(m.push(d(0));m.length>0;){const i=m.pop(),a=i.x,o=i.y;let s=i.fullyVisible;if(!s){const t=i.aabb.intersects(h);if(0===t)continue;s=2===t}const l=t.terrain?c:u,d=i.aabb.distanceX(l),_=i.aabb.distanceY(l),b=Math.max(Math.abs(d),Math.abs(_)),w=p+(1<w&&i.zoom>=f){const t=y-i.zoom,r=c[0]-.5-(a<>1),h=i.zoom+1;let f=i.aabb.quadrant(l);if(t.terrain){const a=new e.S(h,i.wrap,h,c,u),o=t.terrain.getMinMaxElevation(a),s=null!==(r=o.minElevation)&&void 0!==r?r:this.elevation,l=null!==(n=o.maxElevation)&&void 0!==n?n:this.elevation;f=new An([f.min[0],f.min[1],s],[f.max[0],f.max[1],l])}m.push({aabb:f,zoom:h,x:c,y:u,wrap:i.wrap,fullyVisible:s})}}return g.sort(((t,e)=>t.distanceSq-e.distanceSq)).map((t=>t.tileID))}resize(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(t){const r=e.ad(t.lat,-85.051129,Sn);return new e.P(e.O(t.lng)*this.worldSize,e.Q(r)*this.worldSize)}unproject(t){return new e.Z(t.x/this.worldSize,t.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(t){const r=this.elevation,n=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,i=this.pointLocation(this.centerPoint,t),a=t.getElevationForLngLatZoom(i,this.tileZoom);if(!(this.elevation-a))return;const o=n+r-a,s=Math.cos(this._pitch)*this.cameraToCenterDistance/o/e.b5(1,i.lat)/this.tileSize,l=this.scaleZoom(s);this._elevation=a,this._center=i,this.zoom=l}setLocationAtPoint(t,r){const n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(t),o=new e.Z(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(t,e){return e?this.coordinatePoint(this.locationCoordinate(t),e.getElevationForLngLatZoom(t,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(t))}pointLocation(t,e){return this.coordinateLocation(this.pointCoordinate(t,e))}locationCoordinate(t){return e.Z.fromLngLat(t)}coordinateLocation(t){return t&&t.toLngLat()}pointCoordinate(t,r){if(r){const e=r.pointCoordinate(t);if(null!=e)return e}const n=[t.x,t.y,0,1],i=[t.x,t.y,1,1];e.ag(n,n,this.pixelMatrixInverse),e.ag(i,i,this.pixelMatrixInverse);const a=n[3],o=i[3],s=n[0]/a,l=i[0]/o,c=n[1]/a,u=i[1]/o,h=n[2]/a,f=i[2]/o,p=h===f?0:(0-h)/(f-h);return new e.Z(e.z.number(s,l,p)/this.worldSize,e.z.number(c,u,p)/this.worldSize)}coordinatePoint(t,r=0,n=this.pixelMatrix){const i=[t.x*this.worldSize,t.y*this.worldSize,r,1];return e.ag(i,i,n),new e.P(i[0]/i[3],i[1]/i[3])}getBounds(){const t=Math.max(0,this.height/2-this.getHorizon());return(new X).extend(this.pointLocation(new e.P(0,t))).extend(this.pointLocation(new e.P(this.width,t))).extend(this.pointLocation(new e.P(this.width,this.height))).extend(this.pointLocation(new e.P(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new X([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,Sn])}calculateTileMatrix(t){const r=t.canonical,n=this.worldSize/this.zoomScale(r.z),i=r.x+Math.pow(2,r.z)*t.wrap,a=e.ao(new Float64Array(16));return e.J(a,a,[i*n,r.y*n,0]),e.K(a,a,[n/e.X,n/e.X,1]),a}calculatePosMatrix(t,r=!1){const n=t.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];const a=this.calculateTileMatrix(t);return e.L(a,r?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,a),i[n]=new Float32Array(a),i[n]}calculateFogMatrix(t){const r=t.key,n=this._fogMatrixCache;if(n[r])return n[r];const i=this.calculateTileMatrix(t);return e.L(i,this.fogMatrix,i),n[r]=new Float32Array(i),n[r]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(t,r){r=e.ad(+r,this.minZoom,this.maxZoom);const n={center:new e.N(t.lng,t.lat),zoom:r};let i=this.lngRange;if(!this._renderWorldCopies&&null===i){const t=180-1e-10;i=[-t,t]}const a=this.tileSize*this.zoomScale(n.zoom);let o=0,s=a,l=0,c=a,u=0,h=0;const{x:f,y:p}=this.size;if(this.latRange){const t=this.latRange;o=e.Q(t[1])*a,s=e.Q(t[0])*a,s-os&&(y=s-t)}if(i){const t=(l+c)/2;let r=d;this._renderWorldCopies&&(r=e.b3(d,t-a/2,t+a/2));const n=f/2;r-nc&&(g=c-n)}if(void 0!==g||void 0!==y){const t=new e.P(null!=g?g:d,null!=y?y:m);n.center=this.unproject.call({worldSize:a},t).wrap()}return n}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const t=this._unmodified,{center:e,zoom:r}=this.getConstrained(this.center,this.zoom);this.center=e,this.zoom=r,this._unmodified=t,this._constraining=!1}_calcMatrices(){if(!this.height)return;const t=this._fov/2,r=this.centerOffset,n=this.point.x,i=this.point.y;this.cameraToCenterDistance=.5/Math.tan(t)*this.height,this._pixelPerMeter=e.b5(1,this.center.lat)*this.worldSize;let a=e.ao(new Float64Array(16));e.K(a,a,[this.width/2,-this.height/2,1]),e.J(a,a,[1,-1,0]),this.labelPlaneMatrix=a,a=e.ao(new Float64Array(16)),e.K(a,a,[1,-1,1]),e.J(a,a,[-1,-1,0]),e.K(a,a,[2/this.width,2/this.height,1]),this.glCoordMatrix=a;const o=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),s=Math.min(this.elevation,this.minElevationForCurrentTile),l=o-s*this._pixelPerMeter/Math.cos(this._pitch),c=s<0?l:o,u=Math.PI/2+this._pitch,h=this._fov*(.5+r.y/this.height),f=Math.sin(h)*c/Math.sin(e.ad(Math.PI-u-h,.01,Math.PI-.01)),p=this.getHorizon(),d=2*Math.atan(p/this.cameraToCenterDistance)*(.5+r.y/(2*p)),m=Math.sin(d)*c/Math.sin(e.ad(Math.PI-u-d,.01,Math.PI-.01)),g=Math.min(f,m);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*g+c),this.nearZ=this.height/50,a=new Float64Array(16),e.b6(a,this._fov,this.width/this.height,this.nearZ,this.farZ),a[8]=2*-r.x/this.width,a[9]=2*r.y/this.height,this.projectionMatrix=e.af(a),e.K(a,a,[1,-1,1]),e.J(a,a,[0,0,-this.cameraToCenterDistance]),e.b7(a,a,this._pitch),e.ae(a,a,this.angle),e.J(a,a,[-n,-i,0]),this.mercatorMatrix=e.K([],a,[this.worldSize,this.worldSize,this.worldSize]),e.K(a,a,[1,1,this._pixelPerMeter]),this.pixelMatrix=e.L(new Float64Array(16),this.labelPlaneMatrix,a),e.J(a,a,[0,0,-this.elevation]),this.modelViewProjectionMatrix=a,this.invModelViewProjectionMatrix=e.at([],a),this.fogMatrix=new Float64Array(16),e.b6(this.fogMatrix,this._fov,this.width/this.height,o,this.farZ),this.fogMatrix[8]=2*-r.x/this.width,this.fogMatrix[9]=2*r.y/this.height,e.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),e.b7(this.fogMatrix,this.fogMatrix,this._pitch),e.ae(this.fogMatrix,this.fogMatrix,this.angle),e.J(this.fogMatrix,this.fogMatrix,[-n,-i,0]),e.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=e.L(new Float64Array(16),this.labelPlaneMatrix,a);const y=this.width%2/2,v=this.height%2/2,x=Math.cos(this.angle),_=Math.sin(this.angle),b=n-Math.round(n)+x*y+_*v,w=i-Math.round(i)+x*v+_*y,T=new Float64Array(a);if(e.J(T,T,[b>.5?b-1:b,w>.5?w-1:w,0]),this.alignedModelViewProjectionMatrix=T,a=e.at(new Float64Array(16),this.pixelMatrix),!a)throw new Error("failed to invert matrix");this.pixelMatrixInverse=a,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const t=this.pointCoordinate(new e.P(0,0)),r=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.ag(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const t=this._pitch,r=Math.tan(t)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.P(0,r))}getCameraQueryGeometry(t){const r=this.getCameraPoint();if(1===t.length)return[t[0],r];{let n=r.x,i=r.y,a=r.x,o=r.y;for(const e of t)n=Math.min(n,e.x),i=Math.min(i,e.y),a=Math.max(a,e.x),o=Math.max(o,e.y);return[new e.P(n,i),new e.P(a,i),new e.P(a,o),new e.P(n,o),new e.P(n,i)]}}lngLatToCameraDepth(t,r){const n=this.locationCoordinate(t),i=[n.x*this.worldSize,n.y*this.worldSize,r,1];return e.ag(i,i,this.modelViewProjectionMatrix),i[2]/i[3]}}function Cn(t,e){let r,n=!1,i=null,a=null;const o=()=>{i=null,n&&(t.apply(a,r),i=setTimeout(o,e),n=!1)};return(...t)=>(n=!0,a=this,r=t,i||o(),i)}class Ln{constructor(t){this._getCurrentHash=()=>{const t=window.location.hash.replace("#","");if(this._hashName){let e;return t.split("&").map((t=>t.split("="))).forEach((t=>{t[0]===this._hashName&&(e=t)})),(e&&e[1]||"").split("/")}return t.split("/")},this._onHashChange=()=>{const t=this._getCurrentHash();if(t.length>=3&&!t.some((t=>isNaN(t)))){const e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{const t=window.location.href.replace(/(#.+)?$/,this.getHashString());window.history.replaceState(window.history.state,null,t)},this._removeHash=()=>{const t=this._getCurrentHash();if(0===t.length)return;const e=t.join("/");let r=e;r.split("&").length>0&&(r=r.split("&")[0]),this._hashName&&(r=`${this._hashName}=${e}`);let n=window.location.hash.replace(r,"");n.startsWith("#&")?n=n.slice(0,1)+n.slice(2):"#"===n&&(n="");let i=window.location.href.replace(/(#.+)?$/,n);i=i.replace("&&","&"),window.history.replaceState(window.history.state,null,i)},this._updateHash=Cn(this._updateHashUnthrottled,300),this._hashName=t&&encodeURIComponent(t)}addTo(t){return this._map=t,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(t){const e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(e.lng*i)/i,o=Math.round(e.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch();let c="";if(c+=t?`/${a}/${o}/${r}`:`${r}/${o}/${a}`,(s||l)&&(c+="/"+Math.round(10*s)/10),l&&(c+=`/${Math.round(l)}`),this._hashName){const t=this._hashName;let e=!1;const r=window.location.hash.slice(1).split("&").map((r=>{const n=r.split("=")[0];return n===t?(e=!0,`${n}=${c}`):r})).filter((t=>t));return e||r.push(`${t}=${c}`),`#${r.join("&")}`}return`#${c}`}}const In={linearity:.3,easing:e.b8(0,0,.3,1)},Pn=e.e({deceleration:2500,maxSpeed:1400},In),zn=e.e({deceleration:20,maxSpeed:1400},In),On=e.e({deceleration:1e3,maxSpeed:360},In),Dn=e.e({deceleration:1e3,maxSpeed:90},In);class Rn{constructor(t){this._map=t,this.clear()}clear(){this._inertiaBuffer=[]}record(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:a.now(),settings:t})}_drainInertiaBuffer(){const t=this._inertiaBuffer,e=a.now();for(;t.length>0&&e-t[0].time>160;)t.shift()}_onMoveEnd(t){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const r={zoom:0,bearing:0,pitch:0,pan:new e.P(0,0),pinchAround:void 0,around:void 0};for(const{settings:t}of this._inertiaBuffer)r.zoom+=t.zoomDelta||0,r.bearing+=t.bearingDelta||0,r.pitch+=t.pitchDelta||0,t.panDelta&&r.pan._add(t.panDelta),t.around&&(r.around=t.around),t.pinchAround&&(r.pinchAround=t.pinchAround);const n=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,i={};if(r.pan.mag()){const a=Bn(r.pan.mag(),n,e.e({},Pn,t||{}));i.offset=r.pan.mult(a.amount/r.pan.mag()),i.center=this._map.transform.center,Fn(i,a)}if(r.zoom){const t=Bn(r.zoom,n,zn);i.zoom=this._map.transform.zoom+t.amount,Fn(i,t)}if(r.bearing){const t=Bn(r.bearing,n,On);i.bearing=this._map.transform.bearing+e.ad(t.amount,-179,179),Fn(i,t)}if(r.pitch){const t=Bn(r.pitch,n,Dn);i.pitch=this._map.transform.pitch+t.amount,Fn(i,t)}if(i.zoom||i.bearing){const t=void 0===r.pinchAround?r.around:r.pinchAround;i.around=t?this._map.unproject(t):this._map.getCenter()}return this.clear(),e.e(i,{noMoveStart:!0})}}function Fn(t,e){(!t.duration||t.durationr.unproject(t))),l=a.reduce(((t,e,r,n)=>t.add(e.div(n.length))),new e.P(0,0));super(t,{points:a,point:l,lngLats:s,lngLat:r.unproject(l),originalEvent:n}),this._defaultPrevented=!1}}class Un extends e.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(t,e,r){super(t,{originalEvent:r}),this._defaultPrevented=!1}}class Vn{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance}reset(){delete this._mousedownPos}wheel(t){return this._firePreventable(new Un(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new Nn(t.type,this._map,t))}mouseup(t){this._map.fire(new Nn(t.type,this._map,t))}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new Nn(t.type,this._map,t))}dblclick(t){return this._firePreventable(new Nn(t.type,this._map,t))}mouseover(t){this._map.fire(new Nn(t.type,this._map,t))}mouseout(t){this._map.fire(new Nn(t.type,this._map,t))}touchstart(t){return this._firePreventable(new jn(t.type,this._map,t))}touchmove(t){this._map.fire(new jn(t.type,this._map,t))}touchend(t){this._map.fire(new jn(t.type,this._map,t))}touchcancel(t){this._map.fire(new jn(t.type,this._map,t))}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class qn{constructor(t){this._map=t}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(t){this._map.fire(new Nn(t.type,this._map,t))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Nn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._ignoreContextMenu||this._map.fire(new Nn(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Hn{constructor(t){this._map=t}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(t){return this.transform.pointLocation(e.P.convert(t),this._map.terrain)}}class Gn{constructor(t,e){this._map=t,this._tr=new Hn(t),this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(o.disableDrag(),this._startPos=this._lastPos=e,this._active=!0)}mousemoveWindow(t,e){if(!this._active)return;const r=e;if(this._lastPos.equals(r)||!this._box&&r.dist(this._startPos)t.fitScreenCoordinates(n,i,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",t)}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",t))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(o.remove(this._box),this._box=null),o.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(t,r){return this._map.fire(new e.k(t,{originalEvent:r}))}}function Zn(t,e){if(t.length!==e.length)throw new Error(`The number of touches and points are not equal - touches ${t.length}, points ${e.length}`);const r={};for(let n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=t.timeStamp),n.length===this.numTouches&&(this.centroid=function(t){const r=new e.P(0,0);for(const e of t)r._add(e);return r.div(t.length)}(r),this.touches=Zn(n,r)))}touchmove(t,e,r){if(this.aborted||!this.centroid)return;const n=Zn(r,e);for(const t in this.touches){const e=this.touches[t],r=n[t];(!r||r.dist(e)>30)&&(this.aborted=!0)}}touchend(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){const t=!this.aborted&&this.centroid;if(this.reset(),t)return t}}}class Yn{constructor(t){this.singleTap=new Wn(t),this.numTaps=t.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(t,e,r){this.singleTap.touchstart(t,e,r)}touchmove(t,e,r){this.singleTap.touchmove(t,e,r)}touchend(t,e,r){const n=this.singleTap.touchend(t,e,r);if(n){const e=t.timeStamp-this.lastTime<500,r=!this.lastTap||this.lastTap.dist(n)<30;if(e&&r||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}}}class Xn{constructor(t){this._tr=new Hn(t),this._zoomIn=new Yn({numTouches:1,numTaps:2}),this._zoomOut=new Yn({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)}touchmove(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)}touchend(t,e,r){const n=this._zoomIn.touchend(t,e,r),i=this._zoomOut.touchend(t,e,r),a=this._tr;return n?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:a.zoom+1,around:a.unproject(n)},{originalEvent:t})}):i?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:a.zoom-1,around:a.unproject(i)},{originalEvent:t})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class $n{constructor(t){this._enabled=!!t.enable,this._moveStateManager=t.moveStateManager,this._clickTolerance=t.clickTolerance||1,this._moveFunction=t.move,this._activateOnStart=!!t.activateOnStart,t.assignEvents(this),this.reset()}reset(t){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(t)}_move(...t){const e=this._moveFunction(...t);if(e.bearingDelta||e.pitchDelta||e.around||e.panDelta)return this._active=!0,e}dragStart(t,e){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(t)&&(this._moveStateManager.startMove(t),this._lastPoint=e.length?e[0]:e,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(t,e){if(!this.isEnabled())return;const r=this._lastPoint;if(!r)return;if(t.preventDefault(),!this._moveStateManager.isValidMoveEvent(t))return void this.reset(t);const n=e.length?e[0]:e;return!this._moved&&n.dist(r){t.mousedown=t.dragStart,t.mousemoveWindow=t.dragMove,t.mouseup=t.dragEnd,t.contextmenu=t=>{t.preventDefault()}},ei=({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:r=.8})=>{const n=new Kn({checkCorrectEvent:t=>0===o.mouseButton(t)&&t.ctrlKey||2===o.mouseButton(t)});return new $n({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*r}),moveStateManager:n,enable:t,assignEvents:ti})},ri=({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:r=-.5})=>{const n=new Kn({checkCorrectEvent:t=>0===o.mouseButton(t)&&t.ctrlKey||2===o.mouseButton(t)});return new $n({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*r}),moveStateManager:n,enable:t,assignEvents:ti})};class ni{constructor(t,e){this._clickTolerance=t.clickTolerance||1,this._map=e,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new e.P(0,0)}_shouldBePrevented(t){return t<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(t,e,r){return this._calculateTransform(t,e,r)}touchmove(t,e,r){if(this._active){if(!this._shouldBePrevented(r.length))return t.preventDefault(),this._calculateTransform(t,e,r);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",t)}}touchend(t,e,r){this._calculateTransform(t,e,r),this._active&&this._shouldBePrevented(r.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(t,r,n){n.length>0&&(this._active=!0);const i=Zn(n,r),a=new e.P(0,0),o=new e.P(0,0);let s=0;for(const t in i){const e=i[t],r=this._touches[t];r&&(a._add(e),o._add(e.sub(r)),s++,i[t]=e)}if(this._touches=i,this._shouldBePrevented(s)||!o.mag())return;const l=o.div(s);return this._sum._add(l),this._sum.mag()Math.abs(t.x)}class hi extends ii{constructor(t){super(),this._currentTouchCount=0,this._map=t}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(t,e,r){super.touchstart(t,e,r),this._currentTouchCount=r.length}_start(t){this._lastPoints=t,ui(t[0].sub(t[1]))&&(this._valid=!1)}_move(t,e,r){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;const n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}):void 0}gestureBeginsVertically(t,e,r){if(void 0!==this._valid)return this._valid;const n=t.mag()>=2,i=e.mag()>=2;if(!n&&!i)return;if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;const a=t.y>0==e.y>0;return ui(t)&&ui(e)&&a}}const fi={panStep:100,bearingStep:15,pitchStep:10};class pi{constructor(t){this._tr=new Hn(t);const e=fi;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let e=0,r=0,n=0,i=0,a=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),i=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),i=1);break;case 38:t.shiftKey?n=1:(t.preventDefault(),a=-1);break;case 40:t.shiftKey?n=-1:(t.preventDefault(),a=1);break;default:return}return this._rotationDisabled&&(r=0,n=0),{cameraAnimation:o=>{const s=this._tr;o.easeTo({duration:300,easeId:"keyboardHandler",easing:di,zoom:e?Math.round(s.zoom)+e*(t.shiftKey?2:1):s.zoom,bearing:s.bearing+r*this._bearingStep,pitch:s.pitch+n*this._pitchStep,offset:[-i*this._panStep,-a*this._panStep],center:s.center},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function di(t){return t*(2-t)}const mi=4.000244140625;class gi{constructor(t,e){this._onTimeout=t=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},this._map=t,this._tr=new Hn(t),this._triggerRenderFrame=e,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(t){this._defaultZoomRate=t}setWheelZoomRate(t){this._wheelZoomRate=t}isEnabled(){return!!this._enabled}isActive(){return!!this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around)}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(t){return!!this._map.cooperativeGestures.isEnabled()&&!(t.ctrlKey||this._map.cooperativeGestures.isBypassed(t))}wheel(t){if(!this.isEnabled())return;if(this._shouldBePrevented(t))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",t);let e=t.deltaMode===WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY;const r=a.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==e&&e%mi==0?this._type="wheel":0!==e&&Math.abs(e)<4?this._type="trackpad":n>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(n*e)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&(this._lastWheelEvent=t,this._delta-=e,this._active||this._start(t)),t.preventDefault()}_start(t){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const r=o.mousePos(this._map.getCanvas(),t),n=this._tr;r.y>n.transform.height/2-n.transform.getHorizon()?this._around=e.N.convert(this._aroundCenter?n.center:n.unproject(r)):this._around=e.N.convert(n.center),this._aroundPoint=n.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const t=this._tr.transform;if(0!==this._delta){const e="wheel"===this._type&&Math.abs(this._delta)>mi?this._wheelZoomRate:this._defaultZoomRate;let r=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==r&&(r=1/r);const n="number"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(n*r))),"wheel"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const r="number"==typeof this._targetZoom?this._targetZoom:t.zoom,n=this._startZoom,i=this._easing;let o,s=!1;const l=a.now()-this._lastWheelEventTime;if("wheel"===this._type&&n&&i&&l){const t=Math.min(l/200,1),a=i(t);o=e.z.number(n,r,a),t<1?this._frameId||(this._frameId=!0):s=!0}else o=r,s=!0;return this._active=!0,s&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!s,zoomDelta:o-t.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(t){let r=e.b9;if(this._prevEase){const t=this._prevEase,n=(a.now()-t.start)/t.duration,i=t.easing(n+.01)-t.easing(n),o=.27/Math.sqrt(i*i+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=e.b8(o,s,.25,1)}return this._prevEase={start:a.now(),duration:t,easing:r},r}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class yi{constructor(t,e){this._clickZoom=t,this._tapZoom=e}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class vi{constructor(t){this._tr=new Hn(t),this.reset()}reset(){this._active=!1}dblclick(t,e){return t.preventDefault(),{cameraAnimation:r=>{r.easeTo({duration:300,zoom:this._tr.zoom+(t.shiftKey?-1:1),around:this._tr.unproject(e)},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class xi{constructor(){this._tap=new Yn({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(t,e,r){if(!this._swipePoint)if(this._tapTime){const n=e[0],i=t.timeStamp-this._tapTime<500,a=this._tapPoint.dist(n)<30;i&&a?r.length>0&&(this._swipePoint=n,this._swipeTouch=r[0].identifier):this.reset()}else this._tap.touchstart(t,e,r)}touchmove(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;const n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)}touchend(t,e,r){if(this._tapTime)this._swipePoint&&0===r.length&&this.reset();else{const n=this._tap.touchend(t,e,r);n&&(this._tapTime=t.timeStamp,this._tapPoint=n)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class _i{constructor(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class bi{constructor(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class wi{constructor(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class Ti{constructor(t,e){this._bypassKey=-1!==navigator.userAgent.indexOf("Mac")?"metaKey":"ctrlKey",this._map=t,this._options=e,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;const t=this._map.getCanvasContainer();t.classList.add("maplibregl-cooperative-gestures"),this._container=o.create("div","maplibregl-cooperative-gesture-screen",t);let e=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");"metaKey"===this._bypassKey&&(e=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));const r=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),n=document.createElement("div");n.className="maplibregl-desktop-message",n.textContent=e,this._container.appendChild(n);const i=document.createElement("div");i.className="maplibregl-mobile-message",i.textContent=r,this._container.appendChild(i),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(o.remove(this._container),this._map.getCanvasContainer().classList.remove("maplibregl-cooperative-gestures")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(t){return t[this._bypassKey]}notifyGestureBlocked(t,r){this._enabled&&(this._map.fire(new e.k("cooperativegestureprevented",{gestureType:t,originalEvent:r})),this._container.classList.add("maplibregl-show"),setTimeout((()=>{this._container.classList.remove("maplibregl-show")}),100))}}const ki=t=>t.zoom||t.drag||t.pitch||t.rotate;class Ai extends e.k{}function Mi(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class Si{constructor(t,e){this.handleWindowEvent=t=>{this.handleEvent(t,`${t.type}Window`)},this.handleEvent=(t,e)=>{if("blur"===t.type)return void this.stop(!0);this._updatingCamera=!0;const r="renderFrame"===t.type?void 0:t,n={needsRenderFrame:!1},i={},a={},s=t.touches,l=s?this._getMapTouches(s):void 0,c=l?o.touchPos(this._map.getCanvas(),l):o.mousePos(this._map.getCanvas(),t);for(const{handlerName:o,handler:s,allowed:u}of this._handlers){if(!s.isEnabled())continue;let h;this._blockedByActive(a,u,o)?s.reset():s[e||t.type]&&(h=s[e||t.type](t,c,l),this.mergeHandlerResult(n,i,h,o,r),h&&h.needsRenderFrame&&this._triggerRenderFrame()),(h||s.isActive())&&(a[o]=s)}const u={};for(const t in this._previousActiveHandlers)a[t]||(u[t]=r);this._previousActiveHandlers=a,(Object.keys(u).length||Mi(n))&&(this._changes.push([n,i,u]),this._triggerRenderFrame()),(Object.keys(a).length||Mi(n))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:h}=n;h&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],h(this._map))},this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Rn(t),this._bearingSnap=e.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(e);const r=this._el;this._listeners=[[r,"touchstart",{passive:!0}],[r,"touchmove",{passive:!1}],[r,"touchend",void 0],[r,"touchcancel",void 0],[r,"mousedown",void 0],[r,"mousemove",void 0],[r,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[r,"mouseover",void 0],[r,"mouseout",void 0],[r,"dblclick",void 0],[r,"click",void 0],[r,"keydown",{capture:!1}],[r,"keyup",void 0],[r,"wheel",{passive:!1}],[r,"contextmenu",void 0],[window,"blur",void 0]];for(const[t,e,r]of this._listeners)o.addEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,r)}destroy(){for(const[t,e,r]of this._listeners)o.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,r)}_addDefaultHandlers(t){const e=this._map,r=e.getCanvasContainer();this._add("mapEvent",new Vn(e,t));const n=e.boxZoom=new Gn(e,t);this._add("boxZoom",n),t.interactive&&t.boxZoom&&n.enable();const i=e.cooperativeGestures=new Ti(e,t.cooperativeGestures);this._add("cooperativeGestures",i),t.cooperativeGestures&&i.enable();const a=new Xn(e),s=new vi(e);e.doubleClickZoom=new yi(s,a),this._add("tapZoom",a),this._add("clickZoom",s),t.interactive&&t.doubleClickZoom&&e.doubleClickZoom.enable();const l=new xi;this._add("tapDragZoom",l);const c=e.touchPitch=new hi(e);this._add("touchPitch",c),t.interactive&&t.touchPitch&&e.touchPitch.enable(t.touchPitch);const u=ei(t),h=ri(t);e.dragRotate=new bi(t,u,h),this._add("mouseRotate",u,["mousePitch"]),this._add("mousePitch",h,["mouseRotate"]),t.interactive&&t.dragRotate&&e.dragRotate.enable();const f=(({enable:t,clickTolerance:e})=>{const r=new Kn({checkCorrectEvent:t=>0===o.mouseButton(t)&&!t.ctrlKey});return new $n({clickTolerance:e,move:(t,e)=>({around:e,panDelta:e.sub(t)}),activateOnStart:!0,moveStateManager:r,enable:t,assignEvents:ti})})(t),p=new ni(t,e);e.dragPan=new _i(r,f,p),this._add("mousePan",f),this._add("touchPan",p,["touchZoom","touchRotate"]),t.interactive&&t.dragPan&&e.dragPan.enable(t.dragPan);const d=new ci,m=new si;e.touchZoomRotate=new wi(r,m,d,l),this._add("touchRotate",d,["touchPan","touchZoom"]),this._add("touchZoom",m,["touchPan","touchRotate"]),t.interactive&&t.touchZoomRotate&&e.touchZoomRotate.enable(t.touchZoomRotate);const g=e.scrollZoom=new gi(e,(()=>this._triggerRenderFrame()));this._add("scrollZoom",g,["mousePan"]),t.interactive&&t.scrollZoom&&e.scrollZoom.enable(t.scrollZoom);const y=e.keyboard=new pi(e);this._add("keyboard",y),t.interactive&&t.keyboard&&e.keyboard.enable(),this._add("blockableMapEvent",new qn(e))}_add(t,e,r){this._handlers.push({handlerName:t,handler:e,allowed:r}),this._handlersById[t]=e}stop(t){if(!this._updatingCamera){for(const{handler:t}of this._handlers)t.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[]}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return Boolean(ki(this._eventsInProgress))||this.isZooming()}_blockedByActive(t,e,r){for(const n in t)if(n!==r&&(!e||e.indexOf(n)<0))return!0;return!1}_getMapTouches(t){const e=[];for(const r of t){const t=r.target;this._el.contains(t)&&e.push(r)}return e}mergeHandlerResult(t,r,n,i,a){if(!n)return;e.e(t,n);const o={handlerName:i,originalEvent:n.originalEvent||a};void 0!==n.zoomDelta&&(r.zoom=o),void 0!==n.panDelta&&(r.drag=o),void 0!==n.pitchDelta&&(r.pitch=o),void 0!==n.bearingDelta&&(r.rotate=o)}_applyChanges(){const t={},r={},n={};for(const[i,a,o]of this._changes)i.panDelta&&(t.panDelta=(t.panDelta||new e.P(0,0))._add(i.panDelta)),i.zoomDelta&&(t.zoomDelta=(t.zoomDelta||0)+i.zoomDelta),i.bearingDelta&&(t.bearingDelta=(t.bearingDelta||0)+i.bearingDelta),i.pitchDelta&&(t.pitchDelta=(t.pitchDelta||0)+i.pitchDelta),void 0!==i.around&&(t.around=i.around),void 0!==i.pinchAround&&(t.pinchAround=i.pinchAround),i.noInertia&&(t.noInertia=i.noInertia),e.e(r,a),e.e(n,o);this._updateMapTransform(t,r,n),this._changes=[]}_updateMapTransform(t,e,r){const n=this._map,i=n._getTransformForUpdate(),a=n.terrain;if(!(Mi(t)||a&&this._terrainMovement))return this._fireEvents(e,r,!0);let{panDelta:o,zoomDelta:s,bearingDelta:l,pitchDelta:c,around:u,pinchAround:h}=t;void 0!==h&&(u=h),n._stop(!0),u=u||n.transform.centerPoint;const f=i.pointLocation(o?u.sub(o):u);l&&(i.bearing+=l),c&&(i.pitch+=c),s&&(i.zoom+=s),a?this._terrainMovement||!e.drag&&!e.zoom?e.drag&&this._terrainMovement?i.center=i.pointLocation(i.centerPoint.sub(o)):i.setLocationAtPoint(f,u):(this._terrainMovement=!0,this._map._elevationFreeze=!0,i.setLocationAtPoint(f,u)):i.setLocationAtPoint(f,u),n._applyUpdatedTransform(i),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,r,!0)}_fireEvents(t,r,n){const i=ki(this._eventsInProgress),o=ki(t),s={};for(const e in t){const{originalEvent:r}=t[e];this._eventsInProgress[e]||(s[`${e}start`]=r),this._eventsInProgress[e]=t[e]}!i&&o&&this._fireEvent("movestart",o.originalEvent);for(const t in s)this._fireEvent(t,s[t]);o&&this._fireEvent("move",o.originalEvent);for(const e in t){const{originalEvent:r}=t[e];this._fireEvent(e,r)}const l={};let c;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:n}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],c=r[e]||n,l[`${t}end`]=c)}for(const t in l)this._fireEvent(t,l[t]);const u=ki(this._eventsInProgress),h=(i||o)&&!u;if(h&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;const t=this._map._getTransformForUpdate();t.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(t)}if(n&&h){this._updatingCamera=!0;const t=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),r=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Ai("renderFrame",{timeStamp:t})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}class Ei extends e.E{constructor(t,e){super(),this._renderFrameCallback=()=>{const t=Math.min((a.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=e.bearingSnap,this.on("moveend",(()=>{delete this._requestedCameraState}))}getCenter(){return new e.N(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(t,r,n){return t=e.P.convert(t).mult(-1),this.panTo(this.transform.center,e.e({offset:t},r),n)}panTo(t,r,n){return this.easeTo(e.e({center:t},r),n)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(t,r,n){return this.easeTo(e.e({zoom:t},r),n)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),this}rotateTo(t,r,n){return this.easeTo(e.e({bearing:t},r),n)}resetNorth(t,r){return this.rotateTo(0,e.e({duration:1e3},t),r),this}resetNorthPitch(t,r){return this.easeTo(e.e({bearing:0,pitch:0,duration:1e3},t),r),this}snapToNorth(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(i.zoom=e.z.number(o,y,n)),this._rotating&&(i.bearing=e.z.number(s,u,n)),this._pitching&&(i.pitch=e.z.number(l,h,n)),this._padding&&(i.interpolatePadding(c,f,n),d=i.centerPoint.add(p)),this.terrain&&!t.freezeElevation&&this._updateElevation(n),b)i.setLocationAtPoint(b,w);else{const t=i.zoomScale(i.zoom-o),e=y>o?Math.min(2,_):Math.max(.5,_),r=Math.pow(e,1-n),a=i.unproject(v.add(x.mult(n*r)).mult(t));i.setLocationAtPoint(i.renderWorldCopies?a.wrap():a,d)}this._applyUpdatedTransform(i),this._fireMoveEvents(r)}),(e=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(r,e)}),t),this}_prepareEase(t,r,n={}){this._moving=!0,r||n.moving||this.fire(new e.k("movestart",t)),this._zooming&&!n.zooming&&this.fire(new e.k("zoomstart",t)),this._rotating&&!n.rotating&&this.fire(new e.k("rotatestart",t)),this._pitching&&!n.pitching&&this.fire(new e.k("pitchstart",t))}_prepareElevation(t){this._elevationCenter=t,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(t,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(t){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);const r=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(t<1&&r!==this._elevationTarget){const e=this._elevationTarget-this._elevationStart,n=(r-(e*t+this._elevationStart))/(1-t);this._elevationStart+=t*(e-n),this._elevationTarget=r}this.transform.elevation=e.z.number(this._elevationStart,this._elevationTarget,t)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(t){const e=t.getCameraPosition(),r=this.terrain.getElevationForLngLatZoom(e.lngLat,t.zoom);if(e.altitudethis._elevateCameraIfInsideTerrain(t))),this.transformCameraUpdate&&e.push((t=>this.transformCameraUpdate(t))),!e.length)return;const r=t.clone();for(const t of e){const e=r.clone(),{center:n,zoom:i,pitch:a,bearing:o,elevation:s}=t(e);n&&(e.center=n),void 0!==i&&(e.zoom=i),void 0!==a&&(e.pitch=a),void 0!==o&&(e.bearing=o),void 0!==s&&(e.elevation=s),r.apply(e)}this.transform.apply(r)}_fireMoveEvents(t){this.fire(new e.k("move",t)),this._zooming&&this.fire(new e.k("zoom",t)),this._rotating&&this.fire(new e.k("rotate",t)),this._pitching&&this.fire(new e.k("pitch",t))}_afterEase(t,r){if(this._easeId&&r&&this._easeId===r)return;delete this._easeId;const n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new e.k("zoomend",t)),i&&this.fire(new e.k("rotateend",t)),a&&this.fire(new e.k("pitchend",t)),this.fire(new e.k("moveend",t))}flyTo(t,r){var n;if(!t.essential&&a.prefersReducedMotion){const n=e.M(t,["center","zoom","bearing","pitch","around"]);return this.jumpTo(n,r)}this.stop(),t=e.e({offset:[0,0],speed:1.2,curve:1.42,easing:e.b9},t);const i=this._getTransformForUpdate(),o=i.zoom,s=i.bearing,l=i.pitch,c=i.padding,u="bearing"in t?this._normalizeBearing(t.bearing,s):s,h="pitch"in t?+t.pitch:l,f="padding"in t?t.padding:i.padding,p=e.P.convert(t.offset);let d=i.centerPoint.add(p);const m=i.pointLocation(d),{center:g,zoom:y}=i.getConstrained(e.N.convert(t.center||m),null!==(n=t.zoom)&&void 0!==n?n:o);this._normalizeCenter(g,i);const v=i.zoomScale(y-o),x=i.project(m),_=i.project(g).sub(x);let b=t.curve;const w=Math.max(i.width,i.height),T=w/v,k=_.mag();if("minZoom"in t){const r=e.ad(Math.min(t.minZoom,o,y),i.minZoom,i.maxZoom),n=w/i.zoomScale(r-o);b=Math.sqrt(n/k*2)}const A=b*b;function M(t){const e=(T*T-w*w+(t?-1:1)*A*A*k*k)/(2*(t?T:w)*A*k);return Math.log(Math.sqrt(e*e+1)-e)}function S(t){return(Math.exp(t)-Math.exp(-t))/2}function E(t){return(Math.exp(t)+Math.exp(-t))/2}const C=M(!1);let L=function(t){return E(C)/E(C+b*t)},I=function(t){return w*((E(C)*(S(e=C+b*t)/E(e))-S(C))/A)/k;var e},P=(M(!0)-C)/b;if(Math.abs(k)<1e-6||!isFinite(P)){if(Math.abs(w-T)<1e-6)return this.easeTo(t,r);const e=T0,L=t=>Math.exp(e*b*t)}if("duration"in t)t.duration=+t.duration;else{const e="screenSpeed"in t?+t.screenSpeed/b:+t.speed;t.duration=1e3*P/e}return t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=s!==u,this._pitching=h!==l,this._padding=!i.isPaddingEqual(f),this._prepareEase(r,!1),this.terrain&&this._prepareElevation(g),this._ease((n=>{const a=n*P,m=1/L(a);i.zoom=1===n?y:o+i.scaleZoom(m),this._rotating&&(i.bearing=e.z.number(s,u,n)),this._pitching&&(i.pitch=e.z.number(l,h,n)),this._padding&&(i.interpolatePadding(c,f,n),d=i.centerPoint.add(p)),this.terrain&&!t.freezeElevation&&this._updateElevation(n);const v=1===n?g:i.unproject(x.add(_.mult(I(a))).mult(m));i.setLocationAtPoint(i.renderWorldCopies?v.wrap():v,d),this._applyUpdatedTransform(i),this._fireMoveEvents(r)}),(()=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(r)}),t),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(t,e){var r;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const t=this._onEaseEnd;delete this._onEaseEnd,t.call(this,e)}return t||null===(r=this.handlers)||void 0===r||r.stop(!1),this}_ease(t,e,r){!1===r.animate||0===r.duration?(t(1),e()):(this._easeStart=a.now(),this._easeOptions=r,this._onEaseFrame=t,this._onEaseEnd=e,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(t,r){t=e.b3(t,-180,180);const n=Math.abs(t-r);return Math.abs(t-360-r)180?-360:r<-180?360:0}queryTerrainElevation(t){return this.terrain?this.terrain.getElevationForLngLatZoom(e.N.convert(t),this.transform.tileZoom)-this.transform.elevation:null}}const Ci={compact:!0,customAttribution:'
MapLibre'};class Li{constructor(t=Ci){this._toggleAttribution=()=>{this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=t=>{!t||"metadata"!==t.sourceDataType&&"visibility"!==t.sourceDataType&&"style"!==t.dataType&&"terrain"!==t.type||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=t}getDefaultPosition(){return"bottom-right"}onAdd(t){return this._map=t,this._compact=this.options.compact,this._container=o.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=o.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=o.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){o.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(t,e){const r=this._map._getUIString(`AttributionControl.${e}`);t.title=r,t.setAttribute("aria-label",r)}_updateAttributions(){if(!this._map.style)return;let t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((t=>"string"!=typeof t?"":t))):"string"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){const t=this._map.style.stylesheet;this.styleOwner=t.owner,this.styleId=t.id}const e=this._map.style.sourceCaches;for(const r in e){const n=e[r];if(n.used||n.usedForTerrain){const e=n.getSource();e.attribution&&t.indexOf(e.attribution)<0&&t.push(e.attribution)}}t=t.filter((t=>String(t).trim())),t.sort(((t,e)=>t.length-e.length)),t=t.filter(((e,r)=>{for(let n=r+1;n=0)return!1;return!0}));const r=t.join(" | ");r!==this._attribHTML&&(this._attribHTML=r,t.length?(this._innerContainer.innerHTML=r,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class Ii{constructor(t={}){this._updateCompact=()=>{const t=this._container.children;if(t.length){const e=t[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&e.classList.add("maplibregl-compact"):e.classList.remove("maplibregl-compact")}},this.options=t}getDefaultPosition(){return"bottom-left"}onAdd(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=o.create("div","maplibregl-ctrl");const e=o.create("a","maplibregl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://maplibre.org/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){o.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class Pi{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(t){const e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e}remove(t){const e=this._currentlyRunning,r=e?this._queue.concat(e):this._queue;for(const e of r)if(e.id===t)return void(e.cancelled=!0)}run(t=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");const e=this._currentlyRunning=this._queue;this._queue=[];for(const r of e)if(!r.cancelled&&(r.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var zi=e.Y([{name:"a_pos3d",type:"Int16",components:3}]);class Oi extends e.E{constructor(t){super(),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,t.usedForTerrain=!0,t.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(t,r){this.sourceCache.update(t,r),this._renderableTilesKeys=[];const n={};for(const i of t.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:r}))n[i.key]=!0,this._renderableTilesKeys.push(i.key),this._tiles[i.key]||(i.posMatrix=new Float64Array(16),e.aQ(i.posMatrix,0,e.X,0,e.X,0,1),this._tiles[i.key]=new ht(i,this.tileSize));for(const t in this._tiles)n[t]||delete this._tiles[t]}freeRtt(t){for(const e in this._tiles){const r=this._tiles[e];(!t||r.tileID.equals(t)||r.tileID.isChildOf(t)||t.isChildOf(r.tileID))&&(r.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map((t=>this.getTileByID(t)))}getTileByID(t){return this._tiles[t]}getTerrainCoords(t){const r={};for(const n of this._renderableTilesKeys){const i=this._tiles[n].tileID;if(i.canonical.equals(t.canonical)){const i=t.clone();i.posMatrix=new Float64Array(16),e.aQ(i.posMatrix,0,e.X,0,e.X,0,1),r[n]=i}else if(i.canonical.isChildOf(t.canonical)){const a=t.clone();a.posMatrix=new Float64Array(16);const o=i.canonical.z-t.canonical.z,s=i.canonical.x-(i.canonical.x>>o<>o<>o;e.aQ(a.posMatrix,0,c,0,c,0,1),e.J(a.posMatrix,a.posMatrix,[-s*c,-l*c,0]),r[n]=a}else if(t.canonical.isChildOf(i.canonical)){const a=t.clone();a.posMatrix=new Float64Array(16);const o=t.canonical.z-i.canonical.z,s=t.canonical.x-(t.canonical.x>>o<>o<>o;e.aQ(a.posMatrix,0,e.X,0,e.X,0,1),e.J(a.posMatrix,a.posMatrix,[s*c,l*c,0]),e.K(a.posMatrix,a.posMatrix,[1/2**o,1/2**o,0]),r[n]=a}}return r}getSourceTile(t,e){const r=this.sourceCache._source;let n=t.overscaledZ-this.deltaZoom;if(n>r.maxzoom&&(n=r.maxzoom),n=r.minzoom&&(!i||!i.dem);)i=this.sourceCache.getTileByID(t.scaledTo(n--).key);return i}tilesAfterTime(t=Date.now()){return Object.values(this._tiles).filter((e=>e.timeAdded>=t))}}class Di{constructor(t,e,r){this.painter=t,this.sourceCache=new Oi(e),this.options=r,this.exaggeration="number"==typeof r.exaggeration?r.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(t,r,n,i=e.X){var a;if(!(r>=0&&r=0&&nt.canonical.z&&(t.canonical.z>=n?i=t.canonical.z-n:e.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const a=t.canonical.x-(t.canonical.x>>i<>i<>8<<4|t>>8,r[e+3]=0;const n=new e.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(r.buffer)),i=new w(t,n,t.gl.RGBA,{premultiply:!1});return i.bind(t.gl.NEAREST,t.gl.CLAMP_TO_EDGE),this._coordsTexture=i,i}pointCoordinate(t){this.painter.maybeDrawDepthAndCoords(!0);const r=new Uint8Array(4),n=this.painter.context,i=n.gl,a=Math.round(t.x*this.painter.pixelRatio/devicePixelRatio),o=Math.round(t.y*this.painter.pixelRatio/devicePixelRatio),s=Math.round(this.painter.height/devicePixelRatio);n.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),i.readPixels(a,s-o-1,1,1,i.RGBA,i.UNSIGNED_BYTE,r),n.bindFramebuffer.set(null);const l=r[0]+(r[2]>>4<<8),c=r[1]+((15&r[2])<<8),u=this.coordsIndex[255-r[3]],h=u&&this.sourceCache.getTileByID(u);if(!h)return null;const f=this._coordsTextureSize,p=(1<t.id!==e)),this._recentlyUsed.push(t.id)}stampObject(t){t.stamp=++this._stamp}getOrCreateFreeObject(){for(const t of this._recentlyUsed)if(!this._objects[t].inUse)return this._objects[t];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");const t=this._createObject(this._objects.length);return this._objects.push(t),t}freeObject(t){t.inUse=!1}freeAllObjects(){for(const t of this._objects)this.freeObject(t)}isFull(){return!(this._objects.length!t.inUse))}}const Fi={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Bi{constructor(t,e){this.painter=t,this.terrain=e,this.pool=new Ri(t.context,30,e.sourceCache.tileSize*e.qualityFactor)}destruct(){this.pool.destruct()}getTexture(t){return this.pool.getObjectForId(t.rtt[this._stacks.length-1].id).texture}prepareForRender(t,e){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=t._order.filter((r=>!t._layers[r].isHidden(e))),this._coordsDescendingInv={};for(const e in t.sourceCaches){this._coordsDescendingInv[e]={};const r=t.sourceCaches[e].getVisibleCoordinates();for(const t of r){const r=this.terrain.sourceCache.getTerrainCoords(t);for(const t in r)this._coordsDescendingInv[e][t]||(this._coordsDescendingInv[e][t]=[]),this._coordsDescendingInv[e][t].push(r[t])}}this._coordsDescendingInvStr={};for(const e of t._order){const r=t._layers[e],n=r.source;if(Fi[r.type]&&!this._coordsDescendingInvStr[n]){this._coordsDescendingInvStr[n]={};for(const t in this._coordsDescendingInv[n])this._coordsDescendingInvStr[n][t]=this._coordsDescendingInv[n][t].map((t=>t.key)).sort().join()}}for(const t of this._renderableTiles)for(const e in this._coordsDescendingInvStr){const r=this._coordsDescendingInvStr[e][t.tileID.key];r&&r!==t.rttCoords[e]&&(t.rtt=[])}}renderLayer(t){if(t.isHidden(this.painter.transform.zoom))return!1;const r=t.type,n=this.painter,i=this._renderableLayerIds[this._renderableLayerIds.length-1]===t.id;if(Fi[r]&&(this._prevType&&Fi[this._prevType]||this._stacks.push([]),this._prevType=r,this._stacks[this._stacks.length-1].push(t.id),!i))return!0;if(Fi[this._prevType]||Fi[r]&&i){this._prevType=r;const t=this._stacks.length-1,i=this._stacks[t]||[];for(const r of this._renderableTiles){if(this.pool.isFull()&&(bn(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(r),r.rtt[t]){const e=this.pool.getObjectForId(r.rtt[t].id);if(e.stamp===r.rtt[t].stamp){this.pool.useObject(e);continue}}const a=this.pool.getOrCreateFreeObject();this.pool.useObject(a),this.pool.stampObject(a),r.rtt[t]={id:a.id,stamp:a.stamp},n.context.bindFramebuffer.set(a.fbo.framebuffer),n.context.clear({color:e.aN.transparent,stencil:0}),n.currentStencilSource=void 0;for(let t=0;t{t.touchstart=t.dragStart,t.touchmoveWindow=t.dragMove,t.touchend=t.dragEnd},qi={showCompass:!0,showZoom:!0,visualizePitch:!1};class Hi{constructor(t,r,n=!1){this.mousedown=t=>{this.startMouse(e.e({},t,{ctrlKey:!0,preventDefault:()=>t.preventDefault()}),o.mousePos(this.element,t)),o.addEventListener(window,"mousemove",this.mousemove),o.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=t=>{this.moveMouse(t,o.mousePos(this.element,t))},this.mouseup=t=>{this.mouseRotate.dragEnd(t),this.mousePitch&&this.mousePitch.dragEnd(t),this.offTemp()},this.touchstart=t=>{1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=o.touchPos(this.element,t.targetTouches)[0],this.startTouch(t,this._startPos),o.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),o.addEventListener(window,"touchend",this.touchend))},this.touchmove=t=>{1!==t.targetTouches.length?this.reset():(this._lastPos=o.touchPos(this.element,t.targetTouches)[0],this.moveTouch(t,this._lastPos))},this.touchend=t=>{0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;const i=t.dragRotate._mouseRotate.getClickTolerance(),a=t.dragRotate._mousePitch.getClickTolerance();this.element=r,this.mouseRotate=ei({clickTolerance:i,enable:!0}),this.touchRotate=(({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:r=.8})=>{const n=new Qn;return new $n({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*r}),moveStateManager:n,enable:t,assignEvents:Vi})})({clickTolerance:i,enable:!0}),this.map=t,n&&(this.mousePitch=ri({clickTolerance:a,enable:!0}),this.touchPitch=(({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:r=-.5})=>{const n=new Qn;return new $n({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*r}),moveStateManager:n,enable:t,assignEvents:Vi})})({clickTolerance:a,enable:!0})),o.addEventListener(r,"mousedown",this.mousedown),o.addEventListener(r,"touchstart",this.touchstart,{passive:!1}),o.addEventListener(r,"touchcancel",this.reset)}startMouse(t,e){this.mouseRotate.dragStart(t,e),this.mousePitch&&this.mousePitch.dragStart(t,e),o.disableDrag()}startTouch(t,e){this.touchRotate.dragStart(t,e),this.touchPitch&&this.touchPitch.dragStart(t,e),o.disableDrag()}moveMouse(t,e){const r=this.map,{bearingDelta:n}=this.mouseRotate.dragMove(t,e)||{};if(n&&r.setBearing(r.getBearing()+n),this.mousePitch){const{pitchDelta:n}=this.mousePitch.dragMove(t,e)||{};n&&r.setPitch(r.getPitch()+n)}}moveTouch(t,e){const r=this.map,{bearingDelta:n}=this.touchRotate.dragMove(t,e)||{};if(n&&r.setBearing(r.getBearing()+n),this.touchPitch){const{pitchDelta:n}=this.touchPitch.dragMove(t,e)||{};n&&r.setPitch(r.getPitch()+n)}}off(){const t=this.element;o.removeEventListener(t,"mousedown",this.mousedown),o.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),o.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),o.removeEventListener(window,"touchend",this.touchend),o.removeEventListener(t,"touchcancel",this.reset),this.offTemp()}offTemp(){o.enableDrag(),o.removeEventListener(window,"mousemove",this.mousemove),o.removeEventListener(window,"mouseup",this.mouseup),o.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),o.removeEventListener(window,"touchend",this.touchend)}}let Gi;function Zi(t,r,n){const i=new e.N(t.lng,t.lat);if(t=new e.N(t.lng,t.lat),r){const i=new e.N(t.lng-360,t.lat),a=new e.N(t.lng+360,t.lat),o=n.locationPoint(t).distSqr(r);n.locationPoint(i).distSqr(r)180;){const e=n.locationPoint(t);if(e.x>=0&&e.y>=0&&e.x<=n.width&&e.y<=n.height)break;t.lng>n.center.lng?t.lng-=360:t.lng+=360}return t.lng!==i.lng&&n.locationPoint(t).y>n.height/2-n.getHorizon()?t:i}const Wi={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function Yi(t,e,r){const n=t.classList;for(const t in Wi)n.remove(`maplibregl-${r}-anchor-${t}`);n.add(`maplibregl-${r}-anchor-${e}`)}class Xi extends e.E{constructor(t){if(super(),this._onKeyPress=t=>{const e=t.code,r=t.charCode||t.keyCode;"Space"!==e&&"Enter"!==e&&32!==r&&13!==r||this.togglePopup()},this._onMapClick=t=>{const e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},this._update=t=>{var e;if(!this._map)return;const r=this._map.loaded()&&!this._map.isMoving();("terrain"===(null==t?void 0:t.type)||"render"===(null==t?void 0:t.type)&&!r)&&this._map.once("render",this._update),this._map.transform.renderWorldCopies?this._lngLat=Zi(this._lngLat,this._flatPos,this._map.transform):this._lngLat=null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let n="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?n=`rotateZ(${this._rotation}deg)`:"map"===this._rotationAlignment&&(n=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let i="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?i="rotateX(0deg)":"map"===this._pitchAlignment&&(i=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||t&&"moveend"!==t.type||(this._pos=this._pos.round()),o.setTransform(this._element,`${Wi[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${i} ${n}`),a.frameAsync(new AbortController).then((()=>{this._updateOpacity(t&&"moveend"===t.type)})).catch((()=>{}))},this._onMove=t=>{if(!this._isDragging){const e=this._clickTolerance||this._map._clickTolerance;this._isDragging=t.point.dist(this._pointerdownPos)>=e}this._isDragging&&(this._pos=t.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new e.k("dragstart"))),this.fire(new e.k("drag")))},this._onUp=()=>{this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new e.k("dragend")),this._state="inactive"},this._addDragHandler=t=>{this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=t&&t.anchor||"center",this._color=t&&t.color||"#3FB1CE",this._scale=t&&t.scale||1,this._draggable=t&&t.draggable||!1,this._clickTolerance=t&&t.clickTolerance||0,this._subpixelPositioning=t&&t.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=t&&t.rotation||0,this._rotationAlignment=t&&t.rotationAlignment||"auto",this._pitchAlignment=t&&t.pitchAlignment&&"auto"!==t.pitchAlignment?t.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(null==t?void 0:t.opacity,null==t?void 0:t.opacityWhenCovered),t&&t.element)this._element=t.element,this._offset=e.P.convert(t&&t.offset||[0,0]);else{this._defaultMarker=!0,this._element=o.create("div");const r=o.createNS("http://www.w3.org/2000/svg","svg"),n=41,i=27;r.setAttributeNS(null,"display","block"),r.setAttributeNS(null,"height",`${n}px`),r.setAttributeNS(null,"width",`${i}px`),r.setAttributeNS(null,"viewBox",`0 0 ${i} ${n}`);const a=o.createNS("http://www.w3.org/2000/svg","g");a.setAttributeNS(null,"stroke","none"),a.setAttributeNS(null,"stroke-width","1"),a.setAttributeNS(null,"fill","none"),a.setAttributeNS(null,"fill-rule","evenodd");const s=o.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"fill-rule","nonzero");const l=o.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"transform","translate(3.0, 29.0)"),l.setAttributeNS(null,"fill","#000000");const c=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];for(const t of c){const e=o.createNS("http://www.w3.org/2000/svg","ellipse");e.setAttributeNS(null,"opacity","0.04"),e.setAttributeNS(null,"cx","10.5"),e.setAttributeNS(null,"cy","5.80029008"),e.setAttributeNS(null,"rx",t.rx),e.setAttributeNS(null,"ry",t.ry),l.appendChild(e)}const u=o.createNS("http://www.w3.org/2000/svg","g");u.setAttributeNS(null,"fill",this._color);const h=o.createNS("http://www.w3.org/2000/svg","path");h.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),u.appendChild(h);const f=o.createNS("http://www.w3.org/2000/svg","g");f.setAttributeNS(null,"opacity","0.25"),f.setAttributeNS(null,"fill","#000000");const p=o.createNS("http://www.w3.org/2000/svg","path");p.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),f.appendChild(p);const d=o.createNS("http://www.w3.org/2000/svg","g");d.setAttributeNS(null,"transform","translate(6.0, 7.0)"),d.setAttributeNS(null,"fill","#FFFFFF");const m=o.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(8.0, 8.0)");const g=o.createNS("http://www.w3.org/2000/svg","circle");g.setAttributeNS(null,"fill","#000000"),g.setAttributeNS(null,"opacity","0.25"),g.setAttributeNS(null,"cx","5.5"),g.setAttributeNS(null,"cy","5.5"),g.setAttributeNS(null,"r","5.4999962");const y=o.createNS("http://www.w3.org/2000/svg","circle");y.setAttributeNS(null,"fill","#FFFFFF"),y.setAttributeNS(null,"cx","5.5"),y.setAttributeNS(null,"cy","5.5"),y.setAttributeNS(null,"r","5.4999962"),m.appendChild(g),m.appendChild(y),s.appendChild(l),s.appendChild(u),s.appendChild(f),s.appendChild(d),s.appendChild(m),r.appendChild(s),r.setAttributeNS(null,"height",n*this._scale+"px"),r.setAttributeNS(null,"width",i*this._scale+"px"),this._element.appendChild(r),this._offset=e.P.convert(t&&t.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",(t=>{t.preventDefault()})),this._element.addEventListener("mousedown",(t=>{t.preventDefault()})),Yi(this._element,this._anchor,"marker"),t&&t.className)for(const e of t.className.split(" "))this._element.classList.add(e);this._popup=null}addTo(t){return this.remove(),this._map=t,this._element.setAttribute("aria-label",t._getUIString("Marker.Title")),t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),t.on("terrain",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("terrain",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),o.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.N.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),t){if(!("offset"in t.options)){const e=38.1,r=13.5,n=Math.abs(r)/Math.SQRT2;t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-e],"bottom-left":[n,-1*(e-r+n)],"bottom-right":[-n,-1*(e-r+n)],left:[r,-1*(e-r)],right:[-r,-1*(e-r)]}:this._offset}this._popup=t,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(t){return this._subpixelPositioning=t,this}getPopup(){return this._popup}togglePopup(){const t=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:t?(t.isOpen()?t.remove():(t.setLngLat(this._lngLat),t.addTo(this._map)),this):this}_updateOpacity(t=!1){var r,n;if(!(null===(r=this._map)||void 0===r?void 0:r.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(t)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout((()=>{this._opacityTimeout=null}),100)}const i=this._map,a=i.terrain.depthAtPoint(this._pos),o=i.terrain.getElevationForLngLatZoom(this._lngLat,i.transform.tileZoom);if(i.transform.lngLatToCameraDepth(this._lngLat,o)-a<.006)return void(this._element.style.opacity=this._opacity);const s=-this._offset.y/i.transform._pixelPerMeter,l=Math.sin(i.getPitch()*Math.PI/180)*s,c=i.terrain.depthAtPoint(new e.P(this._pos.x,this._pos.y-this._offset.y)),u=i.transform.lngLatToCameraDepth(this._lngLat,o+l)-c>.006;(null===(n=this._popup)||void 0===n?void 0:n.isOpen())&&u&&this._popup.remove(),this._element.style.opacity=u?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(t){return this._offset=e.P.convert(t),this._update(),this}addClassName(t){this._element.classList.add(t)}removeClassName(t){this._element.classList.remove(t)}toggleClassName(t){return this._element.classList.toggle(t)}setDraggable(t){return this._draggable=!!t,this._map&&(t?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(t){return this._rotation=t||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(t){return this._rotationAlignment=t||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(t,e){return void 0===t&&void 0===e&&(this._opacity="1",this._opacityWhenCovered="0.2"),void 0!==t&&(this._opacity=t),void 0!==e&&(this._opacityWhenCovered=e),this._map&&this._updateOpacity(!0),this}}const $i={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let Ji=0,Ki=!1;class Qi extends e.E{constructor(t){super(),this._onSuccess=t=>{if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.k("outofmaxbounds",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new e.k("geolocate",t)),this._finish()}},this._updateCamera=t=>{const r=new e.N(t.coords.longitude,t.coords.latitude),n=t.coords.accuracy,i=this._map.getBearing(),a=e.e({bearing:i},this.options.fitBoundsOptions),o=X.fromLngLat(r,n);this._map.fitBounds(o,a,{geolocateSource:!0})},this._updateMarker=t=>{if(t){const r=new e.N(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=t=>{if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===t.code&&Ki)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new e.k("error",t)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this._geolocateButton=o.create("button","maplibregl-ctrl-geolocate",this._container),o.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=t=>{if(this._map){if(!1===t){e.w("Geolocation support is not available so the GeolocateControl will be disabled.");const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t)}else{const t=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=o.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new Xi({element:this._dotElement}),this._circleElement=o.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Xi({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",(()=>this.trigger())),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(t=>{const r=t.originalEvent&&"resize"===t.originalEvent.type;t.geolocateSource||"ACTIVE_LOCK"!==this._watchState||r||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new e.k("trackuserlocationend")),this.fire(new e.k("userlocationlostfocus")))}))}},this.options=e.e({},$i,t)}onAdd(t){return this._map=t,this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return e._(this,arguments,void 0,(function*(t=!1){if(void 0!==Gi&&!t)return Gi;if(void 0===window.navigator.permissions)return Gi=!!window.navigator.geolocation,Gi;try{const t=yield window.navigator.permissions.query({name:"geolocation"});Gi="denied"!==t.state}catch(t){Gi=!!window.navigator.geolocation}return Gi}))}().then((t=>this._finishSetupUI(t))),this._container}onRemove(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),o.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Ji=0,Ki=!1}_isOutOfMapMaxBounds(t){const e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitudee.getEast()||r.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){const t=this._map.getBounds(),e=t.getSouthEast(),r=t.getNorthEast(),n=e.distanceTo(r),i=this._map._container.clientHeight,a=Math.ceil(this._accuracy/(n/i)*2);this._circleElement.style.width=`${a}px`,this._circleElement.style.height=`${a}px`}trigger(){if(!this._setup)return e.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new e.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Ji--,Ki=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this.fire(new e.k("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new e.k("trackuserlocationstart")),this.fire(new e.k("userlocationfocus"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"OFF":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let t;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),Ji++,Ji>1?(t={maximumAge:6e5,timeout:0},Ki=!0):(t=this.options.positionOptions,Ki=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}}const ta={maxWidth:100,unit:"metric"};function ea(t,e,r){const n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){const r=3.2808*s;r>5280?ra(e,n,r/5280,t._getUIString("ScaleControl.Miles")):ra(e,n,r,t._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?ra(e,n,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?ra(e,n,s/1e3,t._getUIString("ScaleControl.Kilometers")):ra(e,n,s,t._getUIString("ScaleControl.Meters"))}function ra(t,e,r,n){const i=function(t){const e=Math.pow(10,`${Math.floor(t)}`.length-1);let r=t/e;return r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:r>=1?1:function(t){const e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(r),e*r}(r),a=i/r;t.style.width=e*a+"px",t.innerHTML=`${i} ${n}`}class na extends e.E{constructor(t={}){super(),this._onFullscreenChange=()=>{var t;let e=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;null===(t=null==e?void 0:e.shadowRoot)||void 0===t?void 0:t.fullscreenElement;)e=e.shadowRoot.fullscreenElement;e===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,t&&t.container&&(t.container instanceof HTMLElement?this._container=t.container:e.w("Full screen control 'container' must be a DOM element.")),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){o.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){const t=this._fullscreenButton=o.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);o.create("span","maplibregl-ctrl-icon",t).setAttribute("aria-hidden","true"),t.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){const t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._updateTitle(),this._fullscreen?(this.fire(new e.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new e.k("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}}const ia={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},aa=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");class oa extends e.E{constructor(t){super(),this.remove=()=>(this._content&&o.remove(this._content),this._container&&(o.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new e.k("close"))),this),this._onMouseUp=t=>{this._update(t.point)},this._onMouseMove=t=>{this._update(t.point)},this._onDrag=t=>{this._update(t.point)},this._update=t=>{var e;const r=this._lngLat||this._trackPointer;if(!this._map||!r||!this._content)return;if(!this._container){if(this._container=o.create("div","maplibregl-popup",this._map.getContainer()),this._tip=o.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(const t of this.options.className.split(" "))this._container.classList.add(t);this._closeButton&&this._closeButton.setAttribute("aria-label",this._map._getUIString("Popup.Close")),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer?this._lngLat=Zi(this._lngLat,this._flatPos,this._map.transform):this._lngLat=null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._trackPointer&&!t)return;const n=this._flatPos=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&t?t:this._map.transform.locationPoint(this._lngLat));let i=this.options.anchor;const a=sa(this.options.offset);if(!i){const t=this._container.offsetWidth,e=this._container.offsetHeight;let r;r=n.y+a.bottom.ythis._map.transform.height-e?["bottom"]:[],n.xthis._map.transform.width-t/2&&r.push("right"),i=0===r.length?"bottom":r.join("-")}let s=n.add(a[i]);this.options.subpixelPositioning||(s=s.round()),o.setTransform(this._container,`${Wi[i]} translate(${s.x}px,${s.y}px)`),Yi(this._container,i,"popup")},this._onClose=()=>{this.remove()},this.options=e.e(Object.create(ia),t)}addTo(t){return this._map&&this.remove(),this._map=t,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new e.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.N.convert(t),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")),this}getElement(){return this._container}setText(t){return this.setDOMContent(document.createTextNode(t))}setHTML(t){const e=document.createDocumentFragment(),r=document.createElement("body");let n;for(r.innerHTML=t;n=r.firstChild,n;)e.appendChild(n);return this.setDOMContent(e)}getMaxWidth(){var t;return null===(t=this._container)||void 0===t?void 0:t.style.maxWidth}setMaxWidth(t){return this.options.maxWidth=t,this._update(),this}setDOMContent(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){return this._container&&this._container.classList.add(t),this}removeClassName(t){return this._container&&this._container.classList.remove(t),this}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}setSubpixelPositioning(t){this.options.subpixelPositioning=t}_createCloseButton(){this.options.closeButton&&(this._closeButton=o.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(aa);t&&t.focus()}}function sa(t){if(t){if("number"==typeof t){const r=Math.round(Math.abs(t)/Math.SQRT2);return{center:new e.P(0,0),top:new e.P(0,t),"top-left":new e.P(r,r),"top-right":new e.P(-r,r),bottom:new e.P(0,-t),"bottom-left":new e.P(r,-r),"bottom-right":new e.P(-r,-r),left:new e.P(t,0),right:new e.P(-t,0)}}if(t instanceof e.P||Array.isArray(t)){const r=e.P.convert(t);return{center:r,top:r,"top-left":r,"top-right":r,bottom:r,"bottom-left":r,"bottom-right":r,left:r,right:r}}return{center:e.P.convert(t.center||[0,0]),top:e.P.convert(t.top||[0,0]),"top-left":e.P.convert(t["top-left"]||[0,0]),"top-right":e.P.convert(t["top-right"]||[0,0]),bottom:e.P.convert(t.bottom||[0,0]),"bottom-left":e.P.convert(t["bottom-left"]||[0,0]),"bottom-right":e.P.convert(t["bottom-right"]||[0,0]),left:e.P.convert(t.left||[0,0]),right:e.P.convert(t.right||[0,0])}}return sa(new e.P(0,0))}const la=r;t.AJAXError=e.bg,t.Evented=e.E,t.LngLat=e.N,t.MercatorCoordinate=e.Z,t.Point=e.P,t.addProtocol=e.bh,t.config=e.a,t.removeProtocol=e.bi,t.AttributionControl=Li,t.BoxZoomHandler=Gn,t.CanvasSource=it,t.CooperativeGesturesHandler=Ti,t.DoubleClickZoomHandler=yi,t.DragPanHandler=_i,t.DragRotateHandler=bi,t.EdgeInsets=Mn,t.FullscreenControl=na,t.GeoJSONSource=tt,t.GeolocateControl=Qi,t.Hash=Ln,t.ImageSource=rt,t.KeyboardHandler=pi,t.LngLatBounds=X,t.LogoControl=Ii,t.Map=class extends Ei{constructor(t){e.be.mark(e.bf.create);const r=Object.assign(Object.assign({},Ui),t);if(null!=r.minZoom&&null!=r.maxZoom&&r.minZoom>r.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=r.minPitch&&null!=r.maxPitch&&r.minPitch>r.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=r.minPitch&&r.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=r.maxPitch&&r.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new En(r.minZoom,r.maxZoom,r.minPitch,r.maxPitch,r.renderWorldCopies),{bearingSnap:r.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Pi,this._controls=[],this._mapId=e.a4(),this._contextLost=t=>{t.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new e.k("webglcontextlost",{originalEvent:t}))},this._contextRestored=t=>{this._setupPainter(),this.resize(),this._update(),this.fire(new e.k("webglcontextrestored",{originalEvent:t}))},this._onMapScroll=t=>{if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=r.interactive,this._maxTileCacheSize=r.maxTileCacheSize,this._maxTileCacheZoomLevels=r.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=!0===r.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=!0===r.preserveDrawingBuffer,this._antialias=!0===r.antialias,this._trackResize=!0===r.trackResize,this._bearingSnap=r.bearingSnap,this._refreshExpiredTiles=!0===r.refreshExpiredTiles,this._fadeDuration=r.fadeDuration,this._crossSourceCollisions=!0===r.crossSourceCollisions,this._collectResourceTiming=!0===r.collectResourceTiming,this._locale=Object.assign(Object.assign({},Ni),r.locale),this._clickTolerance=r.clickTolerance,this._overridePixelRatio=r.pixelRatio,this._maxCanvasSize=r.maxCanvasSize,this.transformCameraUpdate=r.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=!0===r.cancelPendingTileRequestsWhileZooming,this._imageQueueHandle=p.addThrottleControl((()=>this.isMoving())),this._requestManager=new d(r.transformRequest),"string"==typeof r.container){if(this._container=document.getElementById(r.container),!this._container)throw new Error(`Container '${r.container}' not found.`)}else{if(!(r.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=r.container}if(r.maxBounds&&this.setMaxBounds(r.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",(()=>this._update(!1))).on("moveend",(()=>this._update(!1))).on("zoom",(()=>this._update(!0))).on("terrain",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)})).once("idle",(()=>{this._idleTriggered=!0})),"undefined"!=typeof window){addEventListener("online",this._onWindowOnline,!1);let t=!1;const e=Cn((t=>{this._trackResize&&!this._removed&&this.resize(t)._update()}),50);this._resizeObserver=new ResizeObserver((r=>{t?e(r):t=!0})),this._resizeObserver.observe(this._container)}this.handlers=new Si(this,r);const n="string"==typeof r.hash&&r.hash||void 0;this._hash=r.hash&&new Ln(n).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:r.center,zoom:r.zoom,bearing:r.bearing,pitch:r.pitch}),r.bounds&&(this.resize(),this.fitBounds(r.bounds,e.e({},r.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=r.localIdeographFontFamily,this._validateStyle=r.validateStyle,r.style&&this.setStyle(r.style,{localIdeographFontFamily:r.localIdeographFontFamily}),r.attributionControl&&this.addControl(new Li("boolean"==typeof r.attributionControl?void 0:r.attributionControl)),r.maplibreLogo&&this.addControl(new Ii,r.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on("data",(t=>{this._update("style"===t.dataType),this.fire(new e.k(`${t.dataType}data`,t))})),this.on("dataloading",(t=>{this.fire(new e.k(`${t.dataType}dataloading`,t))})),this.on("dataabort",(t=>{this.fire(new e.k("sourcedataabort",t))}))}_getMapId(){return this._mapId}addControl(t,r){if(void 0===r&&(r=t.getDefaultPosition?t.getDefaultPosition():"top-right"),!t||!t.onAdd)return this.fire(new e.j(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const n=t.onAdd(this);this._controls.push(t);const i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this}removeControl(t){if(!t||!t.onRemove)return this.fire(new e.j(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const r=this._controls.indexOf(t);return r>-1&&this._controls.splice(r,1),t.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}calculateCameraOptionsFromTo(t,e,r,n){return null==n&&this.terrain&&(n=this.terrain.getElevationForLngLatZoom(r,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(t,e,r,n)}resize(t){var r;const n=this._containerDimensions(),i=n[0],a=n[1],o=this._getClampedPixelRatio(i,a);if(this._resizeCanvas(i,a,o),this.painter.resize(i,a,o),this.painter.overLimit()){const t=this.painter.context.gl;this._maxCanvasSize=[t.drawingBufferWidth,t.drawingBufferHeight];const e=this._getClampedPixelRatio(i,a);this._resizeCanvas(i,a,e),this.painter.resize(i,a,e)}this.transform.resize(i,a),null===(r=this._requestedCameraState)||void 0===r||r.resize(i,a);const s=!this._moving;return s&&(this.stop(),this.fire(new e.k("movestart",t)).fire(new e.k("move",t))),this.fire(new e.k("resize",t)),s&&this.fire(new e.k("moveend",t)),this}_getClampedPixelRatio(t,e){const{0:r,1:n}=this._maxCanvasSize,i=this.getPixelRatio(),a=t*i,o=e*i,s=a>r?r/a:1,l=o>n?n/o:1;return Math.min(s,l)*i}getPixelRatio(){var t;return null!==(t=this._overridePixelRatio)&&void 0!==t?t:devicePixelRatio}setPixelRatio(t){this._overridePixelRatio=t,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(t){return this.transform.setMaxBounds(X.convert(t)),this._update()}setMinZoom(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(t){return this.transform.renderWorldCopies=t,this._update()}project(t){return this.transform.locationPoint(e.N.convert(t),this.style&&this.terrain)}unproject(t){return this.transform.pointLocation(e.P.convert(t),this.terrain)}isMoving(){var t;return this._moving||(null===(t=this.handlers)||void 0===t?void 0:t.isMoving())}isZooming(){var t;return this._zooming||(null===(t=this.handlers)||void 0===t?void 0:t.isZooming())}isRotating(){var t;return this._rotating||(null===(t=this.handlers)||void 0===t?void 0:t.isRotating())}_createDelegatedListener(t,e,r){if("mouseenter"===t||"mouseover"===t){let n=!1;const i=i=>{const a=this.getLayer(e)?this.queryRenderedFeatures(i.point,{layers:[e]}):[];a.length?n||(n=!0,r.call(this,new Nn(t,this,i.originalEvent,{features:a}))):n=!1};return{layer:e,listener:r,delegates:{mousemove:i,mouseout:()=>{n=!1}}}}if("mouseleave"===t||"mouseout"===t){let n=!1;const i=i=>{(this.getLayer(e)?this.queryRenderedFeatures(i.point,{layers:[e]}):[]).length?n=!0:n&&(n=!1,r.call(this,new Nn(t,this,i.originalEvent)))},a=e=>{n&&(n=!1,r.call(this,new Nn(t,this,e.originalEvent)))};return{layer:e,listener:r,delegates:{mousemove:i,mouseout:a}}}{const n=t=>{const n=this.getLayer(e)?this.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(this,t),delete t.features)};return{layer:e,listener:r,delegates:{[t]:n}}}}on(t,e,r){if(void 0===r)return super.on(t,e);const n=this._createDelegatedListener(t,e,r);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(n);for(const t in n.delegates)this.on(t,n.delegates[t]);return this}once(t,e,r){if(void 0===r)return super.once(t,e);const n=this._createDelegatedListener(t,e,r);for(const t in n.delegates)this.once(t,n.delegates[t]);return this}off(t,e,r){if(void 0===r)return super.off(t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&(n=>{const i=n[t];for(let t=0;tthis._updateStyle(t,e)));const r=this.style&&e.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!t)),t?(this.style=new de(this,e||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof t?this.style.loadURL(t,e,r):this.style.loadJSON(t,e,r),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new de(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(t,r){if("string"==typeof t){const n=t,i=this._requestManager.transformRequest(n,"Style");e.h(i,new AbortController).then((t=>{this._updateDiff(t.data,r)})).catch((t=>{t&&this.fire(new e.j(t))}))}else"object"==typeof t&&this._updateDiff(t,r)}_updateDiff(t,r){try{this.style.setState(t,r)&&this._update(!0)}catch(n){e.w(`Unable to perform style diff: ${n.message||n.error||n}. Rebuilding the style from scratch.`),this._updateStyle(t,r)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():e.w("There is no style added to the map.")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(t){const r=this.style&&this.style.sourceCaches[t];if(void 0!==r)return r.loaded();this.fire(new e.j(new Error(`There is no source with ID '${t}'`)))}setTerrain(t){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),t){const r=this.style.sourceCaches[t.source];if(!r)throw new Error(`cannot load terrain, because there exists no source with ID: ${t.source}`);null===this.terrain&&r.reload();for(const r in this.style._layers){const n=this.style._layers[r];"hillshade"===n.type&&n.source===t.source&&e.w("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new Di(this.painter,r,t),this.painter.renderToTexture=new Bi(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=e=>{"style"===e.dataType?this.terrain.sourceCache.freeRtt():"source"===e.dataType&&e.tile&&(e.sourceId!==t.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(e.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new e.k("terrain",{terrain:t})),this}getTerrain(){var t,e;return null!==(e=null===(t=this.terrain)||void 0===t?void 0:t.options)&&void 0!==e?e:null}areTilesLoaded(){const t=this.style&&this.style.sourceCaches;for(const e in t){const r=t[e]._tiles;for(const t in r){const e=r[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}}return!0}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(t,r,n={}){const{pixelRatio:i=1,sdf:o=!1,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h}=n;this._lazyInitEmptyStyle();if(!(r instanceof HTMLImageElement||e.b(r))){if(void 0===r.width||void 0===r.height)return this.fire(new e.j(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{const{width:n,height:a,data:f}=r,p=r;return this.style.addImage(t,{data:new e.R({width:n,height:a},new Uint8Array(f)),pixelRatio:i,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h,sdf:o,version:0,userImage:p}),p.onAdd&&p.onAdd(this,t),this}}{const{width:n,height:f,data:p}=a.getImageData(r);this.style.addImage(t,{data:new e.R({width:n,height:f},p),pixelRatio:i,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h,sdf:o,version:0})}}updateImage(t,r){const n=this.style.getImage(t);if(!n)return this.fire(new e.j(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const i=r instanceof HTMLImageElement||e.b(r)?a.getImageData(r):r,{width:o,height:s,data:l}=i;if(void 0===o||void 0===s)return this.fire(new e.j(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(o!==n.data.width||s!==n.data.height)return this.fire(new e.j(new Error("The width and height of the updated image must be that same as the previous version of the image")));const c=!(r instanceof HTMLImageElement||e.b(r));return n.data.replace(l,c),this.style.updateImage(t,n),this}getImage(t){return this.style.getImage(t)}hasImage(t){return t?!!this.style.getImage(t):(this.fire(new e.j(new Error("Missing required image id"))),!1)}removeImage(t){this.style.removeImage(t)}loadImage(t){return p.getImage(this._requestManager.transformRequest(t,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0)}setFilter(t,e,r={}){return this.style.setFilter(t,e,r),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,r,n={}){return this.style.setPaintProperty(t,e,r,n),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,r,n={}){return this.style.setLayoutProperty(t,e,r,n),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}setGlyphs(t,e={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(t,e),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(t,e,r={}){return this._lazyInitEmptyStyle(),this.style.addSprite(t,e,r,(t=>{t||this._update(!0)})),this}removeSprite(t){return this._lazyInitEmptyStyle(),this.style.removeSprite(t),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(t,e={}){return this._lazyInitEmptyStyle(),this.style.setSprite(t,e,(t=>{t||this._update(!0)})),this}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setSky(t){return this._lazyInitEmptyStyle(),this.style.setSky(t),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(t,e){return this.style.setFeatureState(t,e),this._update()}removeFeatureState(t,e){return this.style.removeFeatureState(t,e),this._update()}getFeatureState(t){return this.style.getFeatureState(t)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]}_setupContainer(){const t=this._container;t.classList.add("maplibregl-map");const e=this._canvasContainer=o.create("div","maplibregl-canvas-container",t);this._interactive&&e.classList.add("maplibregl-interactive"),this._canvas=o.create("canvas","maplibregl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",this._interactive?"0":"-1"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region");const r=this._containerDimensions(),n=this._getClampedPixelRatio(r[0],r[1]);this._resizeCanvas(r[0],r[1],n);const i=this._controlContainer=o.create("div","maplibregl-control-container",t),a=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((t=>{a[t]=o.create("div",`maplibregl-ctrl-${t} `,i)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(t,e,r){this._canvas.width=Math.floor(r*t),this._canvas.height=Math.floor(r*e),this._canvas.style.width=`${t}px`,this._canvas.style.height=`${e}px`}_setupPainter(){const t={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1};let e=null;this._canvas.addEventListener("webglcontextcreationerror",(r=>{e={requestedAttributes:t},r&&(e.statusMessage=r.statusMessage,e.type=r.type)}),{once:!0});const r=this._canvas.getContext("webgl2",t)||this._canvas.getContext("webgl",t);if(!r){const t="Failed to initialize WebGL";throw e?(e.message=t,new Error(JSON.stringify(e))):new Error(t)}this.painter=new Tn(r,this.transform),s.testSupport(r)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(t){return this._update(),this._renderTaskQueue.add(t)}_cancelRenderFrame(t){this._renderTaskQueue.remove(t)}_render(t){const r=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(t),this._removed)return;let n=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const t=this.transform.zoom,i=a.now();this.style.zoomHistory.update(t,i);const o=new e.a9(t,{now:i,fadeDuration:r,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),s=o.crossFadingFactor();1===s&&s===this._crossFadingFactor||(n=!0,this._crossFadingFactor=s),this.style.update(o)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,r,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:r,showPadding:this.showPadding}),this.fire(new e.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,e.be.mark(e.bf.load),this.fire(new e.k("load"))),this.style&&(this.style.hasTransitions()||n)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const i=this._sourcesDirty||this._styleDirty||this._placementDirty;return i||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new e.k("idle")),!this._loaded||this._fullyLoaded||i||(this._fullyLoaded=!0,e.be.mark(e.bf.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var t;this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),"undefined"!=typeof window&&removeEventListener("online",this._onWindowOnline,!1),p.removeThrottleControl(this._imageQueueHandle),null===(t=this._resizeObserver)||void 0===t||t.disconnect();const r=this.painter.context.gl.getExtension("WEBGL_lose_context");(null==r?void 0:r.loseContext)&&r.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),o.remove(this._canvasContainer),o.remove(this._controlContainer),this._container.classList.remove("maplibregl-map"),e.be.clearMetrics(),this._removed=!0,this.fire(new e.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,a.frameAsync(this._frameRequest).then((t=>{e.be.frame(t),this._frameRequest=null,this._render(t)})).catch((()=>{})))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())}get showPadding(){return!!this._showPadding}set showPadding(t){this._showPadding!==t&&(this._showPadding=t,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())}get repaint(){return!!this._repaint}set repaint(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(t){this._vertices=t,this._update()}get version(){return ji}getCameraTargetElevation(){return this.transform.elevation}},t.MapMouseEvent=Nn,t.MapTouchEvent=jn,t.MapWheelEvent=Un,t.Marker=Xi,t.NavigationControl=class{constructor(t){this._updateZoomButtons=()=>{const t=this._map.getZoom(),e=t===this._map.getMaxZoom(),r=t===this._map.getMinZoom();this._zoomInButton.disabled=e,this._zoomOutButton.disabled=r,this._zoomInButton.setAttribute("aria-disabled",e.toString()),this._zoomOutButton.setAttribute("aria-disabled",r.toString())},this._rotateCompassArrow=()=>{const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=t},this._setButtonTitle=(t,e)=>{const r=this._map._getUIString(`NavigationControl.${e}`);t.title=r,t.setAttribute("aria-label",r)},this.options=e.e({},qi,t),this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",(t=>this._map.zoomIn({},{originalEvent:t}))),o.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",(t=>this._map.zoomOut({},{originalEvent:t}))),o.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",(t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t})})),this._compassIcon=o.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Hi(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){o.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(t,e){const r=o.create("button",t,this._container);return r.type="button",r.addEventListener("click",e),r}},t.Popup=oa,t.RasterDEMTileSource=Q,t.RasterTileSource=K,t.ScaleControl=class{constructor(t){this._onMove=()=>{ea(this._map,this._container,this.options)},this.setUnit=t=>{this.options.unit=t,ea(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},ta),t)}getDefaultPosition(){return"bottom-left"}onAdd(t){return this._map=t,this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){o.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},t.ScrollZoomHandler=gi,t.Style=de,t.TerrainControl=class{constructor(t){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove("maplibregl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled"),this._map.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.Disable")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.Enable"))},this.options=t}onAdd(t){return this._map=t,this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=o.create("button","maplibregl-ctrl-terrain",this._container),o.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){o.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},t.TwoFingersTouchPitchHandler=hi,t.TwoFingersTouchRotateHandler=ci,t.TwoFingersTouchZoomHandler=si,t.TwoFingersTouchZoomRotateHandler=wi,t.VectorTileSource=J,t.VideoSource=nt,t.addSourceType=(t,r)=>e._(void 0,void 0,void 0,(function*(){if(ot(t))throw new Error(`A source type called "${t}" already exists.`);((t,e)=>{at[t]=e})(t,r)})),t.clearPrewarmedResources=function(){const t=j;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(F),j=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},t.getMaxParallelImageRequests=function(){return e.a.MAX_PARALLEL_IMAGE_REQUESTS},t.getRTLTextPluginStatus=function(){return ut().getRTLTextPluginStatus()},t.getVersion=function(){return la},t.getWorkerCount=function(){return B.workerCount},t.getWorkerUrl=function(){return e.a.WORKER_URL},t.importScriptInWorkers=function(t){return H().broadcast("IS",t)},t.prewarm=function(){V().acquire(F)},t.setMaxParallelImageRequests=function(t){e.a.MAX_PARALLEL_IMAGE_REQUESTS=t},t.setRTLTextPlugin=function(t,e){return ut().setRTLTextPlugin(t,e)},t.setWorkerCount=function(t){B.workerCount=t},t.setWorkerUrl=function(t){e.a.WORKER_URL=t}})),t}()},88640:function(t,e,r){"use strict";function n(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function i(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function a(){}r.d(e,{GW:function(){return K},Dj:function(){return H}});var o=.7,s=1/o,l="\\s*([+-]?\\d+)\\s*",c="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",u="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",h=/^#([0-9a-f]{3,8})$/,f=new RegExp("^rgb\\(".concat(l,",").concat(l,",").concat(l,"\\)$")),p=new RegExp("^rgb\\(".concat(u,",").concat(u,",").concat(u,"\\)$")),d=new RegExp("^rgba\\(".concat(l,",").concat(l,",").concat(l,",").concat(c,"\\)$")),m=new RegExp("^rgba\\(".concat(u,",").concat(u,",").concat(u,",").concat(c,"\\)$")),g=new RegExp("^hsl\\(".concat(c,",").concat(u,",").concat(u,"\\)$")),y=new RegExp("^hsla\\(".concat(c,",").concat(u,",").concat(u,",").concat(c,"\\)$")),v={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function x(){return this.rgb().formatHex()}function _(){return this.rgb().formatRgb()}function b(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=h.exec(t))?(r=e[1].length,e=parseInt(e[1],16),6===r?w(e):3===r?new A(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?T(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?T(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=f.exec(t))?new A(e[1],e[2],e[3],1):(e=p.exec(t))?new A(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=d.exec(t))?T(e[1],e[2],e[3],e[4]):(e=m.exec(t))?T(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=g.exec(t))?I(e[1],e[2]/100,e[3]/100,1):(e=y.exec(t))?I(e[1],e[2]/100,e[3]/100,e[4]):v.hasOwnProperty(t)?w(v[t]):"transparent"===t?new A(NaN,NaN,NaN,0):null}function w(t){return new A(t>>16&255,t>>8&255,255&t,1)}function T(t,e,r,n){return n<=0&&(t=e=r=NaN),new A(t,e,r,n)}function k(t,e,r,n){return 1===arguments.length?((i=t)instanceof a||(i=b(i)),i?new A((i=i.rgb()).r,i.g,i.b,i.opacity):new A):new A(t,e,r,null==n?1:n);var i}function A(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function M(){return"#".concat(L(this.r)).concat(L(this.g)).concat(L(this.b))}function S(){var t=E(this.opacity);return"".concat(1===t?"rgb(":"rgba(").concat(C(this.r),", ").concat(C(this.g),", ").concat(C(this.b)).concat(1===t?")":", ".concat(t,")"))}function E(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function C(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function L(t){return((t=C(t))<16?"0":"")+t.toString(16)}function I(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new z(t,e,r,n)}function P(t){if(t instanceof z)return new z(t.h,t.s,t.l,t.opacity);if(t instanceof a||(t=b(t)),!t)return new z;if(t instanceof z)return t;var e=(t=t.rgb()).r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,l=o-i,c=(o+i)/2;return l?(s=e===o?(r-n)/l+6*(r0&&c<1?0:s,new z(s,l,c,t.opacity)}function z(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function O(t){return(t=(t||0)%360)<0?t+360:t}function D(t){return Math.max(0,Math.min(1,t||0))}function R(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}function F(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}n(a,b,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return P(this).formatHsl()},formatRgb:_,toString:_}),n(A,k,i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},clamp:function(){return new A(C(this.r),C(this.g),C(this.b),E(this.opacity))},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:M,formatHex:M,formatHex8:function(){return"#".concat(L(this.r)).concat(L(this.g)).concat(L(this.b)).concat(L(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:S,toString:S})),n(z,(function(t,e,r,n){return 1===arguments.length?P(t):new z(t,e,r,null==n?1:n)}),i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new z(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new z(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new A(R(t>=240?t-240:t+120,i,n),R(t,i,n),R(t<120?t+240:t-120,i,n),this.opacity)},clamp:function(){return new z(O(this.h),D(this.s),D(this.l),E(this.opacity))},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=E(this.opacity);return"".concat(1===t?"hsl(":"hsla(").concat(O(this.h),", ").concat(100*D(this.s),"%, ").concat(100*D(this.l),"%").concat(1===t?")":", ".concat(t,")"))}}));var B=function(t){return function(){return t}};function N(t,e){var r=e-t;return r?function(t,e){return function(r){return t+r*e}}(t,r):B(isNaN(t)?e:t)}var j=function t(e){var r=function(t){return 1==(t=+t)?N:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):B(isNaN(e)?r:e)}}(e);function n(t,e){var n=r((t=k(t)).r,(e=k(e)).r),i=r(t.g,e.g),a=r(t.b,e.b),o=N(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return n.gamma=t,n}(1);function U(t){return function(e){var r,n,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;r=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,s=na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:H(r,n)})),a=Y.lastIndex;return aESRI"},"ortoInstaMaps":{"type":"raster","tiles":["https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png"],"tileSize":256,"maxzoom":13},"ortoICGC":{"type":"raster","tiles":["https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg"],"tileSize":256,"minzoom":13.1,"maxzoom":20},"openmaptiles":{"type":"vector","url":"https://geoserveis.icgc.cat/contextmaps/basemap.json"}},"sprite":"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1","glyphs":"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf","layers":[{"id":"background","type":"background","paint":{"background-color":"#F4F9F4"}},{"id":"ortoEsri","type":"raster","source":"ortoEsri","maxzoom":16,"layout":{"visibility":"visible"}},{"id":"ortoICGC","type":"raster","source":"ortoICGC","minzoom":13.1,"maxzoom":19,"layout":{"visibility":"visible"}},{"id":"ortoInstaMaps","type":"raster","source":"ortoInstaMaps","maxzoom":13,"layout":{"visibility":"visible"}},{"id":"waterway_tunnel","type":"line","source":"openmaptiles","source-layer":"waterway","minzoom":14,"filter":["all",["in","class","river","stream","canal"],["==","brunnel","tunnel"]],"layout":{"line-cap":"round"},"paint":{"line-color":"#a0c8f0","line-width":{"base":1.3,"stops":[[13,0.5],[20,6]]},"line-dasharray":[2,4]}},{"id":"waterway-other","type":"line","metadata":{"mapbox:group":"1444849382550.77"},"source":"openmaptiles","source-layer":"waterway","filter":["!in","class","canal","river","stream"],"layout":{"line-cap":"round"},"paint":{"line-color":"#a0c8f0","line-width":{"base":1.3,"stops":[[13,0.5],[20,2]]}}},{"id":"waterway-stream-canal","type":"line","metadata":{"mapbox:group":"1444849382550.77"},"source":"openmaptiles","source-layer":"waterway","filter":["all",["in","class","canal","stream"],["!=","brunnel","tunnel"]],"layout":{"line-cap":"round"},"paint":{"line-color":"#a0c8f0","line-width":{"base":1.3,"stops":[[13,0.5],[20,6]]}}},{"id":"waterway-river","type":"line","metadata":{"mapbox:group":"1444849382550.77"},"source":"openmaptiles","source-layer":"waterway","filter":["all",["==","class","river"],["!=","brunnel","tunnel"]],"layout":{"line-cap":"round"},"paint":{"line-color":"#a0c8f0","line-width":{"base":1.2,"stops":[[10,0.8],[20,4]]},"line-opacity":0.5}},{"id":"water-offset","type":"fill","metadata":{"mapbox:group":"1444849382550.77"},"source":"openmaptiles","source-layer":"water","maxzoom":8,"filter":["==","$type","Polygon"],"layout":{"visibility":"visible"},"paint":{"fill-opacity":0,"fill-color":"#a0c8f0","fill-translate":{"base":1,"stops":[[6,[2,0]],[8,[0,0]]]}}},{"id":"water","type":"fill","metadata":{"mapbox:group":"1444849382550.77"},"source":"openmaptiles","source-layer":"water","layout":{"visibility":"visible"},"paint":{"fill-color":"hsl(210, 67%, 85%)","fill-opacity":0}},{"id":"water-pattern","type":"fill","metadata":{"mapbox:group":"1444849382550.77"},"source":"openmaptiles","source-layer":"water","layout":{"visibility":"visible"},"paint":{"fill-translate":[0,2.5],"fill-pattern":"wave","fill-opacity":1}},{"id":"landcover-ice-shelf","type":"fill","metadata":{"mapbox:group":"1444849382550.77"},"source":"openmaptiles","source-layer":"landcover","filter":["==","subclass","ice_shelf"],"layout":{"visibility":"visible"},"paint":{"fill-color":"#fff","fill-opacity":{"base":1,"stops":[[0,0.9],[10,0.3]]}}},{"id":"tunnel-service-track-casing","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["in","class","service","track"]],"layout":{"line-join":"round"},"paint":{"line-color":"#cfcdca","line-dasharray":[0.5,0.25],"line-width":{"base":1.2,"stops":[[15,1],[16,4],[20,11]]}}},{"id":"tunnel-minor-casing","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["==","class","minor"]],"layout":{"line-join":"round"},"paint":{"line-color":"#cfcdca","line-opacity":{"stops":[[12,0],[12.5,1]]},"line-width":{"base":1.2,"stops":[[12,0.5],[13,1],[14,4],[20,15]]}}},{"id":"tunnel-secondary-tertiary-casing","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["in","class","secondary","tertiary"]],"layout":{"line-join":"round"},"paint":{"line-color":"#e9ac77","line-opacity":1,"line-width":{"base":1.2,"stops":[[8,1.5],[20,17]]}}},{"id":"tunnel-trunk-primary-casing","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["in","class","primary","trunk"]],"layout":{"line-join":"round"},"paint":{"line-color":"#e9ac77","line-width":{"base":1.2,"stops":[[5,0.4],[6,0.6],[7,1.5],[20,22]]},"line-opacity":0.7}},{"id":"tunnel-motorway-casing","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["==","class","motorway"]],"layout":{"line-join":"round","visibility":"visible"},"paint":{"line-color":"#e9ac77","line-dasharray":[0.5,0.25],"line-width":{"base":1.2,"stops":[[5,0.4],[6,0.6],[7,1.5],[20,22]]},"line-opacity":0.5}},{"id":"tunnel-path","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["==","brunnel","tunnel"],["==","class","path"]]],"paint":{"line-color":"#cba","line-dasharray":[1.5,0.75],"line-width":{"base":1.2,"stops":[[15,1.2],[20,4]]}}},{"id":"tunnel-service-track","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["in","class","service","track"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fff","line-width":{"base":1.2,"stops":[[15.5,0],[16,2],[20,7.5]]}}},{"id":"tunnel-minor","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["==","class","minor_road"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fff","line-opacity":1,"line-width":{"base":1.2,"stops":[[13.5,0],[14,2.5],[20,11.5]]}}},{"id":"tunnel-secondary-tertiary","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["in","class","secondary","tertiary"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fff4c6","line-width":{"base":1.2,"stops":[[6.5,0],[7,0.5],[20,10]]}}},{"id":"tunnel-trunk-primary","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["in","class","primary","trunk"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fff4c6","line-width":{"base":1.2,"stops":[[6.5,0],[7,0.5],[20,18]]},"line-opacity":0.5}},{"id":"tunnel-motorway","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["==","class","motorway"]],"layout":{"line-join":"round","visibility":"visible"},"paint":{"line-color":"#ffdaa6","line-width":{"base":1.2,"stops":[[6.5,0],[7,0.5],[20,18]]},"line-opacity":0.5}},{"id":"tunnel-railway","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["==","class","rail"]],"paint":{"line-color":"#bbb","line-width":{"base":1.4,"stops":[[14,0.4],[15,0.75],[20,2]]},"line-dasharray":[2,2]}},{"id":"ferry","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["in","class","ferry"]],"layout":{"line-join":"round","visibility":"visible"},"paint":{"line-color":"rgba(108, 159, 182, 1)","line-width":1.1,"line-dasharray":[2,2]}},{"id":"aeroway-taxiway-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"aeroway","minzoom":12,"filter":["all",["in","class","taxiway"]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"rgba(153, 153, 153, 1)","line-width":{"base":1.5,"stops":[[11,2],[17,12]]},"line-opacity":1}},{"id":"aeroway-runway-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"aeroway","minzoom":12,"filter":["all",["in","class","runway"]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"rgba(153, 153, 153, 1)","line-width":{"base":1.5,"stops":[[11,5],[17,55]]},"line-opacity":1}},{"id":"aeroway-taxiway","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"aeroway","minzoom":4,"filter":["all",["in","class","taxiway"],["==","$type","LineString"]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"rgba(255, 255, 255, 1)","line-width":{"base":1.5,"stops":[[11,1],[17,10]]},"line-opacity":{"base":1,"stops":[[11,0],[12,1]]}}},{"id":"aeroway-runway","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"aeroway","minzoom":4,"filter":["all",["in","class","runway"],["==","$type","LineString"]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"rgba(255, 255, 255, 1)","line-width":{"base":1.5,"stops":[[11,4],[17,50]]},"line-opacity":{"base":1,"stops":[[11,0],[12,1]]}}},{"id":"highway-motorway-link-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","minzoom":12,"filter":["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway_link"]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#e9ac77","line-opacity":1,"line-width":{"base":1.2,"stops":[[12,1],[13,3],[14,4],[20,15]]}}},{"id":"highway-link-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","minzoom":13,"filter":["all",["!in","brunnel","bridge","tunnel"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"#e9ac77","line-opacity":1,"line-width":{"base":1.2,"stops":[[12,1],[13,3],[14,4],[20,15]]}}},{"id":"highway-minor-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["!=","brunnel","tunnel"],["in","class","minor","service","track"]]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#cfcdca","line-opacity":{"stops":[[12,0],[12.5,0]]},"line-width":{"base":1.2,"stops":[[12,0.5],[13,1],[14,4],[20,15]]}}},{"id":"highway-secondary-tertiary-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["!in","brunnel","bridge","tunnel"],["in","class","secondary","tertiary"]],"layout":{"line-cap":"butt","line-join":"round","visibility":"visible"},"paint":{"line-color":"#e9ac77","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[8,1.5],[20,17]]}}},{"id":"highway-primary-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","minzoom":5,"filter":["all",["!in","brunnel","bridge","tunnel"],["in","class","primary"]],"layout":{"line-cap":"butt","line-join":"round","visibility":"visible"},"paint":{"line-color":"#e9ac77","line-opacity":{"stops":[[7,0],[8,0.6]]},"line-width":{"base":1.2,"stops":[[7,0],[8,0.6],[9,1.5],[20,22]]}}},{"id":"highway-trunk-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","minzoom":5,"filter":["all",["!in","brunnel","bridge","tunnel"],["in","class","trunk"]],"layout":{"line-cap":"butt","line-join":"round","visibility":"visible"},"paint":{"line-color":"#e9ac77","line-opacity":{"stops":[[5,0],[6,0.5]]},"line-width":{"base":1.2,"stops":[[5,0],[6,0.6],[7,1.5],[20,22]]}}},{"id":"highway-motorway-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","minzoom":4,"filter":["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway"]],"layout":{"line-cap":"butt","line-join":"round","visibility":"visible"},"paint":{"line-color":"#e9ac77","line-width":{"base":1.2,"stops":[[4,0],[5,0.4],[6,0.6],[7,1.5],[20,22]]},"line-opacity":{"stops":[[4,0],[5,0.5]]}}},{"id":"highway-path","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["==","class","path"]]],"paint":{"line-color":"#cba","line-dasharray":[1.5,0.75],"line-width":{"base":1.2,"stops":[[15,1.2],[20,4]]}}},{"id":"highway-motorway-link","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","minzoom":12,"filter":["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway_link"]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#fc8","line-width":{"base":1.2,"stops":[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{"id":"highway-link","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","minzoom":13,"filter":["all",["!in","brunnel","bridge","tunnel"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"#fea","line-width":{"base":1.2,"stops":[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{"id":"highway-minor","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["!=","brunnel","tunnel"],["in","class","minor","service","track"]]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#fff","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[13.5,0],[14,2.5],[20,11.5]]}}},{"id":"highway-secondary-tertiary","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["!in","brunnel","bridge","tunnel"],["in","class","secondary","tertiary"]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"#fea","line-width":{"base":1.2,"stops":[[6.5,0],[8,0.5],[20,13]]},"line-opacity":0.5}},{"id":"highway-primary","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["in","class","primary"]]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"#fea","line-width":{"base":1.2,"stops":[[8.5,0],[9,0.5],[20,18]]},"line-opacity":0}},{"id":"highway-trunk","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["in","class","trunk"]]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"#fea","line-width":{"base":1.2,"stops":[[6.5,0],[7,0.5],[20,18]]},"line-opacity":0.5}},{"id":"highway-motorway","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","minzoom":5,"filter":["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway"]]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"#fc8","line-width":{"base":1.2,"stops":[[6.5,0],[7,0.5],[20,18]]},"line-opacity":0.5}},{"id":"railway-transit","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["==","class","transit"],["!in","brunnel","tunnel"]]],"layout":{"visibility":"visible"},"paint":{"line-color":"hsla(0, 0%, 73%, 0.77)","line-width":{"base":1.4,"stops":[[14,0.4],[20,1]]}}},{"id":"railway-transit-hatching","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["==","class","transit"],["!in","brunnel","tunnel"]]],"layout":{"visibility":"visible"},"paint":{"line-color":"hsla(0, 0%, 73%, 0.68)","line-dasharray":[0.2,8],"line-width":{"base":1.4,"stops":[[14.5,0],[15,2],[20,6]]}}},{"id":"railway-service","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["==","class","rail"],["has","service"]]],"paint":{"line-color":"hsla(0, 0%, 73%, 0.77)","line-width":{"base":1.4,"stops":[[14,0.4],[20,1]]}}},{"id":"railway-service-hatching","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["==","class","rail"],["has","service"]]],"layout":{"visibility":"visible"},"paint":{"line-color":"hsla(0, 0%, 73%, 0.68)","line-dasharray":[0.2,8],"line-width":{"base":1.4,"stops":[[14.5,0],[15,2],[20,6]]}}},{"id":"railway","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["!has","service"],["!in","brunnel","bridge","tunnel"],["==","class","rail"]]],"paint":{"line-color":"#bbb","line-width":{"base":1.4,"stops":[[14,0.4],[15,0.75],[20,2]]}}},{"id":"railway-hatching","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["!has","service"],["!in","brunnel","bridge","tunnel"],["==","class","rail"]]],"paint":{"line-color":"#bbb","line-dasharray":[0.2,8],"line-width":{"base":1.4,"stops":[[14.5,0],[15,3],[20,8]]}}},{"id":"bridge-motorway-link-casing","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["==","class","motorway_link"]],"layout":{"line-join":"round"},"paint":{"line-color":"#e9ac77","line-opacity":1,"line-width":{"base":1.2,"stops":[[12,1],[13,3],[14,4],[20,15]]}}},{"id":"bridge-link-casing","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],"layout":{"line-join":"round"},"paint":{"line-color":"#e9ac77","line-opacity":1,"line-width":{"base":1.2,"stops":[[12,1],[13,3],[14,4],[20,15]]}}},{"id":"bridge-secondary-tertiary-casing","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["in","class","secondary","tertiary"]],"layout":{"line-join":"round"},"paint":{"line-color":"#e9ac77","line-opacity":1,"line-width":{"base":1.2,"stops":[[8,1.5],[20,28]]}}},{"id":"bridge-trunk-primary-casing","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["in","class","primary","trunk"]],"layout":{"line-join":"round"},"paint":{"line-color":"hsl(28, 76%, 67%)","line-width":{"base":1.2,"stops":[[5,0.4],[6,0.6],[7,1.5],[20,26]]}}},{"id":"bridge-motorway-casing","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["==","class","motorway"]],"layout":{"line-join":"round"},"paint":{"line-color":"#e9ac77","line-width":{"base":1.2,"stops":[[5,0.4],[6,0.6],[7,1.5],[20,22]]},"line-opacity":0.5}},{"id":"bridge-path-casing","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["==","brunnel","bridge"],["==","class","path"]]],"paint":{"line-color":"#f8f4f0","line-width":{"base":1.2,"stops":[[15,1.2],[20,18]]}}},{"id":"bridge-path","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["==","brunnel","bridge"],["==","class","path"]]],"paint":{"line-color":"#cba","line-width":{"base":1.2,"stops":[[15,1.2],[20,4]]},"line-dasharray":[1.5,0.75]}},{"id":"bridge-motorway-link","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["==","class","motorway_link"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fc8","line-width":{"base":1.2,"stops":[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{"id":"bridge-link","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fea","line-width":{"base":1.2,"stops":[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{"id":"bridge-secondary-tertiary","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["in","class","secondary","tertiary"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fea","line-width":{"base":1.2,"stops":[[6.5,0],[7,0.5],[20,20]]}}},{"id":"bridge-trunk-primary","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["in","class","primary","trunk"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fea","line-width":{"base":1.2,"stops":[[6.5,0],[7,0.5],[20,18]]}}},{"id":"bridge-motorway","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["==","class","motorway"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fc8","line-width":{"base":1.2,"stops":[[6.5,0],[7,0.5],[20,18]]},"line-opacity":0.5}},{"id":"bridge-railway","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["==","class","rail"]],"paint":{"line-color":"#bbb","line-width":{"base":1.4,"stops":[[14,0.4],[15,0.75],[20,2]]}}},{"id":"bridge-railway-hatching","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["==","class","rail"]],"paint":{"line-color":"#bbb","line-dasharray":[0.2,8],"line-width":{"base":1.4,"stops":[[14.5,0],[15,3],[20,8]]}}},{"id":"cablecar","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":13,"filter":["==","class","cable_car"],"layout":{"visibility":"visible","line-cap":"round"},"paint":{"line-color":"hsl(0, 0%, 70%)","line-width":{"base":1,"stops":[[11,1],[19,2.5]]}}},{"id":"cablecar-dash","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":13,"filter":["==","class","cable_car"],"layout":{"visibility":"visible","line-cap":"round"},"paint":{"line-color":"hsl(0, 0%, 70%)","line-width":{"base":1,"stops":[[11,3],[19,5.5]]},"line-dasharray":[2,3]}},{"id":"boundary-land-level-4","type":"line","source":"openmaptiles","source-layer":"boundary","filter":["all",[">=","admin_level",4],["<=","admin_level",8],["!=","maritime",1]],"layout":{"line-join":"round"},"paint":{"line-color":"#9e9cab","line-dasharray":[3,1,1,1],"line-width":{"base":1.4,"stops":[[4,0.4],[5,1],[12,3]]},"line-opacity":0.6}},{"id":"boundary-land-level-2","type":"line","source":"openmaptiles","source-layer":"boundary","filter":["all",["==","admin_level",2],["!=","maritime",1],["!=","disputed",1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"hsl(248, 7%, 66%)","line-width":{"base":1,"stops":[[0,0.6],[4,1.4],[5,2],[12,2]]}}},{"id":"boundary-land-disputed","type":"line","source":"openmaptiles","source-layer":"boundary","filter":["all",["!=","maritime",1],["==","disputed",1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"hsl(248, 7%, 70%)","line-dasharray":[1,3],"line-width":{"base":1,"stops":[[0,0.6],[4,1.4],[5,2],[12,8]]}}},{"id":"boundary-water","type":"line","source":"openmaptiles","source-layer":"boundary","filter":["all",["in","admin_level",2,4],["==","maritime",1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"rgba(154, 189, 214, 1)","line-width":{"base":1,"stops":[[0,0.6],[4,1],[5,1],[12,1]]},"line-opacity":{"stops":[[6,0],[10,0]]}}},{"id":"waterway-name","type":"symbol","source":"openmaptiles","source-layer":"waterway","minzoom":13,"filter":["all",["==","$type","LineString"],["has","name"]],"layout":{"text-font":["Noto Sans Italic"],"text-size":14,"text-field":"{name:latin} {name:nonlatin}","text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"line","text-letter-spacing":0.2,"symbol-spacing":350},"paint":{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{"id":"water-name-lakeline","type":"symbol","source":"openmaptiles","source-layer":"water_name","filter":["==","$type","LineString"],"layout":{"text-font":["Noto Sans Italic"],"text-size":14,"text-field":"{name:latin}\\n{name:nonlatin}","text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"line","symbol-spacing":350,"text-letter-spacing":0.2},"paint":{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{"id":"water-name-ocean","type":"symbol","source":"openmaptiles","source-layer":"water_name","filter":["all",["==","$type","Point"],["==","class","ocean"]],"layout":{"text-font":["Noto Sans Italic"],"text-size":14,"text-field":"{name:latin}","text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"point","symbol-spacing":350,"text-letter-spacing":0.2},"paint":{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{"id":"water-name-other","type":"symbol","source":"openmaptiles","source-layer":"water_name","filter":["all",["==","$type","Point"],["!in","class","ocean"]],"layout":{"text-font":["Noto Sans Italic"],"text-size":{"stops":[[0,10],[6,14]]},"text-field":"{name:latin}\\n{name:nonlatin}","text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"point","symbol-spacing":350,"text-letter-spacing":0.2,"visibility":"visible"},"paint":{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{"id":"poi-level-3","type":"symbol","source":"openmaptiles","source-layer":"poi","minzoom":16,"filter":["all",["==","$type","Point"],[">=","rank",25]],"layout":{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":"{name:latin}\\n{name:nonlatin}","text-offset":[0,0.6],"text-size":12,"text-max-width":9},"paint":{"text-halo-blur":0.5,"text-color":"#666","text-halo-width":1,"text-halo-color":"#ffffff"}},{"id":"poi-level-2","type":"symbol","source":"openmaptiles","source-layer":"poi","minzoom":15,"filter":["all",["==","$type","Point"],["<=","rank",24],[">=","rank",15]],"layout":{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":"{name:latin}\\n{name:nonlatin}","text-offset":[0,0.6],"text-size":12,"text-max-width":9},"paint":{"text-halo-blur":0.5,"text-color":"#666","text-halo-width":1,"text-halo-color":"#ffffff"}},{"id":"poi-level-1","type":"symbol","source":"openmaptiles","source-layer":"poi","minzoom":14,"filter":["all",["==","$type","Point"],["<=","rank",14],["has","name"]],"layout":{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":"{name:latin}\\n{name:nonlatin}","text-offset":[0,0.6],"text-size":11,"text-max-width":9},"paint":{"text-halo-blur":0.5,"text-color":"rgba(191, 228, 172, 1)","text-halo-width":1,"text-halo-color":"rgba(30, 29, 29, 1)"}},{"id":"poi-railway","type":"symbol","source":"openmaptiles","source-layer":"poi","minzoom":13,"filter":["all",["==","$type","Point"],["has","name"],["==","class","railway"],["==","subclass","station"]],"layout":{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":"{name:latin}\\n{name:nonlatin}","text-offset":[0,0.6],"text-size":12,"text-max-width":9,"icon-optional":false,"icon-ignore-placement":false,"icon-allow-overlap":false,"text-ignore-placement":false,"text-allow-overlap":false,"text-optional":true},"paint":{"text-halo-blur":0.5,"text-color":"#666","text-halo-width":1,"text-halo-color":"#ffffff"}},{"id":"road_oneway","type":"symbol","source":"openmaptiles","source-layer":"transportation","minzoom":15,"filter":["all",["==","oneway",1],["in","class","motorway","trunk","primary","secondary","tertiary","minor","service"]],"layout":{"symbol-placement":"line","icon-image":"oneway","symbol-spacing":75,"icon-padding":2,"icon-rotation-alignment":"map","icon-rotate":90,"icon-size":{"stops":[[15,0.5],[19,1]]}},"paint":{"icon-opacity":0.5}},{"id":"road_oneway_opposite","type":"symbol","source":"openmaptiles","source-layer":"transportation","minzoom":15,"filter":["all",["==","oneway",-1],["in","class","motorway","trunk","primary","secondary","tertiary","minor","service"]],"layout":{"symbol-placement":"line","icon-image":"oneway","symbol-spacing":75,"icon-padding":2,"icon-rotation-alignment":"map","icon-rotate":-90,"icon-size":{"stops":[[15,0.5],[19,1]]}},"paint":{"icon-opacity":0.5}},{"id":"highway-name-path","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":15.5,"filter":["==","class","path"],"layout":{"text-size":{"base":1,"stops":[[13,12],[14,13]]},"text-font":["Noto Sans Regular"],"text-field":"{name:latin} {name:nonlatin}","symbol-placement":"line","text-rotation-alignment":"map"},"paint":{"text-halo-color":"#f8f4f0","text-color":"hsl(30, 23%, 62%)","text-halo-width":0.5}},{"id":"highway-name-minor","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":15,"filter":["all",["==","$type","LineString"],["in","class","minor","service","track"]],"layout":{"text-size":{"base":1,"stops":[[13,12],[14,13]]},"text-font":["Noto Sans Regular"],"text-field":"{name:latin} {name:nonlatin}","symbol-placement":"line","text-rotation-alignment":"map"},"paint":{"text-halo-blur":0.5,"text-color":"#765","text-halo-width":1}},{"id":"highway-name-major","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":12.2,"filter":["in","class","primary","secondary","tertiary","trunk"],"layout":{"text-size":{"base":1,"stops":[[13,12],[14,13]]},"text-font":["Noto Sans Regular"],"text-field":"{name:latin} {name:nonlatin}","symbol-placement":"line","text-rotation-alignment":"map"},"paint":{"text-halo-blur":0.5,"text-color":"#765","text-halo-width":1}},{"id":"highway-shield","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":8,"filter":["all",["<=","ref_length",6],["==","$type","LineString"],["!in","network","us-interstate","us-highway","us-state"]],"layout":{"text-size":10,"icon-image":"road_{ref_length}","icon-rotation-alignment":"viewport","symbol-spacing":200,"text-font":["Noto Sans Regular"],"symbol-placement":{"base":1,"stops":[[10,"point"],[11,"line"]]},"text-rotation-alignment":"viewport","icon-size":1,"text-field":"{ref}"},"paint":{"text-opacity":1,"text-color":"rgba(20, 19, 19, 1)","text-halo-color":"rgba(230, 221, 221, 0)","text-halo-width":2,"icon-color":"rgba(183, 18, 18, 1)","icon-opacity":0.3,"icon-halo-color":"rgba(183, 55, 55, 0)"}},{"id":"highway-shield-us-interstate","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":7,"filter":["all",["<=","ref_length",6],["==","$type","LineString"],["in","network","us-interstate"]],"layout":{"text-size":10,"icon-image":"{network}_{ref_length}","icon-rotation-alignment":"viewport","symbol-spacing":200,"text-font":["Noto Sans Regular"],"symbol-placement":{"base":1,"stops":[[7,"point"],[7,"line"],[8,"line"]]},"text-rotation-alignment":"viewport","icon-size":1,"text-field":"{ref}"},"paint":{"text-color":"rgba(0, 0, 0, 1)"}},{"id":"highway-shield-us-other","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":9,"filter":["all",["<=","ref_length",6],["==","$type","LineString"],["in","network","us-highway","us-state"]],"layout":{"text-size":10,"icon-image":"{network}_{ref_length}","icon-rotation-alignment":"viewport","symbol-spacing":200,"text-font":["Noto Sans Regular"],"symbol-placement":{"base":1,"stops":[[10,"point"],[11,"line"]]},"text-rotation-alignment":"viewport","icon-size":1,"text-field":"{ref}"},"paint":{"text-color":"rgba(0, 0, 0, 1)"}},{"id":"place-other","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","minzoom":12,"filter":["!in","class","city","town","village","country","continent"],"layout":{"text-letter-spacing":0.1,"text-size":{"base":1.2,"stops":[[12,10],[15,14]]},"text-font":["Noto Sans Bold"],"text-field":"{name:latin}\\n{name:nonlatin}","text-transform":"uppercase","text-max-width":9,"visibility":"visible"},"paint":{"text-color":"rgba(255,255,255,1)","text-halo-width":1.2,"text-halo-color":"rgba(57, 28, 28, 1)"}},{"id":"place-village","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","minzoom":10,"filter":["==","class","village"],"layout":{"text-font":["Noto Sans Regular"],"text-size":{"base":1.2,"stops":[[10,12],[15,16]]},"text-field":"{name:latin}\\n{name:nonlatin}","text-max-width":8,"visibility":"visible"},"paint":{"text-color":"rgba(255, 255, 255, 1)","text-halo-width":1.2,"text-halo-color":"rgba(10, 9, 9, 0.8)"}},{"id":"place-town","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","filter":["==","class","town"],"layout":{"text-font":["Noto Sans Regular"],"text-size":{"base":1.2,"stops":[[10,14],[15,24]]},"text-field":"{name:latin}\\n{name:nonlatin}","text-max-width":8,"visibility":"visible"},"paint":{"text-color":"rgba(255, 255, 255, 1)","text-halo-width":1.2,"text-halo-color":"rgba(22, 22, 22, 0.8)"}},{"id":"place-city","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","filter":["all",["!=","capital",2],["==","class","city"]],"layout":{"text-font":["Noto Sans Regular"],"text-size":{"base":1.2,"stops":[[7,14],[11,24]]},"text-field":"{name:latin}\\n{name:nonlatin}","text-max-width":8,"visibility":"visible"},"paint":{"text-color":"rgba(0, 0, 0, 1)","text-halo-width":1.2,"text-halo-color":"rgba(255,255,255,0.8)"}},{"id":"place-city-capital","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","filter":["all",["==","capital",2],["==","class","city"]],"layout":{"text-font":["Noto Sans Regular"],"text-size":{"base":1.2,"stops":[[7,14],[11,24]]},"text-field":"{name:latin}\\n{name:nonlatin}","text-max-width":8,"icon-image":"star_11","text-offset":[0.4,0],"icon-size":0.8,"text-anchor":"left","visibility":"visible"},"paint":{"text-color":"#333","text-halo-width":1.2,"text-halo-color":"rgba(255,255,255,0.8)"}},{"id":"place-country-other","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","filter":["all",["==","class","country"],[">=","rank",3],["!has","iso_a2"]],"layout":{"text-font":["Noto Sans Italic"],"text-field":"{name:latin}","text-size":{"stops":[[3,11],[7,17]]},"text-transform":"uppercase","text-max-width":6.25,"visibility":"visible"},"paint":{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{"id":"place-country-3","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","filter":["all",["==","class","country"],[">=","rank",3],["has","iso_a2"]],"layout":{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":{"stops":[[3,11],[7,17]]},"text-transform":"uppercase","text-max-width":6.25,"visibility":"visible"},"paint":{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{"id":"place-country-2","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","filter":["all",["==","class","country"],["==","rank",2],["has","iso_a2"]],"layout":{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":{"stops":[[2,11],[5,17]]},"text-transform":"uppercase","text-max-width":6.25,"visibility":"visible"},"paint":{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{"id":"place-country-1","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","filter":["all",["==","class","country"],["==","rank",1],["has","iso_a2"]],"layout":{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":{"stops":[[1,11],[4,17]]},"text-transform":"uppercase","text-max-width":6.25,"visibility":"visible"},"paint":{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{"id":"place-continent","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","maxzoom":1,"filter":["==","class","continent"],"layout":{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":14,"text-max-width":6.25,"text-transform":"uppercase","visibility":"visible"},"paint":{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}}],"id":"qebnlkra6"}')},51962:function(t){"use strict";t.exports=JSON.parse('{"version":8,"name":"orto","metadata":{},"center":[1.537786,41.837539],"zoom":12,"bearing":0,"pitch":0,"light":{"anchor":"viewport","color":"white","intensity":0.4,"position":[1.15,45,30]},"sources":{"ortoEsri":{"type":"raster","tiles":["https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}"],"tileSize":256,"maxzoom":18,"attribution":"ESRI © ESRI"},"ortoInstaMaps":{"type":"raster","tiles":["https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png"],"tileSize":256,"maxzoom":13},"ortoICGC":{"type":"raster","tiles":["https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg"],"tileSize":256,"minzoom":13.1,"maxzoom":20},"openmaptiles":{"type":"vector","url":"https://geoserveis.icgc.cat/contextmaps/basemap.json"}},"sprite":"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1","glyphs":"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf","layers":[{"id":"background","type":"background","paint":{"background-color":"#F4F9F4"}},{"id":"ortoEsri","type":"raster","source":"ortoEsri","maxzoom":16,"layout":{"visibility":"visible"}},{"id":"ortoICGC","type":"raster","source":"ortoICGC","minzoom":13.1,"maxzoom":19,"layout":{"visibility":"visible"}},{"id":"ortoInstaMaps","type":"raster","source":"ortoInstaMaps","maxzoom":13,"layout":{"visibility":"visible"}}]}')}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var a=e[n]={id:n,exports:{}};return t[n].call(a.exports,a,a.exports,r),a.exports}return r.m=t,r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.b=document.baseURI||self.location.href,r.nc=void 0,r(20260)}()})); \ No newline at end of file +( + function(root, factory) { + if (typeof module === "object" && module.exports) { + module.exports = factory(); + } else { + root.moduleName = factory(); + } +} (typeof self !== "undefined" ? self : this, () => { +"use strict";var Plotly=(()=>{var m6=Object.defineProperty,bet=Object.defineProperties,wet=Object.getOwnPropertyDescriptor,Tet=Object.getOwnPropertyDescriptors,Aet=Object.getOwnPropertyNames,lee=Object.getOwnPropertySymbols;var cee=Object.prototype.hasOwnProperty,Met=Object.prototype.propertyIsEnumerable;var uee=(e,t,r)=>t in e?m6(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,fee=(e,t)=>{for(var r in t||(t={}))cee.call(t,r)&&uee(e,r,t[r]);if(lee)for(var r of lee(t))Met.call(t,r)&&uee(e,r,t[r]);return e},hee=(e,t)=>bet(e,Tet(t));var su=(e,t)=>()=>(e&&(t=e(e=0)),t);var ye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Eet=(e,t)=>{for(var r in t)m6(e,r,{get:t[r],enumerable:!0})},ket=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Aet(t))!cee.call(e,i)&&i!==r&&m6(e,i,{get:()=>t[i],enumerable:!(n=wet(t,i))||n.enumerable});return e};var vb=e=>ket(m6({},"__esModule",{value:!0}),e);var y6=ye(dee=>{"use strict";dee.version="2.35.2-256-ga5b202c85"});var pee=ye((vee,_6)=>{(function(t,r,n){r[t]=r[t]||n(),typeof _6!="undefined"&&_6.exports?_6.exports=r[t]:typeof define=="function"&&define.amd&&define(function(){return r[t]})})("Promise",typeof window!="undefined"?window:vee,function(){"use strict";var t,r,n,i=Object.prototype.toString,a=typeof setImmediate!="undefined"?function(E){return setImmediate(E)}:setTimeout;try{Object.defineProperty({},"x",{}),t=function(E,k,S,L){return Object.defineProperty(E,k,{value:S,writable:!0,configurable:L!==!1})}}catch(p){t=function(k,S,L){return k[S]=L,k}}n=function(){var E,k,S;function L(x,C){this.fn=x,this.self=C,this.next=void 0}return{add:function(C,M){S=new L(C,M),k?k.next=S:E=S,k=S,S=void 0},drain:function(){var C=E;for(E=k=r=void 0;C;)C.fn.call(C.self),C=C.next}}}();function o(p,E){n.add(p,E),r||(r=a(n.drain))}function s(p){var E,k=typeof p;return p!=null&&(k=="object"||k=="function")&&(E=p.then),typeof E=="function"?E:!1}function l(){for(var p=0;p0&&o(l,k))}catch(S){f.call(new v(k),S)}}}function f(p){var E=this;E.triggered||(E.triggered=!0,E.def&&(E=E.def),E.msg=p,E.state=2,E.chain.length>0&&o(l,E))}function h(p,E,k,S){for(var L=0;L{(function(){var e={version:"3.8.2"},t=[].slice,r=function(Z){return t.call(Z)},n=self.document;function i(Z){return Z&&(Z.ownerDocument||Z.document||Z).documentElement}function a(Z){return Z&&(Z.ownerDocument&&Z.ownerDocument.defaultView||Z.document&&Z||Z.defaultView)}if(n)try{r(n.documentElement.childNodes)[0].nodeType}catch(Z){r=function(oe){for(var we=oe.length,Be=new Array(we);we--;)Be[we]=oe[we];return Be}}if(Date.now||(Date.now=function(){return+new Date}),n)try{n.createElement("DIV").style.setProperty("opacity",0,"")}catch(Z){var o=this.Element.prototype,s=o.setAttribute,l=o.setAttributeNS,u=this.CSSStyleDeclaration.prototype,c=u.setProperty;o.setAttribute=function(oe,we){s.call(this,oe,we+"")},o.setAttributeNS=function(oe,we,Be){l.call(this,oe,we,Be+"")},u.setProperty=function(oe,we,Be){c.call(this,oe,we+"",Be)}}e.ascending=f;function f(Z,oe){return Zoe?1:Z>=oe?0:NaN}e.descending=function(Z,oe){return oeZ?1:oe>=Z?0:NaN},e.min=function(Z,oe){var we=-1,Be=Z.length,Ue,We;if(arguments.length===1){for(;++we=We){Ue=We;break}for(;++weWe&&(Ue=We)}else{for(;++we=We){Ue=We;break}for(;++weWe&&(Ue=We)}return Ue},e.max=function(Z,oe){var we=-1,Be=Z.length,Ue,We;if(arguments.length===1){for(;++we=We){Ue=We;break}for(;++weUe&&(Ue=We)}else{for(;++we=We){Ue=We;break}for(;++weUe&&(Ue=We)}return Ue},e.extent=function(Z,oe){var we=-1,Be=Z.length,Ue,We,wt;if(arguments.length===1){for(;++we=We){Ue=wt=We;break}for(;++weWe&&(Ue=We),wt=We){Ue=wt=We;break}for(;++weWe&&(Ue=We),wt1)return wt/(zt-1)},e.deviation=function(){var Z=e.variance.apply(this,arguments);return Z&&Math.sqrt(Z)};function d(Z){return{left:function(oe,we,Be,Ue){for(arguments.length<3&&(Be=0),arguments.length<4&&(Ue=oe.length);Be>>1;Z(oe[We],we)<0?Be=We+1:Ue=We}return Be},right:function(oe,we,Be,Ue){for(arguments.length<3&&(Be=0),arguments.length<4&&(Ue=oe.length);Be>>1;Z(oe[We],we)>0?Ue=We:Be=We+1}return Be}}}var _=d(f);e.bisectLeft=_.left,e.bisect=e.bisectRight=_.right,e.bisector=function(Z){return d(Z.length===1?function(oe,we){return f(Z(oe),we)}:Z)},e.shuffle=function(Z,oe,we){(Be=arguments.length)<3&&(we=Z.length,Be<2&&(oe=0));for(var Be=we-oe,Ue,We;Be;)We=Math.random()*Be--|0,Ue=Z[Be+oe],Z[Be+oe]=Z[We+oe],Z[We+oe]=Ue;return Z},e.permute=function(Z,oe){for(var we=oe.length,Be=new Array(we);we--;)Be[we]=Z[oe[we]];return Be},e.pairs=function(Z){for(var oe=0,we=Z.length-1,Be,Ue=Z[0],We=new Array(we<0?0:we);oe=0;)for(wt=Z[oe],we=wt.length;--we>=0;)We[--Ue]=wt[we];return We};var p=Math.abs;e.range=function(Z,oe,we){if(arguments.length<3&&(we=1,arguments.length<2&&(oe=Z,Z=0)),(oe-Z)/we===1/0)throw new Error("infinite range");var Be=[],Ue=E(p(we)),We=-1,wt;if(Z*=Ue,oe*=Ue,we*=Ue,we<0)for(;(wt=Z+we*++We)>oe;)Be.push(wt/Ue);else for(;(wt=Z+we*++We)=oe.length)return Ue?Ue.call(Z,zt):Be?zt.sort(Be):zt;for(var lr=-1,Rr=zt.length,Ir=oe[or++],oi,ui,qr,Kr=new S,ii;++lr=oe.length)return tt;var or=[],lr=we[zt++];return tt.forEach(function(Rr,Ir){or.push({key:Rr,values:wt(Ir,zt)})}),lr?or.sort(function(Rr,Ir){return lr(Rr.key,Ir.key)}):or}return Z.map=function(tt,zt){return We(zt,tt,0)},Z.entries=function(tt){return wt(We(e.map,tt,0),0)},Z.key=function(tt){return oe.push(tt),Z},Z.sortKeys=function(tt){return we[oe.length-1]=tt,Z},Z.sortValues=function(tt){return Be=tt,Z},Z.rollup=function(tt){return Ue=tt,Z},Z},e.set=function(Z){var oe=new V;if(Z)for(var we=0,Be=Z.length;we=0&&(Be=Z.slice(we+1),Z=Z.slice(0,we)),Z)return arguments.length<2?this[Z].on(Be):this[Z].on(Be,oe);if(arguments.length===2){if(oe==null)for(Z in this)this.hasOwnProperty(Z)&&this[Z].on(Be,null);return this}};function ae(Z){var oe=[],we=new S;function Be(){for(var Ue=oe,We=-1,wt=Ue.length,tt;++We=0&&(we=Z.slice(0,oe))!=="xmlns"&&(Z=Z.slice(oe+1)),Ge.hasOwnProperty(we)?{space:Ge[we],local:Z}:Z}},Ce.attr=function(Z,oe){if(arguments.length<2){if(typeof Z=="string"){var we=this.node();return Z=e.ns.qualify(Z),Z.local?we.getAttributeNS(Z.space,Z.local):we.getAttribute(Z)}for(oe in Z)this.each(nt(oe,Z[oe]));return this}return this.each(nt(Z,oe))};function nt(Z,oe){Z=e.ns.qualify(Z);function we(){this.removeAttribute(Z)}function Be(){this.removeAttributeNS(Z.space,Z.local)}function Ue(){this.setAttribute(Z,oe)}function We(){this.setAttributeNS(Z.space,Z.local,oe)}function wt(){var zt=oe.apply(this,arguments);zt==null?this.removeAttribute(Z):this.setAttribute(Z,zt)}function tt(){var zt=oe.apply(this,arguments);zt==null?this.removeAttributeNS(Z.space,Z.local):this.setAttributeNS(Z.space,Z.local,zt)}return oe==null?Z.local?Be:we:typeof oe=="function"?Z.local?tt:wt:Z.local?We:Ue}function ct(Z){return Z.trim().replace(/\s+/g," ")}Ce.classed=function(Z,oe){if(arguments.length<2){if(typeof Z=="string"){var we=this.node(),Be=(Z=rt(Z)).length,Ue=-1;if(oe=we.classList){for(;++Ue=0;)(We=we[Be])&&(Ue&&Ue!==We.nextSibling&&Ue.parentNode.insertBefore(We,Ue),Ue=We);return this},Ce.sort=function(Z){Z=bt.apply(this,arguments);for(var oe=-1,we=this.length;++oe=oe&&(oe=Ue+1);!(zt=wt[oe])&&++oe0&&(Z=Z.slice(0,Ue));var wt=Ht.get(Z);wt&&(Z=wt,We=fr);function tt(){var lr=this[Be];lr&&(this.removeEventListener(Z,lr,lr.$),delete this[Be])}function zt(){var lr=We(oe,r(arguments));tt.call(this),this.addEventListener(Z,this[Be]=lr,lr.$=we),lr._=oe}function or(){var lr=new RegExp("^__on([^.]+)"+e.requote(Z)+"$"),Rr;for(var Ir in this)if(Rr=Ir.match(lr)){var oi=this[Ir];this.removeEventListener(Rr[1],oi,oi.$),delete this[Ir]}}return Ue?oe?zt:tt:oe?W:or}var Ht=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});n&&Ht.forEach(function(Z){"on"+Z in n&&Ht.remove(Z)});function $t(Z,oe){return function(we){var Be=e.event;e.event=we,oe[0]=this.__data__;try{Z.apply(this,oe)}finally{e.event=Be}}}function fr(Z,oe){var we=$t(Z,oe);return function(Be){var Ue=this,We=Be.relatedTarget;(!We||We!==Ue&&!(We.compareDocumentPosition(Ue)&8))&&we.call(Ue,Be)}}var xr,Br=0;function Or(Z){var oe=".dragsuppress-"+ ++Br,we="click"+oe,Be=e.select(a(Z)).on("touchmove"+oe,_e).on("dragstart"+oe,_e).on("selectstart"+oe,_e);if(xr==null&&(xr="onselectstart"in Z?!1:G(Z.style,"userSelect")),xr){var Ue=i(Z).style,We=Ue[xr];Ue[xr]="none"}return function(wt){if(Be.on(oe,null),xr&&(Ue[xr]=We),wt){var tt=function(){Be.on(we,null)};Be.on(we,function(){_e(),tt()},!0),setTimeout(tt,0)}}}e.mouse=function(Z){return ut(Z,Me())};var Nr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function ut(Z,oe){oe.changedTouches&&(oe=oe.changedTouches[0]);var we=Z.ownerSVGElement||Z;if(we.createSVGPoint){var Be=we.createSVGPoint();if(Nr<0){var Ue=a(Z);if(Ue.scrollX||Ue.scrollY){we=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var We=we[0][0].getScreenCTM();Nr=!(We.f||We.e),we.remove()}}return Nr?(Be.x=oe.pageX,Be.y=oe.pageY):(Be.x=oe.clientX,Be.y=oe.clientY),Be=Be.matrixTransform(Z.getScreenCTM().inverse()),[Be.x,Be.y]}var wt=Z.getBoundingClientRect();return[oe.clientX-wt.left-Z.clientLeft,oe.clientY-wt.top-Z.clientTop]}e.touch=function(Z,oe,we){if(arguments.length<3&&(we=oe,oe=Me().changedTouches),oe){for(var Be=0,Ue=oe.length,We;Be0?1:Z<0?-1:0}function Vt(Z,oe,we){return(oe[0]-Z[0])*(we[1]-Z[1])-(oe[1]-Z[1])*(we[0]-Z[0])}function ar(Z){return Z>1?0:Z<-1?Xe:Math.acos(Z)}function Qr(Z){return Z>1?xe:Z<-1?-xe:Math.asin(Z)}function ai(Z){return((Z=Math.exp(Z))-1/Z)/2}function jr(Z){return((Z=Math.exp(Z))+1/Z)/2}function ri(Z){return((Z=Math.exp(2*Z))-1)/(Z+1)}function bi(Z){return(Z=Math.sin(Z/2))*Z}var nn=Math.SQRT2,Wi=2,Ni=4;e.interpolateZoom=function(Z,oe){var we=Z[0],Be=Z[1],Ue=Z[2],We=oe[0],wt=oe[1],tt=oe[2],zt=We-we,or=wt-Be,lr=zt*zt+or*or,Rr,Ir;if(lr0&&(pn=pn.transition().duration(wt)),pn.call(ci.event)}function ga(){Kr&&Kr.domain(qr.range().map(function(pn){return(pn-Z.x)/Z.k}).map(qr.invert)),vi&&vi.domain(ii.range().map(function(pn){return(pn-Z.y)/Z.k}).map(ii.invert))}function _a(pn){tt++||pn({type:"zoomstart"})}function so(pn){ga(),pn({type:"zoom",scale:Z.k,translate:[Z.x,Z.y]})}function wa(pn){--tt||(pn({type:"zoomend"}),we=null)}function io(){var pn=this,za=ui.of(pn,arguments),Lo=0,Fo=e.select(a(pn)).on(or,fu).on(lr,dl),js=Jr(e.mouse(pn)),xl=Or(pn);ea.call(pn),_a(za);function fu(){Lo=1,En(e.mouse(pn),js),so(za)}function dl(){Fo.on(or,null).on(lr,null),xl(Lo),wa(za)}}function Ms(){var pn=this,za=ui.of(pn,arguments),Lo={},Fo=0,js,xl=".zoom-"+e.event.changedTouches[0].identifier,fu="touchmove"+xl,dl="touchend"+xl,xc=[],At=e.select(pn),Er=Or(pn);wi(),_a(za),At.on(zt,null).on(Ir,wi);function Wr(){var Bi=e.touches(pn);return js=Z.k,Bi.forEach(function(cn){cn.identifier in Lo&&(Lo[cn.identifier]=Jr(cn))}),Bi}function wi(){var Bi=e.event.target;e.select(Bi).on(fu,Ui).on(dl,Oi),xc.push(Bi);for(var cn=e.event.changedTouches,On=0,Bn=cn.length;On1){var Dn=yn[0],Rn=yn[1],fn=Dn[0]-Rn[0],Ai=Dn[1]-Rn[1];Fo=fn*fn+Ai*Ai}}function Ui(){var Bi=e.touches(pn),cn,On,Bn,yn;ea.call(pn);for(var to=0,Dn=Bi.length;to1?1:oe,we=we<0?0:we>1?1:we,Ue=we<=.5?we*(1+oe):we+oe-we*oe,Be=2*we-Ue;function We(tt){return tt>360?tt-=360:tt<0&&(tt+=360),tt<60?Be+(Ue-Be)*tt/60:tt<180?Ue:tt<240?Be+(Ue-Be)*(240-tt)/60:Be}function wt(tt){return Math.round(We(tt)*255)}return new Fa(wt(Z+120),wt(Z),wt(Z-120))}e.hcl=Zt;function Zt(Z,oe,we){return this instanceof Zt?(this.h=+Z,this.c=+oe,void(this.l=+we)):arguments.length<2?Z instanceof Zt?new Zt(Z.h,Z.c,Z.l):Z instanceof Zr?Ki(Z.l,Z.a,Z.b):Ki((Z=xn((Z=e.rgb(Z)).r,Z.g,Z.b)).l,Z.a,Z.b):new Zt(Z,oe,we)}var _r=Zt.prototype=new Wn;_r.brighter=function(Z){return new Zt(this.h,this.c,Math.min(100,this.l+Vr*(arguments.length?Z:1)))},_r.darker=function(Z){return new Zt(this.h,this.c,Math.max(0,this.l-Vr*(arguments.length?Z:1)))},_r.rgb=function(){return Fr(this.h,this.c,this.l).rgb()};function Fr(Z,oe,we){return isNaN(Z)&&(Z=0),isNaN(oe)&&(oe=0),new Zr(we,Math.cos(Z*=Se)*oe,Math.sin(Z)*oe)}e.lab=Zr;function Zr(Z,oe,we){return this instanceof Zr?(this.l=+Z,this.a=+oe,void(this.b=+we)):arguments.length<2?Z instanceof Zr?new Zr(Z.l,Z.a,Z.b):Z instanceof Zt?Fr(Z.h,Z.c,Z.l):xn((Z=Fa(Z)).r,Z.g,Z.b):new Zr(Z,oe,we)}var Vr=18,gi=.95047,Si=1,Mi=1.08883,Pi=Zr.prototype=new Wn;Pi.brighter=function(Z){return new Zr(Math.min(100,this.l+Vr*(arguments.length?Z:1)),this.a,this.b)},Pi.darker=function(Z){return new Zr(Math.max(0,this.l-Vr*(arguments.length?Z:1)),this.a,this.b)},Pi.rgb=function(){return Gi(this.l,this.a,this.b)};function Gi(Z,oe,we){var Be=(Z+16)/116,Ue=Be+oe/500,We=Be-we/200;return Ue=Ca(Ue)*gi,Be=Ca(Be)*Si,We=Ca(We)*Mi,new Fa(ua(3.2404542*Ue-1.5371385*Be-.4985314*We),ua(-.969266*Ue+1.8760108*Be+.041556*We),ua(.0556434*Ue-.2040259*Be+1.0572252*We))}function Ki(Z,oe,we){return Z>0?new Zt(Math.atan2(we,oe)*lt,Math.sqrt(oe*oe+we*we),Z):new Zt(NaN,NaN,Z)}function Ca(Z){return Z>.206893034?Z*Z*Z:(Z-4/29)/7.787037}function jn(Z){return Z>.008856?Math.pow(Z,1/3):7.787037*Z+4/29}function ua(Z){return Math.round(255*(Z<=.00304?12.92*Z:1.055*Math.pow(Z,1/2.4)-.055))}e.rgb=Fa;function Fa(Z,oe,we){return this instanceof Fa?(this.r=~~Z,this.g=~~oe,void(this.b=~~we)):arguments.length<2?Z instanceof Fa?new Fa(Z.r,Z.g,Z.b):Ha(""+Z,Fa,jt):new Fa(Z,oe,we)}function Da(Z){return new Fa(Z>>16,Z>>8&255,Z&255)}function jo(Z){return Da(Z)+""}var sa=Fa.prototype=new Wn;sa.brighter=function(Z){Z=Math.pow(.7,arguments.length?Z:1);var oe=this.r,we=this.g,Be=this.b,Ue=30;return!oe&&!we&&!Be?new Fa(Ue,Ue,Ue):(oe&&oe>4,Be=Be>>4|Be,Ue=zt&240,Ue=Ue>>4|Ue,We=zt&15,We=We<<4|We):Z.length===7&&(Be=(zt&16711680)>>16,Ue=(zt&65280)>>8,We=zt&255)),oe(Be,Ue,We))}function oo(Z,oe,we){var Be=Math.min(Z/=255,oe/=255,we/=255),Ue=Math.max(Z,oe,we),We=Ue-Be,wt,tt,zt=(Ue+Be)/2;return We?(tt=zt<.5?We/(Ue+Be):We/(2-Ue-Be),Z==Ue?wt=(oe-we)/We+(oe0&&zt<1?0:wt),new Dt(wt,tt,zt)}function xn(Z,oe,we){Z=_t(Z),oe=_t(oe),we=_t(we);var Be=jn((.4124564*Z+.3575761*oe+.1804375*we)/gi),Ue=jn((.2126729*Z+.7151522*oe+.072175*we)/Si),We=jn((.0193339*Z+.119192*oe+.9503041*we)/Mi);return Zr(116*Ue-16,500*(Be-Ue),200*(Ue-We))}function _t(Z){return(Z/=255)<=.04045?Z/12.92:Math.pow((Z+.055)/1.055,2.4)}function br(Z){var oe=parseFloat(Z);return Z.charAt(Z.length-1)==="%"?Math.round(oe*2.55):oe}var Hr=e.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});Hr.forEach(function(Z,oe){Hr.set(Z,Da(oe))});function ti(Z){return typeof Z=="function"?Z:function(){return Z}}e.functor=ti,e.xhr=zi(H);function zi(Z){return function(oe,we,Be){return arguments.length===2&&typeof we=="function"&&(Be=we,we=null),Yi(oe,we,Z,Be)}}function Yi(Z,oe,we,Be){var Ue={},We=e.dispatch("beforesend","progress","load","error"),wt={},tt=new XMLHttpRequest,zt=null;self.XDomainRequest&&!("withCredentials"in tt)&&/^(http(s)?:)?\/\//.test(Z)&&(tt=new XDomainRequest),"onload"in tt?tt.onload=tt.onerror=or:tt.onreadystatechange=function(){tt.readyState>3&&or()};function or(){var lr=tt.status,Rr;if(!lr&&hi(tt)||lr>=200&&lr<300||lr===304){try{Rr=we.call(Ue,tt)}catch(Ir){We.error.call(Ue,Ir);return}We.load.call(Ue,Rr)}else We.error.call(Ue,tt)}return tt.onprogress=function(lr){var Rr=e.event;e.event=lr;try{We.progress.call(Ue,tt)}finally{e.event=Rr}},Ue.header=function(lr,Rr){return lr=(lr+"").toLowerCase(),arguments.length<2?wt[lr]:(Rr==null?delete wt[lr]:wt[lr]=Rr+"",Ue)},Ue.mimeType=function(lr){return arguments.length?(oe=lr==null?null:lr+"",Ue):oe},Ue.responseType=function(lr){return arguments.length?(zt=lr,Ue):zt},Ue.response=function(lr){return we=lr,Ue},["get","post"].forEach(function(lr){Ue[lr]=function(){return Ue.send.apply(Ue,[lr].concat(r(arguments)))}}),Ue.send=function(lr,Rr,Ir){if(arguments.length===2&&typeof Rr=="function"&&(Ir=Rr,Rr=null),tt.open(lr,Z,!0),oe!=null&&!("accept"in wt)&&(wt.accept=oe+",*/*"),tt.setRequestHeader)for(var oi in wt)tt.setRequestHeader(oi,wt[oi]);return oe!=null&&tt.overrideMimeType&&tt.overrideMimeType(oe),zt!=null&&(tt.responseType=zt),Ir!=null&&Ue.on("error",Ir).on("load",function(ui){Ir(null,ui)}),We.beforesend.call(Ue,tt),tt.send(Rr==null?null:Rr),Ue},Ue.abort=function(){return tt.abort(),Ue},e.rebind(Ue,We,"on"),Be==null?Ue:Ue.get(an(Be))}function an(Z){return Z.length===1?function(oe,we){Z(oe==null?we:null)}:Z}function hi(Z){var oe=Z.responseType;return oe&&oe!=="text"?Z.response:Z.responseText}e.dsv=function(Z,oe){var we=new RegExp('["'+Z+` +]`),Be=Z.charCodeAt(0);function Ue(or,lr,Rr){arguments.length<3&&(Rr=lr,lr=null);var Ir=Yi(or,oe,lr==null?We:wt(lr),Rr);return Ir.row=function(oi){return arguments.length?Ir.response((lr=oi)==null?We:wt(oi)):lr},Ir}function We(or){return Ue.parse(or.responseText)}function wt(or){return function(lr){return Ue.parse(lr.responseText,or)}}Ue.parse=function(or,lr){var Rr;return Ue.parseRows(or,function(Ir,oi){if(Rr)return Rr(Ir,oi-1);var ui=function(qr){for(var Kr={},ii=Ir.length,vi=0;vi=ui)return Ir;if(vi)return vi=!1,Rr;var un=qr;if(or.charCodeAt(un)===34){for(var dn=un;dn++24?(isFinite(oe)&&(clearTimeout(Ma),Ma=setTimeout(ho,oe)),Fn=0):(Fn=1,go(ho))}e.timer.flush=function(){Mo(),xo()};function Mo(){for(var Z=Date.now(),oe=Ji;oe;)Z>=oe.t&&oe.c(Z-oe.t)&&(oe.c=null),oe=oe.n;return Z}function xo(){for(var Z,oe=Ji,we=1/0;oe;)oe.c?(oe.t=0;--tt)qr.push(Ue[or[Rr[tt]][2]]);for(tt=+oi;tt1&&Vt(Z[we[Be-2]],Z[we[Be-1]],Z[Ue])<=0;)--Be;we[Be++]=Ue}return we.slice(0,Be)}function Xs(Z,oe){return Z[0]-oe[0]||Z[1]-oe[1]}e.geom.polygon=function(Z){return ie(Z,wl),Z};var wl=e.geom.polygon.prototype=[];wl.area=function(){for(var Z=-1,oe=this.length,we,Be=this[oe-1],Ue=0;++ZYe)tt=tt.L;else if(wt=oe-vo(tt,we),wt>Ye){if(!tt.R){Be=tt;break}tt=tt.R}else{We>-Ye?(Be=tt.P,Ue=tt):wt>-Ye?(Be=tt,Ue=tt.N):Be=Ue=tt;break}var zt=ys(Z);if(Hs.insert(Be,zt),!(!Be&&!Ue)){if(Be===Ue){ko(Be),Ue=ys(Be.site),Hs.insert(zt,Ue),zt.edge=Ue.edge=cf(Be.site,zt.site),Zn(Be),Zn(Ue);return}if(!Ue){zt.edge=cf(Be.site,zt.site);return}ko(Be),ko(Ue);var or=Be.site,lr=or.x,Rr=or.y,Ir=Z.x-lr,oi=Z.y-Rr,ui=Ue.site,qr=ui.x-lr,Kr=ui.y-Rr,ii=2*(Ir*Kr-oi*qr),vi=Ir*Ir+oi*oi,ci=qr*qr+Kr*Kr,Jr={x:(Kr*vi-oi*ci)/ii+lr,y:(Ir*ci-qr*vi)/ii+Rr};Al(Ue.edge,or,ui,Jr),zt.edge=cf(or,Z,null,Jr),Ue.edge=cf(Z,ui,null,Jr),Zn(Be),Zn(Ue)}}function Il(Z,oe){var we=Z.site,Be=we.x,Ue=we.y,We=Ue-oe;if(!We)return Be;var wt=Z.P;if(!wt)return-1/0;we=wt.site;var tt=we.x,zt=we.y,or=zt-oe;if(!or)return tt;var lr=tt-Be,Rr=1/We-1/or,Ir=lr/or;return Rr?(-Ir+Math.sqrt(Ir*Ir-2*Rr*(lr*lr/(-2*or)-zt+or/2+Ue-We/2)))/Rr+Be:(Be+tt)/2}function vo(Z,oe){var we=Z.N;if(we)return Il(we,oe);var Be=Z.site;return Be.y===oe?Be.x:1/0}function Wl(Z){this.site=Z,this.edges=[]}Wl.prototype.prepare=function(){for(var Z=this.edges,oe=Z.length,we;oe--;)we=Z[oe].edge,(!we.b||!we.a)&&Z.splice(oe,1);return Z.sort(Zl),Z.length};function Ks(Z){for(var oe=Z[0][0],we=Z[1][0],Be=Z[0][1],Ue=Z[1][1],We,wt,tt,zt,or=Ys,lr=or.length,Rr,Ir,oi,ui,qr,Kr;lr--;)if(Rr=or[lr],!(!Rr||!Rr.prepare()))for(oi=Rr.edges,ui=oi.length,Ir=0;IrYe||p(zt-wt)>Ye)&&(oi.splice(Ir,0,new Hc(nh(Rr.site,Kr,p(tt-oe)Ye?{x:oe,y:p(We-oe)Ye?{x:p(wt-Ue)Ye?{x:we,y:p(We-we)Ye?{x:p(wt-Be)=-Ve)){var Ir=zt*zt+or*or,oi=lr*lr+Kr*Kr,ui=(Kr*Ir-or*oi)/Rr,qr=(zt*oi-lr*Ir)/Rr,Kr=qr+tt,ii=ju.pop()||new Ec;ii.arc=Z,ii.site=Ue,ii.x=ui+wt,ii.y=Kr+Math.sqrt(ui*ui+qr*qr),ii.cy=Kr,Z.circle=ii;for(var vi=null,ci=$l._;ci;)if(ii.y0)){if(qr/=oi,oi<0){if(qr0){if(qr>Ir)return;qr>Rr&&(Rr=qr)}if(qr=we-tt,!(!oi&&qr<0)){if(qr/=oi,oi<0){if(qr>Ir)return;qr>Rr&&(Rr=qr)}else if(oi>0){if(qr0)){if(qr/=ui,ui<0){if(qr0){if(qr>Ir)return;qr>Rr&&(Rr=qr)}if(qr=Be-zt,!(!ui&&qr<0)){if(qr/=ui,ui<0){if(qr>Ir)return;qr>Rr&&(Rr=qr)}else if(ui>0){if(qr0&&(Ue.a={x:tt+Rr*oi,y:zt+Rr*ui}),Ir<1&&(Ue.b={x:tt+Ir*oi,y:zt+Ir*ui}),Ue}}}}}}function Tl(Z){for(var oe=ml,we=Co(Z[0][0],Z[0][1],Z[1][0],Z[1][1]),Be=oe.length,Ue;Be--;)Ue=oe[Be],(!uf(Ue,Z)||!we(Ue)||p(Ue.a.x-Ue.b.x)=We)return;if(lr>Ir){if(!Be)Be={x:ui,y:wt};else if(Be.y>=tt)return;we={x:ui,y:tt}}else{if(!Be)Be={x:ui,y:tt};else if(Be.y1)if(lr>Ir){if(!Be)Be={x:(wt-ii)/Kr,y:wt};else if(Be.y>=tt)return;we={x:(tt-ii)/Kr,y:tt}}else{if(!Be)Be={x:(tt-ii)/Kr,y:tt};else if(Be.y=We)return;we={x:We,y:Kr*We+ii}}else{if(!Be)Be={x:We,y:Kr*We+ii};else if(Be.x=lr&&ii.x<=Ir&&ii.y>=Rr&&ii.y<=oi?[[lr,oi],[Ir,oi],[Ir,Rr],[lr,Rr]]:[];vi.point=zt[qr]}),or}function tt(zt){return zt.map(function(or,lr){return{x:Math.round(Be(or,lr)/Ye)*Ye,y:Math.round(Ue(or,lr)/Ye)*Ye,i:lr}})}return wt.links=function(zt){return Gc(tt(zt)).edges.filter(function(or){return or.l&&or.r}).map(function(or){return{source:zt[or.l.i],target:zt[or.r.i]}})},wt.triangles=function(zt){var or=[];return Gc(tt(zt)).cells.forEach(function(lr,Rr){for(var Ir=lr.site,oi=lr.edges.sort(Zl),ui=-1,qr=oi.length,Kr,ii,vi=oi[qr-1].edge,ci=vi.l===Ir?vi.r:vi.l;++uici&&(ci=lr.x),lr.y>Jr&&(Jr=lr.y),oi.push(lr.x),ui.push(lr.y);else for(qr=0;qrci&&(ci=un),dn>Jr&&(Jr=dn),oi.push(un),ui.push(dn)}var En=ci-ii,Nn=Jr-vi;En>Nn?Jr=vi+En:ci=ii+Nn;function ga(wa,io,Ms,xs,Ns,pn,za,Lo){if(!(isNaN(Ms)||isNaN(xs)))if(wa.leaf){var Fo=wa.x,js=wa.y;if(Fo!=null)if(p(Fo-Ms)+p(js-xs)<.01)_a(wa,io,Ms,xs,Ns,pn,za,Lo);else{var xl=wa.point;wa.x=wa.y=wa.point=null,_a(wa,xl,Fo,js,Ns,pn,za,Lo),_a(wa,io,Ms,xs,Ns,pn,za,Lo)}else wa.x=Ms,wa.y=xs,wa.point=io}else _a(wa,io,Ms,xs,Ns,pn,za,Lo)}function _a(wa,io,Ms,xs,Ns,pn,za,Lo){var Fo=(Ns+za)*.5,js=(pn+Lo)*.5,xl=Ms>=Fo,fu=xs>=js,dl=fu<<1|xl;wa.leaf=!1,wa=wa.nodes[dl]||(wa.nodes[dl]=Ul()),xl?Ns=Fo:za=Fo,fu?pn=js:Lo=js,ga(wa,io,Ms,xs,Ns,pn,za,Lo)}var so=Ul();if(so.add=function(wa){ga(so,wa,+Rr(wa,++qr),+Ir(wa,qr),ii,vi,ci,Jr)},so.visit=function(wa){Js(wa,so,ii,vi,ci,Jr)},so.find=function(wa){return hc(so,wa[0],wa[1],ii,vi,ci,Jr)},qr=-1,oe==null){for(;++qrWe||Ir>wt||oi=un,Nn=we>=dn,ga=Nn<<1|En,_a=ga+4;ga<_a;++ga)if(lr=Jr[ga&3])switch(ga&3){case 0:or(lr,Rr,Ir,un,dn);break;case 1:or(lr,un,Ir,oi,dn);break;case 2:or(lr,Rr,dn,un,ui);break;case 3:or(lr,un,dn,oi,ui);break}}}(Z,Be,Ue,We,wt),zt}e.interpolateRgb=Cc;function Cc(Z,oe){Z=e.rgb(Z),oe=e.rgb(oe);var we=Z.r,Be=Z.g,Ue=Z.b,We=oe.r-we,wt=oe.g-Be,tt=oe.b-Ue;return function(zt){return"#"+Sn(Math.round(we+We*zt))+Sn(Math.round(Be+wt*zt))+Sn(Math.round(Ue+tt*zt))}}e.interpolateObject=Ts;function Ts(Z,oe){var we={},Be={},Ue;for(Ue in Z)Ue in oe?we[Ue]=Sl(Z[Ue],oe[Ue]):Be[Ue]=Z[Ue];for(Ue in oe)Ue in Z||(Be[Ue]=oe[Ue]);return function(We){for(Ue in we)Be[Ue]=we[Ue](We);return Be}}e.interpolateNumber=$s;function $s(Z,oe){return Z=+Z,oe=+oe,function(we){return Z*(1-we)+oe*we}}e.interpolateString=ds;function ds(Z,oe){var we=Es.lastIndex=dc.lastIndex=0,Be,Ue,We,wt=-1,tt=[],zt=[];for(Z=Z+"",oe=oe+"";(Be=Es.exec(Z))&&(Ue=dc.exec(oe));)(We=Ue.index)>we&&(We=oe.slice(we,We),tt[wt]?tt[wt]+=We:tt[++wt]=We),(Be=Be[0])===(Ue=Ue[0])?tt[wt]?tt[wt]+=Ue:tt[++wt]=Ue:(tt[++wt]=null,zt.push({i:wt,x:$s(Be,Ue)})),we=dc.lastIndex;return we=0&&!(Be=e.interpolators[we](Z,oe)););return Be}e.interpolators=[function(Z,oe){var we=typeof oe;return(we==="string"?Hr.has(oe.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(oe)?Cc:ds:oe instanceof Wn?Cc:Array.isArray(oe)?ec:we==="object"&&isNaN(oe)?Ts:$s)(Z,oe)}],e.interpolateArray=ec;function ec(Z,oe){var we=[],Be=[],Ue=Z.length,We=oe.length,wt=Math.min(Z.length,oe.length),tt;for(tt=0;tt=0?Z.slice(0,oe):Z,Be=oe>=0?Z.slice(oe+1):"in";return we=sv.get(we)||Is,Be=wo.get(Be)||H,Bd(Be(we.apply(null,t.call(arguments,1))))};function Bd(Z){return function(oe){return oe<=0?0:oe>=1?1:Z(oe)}}function Qo(Z){return function(oe){return 1-Z(1-oe)}}function $a(Z){return function(oe){return .5*(oe<.5?Z(2*oe):2-Z(2-2*oe))}}function Ef(Z){return Z*Z}function tc(Z){return Z*Z*Z}function uu(Z){if(Z<=0)return 0;if(Z>=1)return 1;var oe=Z*Z,we=oe*Z;return 4*(Z<.5?we:3*(Z-oe)+we-.75)}function Ch(Z){return function(oe){return Math.pow(oe,Z)}}function jc(Z){return 1-Math.cos(Z*xe)}function kf(Z){return Math.pow(2,10*(Z-1))}function Ml(Z){return 1-Math.sqrt(1-Z*Z)}function Jh(Z,oe){var we;return arguments.length<2&&(oe=.45),arguments.length?we=oe/ht*Math.asin(1/Z):(Z=1,we=oe/4),function(Be){return 1+Z*Math.pow(2,-10*Be)*Math.sin((Be-we)*ht/oe)}}function Lh(Z){return Z||(Z=1.70158),function(oe){return oe*oe*((Z+1)*oe-Z)}}function oh(Z){return Z<1/2.75?7.5625*Z*Z:Z<2/2.75?7.5625*(Z-=1.5/2.75)*Z+.75:Z<2.5/2.75?7.5625*(Z-=2.25/2.75)*Z+.9375:7.5625*(Z-=2.625/2.75)*Z+.984375}e.interpolateHcl=hf;function hf(Z,oe){Z=e.hcl(Z),oe=e.hcl(oe);var we=Z.h,Be=Z.c,Ue=Z.l,We=oe.h-we,wt=oe.c-Be,tt=oe.l-Ue;return isNaN(wt)&&(wt=0,Be=isNaN(Be)?oe.c:Be),isNaN(We)?(We=0,we=isNaN(we)?oe.h:we):We>180?We-=360:We<-180&&(We+=360),function(zt){return Fr(we+We*zt,Be+wt*zt,Ue+tt*zt)+""}}e.interpolateHsl=Ph;function Ph(Z,oe){Z=e.hsl(Z),oe=e.hsl(oe);var we=Z.h,Be=Z.s,Ue=Z.l,We=oe.h-we,wt=oe.s-Be,tt=oe.l-Ue;return isNaN(wt)&&(wt=0,Be=isNaN(Be)?oe.s:Be),isNaN(We)?(We=0,we=isNaN(we)?oe.h:we):We>180?We-=360:We<-180&&(We+=360),function(zt){return jt(we+We*zt,Be+wt*zt,Ue+tt*zt)+""}}e.interpolateLab=$h;function $h(Z,oe){Z=e.lab(Z),oe=e.lab(oe);var we=Z.l,Be=Z.a,Ue=Z.b,We=oe.l-we,wt=oe.a-Be,tt=oe.b-Ue;return function(zt){return Gi(we+We*zt,Be+wt*zt,Ue+tt*zt)+""}}e.interpolateRound=rc;function rc(Z,oe){return oe-=Z,function(we){return Math.round(Z+oe*we)}}e.transform=function(Z){var oe=n.createElementNS(e.ns.prefix.svg,"g");return(e.transform=function(we){if(we!=null){oe.setAttribute("transform",we);var Be=oe.transform.baseVal.consolidate()}return new sh(Be?Be.matrix:Uf)})(Z)};function sh(Z){var oe=[Z.a,Z.b],we=[Z.c,Z.d],Be=df(oe),Ue=Wc(oe,we),We=df(Cu(we,oe,-Ue))||0;oe[0]*we[1]180?oe+=360:oe-Z>180&&(Z+=360),Be.push({i:we.push(Zc(we)+"rotate(",null,")")-2,x:$s(Z,oe)})):oe&&we.push(Zc(we)+"rotate("+oe+")")}function Nd(Z,oe,we,Be){Z!==oe?Be.push({i:we.push(Zc(we)+"skewX(",null,")")-2,x:$s(Z,oe)}):oe&&we.push(Zc(we)+"skewX("+oe+")")}function Qh(Z,oe,we,Be){if(Z[0]!==oe[0]||Z[1]!==oe[1]){var Ue=we.push(Zc(we)+"scale(",null,",",null,")");Be.push({i:Ue-4,x:$s(Z[0],oe[0])},{i:Ue-2,x:$s(Z[1],oe[1])})}else(oe[0]!==1||oe[1]!==1)&&we.push(Zc(we)+"scale("+oe+")")}function Cf(Z,oe){var we=[],Be=[];return Z=e.transform(Z),oe=e.transform(oe),vs(Z.translate,oe.translate,we,Be),Ih(Z.rotate,oe.rotate,we,Be),Nd(Z.skew,oe.skew,we,Be),Qh(Z.scale,oe.scale,we,Be),Z=oe=null,function(Ue){for(var We=-1,wt=Be.length,tt;++We0?We=Jr:(we.c=null,we.t=NaN,we=null,oe.end({type:"end",alpha:We=0})):Jr>0&&(oe.start({type:"start",alpha:We=Jr}),we=Bo(Z.tick)),Z):We},Z.start=function(){var Jr,un=oi.length,dn=ui.length,En=Be[0],Nn=Be[1],ga,_a;for(Jr=0;Jr=0;)We.push(lr=or[zt]),lr.parent=tt,lr.depth=tt.depth+1;we&&(tt.value=0),tt.children=or}else we&&(tt.value=+we.call(Be,tt,tt.depth)||0),delete tt.children;return vc(Ue,function(Rr){var Ir,oi;Z&&(Ir=Rr.children)&&Ir.sort(Z),we&&(oi=Rr.parent)&&(oi.value+=Rr.value)}),wt}return Be.sort=function(Ue){return arguments.length?(Z=Ue,Be):Z},Be.children=function(Ue){return arguments.length?(oe=Ue,Be):oe},Be.value=function(Ue){return arguments.length?(we=Ue,Be):we},Be.revalue=function(Ue){return we&&(Pc(Ue,function(We){We.children&&(We.value=0)}),vc(Ue,function(We){var wt;We.children||(We.value=+we.call(Be,We,We.depth)||0),(wt=We.parent)&&(wt.value+=We.value)})),Ue},Be};function Wu(Z,oe){return e.rebind(Z,oe,"sort","children","value"),Z.nodes=Z,Z.links=Iu,Z}function Pc(Z,oe){for(var we=[Z];(Z=we.pop())!=null;)if(oe(Z),(Ue=Z.children)&&(Be=Ue.length))for(var Be,Ue;--Be>=0;)we.push(Ue[Be])}function vc(Z,oe){for(var we=[Z],Be=[];(Z=we.pop())!=null;)if(Be.push(Z),(wt=Z.children)&&(We=wt.length))for(var Ue=-1,We,wt;++UeUe&&(Ue=tt),Be.push(tt)}for(wt=0;wtBe&&(we=oe,Be=Ue);return we}function Ds(Z){return Z.reduce(Pf,0)}function Pf(Z,oe){return Z+oe[1]}e.layout.histogram=function(){var Z=!0,oe=Number,we=Hf,Be=Ic;function Ue(We,Ir){for(var tt=[],zt=We.map(oe,this),or=we.call(this,zt,Ir),lr=Be.call(this,or,zt,Ir),Rr,Ir=-1,oi=zt.length,ui=lr.length-1,qr=Z?1:1/oi,Kr;++Ir0)for(Ir=-1;++Ir=or[0]&&Kr<=or[1]&&(Rr=tt[e.bisect(lr,Kr,1,ui)-1],Rr.y+=qr,Rr.push(We[Ir]));return tt}return Ue.value=function(We){return arguments.length?(oe=We,Ue):oe},Ue.range=function(We){return arguments.length?(we=ti(We),Ue):we},Ue.bins=function(We){return arguments.length?(Be=typeof We=="number"?function(wt){return Zu(wt,We)}:ti(We),Ue):Be},Ue.frequency=function(We){return arguments.length?(Z=!!We,Ue):Z},Ue};function Ic(Z,oe){return Zu(Z,Math.ceil(Math.log(oe.length)/Math.LN2+1))}function Zu(Z,oe){for(var we=-1,Be=+Z[0],Ue=(Z[1]-Be)/oe,We=[];++we<=oe;)We[we]=Ue*we+Be;return We}function Hf(Z){return[e.min(Z),e.max(Z)]}e.layout.pack=function(){var Z=e.layout.hierarchy().sort(pc),oe=0,we=[1,1],Be;function Ue(We,wt){var tt=Z.call(this,We,wt),zt=tt[0],or=we[0],lr=we[1],Rr=Be==null?Math.sqrt:typeof Be=="function"?Be:function(){return Be};if(zt.x=zt.y=0,vc(zt,function(oi){oi.r=+Rr(oi.value)}),vc(zt,zh),oe){var Ir=oe*(Be?1:Math.max(2*zt.r/or,2*zt.r/lr))/2;vc(zt,function(oi){oi.r+=Ir}),vc(zt,zh),vc(zt,function(oi){oi.r-=Ir})}return gc(zt,or/2,lr/2,Be?1:1/Math.max(2*zt.r/or,2*zt.r/lr)),tt}return Ue.size=function(We){return arguments.length?(we=We,Ue):we},Ue.radius=function(We){return arguments.length?(Be=We==null||typeof We=="function"?We:+We,Ue):Be},Ue.padding=function(We){return arguments.length?(oe=+We,Ue):oe},Wu(Ue,Z)};function pc(Z,oe){return Z.value-oe.value}function pf(Z,oe){var we=Z._pack_next;Z._pack_next=oe,oe._pack_prev=Z,oe._pack_next=we,we._pack_prev=oe}function Rh(Z,oe){Z._pack_next=oe,oe._pack_prev=Z}function Dl(Z,oe){var we=oe.x-Z.x,Be=oe.y-Z.y,Ue=Z.r+oe.r;return .999*Ue*Ue>we*we+Be*Be}function zh(Z){if(!(oe=Z.children)||!(Ir=oe.length))return;var oe,we=1/0,Be=-1/0,Ue=1/0,We=-1/0,wt,tt,zt,or,lr,Rr,Ir;function oi(Jr){we=Math.min(Jr.x-Jr.r,we),Be=Math.max(Jr.x+Jr.r,Be),Ue=Math.min(Jr.y-Jr.r,Ue),We=Math.max(Jr.y+Jr.r,We)}if(oe.forEach(Xu),wt=oe[0],wt.x=-wt.r,wt.y=0,oi(wt),Ir>1&&(tt=oe[1],tt.x=tt.r,tt.y=0,oi(tt),Ir>2))for(zt=oe[2],hl(wt,tt,zt),oi(zt),pf(wt,zt),wt._pack_prev=zt,pf(zt,tt),tt=wt._pack_next,or=3;orKr.x&&(Kr=un),un.depth>ii.depth&&(ii=un)});var vi=oe(qr,Kr)/2-qr.x,ci=we[0]/(Kr.x+oe(Kr,qr)/2+vi),Jr=we[1]/(ii.depth||1);Pc(oi,function(un){un.x=(un.x+vi)*ci,un.y=un.depth*Jr})}return Ir}function We(lr){for(var Rr={A:null,children:[lr]},Ir=[Rr],oi;(oi=Ir.pop())!=null;)for(var ui=oi.children,qr,Kr=0,ii=ui.length;Kr0&&(nc(gt(qr,lr,Ir),lr,un),ii+=un,vi+=un),ci+=qr.m,ii+=oi.m,Jr+=Kr.m,vi+=ui.m;qr&&!Yc(ui)&&(ui.t=qr,ui.m+=ci-vi),oi&&!mc(Kr)&&(Kr.t=oi,Kr.m+=ii-Jr,Ir=lr)}return Ir}function or(lr){lr.x*=we[0],lr.y=lr.depth*we[1]}return Ue.separation=function(lr){return arguments.length?(oe=lr,Ue):oe},Ue.size=function(lr){return arguments.length?(Be=(we=lr)==null?or:null,Ue):Be?null:we},Ue.nodeSize=function(lr){return arguments.length?(Be=(we=lr)==null?null:or,Ue):Be?we:null},Wu(Ue,Z)};function ru(Z,oe){return Z.parent==oe.parent?1:2}function mc(Z){var oe=Z.children;return oe.length?oe[0]:Z.t}function Yc(Z){var oe=Z.children,we;return(we=oe.length)?oe[we-1]:Z.t}function nc(Z,oe,we){var Be=we/(oe.i-Z.i);oe.c-=Be,oe.s+=we,Z.c+=Be,oe.z+=we,oe.m+=we}function gf(Z){for(var oe=0,we=0,Be=Z.children,Ue=Be.length,We;--Ue>=0;)We=Be[Ue],We.z+=oe,We.m+=oe,oe+=We.s+(we+=We.c)}function gt(Z,oe,we){return Z.a.parent===oe.parent?Z.a:we}e.layout.cluster=function(){var Z=e.layout.hierarchy().sort(null).value(null),oe=ru,we=[1,1],Be=!1;function Ue(We,wt){var tt=Z.call(this,We,wt),zt=tt[0],or,lr=0;vc(zt,function(qr){var Kr=qr.children;Kr&&Kr.length?(qr.x=wr(Kr),qr.y=Bt(Kr)):(qr.x=or?lr+=oe(qr,or):0,qr.y=0,or=qr)});var Rr=vr(zt),Ir=Ur(zt),oi=Rr.x-oe(Rr,Ir)/2,ui=Ir.x+oe(Ir,Rr)/2;return vc(zt,Be?function(qr){qr.x=(qr.x-zt.x)*we[0],qr.y=(zt.y-qr.y)*we[1]}:function(qr){qr.x=(qr.x-oi)/(ui-oi)*we[0],qr.y=(1-(zt.y?qr.y/zt.y:1))*we[1]}),tt}return Ue.separation=function(We){return arguments.length?(oe=We,Ue):oe},Ue.size=function(We){return arguments.length?(Be=(we=We)==null,Ue):Be?null:we},Ue.nodeSize=function(We){return arguments.length?(Be=(we=We)!=null,Ue):Be?we:null},Wu(Ue,Z)};function Bt(Z){return 1+e.max(Z,function(oe){return oe.y})}function wr(Z){return Z.reduce(function(oe,we){return oe+we.x},0)/Z.length}function vr(Z){var oe=Z.children;return oe&&oe.length?vr(oe[0]):Z}function Ur(Z){var oe=Z.children,we;return oe&&(we=oe.length)?Ur(oe[we-1]):Z}e.layout.treemap=function(){var Z=e.layout.hierarchy(),oe=Math.round,we=[1,1],Be=null,Ue=fi,We=!1,wt,tt="squarify",zt=.5*(1+Math.sqrt(5));function or(qr,Kr){for(var ii=-1,vi=qr.length,ci,Jr;++ii0;)vi.push(Jr=ci[Nn-1]),vi.area+=Jr.area,tt!=="squarify"||(dn=Ir(vi,En))<=un?(ci.pop(),un=dn):(vi.area-=vi.pop().area,oi(vi,En,ii,!1),En=Math.min(ii.dx,ii.dy),vi.length=vi.area=0,un=1/0);vi.length&&(oi(vi,En,ii,!0),vi.length=vi.area=0),Kr.forEach(lr)}}function Rr(qr){var Kr=qr.children;if(Kr&&Kr.length){var ii=Ue(qr),vi=Kr.slice(),ci,Jr=[];for(or(vi,ii.dx*ii.dy/qr.value),Jr.area=0;ci=vi.pop();)Jr.push(ci),Jr.area+=ci.area,ci.z!=null&&(oi(Jr,ci.z?ii.dx:ii.dy,ii,!vi.length),Jr.length=Jr.area=0);Kr.forEach(Rr)}}function Ir(qr,Kr){for(var ii=qr.area,vi,ci=0,Jr=1/0,un=-1,dn=qr.length;++unci&&(ci=vi));return ii*=ii,Kr*=Kr,ii?Math.max(Kr*ci*zt/ii,ii/(Kr*Jr*zt)):1/0}function oi(qr,Kr,ii,vi){var ci=-1,Jr=qr.length,un=ii.x,dn=ii.y,En=Kr?oe(qr.area/Kr):0,Nn;if(Kr==ii.dx){for((vi||En>ii.dy)&&(En=ii.dy);++ciii.dx)&&(En=ii.dx);++ci1);return Z+oe*Be*Math.sqrt(-2*Math.log(We)/We)}},logNormal:function(){var Z=e.random.normal.apply(e,arguments);return function(){return Math.exp(Z())}},bates:function(Z){var oe=e.random.irwinHall(Z);return function(){return oe()/Z}},irwinHall:function(Z){return function(){for(var oe=0,we=0;we2?mi:hn,or=Be?Lu:gd;return Ue=zt(Z,oe,or,we),We=zt(oe,Z,or,Sl),tt}function tt(zt){return Ue(zt)}return tt.invert=function(zt){return We(zt)},tt.domain=function(zt){return arguments.length?(Z=zt.map(Number),wt()):Z},tt.range=function(zt){return arguments.length?(oe=zt,wt()):oe},tt.rangeRound=function(zt){return tt.range(zt).interpolate(rc)},tt.clamp=function(zt){return arguments.length?(Be=zt,wt()):Be},tt.interpolate=function(zt){return arguments.length?(we=zt,wt()):we},tt.ticks=function(zt){return qa(Z,zt)},tt.tickFormat=function(zt,or){return d3_scale_linearTickFormat(Z,zt,or)},tt.nice=function(zt){return Ta(Z,zt),wt()},tt.copy=function(){return Pn(Z,oe,we,Be)},wt()}function Ea(Z,oe){return e.rebind(Z,oe,"range","rangeRound","interpolate","clamp")}function Ta(Z,oe){return Ti(Z,qi(ka(Z,oe)[2])),Ti(Z,qi(ka(Z,oe)[2])),Z}function ka(Z,oe){oe==null&&(oe=10);var we=Fi(Z),Be=we[1]-we[0],Ue=Math.pow(10,Math.floor(Math.log(Be/oe)/Math.LN10)),We=oe/Be*Ue;return We<=.15?Ue*=10:We<=.35?Ue*=5:We<=.75&&(Ue*=2),we[0]=Math.ceil(we[0]/Ue)*Ue,we[1]=Math.floor(we[1]/Ue)*Ue+Ue*.5,we[2]=Ue,we}function qa(Z,oe){return e.range.apply(e,ka(Z,oe))}var Cn={s:1,g:1,p:1,r:1,e:1};function sn(Z){return-Math.floor(Math.log(Z)/Math.LN10+.01)}function Ua(Z,oe){var we=sn(oe[2]);return Z in Cn?Math.abs(we-sn(Math.max(p(oe[0]),p(oe[1]))))+ +(Z!=="e"):we-(Z==="%")*2}e.scale.log=function(){return mo(e.scale.linear().domain([0,1]),10,!0,[1,10])};function mo(Z,oe,we,Be){function Ue(tt){return(we?Math.log(tt<0?0:tt):-Math.log(tt>0?0:-tt))/Math.log(oe)}function We(tt){return we?Math.pow(oe,tt):-Math.pow(oe,-tt)}function wt(tt){return Z(Ue(tt))}return wt.invert=function(tt){return We(Z.invert(tt))},wt.domain=function(tt){return arguments.length?(we=tt[0]>=0,Z.domain((Be=tt.map(Number)).map(Ue)),wt):Be},wt.base=function(tt){return arguments.length?(oe=+tt,Z.domain(Be.map(Ue)),wt):oe},wt.nice=function(){var tt=Ti(Be.map(Ue),we?Math:Xo);return Z.domain(tt),Be=tt.map(We),wt},wt.ticks=function(){var tt=Fi(Be),zt=[],or=tt[0],lr=tt[1],Rr=Math.floor(Ue(or)),Ir=Math.ceil(Ue(lr)),oi=oe%1?2:oe;if(isFinite(Ir-Rr)){if(we){for(;Rr0;ui--)zt.push(We(Rr)*ui);for(Rr=0;zt[Rr]lr;Ir--);zt=zt.slice(Rr,Ir)}return zt},wt.copy=function(){return mo(Z.copy(),oe,we,Be)},Ea(wt,Z)}var Xo={floor:function(Z){return-Math.ceil(-Z)},ceil:function(Z){return-Math.floor(-Z)}};e.scale.pow=function(){return As(e.scale.linear(),1,[0,1])};function As(Z,oe,we){var Be=es(oe),Ue=es(1/oe);function We(wt){return Z(Be(wt))}return We.invert=function(wt){return Ue(Z.invert(wt))},We.domain=function(wt){return arguments.length?(Z.domain((we=wt.map(Number)).map(Be)),We):we},We.ticks=function(wt){return qa(we,wt)},We.tickFormat=function(wt,tt){return d3_scale_linearTickFormat(we,wt,tt)},We.nice=function(wt){return We.domain(Ta(we,wt))},We.exponent=function(wt){return arguments.length?(Be=es(oe=wt),Ue=es(1/oe),Z.domain(we.map(Be)),We):oe},We.copy=function(){return As(Z.copy(),oe,we)},Ea(We,Z)}function es(Z){return function(oe){return oe<0?-Math.pow(-oe,Z):Math.pow(oe,Z)}}e.scale.sqrt=function(){return e.scale.pow().exponent(.5)},e.scale.ordinal=function(){return _s([],{t:"range",a:[[]]})};function _s(Z,oe){var we,Be,Ue;function We(tt){return Be[((we.get(tt)||(oe.t==="range"?we.set(tt,Z.push(tt)):NaN))-1)%Be.length]}function wt(tt,zt){return e.range(Z.length).map(function(or){return tt+zt*or})}return We.domain=function(tt){if(!arguments.length)return Z;Z=[],we=new S;for(var zt=-1,or=tt.length,lr;++zt0?we[We-1]:Z[0],WeIr?0:1;if(lr=Le)return zt(lr,ui)+(or?zt(or,1-ui):"")+"Z";var qr,Kr,ii,vi,ci=0,Jr=0,un,dn,En,Nn,ga,_a,so,wa,io=[];if((vi=(+wt.apply(this,arguments)||0)/2)&&(ii=Be===Du?Math.sqrt(or*or+lr*lr):+Be.apply(this,arguments),ui||(Jr*=-1),lr&&(Jr=Qr(ii/lr*Math.sin(vi))),or&&(ci=Qr(ii/or*Math.sin(vi)))),lr){un=lr*Math.cos(Rr+Jr),dn=lr*Math.sin(Rr+Jr),En=lr*Math.cos(Ir-Jr),Nn=lr*Math.sin(Ir-Jr);var Ms=Math.abs(Ir-Rr-2*Jr)<=Xe?0:1;if(Jr&&Rc(un,dn,En,Nn)===ui^Ms){var xs=(Rr+Ir)/2;un=lr*Math.cos(xs),dn=lr*Math.sin(xs),En=Nn=null}}else un=dn=0;if(or){ga=or*Math.cos(Ir-ci),_a=or*Math.sin(Ir-ci),so=or*Math.cos(Rr+ci),wa=or*Math.sin(Rr+ci);var Ns=Math.abs(Rr-Ir+2*ci)<=Xe?0:1;if(ci&&Rc(ga,_a,so,wa)===1-ui^Ns){var pn=(Rr+Ir)/2;ga=or*Math.cos(pn),_a=or*Math.sin(pn),so=wa=null}}else ga=_a=0;if(oi>Ye&&(qr=Math.min(Math.abs(lr-or)/2,+we.apply(this,arguments)))>.001){Kr=or0?0:1}function Ra(Z,oe,we,Be,Ue){var We=Z[0]-oe[0],wt=Z[1]-oe[1],tt=(Ue?Be:-Be)/Math.sqrt(We*We+wt*wt),zt=tt*wt,or=-tt*We,lr=Z[0]+zt,Rr=Z[1]+or,Ir=oe[0]+zt,oi=oe[1]+or,ui=(lr+Ir)/2,qr=(Rr+oi)/2,Kr=Ir-lr,ii=oi-Rr,vi=Kr*Kr+ii*ii,ci=we-Be,Jr=lr*oi-Ir*Rr,un=(ii<0?-1:1)*Math.sqrt(Math.max(0,ci*ci*vi-Jr*Jr)),dn=(Jr*ii-Kr*un)/vi,En=(-Jr*Kr-ii*un)/vi,Nn=(Jr*ii+Kr*un)/vi,ga=(-Jr*Kr+ii*un)/vi,_a=dn-ui,so=En-qr,wa=Nn-ui,io=ga-qr;return _a*_a+so*so>wa*wa+io*io&&(dn=Nn,En=ga),[[dn-zt,En-or],[dn*we/ci,En*we/ci]]}function eo(){return!0}function Jc(Z){var oe=qs,we=Cs,Be=eo,Ue=_c,We=Ue.key,wt=.7;function tt(zt){var or=[],lr=[],Rr=-1,Ir=zt.length,oi,ui=ti(oe),qr=ti(we);function Kr(){or.push("M",Ue(Z(lr),wt))}for(;++Rr1?Z.join("L"):Z+"Z"}function le(Z){return Z.join("L")+"Z"}function w(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],",",Be[1]];++oe1&&Ue.push("H",Be[0]),Ue.join("")}function B(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],",",Be[1]];++oe1){tt=oe[1],We=Z[zt],zt++,Be+="C"+(Ue[0]+wt[0])+","+(Ue[1]+wt[1])+","+(We[0]-tt[0])+","+(We[1]-tt[1])+","+We[0]+","+We[1];for(var or=2;or9&&(We=we*3/Math.sqrt(We),wt[tt]=We*Be,wt[tt+1]=We*Ue));for(tt=-1;++tt<=zt;)We=(Z[Math.min(zt,tt+1)][0]-Z[Math.max(0,tt-1)][0])/(6*(1+wt[tt]*wt[tt])),oe.push([We||0,wt[tt]*We||0]);return oe}function Mt(Z){return Z.length<3?_c(Z):Z[0]+je(Z,et(Z))}e.svg.line.radial=function(){var Z=Jc(Rt);return Z.radius=Z.x,delete Z.x,Z.angle=Z.y,delete Z.y,Z};function Rt(Z){for(var oe,we=-1,Be=Z.length,Ue,We;++weXe)+",1 "+Rr}function or(lr,Rr,Ir,oi){return"Q 0,0 "+oi}return We.radius=function(lr){return arguments.length?(we=ti(lr),We):we},We.source=function(lr){return arguments.length?(Z=ti(lr),We):Z},We.target=function(lr){return arguments.length?(oe=ti(lr),We):oe},We.startAngle=function(lr){return arguments.length?(Be=ti(lr),We):Be},We.endAngle=function(lr){return arguments.length?(Ue=ti(lr),We):Ue},We};function Dr(Z){return Z.radius}e.svg.diagonal=function(){var Z=tr,oe=yr,we=zr;function Be(Ue,We){var wt=Z.call(this,Ue,We),tt=oe.call(this,Ue,We),zt=(wt.y+tt.y)/2,or=[wt,{x:wt.x,y:zt},{x:tt.x,y:zt},tt];return or=or.map(we),"M"+or[0]+"C"+or[1]+" "+or[2]+" "+or[3]}return Be.source=function(Ue){return arguments.length?(Z=ti(Ue),Be):Z},Be.target=function(Ue){return arguments.length?(oe=ti(Ue),Be):oe},Be.projection=function(Ue){return arguments.length?(we=Ue,Be):we},Be};function zr(Z){return[Z.x,Z.y]}e.svg.diagonal.radial=function(){var Z=e.svg.diagonal(),oe=zr,we=Z.projection;return Z.projection=function(Be){return arguments.length?we(Xr(oe=Be)):oe},Z};function Xr(Z){return function(){var oe=Z.apply(this,arguments),we=oe[0],Be=oe[1]-xe;return[we*Math.cos(Be),we*Math.sin(Be)]}}e.svg.symbol=function(){var Z=Li,oe=di;function we(Be,Ue){return(Qi.get(Z.call(this,Be,Ue))||Ci)(oe.call(this,Be,Ue))}return we.type=function(Be){return arguments.length?(Z=ti(Be),we):Z},we.size=function(Be){return arguments.length?(oe=ti(Be),we):oe},we};function di(){return 64}function Li(){return"circle"}function Ci(Z){var oe=Math.sqrt(Z/Xe);return"M0,"+oe+"A"+oe+","+oe+" 0 1,1 0,"+-oe+"A"+oe+","+oe+" 0 1,1 0,"+oe+"Z"}var Qi=e.map({circle:Ci,cross:function(Z){var oe=Math.sqrt(Z/5)/2;return"M"+-3*oe+","+-oe+"H"+-oe+"V"+-3*oe+"H"+oe+"V"+-oe+"H"+3*oe+"V"+oe+"H"+oe+"V"+3*oe+"H"+-oe+"V"+oe+"H"+-3*oe+"Z"},diamond:function(Z){var oe=Math.sqrt(Z/(2*pa)),we=oe*pa;return"M0,"+-oe+"L"+we+",0 0,"+oe+" "+-we+",0Z"},square:function(Z){var oe=Math.sqrt(Z)/2;return"M"+-oe+","+-oe+"L"+oe+","+-oe+" "+oe+","+oe+" "+-oe+","+oe+"Z"},"triangle-down":function(Z){var oe=Math.sqrt(Z/Mn),we=oe*Mn/2;return"M0,"+we+"L"+oe+","+-we+" "+-oe+","+-we+"Z"},"triangle-up":function(Z){var oe=Math.sqrt(Z/Mn),we=oe*Mn/2;return"M0,"+-we+"L"+oe+","+we+" "+-oe+","+we+"Z"}});e.svg.symbolTypes=Qi.keys();var Mn=Math.sqrt(3),pa=Math.tan(30*Se);Ce.transition=function(Z){for(var oe=Do||++co,we=po(Z),Be=[],Ue,We,wt=zs||{time:Date.now(),ease:uu,delay:0,duration:250},tt=-1,zt=this.length;++tt0;)Rr[--vi].call(Z,ii);if(Kr>=1)return wt.event&&wt.event.end.call(Z,Z.__data__,oe),--We.count?delete We[Be]:delete Z[we],1}wt||(tt=Ue.time,zt=Bo(Ir,0,tt),wt=We[Be]={tween:new S,time:tt,timer:zt,delay:Ue.delay,duration:Ue.duration,ease:Ue.ease,index:oe},Ue=null,++We.count)}e.svg.axis=function(){var Z=e.scale.linear(),oe=Vl,we=6,Be=6,Ue=3,We=[10],wt=null,tt;function zt(or){or.each(function(){var lr=e.select(this),Rr=this.__chart__||Z,Ir=this.__chart__=Z.copy(),oi=wt==null?Ir.ticks?Ir.ticks.apply(Ir,We):Ir.domain():wt,ui=tt==null?Ir.tickFormat?Ir.tickFormat.apply(Ir,We):H:tt,qr=lr.selectAll(".tick").data(oi,Ir),Kr=qr.enter().insert("g",".domain").attr("class","tick").style("opacity",Ye),ii=e.transition(qr.exit()).style("opacity",Ye).remove(),vi=e.transition(qr.order()).style("opacity",1),ci=Math.max(we,0)+Ue,Jr,un=Xi(Ir),dn=lr.selectAll(".domain").data([0]),En=(dn.enter().append("path").attr("class","domain"),e.transition(dn));Kr.append("line"),Kr.append("text");var Nn=Kr.select("line"),ga=vi.select("line"),_a=qr.select("text").text(ui),so=Kr.select("text"),wa=vi.select("text"),io=oe==="top"||oe==="left"?-1:1,Ms,xs,Ns,pn;if(oe==="bottom"||oe==="top"?(Jr=cu,Ms="x",Ns="y",xs="x2",pn="y2",_a.attr("dy",io<0?"0em":".71em").style("text-anchor","middle"),En.attr("d","M"+un[0]+","+io*Be+"V0H"+un[1]+"V"+io*Be)):(Jr=el,Ms="y",Ns="x",xs="y2",pn="x2",_a.attr("dy",".32em").style("text-anchor",io<0?"end":"start"),En.attr("d","M"+io*Be+","+un[0]+"H0V"+un[1]+"H"+io*Be)),Nn.attr(pn,io*we),so.attr(Ns,io*ci),ga.attr(xs,0).attr(pn,io*we),wa.attr(Ms,0).attr(Ns,io*ci),Ir.rangeBand){var za=Ir,Lo=za.rangeBand()/2;Rr=Ir=function(Fo){return za(Fo)+Lo}}else Rr.rangeBand?Rr=Ir:ii.call(Jr,Ir,Rr);Kr.call(Jr,Rr,Ir),vi.call(Jr,Ir,Ir)})}return zt.scale=function(or){return arguments.length?(Z=or,zt):Z},zt.orient=function(or){return arguments.length?(oe=or in Yu?or+"":Vl,zt):oe},zt.ticks=function(){return arguments.length?(We=r(arguments),zt):We},zt.tickValues=function(or){return arguments.length?(wt=or,zt):wt},zt.tickFormat=function(or){return arguments.length?(tt=or,zt):tt},zt.tickSize=function(or){var lr=arguments.length;return lr?(we=+or,Be=+arguments[lr-1],zt):we},zt.innerTickSize=function(or){return arguments.length?(we=+or,zt):we},zt.outerTickSize=function(or){return arguments.length?(Be=+or,zt):Be},zt.tickPadding=function(or){return arguments.length?(Ue=+or,zt):Ue},zt.tickSubdivide=function(){return arguments.length&&zt},zt};var Vl="bottom",Yu={top:1,right:1,bottom:1,left:1};function cu(Z,oe,we){Z.attr("transform",function(Be){var Ue=oe(Be);return"translate("+(isFinite(Ue)?Ue:we(Be))+",0)"})}function el(Z,oe,we){Z.attr("transform",function(Be){var Ue=oe(Be);return"translate(0,"+(isFinite(Ue)?Ue:we(Be))+")"})}e.svg.brush=function(){var Z=ke(lr,"brushstart","brush","brushend"),oe=null,we=null,Be=[0,0],Ue=[0,0],We,wt,tt=!0,zt=!0,or=zc[0];function lr(qr){qr.each(function(){var Kr=e.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",ui).on("touchstart.brush",ui),ii=Kr.selectAll(".background").data([0]);ii.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),Kr.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var vi=Kr.selectAll(".resize").data(or,H);vi.exit().remove(),vi.enter().append("g").attr("class",function(dn){return"resize "+dn}).style("cursor",function(dn){return nu[dn]}).append("rect").attr("x",function(dn){return/[ew]$/.test(dn)?-3:null}).attr("y",function(dn){return/^[ns]/.test(dn)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),vi.style("display",lr.empty()?"none":null);var ci=e.transition(Kr),Jr=e.transition(ii),un;oe&&(un=Xi(oe),Jr.attr("x",un[0]).attr("width",un[1]-un[0]),Ir(ci)),we&&(un=Xi(we),Jr.attr("y",un[0]).attr("height",un[1]-un[0]),oi(ci)),Rr(ci)})}lr.event=function(qr){qr.each(function(){var Kr=Z.of(this,arguments),ii={x:Be,y:Ue,i:We,j:wt},vi=this.__chart__||ii;this.__chart__=ii,Do?e.select(this).transition().each("start.brush",function(){We=vi.i,wt=vi.j,Be=vi.x,Ue=vi.y,Kr({type:"brushstart"})}).tween("brush:brush",function(){var ci=ec(Be,ii.x),Jr=ec(Ue,ii.y);return We=wt=null,function(un){Be=ii.x=ci(un),Ue=ii.y=Jr(un),Kr({type:"brush",mode:"resize"})}}).each("end.brush",function(){We=ii.i,wt=ii.j,Kr({type:"brush",mode:"resize"}),Kr({type:"brushend"})}):(Kr({type:"brushstart"}),Kr({type:"brush",mode:"resize"}),Kr({type:"brushend"}))})};function Rr(qr){qr.selectAll(".resize").attr("transform",function(Kr){return"translate("+Be[+/e$/.test(Kr)]+","+Ue[+/^s/.test(Kr)]+")"})}function Ir(qr){qr.select(".extent").attr("x",Be[0]),qr.selectAll(".extent,.n>rect,.s>rect").attr("width",Be[1]-Be[0])}function oi(qr){qr.select(".extent").attr("y",Ue[0]),qr.selectAll(".extent,.e>rect,.w>rect").attr("height",Ue[1]-Ue[0])}function ui(){var qr=this,Kr=e.select(e.event.target),ii=Z.of(qr,arguments),vi=e.select(qr),ci=Kr.datum(),Jr=!/^(n|s)$/.test(ci)&&oe,un=!/^(e|w)$/.test(ci)&&we,dn=Kr.classed("extent"),En=Or(qr),Nn,ga=e.mouse(qr),_a,so=e.select(a(qr)).on("keydown.brush",Ms).on("keyup.brush",xs);if(e.event.changedTouches?so.on("touchmove.brush",Ns).on("touchend.brush",za):so.on("mousemove.brush",Ns).on("mouseup.brush",za),vi.interrupt().selectAll("*").interrupt(),dn)ga[0]=Be[0]-ga[0],ga[1]=Ue[0]-ga[1];else if(ci){var wa=+/w$/.test(ci),io=+/^n/.test(ci);_a=[Be[1-wa]-ga[0],Ue[1-io]-ga[1]],ga[0]=Be[wa],ga[1]=Ue[io]}else e.event.altKey&&(Nn=ga.slice());vi.style("pointer-events","none").selectAll(".resize").style("display",null),e.select("body").style("cursor",Kr.style("cursor")),ii({type:"brushstart"}),Ns();function Ms(){e.event.keyCode==32&&(dn||(Nn=null,ga[0]-=Be[1],ga[1]-=Ue[1],dn=2),_e())}function xs(){e.event.keyCode==32&&dn==2&&(ga[0]+=Be[1],ga[1]+=Ue[1],dn=0,_e())}function Ns(){var Lo=e.mouse(qr),Fo=!1;_a&&(Lo[0]+=_a[0],Lo[1]+=_a[1]),dn||(e.event.altKey?(Nn||(Nn=[(Be[0]+Be[1])/2,(Ue[0]+Ue[1])/2]),ga[0]=Be[+(Lo[0]{(function(e,t){typeof b6=="object"&&typeof gee!="undefined"?t(b6):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(b6,function(e){"use strict";var t=new Date,r=new Date;function n(Ke,bt,xt,Lt){function St(Et){return Ke(Et=arguments.length===0?new Date:new Date(+Et)),Et}return St.floor=function(Et){return Ke(Et=new Date(+Et)),Et},St.ceil=function(Et){return Ke(Et=new Date(Et-1)),bt(Et,1),Ke(Et),Et},St.round=function(Et){var dt=St(Et),Ht=St.ceil(Et);return Et-dt0))return $t;do $t.push(fr=new Date(+Et)),bt(Et,Ht),Ke(Et);while(fr=dt)for(;Ke(dt),!Et(dt);)dt.setTime(dt-1)},function(dt,Ht){if(dt>=dt)if(Ht<0)for(;++Ht<=0;)for(;bt(dt,-1),!Et(dt););else for(;--Ht>=0;)for(;bt(dt,1),!Et(dt););})},xt&&(St.count=function(Et,dt){return t.setTime(+Et),r.setTime(+dt),Ke(t),Ke(r),Math.floor(xt(t,r))},St.every=function(Et){return Et=Math.floor(Et),!isFinite(Et)||!(Et>0)?null:Et>1?St.filter(Lt?function(dt){return Lt(dt)%Et===0}:function(dt){return St.count(0,dt)%Et===0}):St}),St}var i=n(function(){},function(Ke,bt){Ke.setTime(+Ke+bt)},function(Ke,bt){return bt-Ke});i.every=function(Ke){return Ke=Math.floor(Ke),!isFinite(Ke)||!(Ke>0)?null:Ke>1?n(function(bt){bt.setTime(Math.floor(bt/Ke)*Ke)},function(bt,xt){bt.setTime(+bt+xt*Ke)},function(bt,xt){return(xt-bt)/Ke}):i};var a=i.range,o=1e3,s=6e4,l=36e5,u=864e5,c=6048e5,f=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds())},function(Ke,bt){Ke.setTime(+Ke+bt*o)},function(Ke,bt){return(bt-Ke)/o},function(Ke){return Ke.getUTCSeconds()}),h=f.range,v=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds()-Ke.getSeconds()*o)},function(Ke,bt){Ke.setTime(+Ke+bt*s)},function(Ke,bt){return(bt-Ke)/s},function(Ke){return Ke.getMinutes()}),d=v.range,_=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds()-Ke.getSeconds()*o-Ke.getMinutes()*s)},function(Ke,bt){Ke.setTime(+Ke+bt*l)},function(Ke,bt){return(bt-Ke)/l},function(Ke){return Ke.getHours()}),b=_.range,p=n(function(Ke){Ke.setHours(0,0,0,0)},function(Ke,bt){Ke.setDate(Ke.getDate()+bt)},function(Ke,bt){return(bt-Ke-(bt.getTimezoneOffset()-Ke.getTimezoneOffset())*s)/u},function(Ke){return Ke.getDate()-1}),E=p.range;function k(Ke){return n(function(bt){bt.setDate(bt.getDate()-(bt.getDay()+7-Ke)%7),bt.setHours(0,0,0,0)},function(bt,xt){bt.setDate(bt.getDate()+xt*7)},function(bt,xt){return(xt-bt-(xt.getTimezoneOffset()-bt.getTimezoneOffset())*s)/c})}var S=k(0),L=k(1),x=k(2),C=k(3),M=k(4),g=k(5),P=k(6),T=S.range,F=L.range,q=x.range,V=C.range,H=M.range,X=g.range,G=P.range,N=n(function(Ke){Ke.setDate(1),Ke.setHours(0,0,0,0)},function(Ke,bt){Ke.setMonth(Ke.getMonth()+bt)},function(Ke,bt){return bt.getMonth()-Ke.getMonth()+(bt.getFullYear()-Ke.getFullYear())*12},function(Ke){return Ke.getMonth()}),W=N.range,re=n(function(Ke){Ke.setMonth(0,1),Ke.setHours(0,0,0,0)},function(Ke,bt){Ke.setFullYear(Ke.getFullYear()+bt)},function(Ke,bt){return bt.getFullYear()-Ke.getFullYear()},function(Ke){return Ke.getFullYear()});re.every=function(Ke){return!isFinite(Ke=Math.floor(Ke))||!(Ke>0)?null:n(function(bt){bt.setFullYear(Math.floor(bt.getFullYear()/Ke)*Ke),bt.setMonth(0,1),bt.setHours(0,0,0,0)},function(bt,xt){bt.setFullYear(bt.getFullYear()+xt*Ke)})};var ae=re.range,_e=n(function(Ke){Ke.setUTCSeconds(0,0)},function(Ke,bt){Ke.setTime(+Ke+bt*s)},function(Ke,bt){return(bt-Ke)/s},function(Ke){return Ke.getUTCMinutes()}),Me=_e.range,ke=n(function(Ke){Ke.setUTCMinutes(0,0,0)},function(Ke,bt){Ke.setTime(+Ke+bt*l)},function(Ke,bt){return(bt-Ke)/l},function(Ke){return Ke.getUTCHours()}),ge=ke.range,ie=n(function(Ke){Ke.setUTCHours(0,0,0,0)},function(Ke,bt){Ke.setUTCDate(Ke.getUTCDate()+bt)},function(Ke,bt){return(bt-Ke)/u},function(Ke){return Ke.getUTCDate()-1}),Te=ie.range;function Ee(Ke){return n(function(bt){bt.setUTCDate(bt.getUTCDate()-(bt.getUTCDay()+7-Ke)%7),bt.setUTCHours(0,0,0,0)},function(bt,xt){bt.setUTCDate(bt.getUTCDate()+xt*7)},function(bt,xt){return(xt-bt)/c})}var Ae=Ee(0),ze=Ee(1),Ce=Ee(2),me=Ee(3),De=Ee(4),ce=Ee(5),Ge=Ee(6),nt=Ae.range,ct=ze.range,qt=Ce.range,rt=me.range,ot=De.range,It=ce.range,kt=Ge.range,Ct=n(function(Ke){Ke.setUTCDate(1),Ke.setUTCHours(0,0,0,0)},function(Ke,bt){Ke.setUTCMonth(Ke.getUTCMonth()+bt)},function(Ke,bt){return bt.getUTCMonth()-Ke.getUTCMonth()+(bt.getUTCFullYear()-Ke.getUTCFullYear())*12},function(Ke){return Ke.getUTCMonth()}),Yt=Ct.range,mr=n(function(Ke){Ke.setUTCMonth(0,1),Ke.setUTCHours(0,0,0,0)},function(Ke,bt){Ke.setUTCFullYear(Ke.getUTCFullYear()+bt)},function(Ke,bt){return bt.getUTCFullYear()-Ke.getUTCFullYear()},function(Ke){return Ke.getUTCFullYear()});mr.every=function(Ke){return!isFinite(Ke=Math.floor(Ke))||!(Ke>0)?null:n(function(bt){bt.setUTCFullYear(Math.floor(bt.getUTCFullYear()/Ke)*Ke),bt.setUTCMonth(0,1),bt.setUTCHours(0,0,0,0)},function(bt,xt){bt.setUTCFullYear(bt.getUTCFullYear()+xt*Ke)})};var er=mr.range;e.timeDay=p,e.timeDays=E,e.timeFriday=g,e.timeFridays=X,e.timeHour=_,e.timeHours=b,e.timeInterval=n,e.timeMillisecond=i,e.timeMilliseconds=a,e.timeMinute=v,e.timeMinutes=d,e.timeMonday=L,e.timeMondays=F,e.timeMonth=N,e.timeMonths=W,e.timeSaturday=P,e.timeSaturdays=G,e.timeSecond=f,e.timeSeconds=h,e.timeSunday=S,e.timeSundays=T,e.timeThursday=M,e.timeThursdays=H,e.timeTuesday=x,e.timeTuesdays=q,e.timeWednesday=C,e.timeWednesdays=V,e.timeWeek=S,e.timeWeeks=T,e.timeYear=re,e.timeYears=ae,e.utcDay=ie,e.utcDays=Te,e.utcFriday=ce,e.utcFridays=It,e.utcHour=ke,e.utcHours=ge,e.utcMillisecond=i,e.utcMilliseconds=a,e.utcMinute=_e,e.utcMinutes=Me,e.utcMonday=ze,e.utcMondays=ct,e.utcMonth=Ct,e.utcMonths=Yt,e.utcSaturday=Ge,e.utcSaturdays=kt,e.utcSecond=f,e.utcSeconds=h,e.utcSunday=Ae,e.utcSundays=nt,e.utcThursday=De,e.utcThursdays=ot,e.utcTuesday=Ce,e.utcTuesdays=qt,e.utcWednesday=me,e.utcWednesdays=rt,e.utcWeek=Ae,e.utcWeeks=nt,e.utcYear=mr,e.utcYears=er,Object.defineProperty(e,"__esModule",{value:!0})})});var d3=ye((w6,mee)=>{(function(e,t){typeof w6=="object"&&typeof mee!="undefined"?t(w6,Eq()):typeof define=="function"&&define.amd?define(["exports","d3-time"],t):(e=e||self,t(e.d3=e.d3||{},e.d3))})(w6,function(e,t){"use strict";function r(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L);return Ye.setFullYear(Ne.y),Ye}return new Date(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L)}function n(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(Date.UTC(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L));return Ye.setUTCFullYear(Ne.y),Ye}return new Date(Date.UTC(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L))}function i(Ne,Ye,Ve){return{y:Ne,m:Ye,d:Ve,H:0,M:0,S:0,L:0}}function a(Ne){var Ye=Ne.dateTime,Ve=Ne.date,Xe=Ne.time,ht=Ne.periods,Le=Ne.days,xe=Ne.shortDays,Se=Ne.months,lt=Ne.shortMonths,Gt=h(ht),Vt=v(ht),ar=h(Le),Qr=v(Le),ai=h(xe),jr=v(xe),ri=h(Se),bi=v(Se),nn=h(lt),Wi=v(lt),Ni={a:Si,A:Mi,b:Pi,B:Gi,c:null,d:N,e:N,f:Me,H:W,I:re,j:ae,L:_e,m:ke,M:ge,p:Ki,q:Ca,Q:dt,s:Ht,S:ie,u:Te,U:Ee,V:Ae,w:ze,W:Ce,x:null,X:null,y:me,Y:De,Z:ce,"%":Et},_n={a:jn,A:ua,b:Fa,B:Da,c:null,d:Ge,e:Ge,f:ot,H:nt,I:ct,j:qt,L:rt,m:It,M:kt,p:jo,q:sa,Q:dt,s:Ht,S:Ct,u:Yt,U:mr,V:er,w:Ke,W:bt,x:null,X:null,y:xt,Y:Lt,Z:St,"%":Et},$i={a:jt,A:Zt,b:_r,B:Fr,c:Zr,d:M,e:M,f:V,H:P,I:P,j:g,L:q,m:C,M:T,p:ft,q:x,Q:X,s:G,S:F,u:_,U:b,V:p,w:d,W:E,x:Vr,X:gi,y:S,Y:k,Z:L,"%":H};Ni.x=zn(Ve,Ni),Ni.X=zn(Xe,Ni),Ni.c=zn(Ye,Ni),_n.x=zn(Ve,_n),_n.X=zn(Xe,_n),_n.c=zn(Ye,_n);function zn(Sn,Ha){return function(oo){var xn=[],_t=-1,br=0,Hr=Sn.length,ti,zi,Yi;for(oo instanceof Date||(oo=new Date(+oo));++_t53)return null;"w"in xn||(xn.w=1),"Z"in xn?(br=n(i(xn.y,0,1)),Hr=br.getUTCDay(),br=Hr>4||Hr===0?t.utcMonday.ceil(br):t.utcMonday(br),br=t.utcDay.offset(br,(xn.V-1)*7),xn.y=br.getUTCFullYear(),xn.m=br.getUTCMonth(),xn.d=br.getUTCDate()+(xn.w+6)%7):(br=r(i(xn.y,0,1)),Hr=br.getDay(),br=Hr>4||Hr===0?t.timeMonday.ceil(br):t.timeMonday(br),br=t.timeDay.offset(br,(xn.V-1)*7),xn.y=br.getFullYear(),xn.m=br.getMonth(),xn.d=br.getDate()+(xn.w+6)%7)}else("W"in xn||"U"in xn)&&("w"in xn||(xn.w="u"in xn?xn.u%7:"W"in xn?1:0),Hr="Z"in xn?n(i(xn.y,0,1)).getUTCDay():r(i(xn.y,0,1)).getDay(),xn.m=0,xn.d="W"in xn?(xn.w+6)%7+xn.W*7-(Hr+5)%7:xn.w+xn.U*7-(Hr+6)%7);return"Z"in xn?(xn.H+=xn.Z/100|0,xn.M+=xn.Z%100,n(xn)):r(xn)}}function Dt(Sn,Ha,oo,xn){for(var _t=0,br=Ha.length,Hr=oo.length,ti,zi;_t=Hr)return-1;if(ti=Ha.charCodeAt(_t++),ti===37){if(ti=Ha.charAt(_t++),zi=$i[ti in o?Ha.charAt(_t++):ti],!zi||(xn=zi(Sn,oo,xn))<0)return-1}else if(ti!=oo.charCodeAt(xn++))return-1}return xn}function ft(Sn,Ha,oo){var xn=Gt.exec(Ha.slice(oo));return xn?(Sn.p=Vt[xn[0].toLowerCase()],oo+xn[0].length):-1}function jt(Sn,Ha,oo){var xn=ai.exec(Ha.slice(oo));return xn?(Sn.w=jr[xn[0].toLowerCase()],oo+xn[0].length):-1}function Zt(Sn,Ha,oo){var xn=ar.exec(Ha.slice(oo));return xn?(Sn.w=Qr[xn[0].toLowerCase()],oo+xn[0].length):-1}function _r(Sn,Ha,oo){var xn=nn.exec(Ha.slice(oo));return xn?(Sn.m=Wi[xn[0].toLowerCase()],oo+xn[0].length):-1}function Fr(Sn,Ha,oo){var xn=ri.exec(Ha.slice(oo));return xn?(Sn.m=bi[xn[0].toLowerCase()],oo+xn[0].length):-1}function Zr(Sn,Ha,oo){return Dt(Sn,Ye,Ha,oo)}function Vr(Sn,Ha,oo){return Dt(Sn,Ve,Ha,oo)}function gi(Sn,Ha,oo){return Dt(Sn,Xe,Ha,oo)}function Si(Sn){return xe[Sn.getDay()]}function Mi(Sn){return Le[Sn.getDay()]}function Pi(Sn){return lt[Sn.getMonth()]}function Gi(Sn){return Se[Sn.getMonth()]}function Ki(Sn){return ht[+(Sn.getHours()>=12)]}function Ca(Sn){return 1+~~(Sn.getMonth()/3)}function jn(Sn){return xe[Sn.getUTCDay()]}function ua(Sn){return Le[Sn.getUTCDay()]}function Fa(Sn){return lt[Sn.getUTCMonth()]}function Da(Sn){return Se[Sn.getUTCMonth()]}function jo(Sn){return ht[+(Sn.getUTCHours()>=12)]}function sa(Sn){return 1+~~(Sn.getUTCMonth()/3)}return{format:function(Sn){var Ha=zn(Sn+="",Ni);return Ha.toString=function(){return Sn},Ha},parse:function(Sn){var Ha=Wn(Sn+="",!1);return Ha.toString=function(){return Sn},Ha},utcFormat:function(Sn){var Ha=zn(Sn+="",_n);return Ha.toString=function(){return Sn},Ha},utcParse:function(Sn){var Ha=Wn(Sn+="",!0);return Ha.toString=function(){return Sn},Ha}}}var o={"-":"",_:" ",0:"0"},s=/^\s*\d+/,l=/^%/,u=/[\\^$*+?|[\]().{}]/g;function c(Ne,Ye,Ve){var Xe=Ne<0?"-":"",ht=(Xe?-Ne:Ne)+"",Le=ht.length;return Xe+(Le68?1900:2e3),Ve+Xe[0].length):-1}function L(Ne,Ye,Ve){var Xe=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(Ye.slice(Ve,Ve+6));return Xe?(Ne.Z=Xe[1]?0:-(Xe[2]+(Xe[3]||"00")),Ve+Xe[0].length):-1}function x(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.q=Xe[0]*3-3,Ve+Xe[0].length):-1}function C(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.m=Xe[0]-1,Ve+Xe[0].length):-1}function M(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.d=+Xe[0],Ve+Xe[0].length):-1}function g(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+3));return Xe?(Ne.m=0,Ne.d=+Xe[0],Ve+Xe[0].length):-1}function P(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.H=+Xe[0],Ve+Xe[0].length):-1}function T(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.M=+Xe[0],Ve+Xe[0].length):-1}function F(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.S=+Xe[0],Ve+Xe[0].length):-1}function q(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+3));return Xe?(Ne.L=+Xe[0],Ve+Xe[0].length):-1}function V(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+6));return Xe?(Ne.L=Math.floor(Xe[0]/1e3),Ve+Xe[0].length):-1}function H(Ne,Ye,Ve){var Xe=l.exec(Ye.slice(Ve,Ve+1));return Xe?Ve+Xe[0].length:-1}function X(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve));return Xe?(Ne.Q=+Xe[0],Ve+Xe[0].length):-1}function G(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve));return Xe?(Ne.s=+Xe[0],Ve+Xe[0].length):-1}function N(Ne,Ye){return c(Ne.getDate(),Ye,2)}function W(Ne,Ye){return c(Ne.getHours(),Ye,2)}function re(Ne,Ye){return c(Ne.getHours()%12||12,Ye,2)}function ae(Ne,Ye){return c(1+t.timeDay.count(t.timeYear(Ne),Ne),Ye,3)}function _e(Ne,Ye){return c(Ne.getMilliseconds(),Ye,3)}function Me(Ne,Ye){return _e(Ne,Ye)+"000"}function ke(Ne,Ye){return c(Ne.getMonth()+1,Ye,2)}function ge(Ne,Ye){return c(Ne.getMinutes(),Ye,2)}function ie(Ne,Ye){return c(Ne.getSeconds(),Ye,2)}function Te(Ne){var Ye=Ne.getDay();return Ye===0?7:Ye}function Ee(Ne,Ye){return c(t.timeSunday.count(t.timeYear(Ne)-1,Ne),Ye,2)}function Ae(Ne,Ye){var Ve=Ne.getDay();return Ne=Ve>=4||Ve===0?t.timeThursday(Ne):t.timeThursday.ceil(Ne),c(t.timeThursday.count(t.timeYear(Ne),Ne)+(t.timeYear(Ne).getDay()===4),Ye,2)}function ze(Ne){return Ne.getDay()}function Ce(Ne,Ye){return c(t.timeMonday.count(t.timeYear(Ne)-1,Ne),Ye,2)}function me(Ne,Ye){return c(Ne.getFullYear()%100,Ye,2)}function De(Ne,Ye){return c(Ne.getFullYear()%1e4,Ye,4)}function ce(Ne){var Ye=Ne.getTimezoneOffset();return(Ye>0?"-":(Ye*=-1,"+"))+c(Ye/60|0,"0",2)+c(Ye%60,"0",2)}function Ge(Ne,Ye){return c(Ne.getUTCDate(),Ye,2)}function nt(Ne,Ye){return c(Ne.getUTCHours(),Ye,2)}function ct(Ne,Ye){return c(Ne.getUTCHours()%12||12,Ye,2)}function qt(Ne,Ye){return c(1+t.utcDay.count(t.utcYear(Ne),Ne),Ye,3)}function rt(Ne,Ye){return c(Ne.getUTCMilliseconds(),Ye,3)}function ot(Ne,Ye){return rt(Ne,Ye)+"000"}function It(Ne,Ye){return c(Ne.getUTCMonth()+1,Ye,2)}function kt(Ne,Ye){return c(Ne.getUTCMinutes(),Ye,2)}function Ct(Ne,Ye){return c(Ne.getUTCSeconds(),Ye,2)}function Yt(Ne){var Ye=Ne.getUTCDay();return Ye===0?7:Ye}function mr(Ne,Ye){return c(t.utcSunday.count(t.utcYear(Ne)-1,Ne),Ye,2)}function er(Ne,Ye){var Ve=Ne.getUTCDay();return Ne=Ve>=4||Ve===0?t.utcThursday(Ne):t.utcThursday.ceil(Ne),c(t.utcThursday.count(t.utcYear(Ne),Ne)+(t.utcYear(Ne).getUTCDay()===4),Ye,2)}function Ke(Ne){return Ne.getUTCDay()}function bt(Ne,Ye){return c(t.utcMonday.count(t.utcYear(Ne)-1,Ne),Ye,2)}function xt(Ne,Ye){return c(Ne.getUTCFullYear()%100,Ye,2)}function Lt(Ne,Ye){return c(Ne.getUTCFullYear()%1e4,Ye,4)}function St(){return"+0000"}function Et(){return"%"}function dt(Ne){return+Ne}function Ht(Ne){return Math.floor(+Ne/1e3)}var $t;fr({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 fr(Ne){return $t=a(Ne),e.timeFormat=$t.format,e.timeParse=$t.parse,e.utcFormat=$t.utcFormat,e.utcParse=$t.utcParse,$t}var xr="%Y-%m-%dT%H:%M:%S.%LZ";function Br(Ne){return Ne.toISOString()}var Or=Date.prototype.toISOString?Br:e.utcFormat(xr);function Nr(Ne){var Ye=new Date(Ne);return isNaN(Ye)?null:Ye}var ut=+new Date("2000-01-01T00:00:00.000Z")?Nr:e.utcParse(xr);e.isoFormat=Or,e.isoParse=ut,e.timeFormatDefaultLocale=fr,e.timeFormatLocale=a,Object.defineProperty(e,"__esModule",{value:!0})})});var kq=ye((T6,yee)=>{(function(e,t){typeof T6=="object"&&typeof yee!="undefined"?t(T6):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis!="undefined"?globalThis:e||self,t(e.d3=e.d3||{}))})(T6,function(e){"use strict";function t(C){return Math.abs(C=Math.round(C))>=1e21?C.toLocaleString("en").replace(/,/g,""):C.toString(10)}function r(C,M){if((g=(C=M?C.toExponential(M-1):C.toExponential()).indexOf("e"))<0)return null;var g,P=C.slice(0,g);return[P.length>1?P[0]+P.slice(2):P,+C.slice(g+1)]}function n(C){return C=r(Math.abs(C)),C?C[1]:NaN}function i(C,M){return function(g,P){for(var T=g.length,F=[],q=0,V=C[0],H=0;T>0&&V>0&&(H+V+1>P&&(V=Math.max(1,P-H)),F.push(g.substring(T-=V,T+V)),!((H+=V+1)>P));)V=C[q=(q+1)%C.length];return F.reverse().join(M)}}function a(C){return function(M){return M.replace(/[0-9]/g,function(g){return C[+g]})}}var o=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function s(C){if(!(M=o.exec(C)))throw new Error("invalid format: "+C);var M;return new l({fill:M[1],align:M[2],sign:M[3],symbol:M[4],zero:M[5],width:M[6],comma:M[7],precision:M[8]&&M[8].slice(1),trim:M[9],type:M[10]})}s.prototype=l.prototype;function l(C){this.fill=C.fill===void 0?" ":C.fill+"",this.align=C.align===void 0?">":C.align+"",this.sign=C.sign===void 0?"-":C.sign+"",this.symbol=C.symbol===void 0?"":C.symbol+"",this.zero=!!C.zero,this.width=C.width===void 0?void 0:+C.width,this.comma=!!C.comma,this.precision=C.precision===void 0?void 0:+C.precision,this.trim=!!C.trim,this.type=C.type===void 0?"":C.type+""}l.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 u(C){e:for(var M=C.length,g=1,P=-1,T;g0&&(P=0);break}return P>0?C.slice(0,P)+C.slice(T+1):C}var c;function f(C,M){var g=r(C,M);if(!g)return C+"";var P=g[0],T=g[1],F=T-(c=Math.max(-8,Math.min(8,Math.floor(T/3)))*3)+1,q=P.length;return F===q?P:F>q?P+new Array(F-q+1).join("0"):F>0?P.slice(0,F)+"."+P.slice(F):"0."+new Array(1-F).join("0")+r(C,Math.max(0,M+F-1))[0]}function h(C,M){var g=r(C,M);if(!g)return C+"";var P=g[0],T=g[1];return T<0?"0."+new Array(-T).join("0")+P:P.length>T+1?P.slice(0,T+1)+"."+P.slice(T+1):P+new Array(T-P.length+2).join("0")}var v={"%":function(C,M){return(C*100).toFixed(M)},b:function(C){return Math.round(C).toString(2)},c:function(C){return C+""},d:t,e:function(C,M){return C.toExponential(M)},f:function(C,M){return C.toFixed(M)},g:function(C,M){return C.toPrecision(M)},o:function(C){return Math.round(C).toString(8)},p:function(C,M){return h(C*100,M)},r:h,s:f,X:function(C){return Math.round(C).toString(16).toUpperCase()},x:function(C){return Math.round(C).toString(16)}};function d(C){return C}var _=Array.prototype.map,b=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function p(C){var M=C.grouping===void 0||C.thousands===void 0?d:i(_.call(C.grouping,Number),C.thousands+""),g=C.currency===void 0?"":C.currency[0]+"",P=C.currency===void 0?"":C.currency[1]+"",T=C.decimal===void 0?".":C.decimal+"",F=C.numerals===void 0?d:a(_.call(C.numerals,String)),q=C.percent===void 0?"%":C.percent+"",V=C.minus===void 0?"-":C.minus+"",H=C.nan===void 0?"NaN":C.nan+"";function X(N){N=s(N);var W=N.fill,re=N.align,ae=N.sign,_e=N.symbol,Me=N.zero,ke=N.width,ge=N.comma,ie=N.precision,Te=N.trim,Ee=N.type;Ee==="n"?(ge=!0,Ee="g"):v[Ee]||(ie===void 0&&(ie=12),Te=!0,Ee="g"),(Me||W==="0"&&re==="=")&&(Me=!0,W="0",re="=");var Ae=_e==="$"?g:_e==="#"&&/[boxX]/.test(Ee)?"0"+Ee.toLowerCase():"",ze=_e==="$"?P:/[%p]/.test(Ee)?q:"",Ce=v[Ee],me=/[defgprs%]/.test(Ee);ie=ie===void 0?6:/[gprs]/.test(Ee)?Math.max(1,Math.min(21,ie)):Math.max(0,Math.min(20,ie));function De(ce){var Ge=Ae,nt=ze,ct,qt,rt;if(Ee==="c")nt=Ce(ce)+nt,ce="";else{ce=+ce;var ot=ce<0||1/ce<0;if(ce=isNaN(ce)?H:Ce(Math.abs(ce),ie),Te&&(ce=u(ce)),ot&&+ce==0&&ae!=="+"&&(ot=!1),Ge=(ot?ae==="("?ae:V:ae==="-"||ae==="("?"":ae)+Ge,nt=(Ee==="s"?b[8+c/3]:"")+nt+(ot&&ae==="("?")":""),me){for(ct=-1,qt=ce.length;++ctrt||rt>57){nt=(rt===46?T+ce.slice(ct+1):ce.slice(ct))+nt,ce=ce.slice(0,ct);break}}}ge&&!Me&&(ce=M(ce,1/0));var It=Ge.length+ce.length+nt.length,kt=It>1)+Ge+ce+nt+kt.slice(It);break;default:ce=kt+Ge+ce+nt;break}return F(ce)}return De.toString=function(){return N+""},De}function G(N,W){var re=X((N=s(N),N.type="f",N)),ae=Math.max(-8,Math.min(8,Math.floor(n(W)/3)))*3,_e=Math.pow(10,-ae),Me=b[8+ae/3];return function(ke){return re(_e*ke)+Me}}return{format:X,formatPrefix:G}}var E;k({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function k(C){return E=p(C),e.format=E.format,e.formatPrefix=E.formatPrefix,E}function S(C){return Math.max(0,-n(Math.abs(C)))}function L(C,M){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(n(M)/3)))*3-n(Math.abs(C)))}function x(C,M){return C=Math.abs(C),M=Math.abs(M)-C,Math.max(0,n(M)-n(C))+1}e.FormatSpecifier=l,e.formatDefaultLocale=k,e.formatLocale=p,e.formatSpecifier=s,e.precisionFixed=S,e.precisionPrefix=L,e.precisionRound=x,Object.defineProperty(e,"__esModule",{value:!0})})});var xee=ye((zer,_ee)=>{"use strict";_ee.exports=function(e){for(var t=e.length,r,n=0;n13)&&r!==32&&r!==133&&r!==160&&r!==5760&&r!==6158&&(r<8192||r>8205)&&r!==8232&&r!==8233&&r!==8239&&r!==8287&&r!==8288&&r!==12288&&r!==65279)return!1;return!0}});var uo=ye((Fer,bee)=>{"use strict";var Cet=xee();bee.exports=function(e){var t=typeof e;if(t==="string"){var r=e;if(e=+e,e===0&&Cet(r))return!1}else if(t!=="number")return!1;return e-e<1}});var Yo=ye((qer,wee)=>{"use strict";wee.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"}});var Cq=ye((A6,Tee)=>{(function(e,t){typeof A6=="object"&&typeof Tee!="undefined"?t(A6):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis!="undefined"?globalThis:e||self,t(e["base64-arraybuffer"]={}))})(A6,function(e){"use strict";for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=typeof Uint8Array=="undefined"?[]:new Uint8Array(256),n=0;n>2],c+=t[(s[l]&3)<<4|s[l+1]>>4],c+=t[(s[l+1]&15)<<2|s[l+2]>>6],c+=t[s[l+2]&63];return u%3===2?c=c.substring(0,c.length-1)+"=":u%3===1&&(c=c.substring(0,c.length-2)+"=="),c},a=function(o){var s=o.length*.75,l=o.length,u,c=0,f,h,v,d;o[o.length-1]==="="&&(s--,o[o.length-2]==="="&&s--);var _=new ArrayBuffer(s),b=new Uint8Array(_);for(u=0;u>4,b[c++]=(h&15)<<4|v>>2,b[c++]=(v&3)<<6|d&63;return _};e.decode=a,e.encode=i,Object.defineProperty(e,"__esModule",{value:!0})})});var yy=ye((Oer,Aee)=>{"use strict";Aee.exports=function(t){return window&&window.process&&window.process.versions?Object.prototype.toString.call(t)==="[object Object]":Object.prototype.toString.call(t)==="[object Object]"&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}});var pv=ye(bg=>{"use strict";var Let=Cq().decode,Pet=yy(),Lq=Array.isArray,Iet=ArrayBuffer,Det=DataView;function See(e){return Iet.isView(e)&&!(e instanceof Det)}bg.isTypedArray=See;function S6(e){return Lq(e)||See(e)}bg.isArrayOrTypedArray=S6;function Ret(e){return!S6(e[0])}bg.isArray1D=Ret;bg.ensureArray=function(e,t){return Lq(e)||(e=[]),e.length=t,e};var Ed={u1c:typeof Uint8ClampedArray=="undefined"?void 0:Uint8ClampedArray,i1:typeof Int8Array=="undefined"?void 0:Int8Array,u1:typeof Uint8Array=="undefined"?void 0:Uint8Array,i2:typeof Int16Array=="undefined"?void 0:Int16Array,u2:typeof Uint16Array=="undefined"?void 0:Uint16Array,i4:typeof Int32Array=="undefined"?void 0:Int32Array,u4:typeof Uint32Array=="undefined"?void 0:Uint32Array,f4:typeof Float32Array=="undefined"?void 0:Float32Array,f8:typeof Float64Array=="undefined"?void 0:Float64Array};Ed.uint8c=Ed.u1c;Ed.uint8=Ed.u1;Ed.int8=Ed.i1;Ed.uint16=Ed.u2;Ed.int16=Ed.i2;Ed.uint32=Ed.u4;Ed.int32=Ed.i4;Ed.float32=Ed.f4;Ed.float64=Ed.f8;function Pq(e){return e.constructor===ArrayBuffer}bg.isArrayBuffer=Pq;bg.decodeTypedArraySpec=function(e){var t=[],r=zet(e),n=r.dtype,i=Ed[n];if(!i)throw new Error('Error in dtype: "'+n+'"');var a=i.BYTES_PER_ELEMENT,o=r.bdata;Pq(o)||(o=Let(o));var s=r.shape===void 0?[o.byteLength/a]:(""+r.shape).split(",");s.reverse();var l=s.length,u,c,f=+s[0],h=a*f,v=0;if(l===1)t=new i(o);else if(l===2)for(u=+s[1],c=0;c{"use strict";var Eee=uo(),Dq=pv().isArrayOrTypedArray;Pee.exports=function(t,r){if(Eee(r))r=String(r);else if(typeof r!="string"||r.substr(r.length-4)==="[-1]")throw"bad property string";var n=r.split("."),i,a,o,s;for(s=0;s{"use strict";var v3=BS(),Net=/^\w*$/,Uet=0,Iee=1,M6=2,Dee=3,pb=4;Ree.exports=function(t,r,n,i){n=n||"name",i=i||"value";var a,o,s,l={};r&&r.length?(s=v3(t,r),o=s.get()):o=t,r=r||"";var u={};if(o)for(a=0;a2)return l[v]=l[v]|M6,f.set(h,null);if(c){for(a=v;a{"use strict";var Vet=/^(.*)(\.[^\.\[\]]+|\[\d\])$/,Het=/^[^\.\[\]]+$/;Fee.exports=function(e,t){for(;t;){var r=e.match(Vet);if(r)e=r[1];else if(e.match(Het))e="";else throw new Error("bad relativeAttr call:"+[e,t]);if(t.charAt(0)==="^")t=t.slice(1);else break}return e&&t.charAt(0)!=="["?e+"."+t:e+t}});var E6=ye((Her,Oee)=>{"use strict";var Get=uo();Oee.exports=function(t,r){if(t>0)return Math.log(t)/Math.LN10;var n=Math.log(Math.min(r[0],r[1]))/Math.LN10;return Get(n)||(n=Math.log(Math.max(r[0],r[1]))/Math.LN10-6),n}});var Uee=ye((Ger,Nee)=>{"use strict";var Bee=pv().isArrayOrTypedArray,NS=yy();Nee.exports=function e(t,r){for(var n in r){var i=r[n],a=t[n];if(a!==i)if(n.charAt(0)==="_"||typeof i=="function"){if(n in t)continue;t[n]=i}else if(Bee(i)&&Bee(a)&&NS(i[0])){if(n==="customdata"||n==="ids")continue;for(var o=Math.min(i.length,a.length),s=0;s{"use strict";function jet(e,t){var r=e%t;return r<0?r+t:r}function Wet(e,t){return Math.abs(e)>t/2?e-Math.round(e/t)*t:e}Vee.exports={mod:jet,modHalf:Wet}});var ad=ye((Wer,k6)=>{(function(e){var t=/^\s+/,r=/\s+$/,n=0,i=e.round,a=e.min,o=e.max,s=e.random;function l(me,De){if(me=me||"",De=De||{},me instanceof l)return me;if(!(this instanceof l))return new l(me,De);var ce=u(me);this._originalInput=me,this._r=ce.r,this._g=ce.g,this._b=ce.b,this._a=ce.a,this._roundA=i(100*this._a)/100,this._format=De.format||ce.format,this._gradientType=De.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=ce.ok,this._tc_id=n++}l.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 me=this.toRgb();return(me.r*299+me.g*587+me.b*114)/1e3},getLuminance:function(){var me=this.toRgb(),De,ce,Ge,nt,ct,qt;return De=me.r/255,ce=me.g/255,Ge=me.b/255,De<=.03928?nt=De/12.92:nt=e.pow((De+.055)/1.055,2.4),ce<=.03928?ct=ce/12.92:ct=e.pow((ce+.055)/1.055,2.4),Ge<=.03928?qt=Ge/12.92:qt=e.pow((Ge+.055)/1.055,2.4),.2126*nt+.7152*ct+.0722*qt},setAlpha:function(me){return this._a=N(me),this._roundA=i(100*this._a)/100,this},toHsv:function(){var me=v(this._r,this._g,this._b);return{h:me.h*360,s:me.s,v:me.v,a:this._a}},toHsvString:function(){var me=v(this._r,this._g,this._b),De=i(me.h*360),ce=i(me.s*100),Ge=i(me.v*100);return this._a==1?"hsv("+De+", "+ce+"%, "+Ge+"%)":"hsva("+De+", "+ce+"%, "+Ge+"%, "+this._roundA+")"},toHsl:function(){var me=f(this._r,this._g,this._b);return{h:me.h*360,s:me.s,l:me.l,a:this._a}},toHslString:function(){var me=f(this._r,this._g,this._b),De=i(me.h*360),ce=i(me.s*100),Ge=i(me.l*100);return this._a==1?"hsl("+De+", "+ce+"%, "+Ge+"%)":"hsla("+De+", "+ce+"%, "+Ge+"%, "+this._roundA+")"},toHex:function(me){return _(this._r,this._g,this._b,me)},toHexString:function(me){return"#"+this.toHex(me)},toHex8:function(me){return b(this._r,this._g,this._b,this._a,me)},toHex8String:function(me){return"#"+this.toHex8(me)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+i(this._r)+", "+i(this._g)+", "+i(this._b)+")":"rgba("+i(this._r)+", "+i(this._g)+", "+i(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:i(W(this._r,255)*100)+"%",g:i(W(this._g,255)*100)+"%",b:i(W(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+i(W(this._r,255)*100)+"%, "+i(W(this._g,255)*100)+"%, "+i(W(this._b,255)*100)+"%)":"rgba("+i(W(this._r,255)*100)+"%, "+i(W(this._g,255)*100)+"%, "+i(W(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:X[_(this._r,this._g,this._b,!0)]||!1},toFilter:function(me){var De="#"+p(this._r,this._g,this._b,this._a),ce=De,Ge=this._gradientType?"GradientType = 1, ":"";if(me){var nt=l(me);ce="#"+p(nt._r,nt._g,nt._b,nt._a)}return"progid:DXImageTransform.Microsoft.gradient("+Ge+"startColorstr="+De+",endColorstr="+ce+")"},toString:function(me){var De=!!me;me=me||this._format;var ce=!1,Ge=this._a<1&&this._a>=0,nt=!De&&Ge&&(me==="hex"||me==="hex6"||me==="hex3"||me==="hex4"||me==="hex8"||me==="name");return nt?me==="name"&&this._a===0?this.toName():this.toRgbString():(me==="rgb"&&(ce=this.toRgbString()),me==="prgb"&&(ce=this.toPercentageRgbString()),(me==="hex"||me==="hex6")&&(ce=this.toHexString()),me==="hex3"&&(ce=this.toHexString(!0)),me==="hex4"&&(ce=this.toHex8String(!0)),me==="hex8"&&(ce=this.toHex8String()),me==="name"&&(ce=this.toName()),me==="hsl"&&(ce=this.toHslString()),me==="hsv"&&(ce=this.toHsvString()),ce||this.toHexString())},clone:function(){return l(this.toString())},_applyModification:function(me,De){var ce=me.apply(null,[this].concat([].slice.call(De)));return this._r=ce._r,this._g=ce._g,this._b=ce._b,this.setAlpha(ce._a),this},lighten:function(){return this._applyModification(L,arguments)},brighten:function(){return this._applyModification(x,arguments)},darken:function(){return this._applyModification(C,arguments)},desaturate:function(){return this._applyModification(E,arguments)},saturate:function(){return this._applyModification(k,arguments)},greyscale:function(){return this._applyModification(S,arguments)},spin:function(){return this._applyModification(M,arguments)},_applyCombination:function(me,De){return me.apply(null,[this].concat([].slice.call(De)))},analogous:function(){return this._applyCombination(q,arguments)},complement:function(){return this._applyCombination(g,arguments)},monochromatic:function(){return this._applyCombination(V,arguments)},splitcomplement:function(){return this._applyCombination(F,arguments)},triad:function(){return this._applyCombination(P,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},l.fromRatio=function(me,De){if(typeof me=="object"){var ce={};for(var Ge in me)me.hasOwnProperty(Ge)&&(Ge==="a"?ce[Ge]=me[Ge]:ce[Ge]=ge(me[Ge]));me=ce}return l(me,De)};function u(me){var De={r:0,g:0,b:0},ce=1,Ge=null,nt=null,ct=null,qt=!1,rt=!1;return typeof me=="string"&&(me=ze(me)),typeof me=="object"&&(Ae(me.r)&&Ae(me.g)&&Ae(me.b)?(De=c(me.r,me.g,me.b),qt=!0,rt=String(me.r).substr(-1)==="%"?"prgb":"rgb"):Ae(me.h)&&Ae(me.s)&&Ae(me.v)?(Ge=ge(me.s),nt=ge(me.v),De=d(me.h,Ge,nt),qt=!0,rt="hsv"):Ae(me.h)&&Ae(me.s)&&Ae(me.l)&&(Ge=ge(me.s),ct=ge(me.l),De=h(me.h,Ge,ct),qt=!0,rt="hsl"),me.hasOwnProperty("a")&&(ce=me.a)),ce=N(ce),{ok:qt,format:me.format||rt,r:a(255,o(De.r,0)),g:a(255,o(De.g,0)),b:a(255,o(De.b,0)),a:ce}}function c(me,De,ce){return{r:W(me,255)*255,g:W(De,255)*255,b:W(ce,255)*255}}function f(me,De,ce){me=W(me,255),De=W(De,255),ce=W(ce,255);var Ge=o(me,De,ce),nt=a(me,De,ce),ct,qt,rt=(Ge+nt)/2;if(Ge==nt)ct=qt=0;else{var ot=Ge-nt;switch(qt=rt>.5?ot/(2-Ge-nt):ot/(Ge+nt),Ge){case me:ct=(De-ce)/ot+(De1&&(Ct-=1),Ct<1/6?It+(kt-It)*6*Ct:Ct<1/2?kt:Ct<2/3?It+(kt-It)*(2/3-Ct)*6:It}if(De===0)Ge=nt=ct=ce;else{var rt=ce<.5?ce*(1+De):ce+De-ce*De,ot=2*ce-rt;Ge=qt(ot,rt,me+1/3),nt=qt(ot,rt,me),ct=qt(ot,rt,me-1/3)}return{r:Ge*255,g:nt*255,b:ct*255}}function v(me,De,ce){me=W(me,255),De=W(De,255),ce=W(ce,255);var Ge=o(me,De,ce),nt=a(me,De,ce),ct,qt,rt=Ge,ot=Ge-nt;if(qt=Ge===0?0:ot/Ge,Ge==nt)ct=0;else{switch(Ge){case me:ct=(De-ce)/ot+(De>1)+720)%360;--De;)Ge.h=(Ge.h+nt)%360,ct.push(l(Ge));return ct}function V(me,De){De=De||6;for(var ce=l(me).toHsv(),Ge=ce.h,nt=ce.s,ct=ce.v,qt=[],rt=1/De;De--;)qt.push(l({h:Ge,s:nt,v:ct})),ct=(ct+rt)%1;return qt}l.mix=function(me,De,ce){ce=ce===0?0:ce||50;var Ge=l(me).toRgb(),nt=l(De).toRgb(),ct=ce/100,qt={r:(nt.r-Ge.r)*ct+Ge.r,g:(nt.g-Ge.g)*ct+Ge.g,b:(nt.b-Ge.b)*ct+Ge.b,a:(nt.a-Ge.a)*ct+Ge.a};return l(qt)},l.readability=function(me,De){var ce=l(me),Ge=l(De);return(e.max(ce.getLuminance(),Ge.getLuminance())+.05)/(e.min(ce.getLuminance(),Ge.getLuminance())+.05)},l.isReadable=function(me,De,ce){var Ge=l.readability(me,De),nt,ct;switch(ct=!1,nt=Ce(ce),nt.level+nt.size){case"AAsmall":case"AAAlarge":ct=Ge>=4.5;break;case"AAlarge":ct=Ge>=3;break;case"AAAsmall":ct=Ge>=7;break}return ct},l.mostReadable=function(me,De,ce){var Ge=null,nt=0,ct,qt,rt,ot;ce=ce||{},qt=ce.includeFallbackColors,rt=ce.level,ot=ce.size;for(var It=0;Itnt&&(nt=ct,Ge=l(De[It]));return l.isReadable(me,Ge,{level:rt,size:ot})||!qt?Ge:(ce.includeFallbackColors=!1,l.mostReadable(me,["#fff","#000"],ce))};var H=l.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"},X=l.hexNames=G(H);function G(me){var De={};for(var ce in me)me.hasOwnProperty(ce)&&(De[me[ce]]=ce);return De}function N(me){return me=parseFloat(me),(isNaN(me)||me<0||me>1)&&(me=1),me}function W(me,De){_e(me)&&(me="100%");var ce=Me(me);return me=a(De,o(0,parseFloat(me))),ce&&(me=parseInt(me*De,10)/100),e.abs(me-De)<1e-6?1:me%De/parseFloat(De)}function re(me){return a(1,o(0,me))}function ae(me){return parseInt(me,16)}function _e(me){return typeof me=="string"&&me.indexOf(".")!=-1&&parseFloat(me)===1}function Me(me){return typeof me=="string"&&me.indexOf("%")!=-1}function ke(me){return me.length==1?"0"+me:""+me}function ge(me){return me<=1&&(me=me*100+"%"),me}function ie(me){return e.round(parseFloat(me)*255).toString(16)}function Te(me){return ae(me)/255}var Ee=function(){var me="[-\\+]?\\d+%?",De="[-\\+]?\\d*\\.\\d+%?",ce="(?:"+De+")|(?:"+me+")",Ge="[\\s|\\(]+("+ce+")[,|\\s]+("+ce+")[,|\\s]+("+ce+")\\s*\\)?",nt="[\\s|\\(]+("+ce+")[,|\\s]+("+ce+")[,|\\s]+("+ce+")[,|\\s]+("+ce+")\\s*\\)?";return{CSS_UNIT:new RegExp(ce),rgb:new RegExp("rgb"+Ge),rgba:new RegExp("rgba"+nt),hsl:new RegExp("hsl"+Ge),hsla:new RegExp("hsla"+nt),hsv:new RegExp("hsv"+Ge),hsva:new RegExp("hsva"+nt),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 Ae(me){return!!Ee.CSS_UNIT.exec(me)}function ze(me){me=me.replace(t,"").replace(r,"").toLowerCase();var De=!1;if(H[me])me=H[me],De=!0;else if(me=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var ce;return(ce=Ee.rgb.exec(me))?{r:ce[1],g:ce[2],b:ce[3]}:(ce=Ee.rgba.exec(me))?{r:ce[1],g:ce[2],b:ce[3],a:ce[4]}:(ce=Ee.hsl.exec(me))?{h:ce[1],s:ce[2],l:ce[3]}:(ce=Ee.hsla.exec(me))?{h:ce[1],s:ce[2],l:ce[3],a:ce[4]}:(ce=Ee.hsv.exec(me))?{h:ce[1],s:ce[2],v:ce[3]}:(ce=Ee.hsva.exec(me))?{h:ce[1],s:ce[2],v:ce[3],a:ce[4]}:(ce=Ee.hex8.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),a:Te(ce[4]),format:De?"name":"hex8"}:(ce=Ee.hex6.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),format:De?"name":"hex"}:(ce=Ee.hex4.exec(me))?{r:ae(ce[1]+""+ce[1]),g:ae(ce[2]+""+ce[2]),b:ae(ce[3]+""+ce[3]),a:Te(ce[4]+""+ce[4]),format:De?"name":"hex8"}:(ce=Ee.hex3.exec(me))?{r:ae(ce[1]+""+ce[1]),g:ae(ce[2]+""+ce[2]),b:ae(ce[3]+""+ce[3]),format:De?"name":"hex"}:!1}function Ce(me){var De,ce;return me=me||{level:"AA",size:"small"},De=(me.level||"AA").toUpperCase(),ce=(me.size||"small").toLowerCase(),De!=="AA"&&De!=="AAA"&&(De="AA"),ce!=="small"&&ce!=="large"&&(ce="small"),{level:De,size:ce}}typeof k6!="undefined"&&k6.exports?k6.exports=l:typeof define=="function"&&define.amd?define(function(){return l}):window.tinycolor=l})(Math)});var no=ye(HS=>{"use strict";var Hee=yy(),US=Array.isArray;function Zet(e,t){var r,n;for(r=0;r{"use strict";Gee.exports=function(e){var t=e.variantValues,r=e.editType,n=e.colorEditType;n===void 0&&(n=r);var i={editType:r,valType:"integer",min:1,max:1e3,extras:["normal","bold"],dflt:"normal"};e.noNumericWeightValues&&(i.valType="enumerated",i.values=i.extras,i.extras=void 0,i.min=void 0,i.max=void 0);var a={family:{valType:"string",noBlank:!0,strict:!0,editType:r},size:{valType:"number",min:1,editType:r},color:{valType:"color",editType:n},weight:i,style:{editType:r,valType:"enumerated",values:["normal","italic"],dflt:"normal"},variant:e.noFontVariant?void 0:{editType:r,valType:"enumerated",values:t||["normal","small-caps","all-small-caps","all-petite-caps","petite-caps","unicase"],dflt:"normal"},textcase:e.noFontTextcase?void 0:{editType:r,valType:"enumerated",values:["normal","word caps","upper","lower"],dflt:"normal"},lineposition:e.noFontLineposition?void 0:{editType:r,valType:"flaglist",flags:["under","over","through"],extras:["none"],dflt:"none"},shadow:e.noFontShadow?void 0:{editType:r,valType:"string",dflt:e.autoShadowDflt?"auto":"none"},editType:r};return e.autoSize&&(a.size.dflt="auto"),e.autoColor&&(a.color.dflt="auto"),e.arrayOk&&(a.family.arrayOk=!0,a.weight.arrayOk=!0,a.style.arrayOk=!0,e.noFontVariant||(a.variant.arrayOk=!0),e.noFontTextcase||(a.textcase.arrayOk=!0),e.noFontLineposition||(a.lineposition.arrayOk=!0),e.noFontShadow||(a.shadow.arrayOk=!0),a.size.arrayOk=!0,a.color.arrayOk=!0),a}});var GS=ye((Yer,jee)=>{"use strict";jee.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:"Arial, sans-serif",HOVERMINTIME:50,HOVERID:"-hover"}});var H1=ye((Ker,Xee)=>{"use strict";var Wee=GS(),Zee=Su(),Rq=Zee({editType:"none"});Rq.family.dflt=Wee.HOVERFONT;Rq.size.dflt=Wee.HOVERFONTSIZE;Xee.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar"},hoversubplots:{valType:"enumerated",values:["single","overlaying","axis"],dflt:"overlaying",editType:"none"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:Rq,grouptitlefont:Zee({editType:"none"}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}});var g3=ye((Jer,Yee)=>{"use strict";var Xet=Su(),C6=H1().hoverlabel,L6=no().extendFlat;Yee.exports={hoverlabel:{bgcolor:L6({},C6.bgcolor,{arrayOk:!0}),bordercolor:L6({},C6.bordercolor,{arrayOk:!0}),font:Xet({arrayOk:!0,editType:"none"}),align:L6({},C6.align,{arrayOk:!0}),namelength:L6({},C6.namelength,{arrayOk:!0}),editType:"none"}}});var vl=ye(($er,Kee)=>{"use strict";var Yet=Su(),Ket=g3();Kee.exports={type:{valType:"enumerated",values:[],dflt:"scatter",editType:"calc+clearAxisTypes",_noTemplating:!0},visible:{valType:"enumerated",values:[!0,!1,"legendonly"],dflt:!0,editType:"calc"},showlegend:{valType:"boolean",dflt:!0,editType:"style"},legend:{valType:"subplotid",dflt:"legend",editType:"style"},legendgroup:{valType:"string",dflt:"",editType:"style"},legendgrouptitle:{text:{valType:"string",dflt:"",editType:"style"},font:Yet({editType:"style"}),editType:"style"},legendrank:{valType:"number",dflt:1e3,editType:"style"},legendwidth:{valType:"number",min:0,editType:"style"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"style"},name:{valType:"string",editType:"style"},uid:{valType:"string",editType:"plot",anim:!0},ids:{valType:"data_array",editType:"calc",anim:!0},customdata:{valType:"data_array",editType:"calc"},meta:{valType:"any",arrayOk:!0,editType:"plot"},selectedpoints:{valType:"any",editType:"calc"},hoverinfo:{valType:"flaglist",flags:["x","y","z","text","name"],extras:["all","none","skip"],arrayOk:!0,dflt:"all",editType:"none"},hoverlabel:Ket.hoverlabel,stream:{token:{valType:"string",noBlank:!0,strict:!0,editType:"calc"},maxpoints:{valType:"number",min:0,max:1e4,dflt:500,editType:"calc"},editType:"calc"},transforms:{_isLinkedToArray:"transform",editType:"calc"},uirevision:{valType:"any",editType:"none"}}});var gb=ye((Qer,Qee)=>{"use strict";var Jet=ad(),P6={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]},Jee=P6.RdBu;function $et(e,t){if(t||(t=Jee),!e)return t;function r(){try{e=P6[e]||JSON.parse(e)}catch(n){e=t}}return typeof e=="string"&&(r(),typeof e=="string"&&r()),$ee(e)?e:t}function $ee(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r{"use strict";mb.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"];mb.defaultLine="#444";mb.lightLine="#eee";mb.background="#fff";mb.borderLine="#BEC8D9";mb.lightFraction=100*10/11});var va=ye((ttr,ete)=>{"use strict";var Ap=ad(),ett=uo(),ttt=pv().isTypedArray,od=ete.exports={},I6=ph();od.defaults=I6.defaults;var rtt=od.defaultLine=I6.defaultLine;od.lightLine=I6.lightLine;var Fq=od.background=I6.background;od.tinyRGB=function(e){var t=e.toRgb();return"rgb("+Math.round(t.r)+", "+Math.round(t.g)+", "+Math.round(t.b)+")"};od.rgb=function(e){return od.tinyRGB(Ap(e))};od.opacity=function(e){return e?Ap(e).getAlpha():0};od.addOpacity=function(e,t){var r=Ap(e).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+t+")"};od.combine=function(e,t){var r=Ap(e).toRgb();if(r.a===1)return Ap(e).toRgbString();var n=Ap(t||Fq).toRgb(),i=n.a===1?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},a={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return Ap(a).toRgbString()};od.interpolate=function(e,t,r){var n=Ap(e).toRgb(),i=Ap(t).toRgb(),a={r:r*n.r+(1-r)*i.r,g:r*n.g+(1-r)*i.g,b:r*n.b+(1-r)*i.b};return Ap(a).toRgbString()};od.contrast=function(e,t,r){var n=Ap(e);n.getAlpha()!==1&&(n=Ap(od.combine(e,Fq)));var i=n.isDark()?t?n.lighten(t):Fq:r?n.darken(r):rtt;return i.toString()};od.stroke=function(e,t){var r=Ap(t);e.style({stroke:od.tinyRGB(r),"stroke-opacity":r.getAlpha()})};od.fill=function(e,t){var r=Ap(t);e.style({fill:od.tinyRGB(r),"fill-opacity":r.getAlpha()})};od.clean=function(e){if(!(!e||typeof e!="object")){var t=Object.keys(e),r,n,i,a;for(r=0;r=0)))return e;if(a===3)n[a]>1&&(n[a]=1);else if(n[a]>=1)return e}var o=Math.round(n[0]*255)+", "+Math.round(n[1]*255)+", "+Math.round(n[2]*255);return i?"rgba("+o+", "+n[3]+")":"rgb("+o+")"}});var G1=ye((rtr,tte)=>{"use strict";tte.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}});var m3=ye(rte=>{"use strict";rte.counter=function(e,t,r,n){var i=(t||"")+(r?"":"$"),a=n===!1?"":"^";return e==="xy"?new RegExp(a+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+i):new RegExp(a+e+"([2-9]|[1-9][0-9]+)?"+i)}});var ote=ye(Sp=>{"use strict";var qq=uo(),ite=ad(),nte=no().extendFlat,itt=vl(),ntt=gb(),att=va(),ott=G1().DESELECTDIM,y3=BS(),ate=m3().counter,stt=p3().modHalf,pm=pv().isArrayOrTypedArray,j1=pv().isTypedArraySpec,W1=pv().decodeTypedArraySpec;Sp.valObjectMeta={data_array:{coerceFunction:function(e,t,r){t.set(pm(e)?e:j1(e)?W1(e):r)}},enumerated:{coerceFunction:function(e,t,r,n){n.coerceNumber&&(e=+e),n.values.indexOf(e)===-1?t.set(r):t.set(e)},validateFunction:function(e,t){t.coerceNumber&&(e=+e);for(var r=t.values,n=0;nn.max?t.set(r):t.set(+e)}},integer:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}j1(e)&&(e=W1(e)),e%1||!qq(e)||n.min!==void 0&&en.max?t.set(r):t.set(+e)}},string:{coerceFunction:function(e,t,r,n){if(typeof e!="string"){var i=typeof e=="number";n.strict===!0||!i?t.set(r):t.set(String(e))}else n.noBlank&&!e?t.set(r):t.set(e)}},color:{coerceFunction:function(e,t,r){j1(e)&&(e=W1(e)),ite(e).isValid()?t.set(e):t.set(r)}},colorlist:{coerceFunction:function(e,t,r){function n(i){return ite(i).isValid()}!Array.isArray(e)||!e.length?t.set(r):e.every(n)?t.set(e):t.set(r)}},colorscale:{coerceFunction:function(e,t,r){t.set(ntt.get(e,r))}},angle:{coerceFunction:function(e,t,r){j1(e)&&(e=W1(e)),e==="auto"?t.set("auto"):qq(e)?t.set(stt(+e,360)):t.set(r)}},subplotid:{coerceFunction:function(e,t,r,n){var i=n.regex||ate(r);if(typeof e=="string"&&i.test(e)){t.set(e);return}t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r?!0:typeof e!="string"?!1:!!ate(r).test(e)}},flaglist:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}if(typeof e!="string"){t.set(r);return}for(var i=e.split("+"),a=0;a{"use strict";var ste={staticPlot:{valType:"boolean",dflt:!1},typesetMath:{valType:"boolean",dflt:!0},plotlyServerURL:{valType:"string",dflt:""},editable:{valType:"boolean",dflt:!1},edits:{annotationPosition:{valType:"boolean",dflt:!1},annotationTail:{valType:"boolean",dflt:!1},annotationText:{valType:"boolean",dflt:!1},axisTitleText:{valType:"boolean",dflt:!1},colorbarPosition:{valType:"boolean",dflt:!1},colorbarTitleText:{valType:"boolean",dflt:!1},legendPosition:{valType:"boolean",dflt:!1},legendText:{valType:"boolean",dflt:!1},shapePosition:{valType:"boolean",dflt:!1},titleText:{valType:"boolean",dflt:!1}},editSelection:{valType:"boolean",dflt:!0},autosizable:{valType:"boolean",dflt:!1},responsive:{valType:"boolean",dflt:!1},fillFrame:{valType:"boolean",dflt:!1},frameMargins:{valType:"number",dflt:0,min:0,max:.5},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","mapbox","map"],extras:[!0,!1],dflt:"gl3d+geo+map"},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize"},doubleClickDelay:{valType:"number",dflt:300,min:0},showAxisDragHandles:{valType:"boolean",dflt:!0},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0},showTips:{valType:"boolean",dflt:!0},showLink:{valType:"boolean",dflt:!1},linkText:{valType:"string",dflt:"Edit chart",noBlank:!0},sendData:{valType:"boolean",dflt:!0},showSources:{valType:"any",dflt:!1},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover"},showSendToCloud:{valType:"boolean",dflt:!1},showEditInChartStudio:{valType:"boolean",dflt:!1},modeBarButtonsToRemove:{valType:"any",dflt:[]},modeBarButtonsToAdd:{valType:"any",dflt:[]},modeBarButtons:{valType:"any",dflt:!1},toImageButtonOptions:{valType:"any",dflt:{}},displaylogo:{valType:"boolean",dflt:!0},watermark:{valType:"boolean",dflt:!1},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4},setBackground:{valType:"any",dflt:"transparent"},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/"},mapboxAccessToken:{valType:"string",dflt:null},logging:{valType:"integer",min:0,max:2,dflt:1},notifyOnLogging:{valType:"integer",min:0,max:2,dflt:0},queueLength:{valType:"integer",min:0,dflt:0},globalTransforms:{valType:"any",dflt:[]},locale:{valType:"string",dflt:"en-US"},locales:{valType:"any",dflt:{}}},lte={};function ute(e,t){for(var r in e){var n=e[r];n.valType?t[r]=n.dflt:(t[r]||(t[r]={}),ute(n,t[r]))}}ute(ste,lte);cte.exports={configAttributes:ste,dfltConfig:lte}});var Bq=ye((otr,fte)=>{"use strict";var Oq=ba(),ltt=uo(),jS=[];fte.exports=function(e,t){if(jS.indexOf(e)!==-1)return;jS.push(e);var r=1e3;ltt(t)?r=t:t==="long"&&(r=3e3);var n=Oq.select("body").selectAll(".plotly-notifier").data([0]);n.enter().append("div").classed("plotly-notifier",!0);var i=n.selectAll(".notifier-note").data(jS);function a(o){o.duration(700).style("opacity",0).each("end",function(s){var l=jS.indexOf(s);l!==-1&&jS.splice(l,1),Oq.select(this).remove()})}i.enter().append("div").classed("notifier-note",!0).style("opacity",0).each(function(o){var s=Oq.select(this);s.append("button").classed("notifier-close",!0).html("×").on("click",function(){s.transition().call(a)});for(var l=s.append("p"),u=o.split(//g),c=0;c{"use strict";var _3=yb().dfltConfig,Nq=Bq(),Uq=hte.exports={};Uq.log=function(){var e;if(_3.logging>1){var t=["LOG:"];for(e=0;e1){var r=[];for(e=0;e"),"long")}};Uq.warn=function(){var e;if(_3.logging>0){var t=["WARN:"];for(e=0;e0){var r=[];for(e=0;e"),"stick")}};Uq.error=function(){var e;if(_3.logging>0){var t=["ERROR:"];for(e=0;e0){var r=[];for(e=0;e"),"stick")}}});var R6=ye((ltr,dte)=>{"use strict";dte.exports=function(){}});var Vq=ye((utr,vte)=>{"use strict";vte.exports=function(t,r){if(r instanceof RegExp){for(var n=r.toString(),i=0;i{pte.exports=utt;function utt(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var yte=ye((ftr,mte)=>{mte.exports=ctt;function ctt(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}});var xte=ye((htr,_te)=>{_te.exports=ftt;function ftt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var Hq=ye((dtr,bte)=>{bte.exports=htt;function htt(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Tte=ye((vtr,wte)=>{wte.exports=dtt;function dtt(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}});var Ste=ye((ptr,Ate)=>{Ate.exports=vtt;function vtt(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],v=t[11],d=t[12],_=t[13],b=t[14],p=t[15],E=r*s-n*o,k=r*l-i*o,S=r*u-a*o,L=n*l-i*s,x=n*u-a*s,C=i*u-a*l,M=c*_-f*d,g=c*b-h*d,P=c*p-v*d,T=f*b-h*_,F=f*p-v*_,q=h*p-v*b,V=E*q-k*F+S*T+L*P-x*g+C*M;return V?(V=1/V,e[0]=(s*q-l*F+u*T)*V,e[1]=(i*F-n*q-a*T)*V,e[2]=(_*C-b*x+p*L)*V,e[3]=(h*x-f*C-v*L)*V,e[4]=(l*P-o*q-u*g)*V,e[5]=(r*q-i*P+a*g)*V,e[6]=(b*S-d*C-p*k)*V,e[7]=(c*C-h*S+v*k)*V,e[8]=(o*F-s*P+u*M)*V,e[9]=(n*P-r*F-a*M)*V,e[10]=(d*x-_*S+p*E)*V,e[11]=(f*S-c*x-v*E)*V,e[12]=(s*g-o*T-l*M)*V,e[13]=(r*T-n*g+i*M)*V,e[14]=(_*k-d*L-b*E)*V,e[15]=(c*L-f*k+h*E)*V,e):null}});var Ete=ye((gtr,Mte)=>{Mte.exports=ptt;function ptt(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],v=t[11],d=t[12],_=t[13],b=t[14],p=t[15];return e[0]=s*(h*p-v*b)-f*(l*p-u*b)+_*(l*v-u*h),e[1]=-(n*(h*p-v*b)-f*(i*p-a*b)+_*(i*v-a*h)),e[2]=n*(l*p-u*b)-s*(i*p-a*b)+_*(i*u-a*l),e[3]=-(n*(l*v-u*h)-s*(i*v-a*h)+f*(i*u-a*l)),e[4]=-(o*(h*p-v*b)-c*(l*p-u*b)+d*(l*v-u*h)),e[5]=r*(h*p-v*b)-c*(i*p-a*b)+d*(i*v-a*h),e[6]=-(r*(l*p-u*b)-o*(i*p-a*b)+d*(i*u-a*l)),e[7]=r*(l*v-u*h)-o*(i*v-a*h)+c*(i*u-a*l),e[8]=o*(f*p-v*_)-c*(s*p-u*_)+d*(s*v-u*f),e[9]=-(r*(f*p-v*_)-c*(n*p-a*_)+d*(n*v-a*f)),e[10]=r*(s*p-u*_)-o*(n*p-a*_)+d*(n*u-a*s),e[11]=-(r*(s*v-u*f)-o*(n*v-a*f)+c*(n*u-a*s)),e[12]=-(o*(f*b-h*_)-c*(s*b-l*_)+d*(s*h-l*f)),e[13]=r*(f*b-h*_)-c*(n*b-i*_)+d*(n*h-i*f),e[14]=-(r*(s*b-l*_)-o*(n*b-i*_)+d*(n*l-i*s)),e[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),e}});var Cte=ye((mtr,kte)=>{kte.exports=gtt;function gtt(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11],v=e[12],d=e[13],_=e[14],b=e[15],p=t*o-r*a,E=t*s-n*a,k=t*l-i*a,S=r*s-n*o,L=r*l-i*o,x=n*l-i*s,C=u*d-c*v,M=u*_-f*v,g=u*b-h*v,P=c*_-f*d,T=c*b-h*d,F=f*b-h*_;return p*F-E*T+k*P+S*g-L*M+x*C}});var Pte=ye((ytr,Lte)=>{Lte.exports=mtt;function mtt(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=t[9],v=t[10],d=t[11],_=t[12],b=t[13],p=t[14],E=t[15],k=r[0],S=r[1],L=r[2],x=r[3];return e[0]=k*n+S*s+L*f+x*_,e[1]=k*i+S*l+L*h+x*b,e[2]=k*a+S*u+L*v+x*p,e[3]=k*o+S*c+L*d+x*E,k=r[4],S=r[5],L=r[6],x=r[7],e[4]=k*n+S*s+L*f+x*_,e[5]=k*i+S*l+L*h+x*b,e[6]=k*a+S*u+L*v+x*p,e[7]=k*o+S*c+L*d+x*E,k=r[8],S=r[9],L=r[10],x=r[11],e[8]=k*n+S*s+L*f+x*_,e[9]=k*i+S*l+L*h+x*b,e[10]=k*a+S*u+L*v+x*p,e[11]=k*o+S*c+L*d+x*E,k=r[12],S=r[13],L=r[14],x=r[15],e[12]=k*n+S*s+L*f+x*_,e[13]=k*i+S*l+L*h+x*b,e[14]=k*a+S*u+L*v+x*p,e[15]=k*o+S*c+L*d+x*E,e}});var Dte=ye((_tr,Ite)=>{Ite.exports=ytt;function ytt(e,t,r){var n=r[0],i=r[1],a=r[2],o,s,l,u,c,f,h,v,d,_,b,p;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],l=t[2],u=t[3],c=t[4],f=t[5],h=t[6],v=t[7],d=t[8],_=t[9],b=t[10],p=t[11],e[0]=o,e[1]=s,e[2]=l,e[3]=u,e[4]=c,e[5]=f,e[6]=h,e[7]=v,e[8]=d,e[9]=_,e[10]=b,e[11]=p,e[12]=o*n+c*i+d*a+t[12],e[13]=s*n+f*i+_*a+t[13],e[14]=l*n+h*i+b*a+t[14],e[15]=u*n+v*i+p*a+t[15]),e}});var zte=ye((xtr,Rte)=>{Rte.exports=_tt;function _tt(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var qte=ye((btr,Fte)=>{Fte.exports=xtt;function xtt(e,t,r,n){var i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),l,u,c,f,h,v,d,_,b,p,E,k,S,L,x,C,M,g,P,T,F,q,V,H;return Math.abs(s)<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,l=Math.sin(r),u=Math.cos(r),c=1-u,f=t[0],h=t[1],v=t[2],d=t[3],_=t[4],b=t[5],p=t[6],E=t[7],k=t[8],S=t[9],L=t[10],x=t[11],C=i*i*c+u,M=a*i*c+o*l,g=o*i*c-a*l,P=i*a*c-o*l,T=a*a*c+u,F=o*a*c+i*l,q=i*o*c+a*l,V=a*o*c-i*l,H=o*o*c+u,e[0]=f*C+_*M+k*g,e[1]=h*C+b*M+S*g,e[2]=v*C+p*M+L*g,e[3]=d*C+E*M+x*g,e[4]=f*P+_*T+k*F,e[5]=h*P+b*T+S*F,e[6]=v*P+p*T+L*F,e[7]=d*P+E*T+x*F,e[8]=f*q+_*V+k*H,e[9]=h*q+b*V+S*H,e[10]=v*q+p*V+L*H,e[11]=d*q+E*V+x*H,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}});var Bte=ye((wtr,Ote)=>{Ote.exports=btt;function btt(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+u*n,e[5]=o*i+c*n,e[6]=s*i+f*n,e[7]=l*i+h*n,e[8]=u*i-a*n,e[9]=c*i-o*n,e[10]=f*i-s*n,e[11]=h*i-l*n,e}});var Ute=ye((Ttr,Nte)=>{Nte.exports=wtt;function wtt(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-u*n,e[1]=o*i-c*n,e[2]=s*i-f*n,e[3]=l*i-h*n,e[8]=a*n+u*i,e[9]=o*n+c*i,e[10]=s*n+f*i,e[11]=l*n+h*i,e}});var Hte=ye((Atr,Vte)=>{Vte.exports=Ttt;function Ttt(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[4],c=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+u*n,e[1]=o*i+c*n,e[2]=s*i+f*n,e[3]=l*i+h*n,e[4]=u*i-a*n,e[5]=c*i-o*n,e[6]=f*i-s*n,e[7]=h*i-l*n,e}});var jte=ye((Str,Gte)=>{Gte.exports=Att;function Att(e,t,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(u=1/u,o*=u,s*=u,l*=u,n=Math.sin(t),i=Math.cos(t),a=1-i,e[0]=o*o*a+i,e[1]=s*o*a+l*n,e[2]=l*o*a-s*n,e[3]=0,e[4]=o*s*a-l*n,e[5]=s*s*a+i,e[6]=l*s*a+o*n,e[7]=0,e[8]=o*l*a+s*n,e[9]=s*l*a-o*n,e[10]=l*l*a+i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}});var Zte=ye((Mtr,Wte)=>{Wte.exports=Stt;function Stt(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,v=i*l,d=i*u,_=a*u,b=o*s,p=o*l,E=o*u;return e[0]=1-(v+_),e[1]=f+E,e[2]=h-p,e[3]=0,e[4]=f-E,e[5]=1-(c+_),e[6]=d+b,e[7]=0,e[8]=h+p,e[9]=d-b,e[10]=1-(c+v),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}});var Yte=ye((Etr,Xte)=>{Xte.exports=Mtt;function Mtt(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Jte=ye((ktr,Kte)=>{Kte.exports=Ett;function Ett(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}});var Qte=ye((Ctr,$te)=>{$te.exports=ktt;function ktt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var tre=ye((Ltr,ere)=>{ere.exports=Ctt;function Ctt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var ire=ye((Ptr,rre)=>{rre.exports=Ltt;function Ltt(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Gq=ye((Itr,nre)=>{nre.exports=Ptt;function Ptt(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,v=i*s,d=i*l,_=a*o,b=a*s,p=a*l;return e[0]=1-f-d,e[1]=c+p,e[2]=h-b,e[3]=0,e[4]=c-p,e[5]=1-u-d,e[6]=v+_,e[7]=0,e[8]=h+b,e[9]=v-_,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var ore=ye((Dtr,are)=>{are.exports=Itt;function Itt(e,t,r,n,i,a,o){var s=1/(r-t),l=1/(i-n),u=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*l,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*l,e[10]=(o+a)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*u,e[15]=0,e}});var lre=ye((Rtr,sre)=>{sre.exports=Dtt;function Dtt(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e}});var cre=ye((ztr,ure)=>{ure.exports=Rtt;function Rtt(e,t,r,n){var i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-((o-s)*l*.5),e[9]=(i-a)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}});var hre=ye((Ftr,fre)=>{fre.exports=ztt;function ztt(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),u=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*u,e[15]=1,e}});var vre=ye((qtr,dre)=>{var Ftt=Hq();dre.exports=qtt;function qtt(e,t,r,n){var i,a,o,s,l,u,c,f,h,v,d=t[0],_=t[1],b=t[2],p=n[0],E=n[1],k=n[2],S=r[0],L=r[1],x=r[2];return Math.abs(d-S)<1e-6&&Math.abs(_-L)<1e-6&&Math.abs(b-x)<1e-6?Ftt(e):(c=d-S,f=_-L,h=b-x,v=1/Math.sqrt(c*c+f*f+h*h),c*=v,f*=v,h*=v,i=E*h-k*f,a=k*c-p*h,o=p*f-E*c,v=Math.sqrt(i*i+a*a+o*o),v?(v=1/v,i*=v,a*=v,o*=v):(i=0,a=0,o=0),s=f*o-h*a,l=h*i-c*o,u=c*a-f*i,v=Math.sqrt(s*s+l*l+u*u),v?(v=1/v,s*=v,l*=v,u*=v):(s=0,l=0,u=0),e[0]=i,e[1]=s,e[2]=c,e[3]=0,e[4]=a,e[5]=l,e[6]=f,e[7]=0,e[8]=o,e[9]=u,e[10]=h,e[11]=0,e[12]=-(i*d+a*_+o*b),e[13]=-(s*d+l*_+u*b),e[14]=-(c*d+f*_+h*b),e[15]=1,e)}});var gre=ye((Otr,pre)=>{pre.exports=Ott;function Ott(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}});var jq=ye((Btr,mre)=>{mre.exports={create:gte(),clone:yte(),copy:xte(),identity:Hq(),transpose:Tte(),invert:Ste(),adjoint:Ete(),determinant:Cte(),multiply:Pte(),translate:Dte(),scale:zte(),rotate:qte(),rotateX:Bte(),rotateY:Ute(),rotateZ:Hte(),fromRotation:jte(),fromRotationTranslation:Zte(),fromScaling:Yte(),fromTranslation:Jte(),fromXRotation:Qte(),fromYRotation:tre(),fromZRotation:ire(),fromQuat:Gq(),frustum:ore(),perspective:lre(),perspectiveFromFieldOfView:cre(),ortho:hre(),lookAt:vre(),str:gre()}});var z6=ye(Yf=>{"use strict";var Btt=jq();Yf.init2dArray=function(e,t){for(var r=new Array(e),n=0;n{"use strict";var Ntt=ba(),Utt=Z1(),Vtt=z6(),Htt=jq();function Gtt(e){var t;if(typeof e=="string"){if(t=document.getElementById(e),t===null)throw new Error("No DOM element with id '"+e+"' exists on the page.");return t}else if(e==null)throw new Error("DOM element provided is null or undefined");return e}function jtt(e){var t=Ntt.select(e);return t.node()instanceof HTMLElement&&t.size()&&t.classed("js-plotly-plot")}function yre(e){var t=e&&e.parentNode;t&&t.removeChild(e)}function Wtt(e,t){_re("global",e,t)}function _re(e,t,r){var n="plotly.js-style-"+e,i=document.getElementById(n);i||(i=document.createElement("style"),i.setAttribute("id",n),i.appendChild(document.createTextNode("")),document.head.appendChild(i));var a=i.sheet;a.insertRule?a.insertRule(t+"{"+r+"}",0):a.addRule?a.addRule(t,r,0):Utt.warn("addStyleRule failed")}function Ztt(e){var t="plotly.js-style-"+e,r=document.getElementById(t);r&&yre(r)}function Xtt(e){var t=bre(e),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return t.forEach(function(n){var i=xre(n);if(i){var a=Vtt.convertCssMatrix(i);r=Htt.multiply(r,r,a)}}),r}function xre(e){var t=window.getComputedStyle(e,null),r=t.getPropertyValue("-webkit-transform")||t.getPropertyValue("-moz-transform")||t.getPropertyValue("-ms-transform")||t.getPropertyValue("-o-transform")||t.getPropertyValue("transform");return r==="none"?null:r.replace("matrix","").replace("3d","").slice(1,-1).split(",").map(function(n){return+n})}function bre(e){for(var t=[];Ytt(e);)t.push(e),e=e.parentNode,typeof ShadowRoot=="function"&&e instanceof ShadowRoot&&(e=e.host);return t}function Ytt(e){return e&&(e instanceof Element||e instanceof HTMLElement)}function Ktt(e,t){return e&&t&&e.top===t.top&&e.left===t.left&&e.right===t.right&&e.bottom===t.bottom}wre.exports={getGraphDiv:Gtt,isPlotDiv:jtt,removeElement:yre,addStyleRule:Wtt,addRelatedStyleRule:_re,deleteRelatedStyleRule:Ztt,getFullTransformMatrix:Xtt,getElementTransformMatrix:xre,getElementAndAncestors:bre,equalDomRects:Ktt}});var ZS=ye((Vtr,Tre)=>{"use strict";Tre.exports={mode:{valType:"enumerated",dflt:"afterall",values:["immediate","next","afterall"]},direction:{valType:"enumerated",values:["forward","reverse"],dflt:"forward"},fromcurrent:{valType:"boolean",dflt:!1},frame:{duration:{valType:"number",min:0,dflt:500},redraw:{valType:"boolean",dflt:!0}},transition:{duration:{valType:"number",min:0,dflt:500,editType:"none"},easing:{valType:"enumerated",dflt:"cubic-in-out",values:["linear","quad","cubic","sin","exp","circle","elastic","back","bounce","linear-in","quad-in","cubic-in","sin-in","exp-in","circle-in","elastic-in","back-in","bounce-in","linear-out","quad-out","cubic-out","sin-out","exp-out","circle-out","elastic-out","back-out","bounce-out","linear-in-out","quad-in-out","cubic-in-out","sin-in-out","exp-in-out","circle-in-out","elastic-in-out","back-in-out","bounce-in-out"],editType:"none"},ordering:{valType:"enumerated",values:["layout first","traces first"],dflt:"layout first",editType:"none"}}}});var Bu=ye((Htr,Lre)=>{"use strict";var Sre=no().extendFlat,Jtt=yy(),Mre={valType:"flaglist",extras:["none"],flags:["calc","clearAxisTypes","plot","style","markerSize","colorbars"]},Ere={valType:"flaglist",extras:["none"],flags:["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"]},$tt=Mre.flags.slice().concat(["fullReplot"]),Qtt=Ere.flags.slice().concat("layoutReplot");Lre.exports={traces:Mre,layout:Ere,traceFlags:function(){return Are($tt)},layoutFlags:function(){return Are(Qtt)},update:function(e,t){var r=t.editType;if(r&&r!=="none")for(var n=r.split("+"),i=0;i{"use strict";Wq.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"};Wq.pattern={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style"},editType:"style"}});var Zq=ye((jtr,Pre)=>{"use strict";Pre.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}});var Wo=ye(F6=>{"use strict";var Ire=Zq(),Wtr=Ire.FORMAT_LINK,Ztr=Ire.DATE_FORMAT_LINK;function Xq(e){var t=e.description?" "+e.description:"",r=e.keys||[];if(r.length>0){for(var n=[],i=0;i{"use strict";function X1(e,t){return t?t.d2l(e):e}function Dre(e,t){return t?t.l2d(e):e}function ert(e){return e.x0}function trt(e){return e.x1}function rrt(e){return e.y0}function irt(e){return e.y1}function Rre(e){return e.x0shift||0}function zre(e){return e.x1shift||0}function Fre(e){return e.y0shift||0}function qre(e){return e.y1shift||0}function q6(e,t){return X1(e.x1,t)+zre(e)-X1(e.x0,t)-Rre(e)}function O6(e,t,r){return X1(e.y1,r)+qre(e)-X1(e.y0,r)-Fre(e)}function nrt(e,t){return Math.abs(q6(e,t))}function art(e,t,r){return Math.abs(O6(e,t,r))}function ort(e,t,r){return e.type!=="line"?void 0:Math.sqrt(Math.pow(q6(e,t),2)+Math.pow(O6(e,t,r),2))}function srt(e,t){return Dre((X1(e.x1,t)+zre(e)+X1(e.x0,t)+Rre(e))/2,t)}function lrt(e,t,r){return Dre((X1(e.y1,r)+qre(e)+X1(e.y0,r)+Fre(e))/2,r)}function urt(e,t,r){return e.type!=="line"?void 0:O6(e,t,r)/q6(e,t)}Ore.exports={x0:ert,x1:trt,y0:rrt,y1:irt,slope:urt,dx:q6,dy:O6,width:nrt,height:art,length:ort,xcenter:srt,ycenter:lrt}});var Ure=ye((Ktr,Nre)=>{"use strict";var crt=Bu().overrideAll,_b=vl(),Bre=Su(),frt=kd().dash,Y1=no().extendFlat,hrt=Wo().shapeTexttemplateAttrs,drt=B6();Nre.exports=crt({newshape:{visible:Y1({},_b.visible,{}),showlegend:{valType:"boolean",dflt:!1},legend:Y1({},_b.legend,{}),legendgroup:Y1({},_b.legendgroup,{}),legendgrouptitle:{text:Y1({},_b.legendgrouptitle.text,{}),font:Bre({})},legendrank:Y1({},_b.legendrank,{}),legendwidth:Y1({},_b.legendwidth,{}),line:{color:{valType:"color"},width:{valType:"number",min:0,dflt:4},dash:Y1({},frt,{dflt:"solid"})},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd"},opacity:{valType:"number",min:0,max:1,dflt:1},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above"},drawdirection:{valType:"enumerated",values:["ortho","horizontal","vertical","diagonal"],dflt:"diagonal"},name:Y1({},_b.name,{}),label:{text:{valType:"string",dflt:""},texttemplate:hrt({newshape:!0},{keys:Object.keys(drt)}),font:Bre({}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"]},textangle:{valType:"angle",dflt:"auto"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto"},yanchor:{valType:"enumerated",values:["top","middle","bottom"]},padding:{valType:"number",dflt:3,min:0}}},activeshape:{fillcolor:{valType:"color",dflt:"rgb(255,0,255)"},opacity:{valType:"number",min:0,max:1,dflt:.5}}},"none","from-root")});var Hre=ye((Jtr,Vre)=>{"use strict";var vrt=kd().dash,prt=no().extendFlat;Vre.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:prt({},vrt,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}});var N6=ye(($tr,Gre)=>{"use strict";Gre.exports=function(e){var t=e.editType;return{t:{valType:"number",dflt:0,editType:t},r:{valType:"number",dflt:0,editType:t},b:{valType:"number",dflt:0,editType:t},l:{valType:"number",dflt:0,editType:t},editType:t}}});var x3=ye((Qtr,Xre)=>{"use strict";var Yq=Su(),grt=ZS(),U6=ph(),jre=Ure(),Wre=Hre(),mrt=N6(),Zre=no().extendFlat,V6=Yq({editType:"calc"});V6.family.dflt='"Open Sans", verdana, arial, sans-serif';V6.size.dflt=12;V6.color.dflt=U6.defaultLine;Xre.exports={font:V6,title:{text:{valType:"string",editType:"layoutstyle"},font:Yq({editType:"layoutstyle"}),subtitle:{text:{valType:"string",editType:"layoutstyle"},font:Yq({editType:"layoutstyle"}),editType:"layoutstyle"},xref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},yref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},x:{valType:"number",min:0,max:1,dflt:.5,editType:"layoutstyle"},y:{valType:"number",min:0,max:1,dflt:"auto",editType:"layoutstyle"},xanchor:{valType:"enumerated",dflt:"auto",values:["auto","left","center","right"],editType:"layoutstyle"},yanchor:{valType:"enumerated",dflt:"auto",values:["auto","top","middle","bottom"],editType:"layoutstyle"},pad:Zre(mrt({editType:"layoutstyle"}),{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},editType:"layoutstyle"},uniformtext:{mode:{valType:"enumerated",values:[!1,"hide","show"],dflt:!1,editType:"plot"},minsize:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"},autosize:{valType:"boolean",dflt:!1,editType:"none"},width:{valType:"number",min:10,dflt:700,editType:"plot"},height:{valType:"number",min:10,dflt:450,editType:"plot"},minreducedwidth:{valType:"number",min:2,dflt:64,editType:"plot"},minreducedheight:{valType:"number",min:2,dflt:64,editType:"plot"},margin:{l:{valType:"number",min:0,dflt:80,editType:"plot"},r:{valType:"number",min:0,dflt:80,editType:"plot"},t:{valType:"number",min:0,dflt:100,editType:"plot"},b:{valType:"number",min:0,dflt:80,editType:"plot"},pad:{valType:"number",min:0,dflt:0,editType:"plot"},autoexpand:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},computed:{valType:"any",editType:"none"},paper_bgcolor:{valType:"color",dflt:U6.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:U6.background,editType:"layoutstyle"},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},separators:{valType:"string",editType:"plot"},hidesources:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:U6.defaults,editType:"calc"},datarevision:{valType:"any",editType:"calc"},uirevision:{valType:"any",editType:"none"},editrevision:{valType:"any",editType:"none"},selectionrevision:{valType:"any",editType:"none"},template:{valType:"any",editType:"calc"},newshape:jre.newshape,activeshape:jre.activeshape,newselection:Wre.newselection,activeselection:Wre.activeselection,meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:Zre({},grt.transition,{editType:"none"})}});var Yre=su(()=>{});var yrt={};var Kre=su(()=>{Yre()});var ya=ye(cs=>{"use strict";var b3=Z1(),Jre=R6(),$re=Vq(),_rt=yy(),xrt=WS().addStyleRule,Qre=no(),brt=vl(),wrt=x3(),Trt=Qre.extendFlat,H6=Qre.extendDeepAll;cs.modules={};cs.allCategories={};cs.allTypes=[];cs.subplotsRegistry={};cs.transformsRegistry={};cs.componentsRegistry={};cs.layoutArrayContainers=[];cs.layoutArrayRegexes=[];cs.traceLayoutAttributes={};cs.localeRegistry={};cs.apiMethodRegistry={};cs.collectableSubplotTypes=null;cs.register=function(t){if(cs.collectableSubplotTypes=null,t)t&&!Array.isArray(t)&&(t=[t]);else throw new Error("No argument passed to Plotly.register.");for(var r=0;r{"use strict";var Crt=d3().timeFormat,fie=uo(),Kq=Z1(),J1=p3().mod,A3=Yo(),w0=A3.BADNUM,Mp=A3.ONEDAY,XS=A3.ONEHOUR,K1=A3.ONEMIN,T3=A3.ONESEC,YS=A3.EPOCHJD,_y=ya(),aie=d3().utcFormat,Lrt=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,Prt=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,oie=new Date().getFullYear()-70;function xy(e){return e&&_y.componentsRegistry.calendars&&typeof e=="string"&&e!=="gregorian"}Kf.dateTick0=function(e,t){var r=Irt(e,!!t);if(t<2)return r;var n=Kf.dateTime2ms(r,e);return n+=Mp*(t-1),Kf.ms2DateTime(n,0,e)};function Irt(e,t){return xy(e)?t?_y.getComponentMethod("calendars","CANONICAL_SUNDAY")[e]:_y.getComponentMethod("calendars","CANONICAL_TICK")[e]:t?"2000-01-02":"2000-01-01"}Kf.dfltRange=function(e){return xy(e)?_y.getComponentMethod("calendars","DFLTRANGE")[e]:["2000-01-01","2001-01-01"]};Kf.isJSDate=function(e){return typeof e=="object"&&e!==null&&typeof e.getTime=="function"};var j6,W6;Kf.dateTime2ms=function(e,t){if(Kf.isJSDate(e)){var r=e.getTimezoneOffset()*K1,n=(e.getUTCMinutes()-e.getMinutes())*K1+(e.getUTCSeconds()-e.getSeconds())*T3+(e.getUTCMilliseconds()-e.getMilliseconds());if(n){var i=3*K1;r=r-i/2+J1(n-r+i/2,i)}return e=Number(e)-r,e>=j6&&e<=W6?e:w0}if(typeof e!="string"&&typeof e!="number")return w0;e=String(e);var a=xy(t),o=e.charAt(0);a&&(o==="G"||o==="g")&&(e=e.substr(1),t="");var s=a&&t.substr(0,7)==="chinese",l=e.match(s?Prt:Lrt);if(!l)return w0;var u=l[1],c=l[3]||"1",f=Number(l[5]||1),h=Number(l[7]||0),v=Number(l[9]||0),d=Number(l[11]||0);if(a){if(u.length===2)return w0;u=Number(u);var _;try{var b=_y.getComponentMethod("calendars","getCal")(t);if(s){var p=c.charAt(c.length-1)==="i";c=parseInt(c,10),_=b.newDate(u,b.toMonthIndex(u,c,p),f)}else _=b.newDate(u,Number(c),f)}catch(k){return w0}return _?(_.toJD()-YS)*Mp+h*XS+v*K1+d*T3:w0}u.length===2?u=(Number(u)+2e3-oie)%100+oie:u=Number(u),c-=1;var E=new Date(Date.UTC(2e3,c,f,h,v));return E.setUTCFullYear(u),E.getUTCMonth()!==c||E.getUTCDate()!==f?w0:E.getTime()+d*T3};j6=Kf.MIN_MS=Kf.dateTime2ms("-9999");W6=Kf.MAX_MS=Kf.dateTime2ms("9999-12-31 23:59:59.9999");Kf.isDateTime=function(e,t){return Kf.dateTime2ms(e,t)!==w0};function w3(e,t){return String(e+Math.pow(10,t)).substr(1)}var G6=90*Mp,sie=3*XS,lie=5*K1;Kf.ms2DateTime=function(e,t,r){if(typeof e!="number"||!(e>=j6&&e<=W6))return w0;t||(t=0);var n=Math.floor(J1(e+.05,1)*10),i=Math.round(e-n/10),a,o,s,l,u,c;if(xy(r)){var f=Math.floor(i/Mp)+YS,h=Math.floor(J1(e,Mp));try{a=_y.getComponentMethod("calendars","getCal")(r).fromJD(f).formatDate("yyyy-mm-dd")}catch(v){a=aie("G%Y-%m-%d")(new Date(i))}if(a.charAt(0)==="-")for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=t=j6+Mp&&e<=W6-Mp))return w0;var t=Math.floor(J1(e+.05,1)*10),r=new Date(Math.round(e-t/10)),n=Crt("%Y-%m-%d")(r),i=r.getHours(),a=r.getMinutes(),o=r.getSeconds(),s=r.getUTCMilliseconds()*10+t;return hie(n,i,a,o,s)};function hie(e,t,r,n,i){if((t||r||n||i)&&(e+=" "+w3(t,2)+":"+w3(r,2),(n||i)&&(e+=":"+w3(n,2),i))){for(var a=4;i%10===0;)a-=1,i/=10;e+="."+w3(i,a)}return e}Kf.cleanDate=function(e,t,r){if(e===w0)return t;if(Kf.isJSDate(e)||typeof e=="number"&&isFinite(e)){if(xy(r))return Kq.error("JS Dates and milliseconds are incompatible with world calendars",e),t;if(e=Kf.ms2DateTimeLocal(+e),!e&&t!==void 0)return t}else if(!Kf.isDateTime(e,r))return Kq.error("unrecognized date",e),t;return e};var Drt=/%\d?f/g,Rrt=/%h/g,zrt={1:"1",2:"1",3:"2",4:"2"};function uie(e,t,r,n){e=e.replace(Drt,function(a){var o=Math.min(+a.charAt(1)||6,6),s=(t/1e3%1+2).toFixed(o).substr(2).replace(/0+$/,"")||"0";return s});var i=new Date(Math.floor(t+.05));if(e=e.replace(Rrt,function(){return zrt[r("%q")(i)]}),xy(n))try{e=_y.getComponentMethod("calendars","worldCalFmt")(e,t,n)}catch(a){return"Invalid"}return r(e)(i)}var Frt=[59,59.9,59.99,59.999,59.9999];function qrt(e,t){var r=J1(e+.05,Mp),n=w3(Math.floor(r/XS),2)+":"+w3(J1(Math.floor(r/K1),60),2);if(t!=="M"){fie(t)||(t=0);var i=Math.min(J1(e/T3,60),Frt[t]),a=(100+i).toFixed(t).substr(1);t>0&&(a=a.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+a}return n}Kf.formatDate=function(e,t,r,n,i,a){if(i=xy(i)&&i,!t)if(r==="y")t=a.year;else if(r==="m")t=a.month;else if(r==="d")t=a.dayMonth+` +`+a.year;else return qrt(e,r)+` +`+uie(a.dayMonthYear,e,n,i);return uie(t,e,n,i)};var cie=3*Mp;Kf.incrementMonth=function(e,t,r){r=xy(r)&&r;var n=J1(e,Mp);if(e=Math.round(e-n),r)try{var i=Math.round(e/Mp)+YS,a=_y.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return t%12?a.add(o,t,"m"):a.add(o,t/12,"y"),(o.toJD()-YS)*Mp+n}catch(l){Kq.error("invalid ms "+e+" in calendar "+r)}var s=new Date(e+cie);return s.setUTCMonth(s.getUTCMonth()+t)+n-cie};Kf.findExactDates=function(e,t){for(var r=0,n=0,i=0,a=0,o,s,l=xy(t)&&_y.getComponentMethod("calendars","getCal")(t),u=0;u{"use strict";vie.exports=function(t){return t}});var Z6=ye(by=>{"use strict";var Ort=uo(),Brt=Z1(),Nrt=KS(),Urt=Yo().BADNUM,Jq=1e-9;by.findBin=function(e,t,r){if(Ort(t.start))return r?Math.ceil((e-t.start)/t.size-Jq)-1:Math.floor((e-t.start)/t.size+Jq);var n=0,i=t.length,a=0,o=i>1?(t[i-1]-t[0])/(i-1):1,s,l;for(o>=0?l=r?Vrt:Hrt:l=r?jrt:Grt,e+=o*Jq*(r?-1:1)*(o>=0?1:-1);n90&&Brt.log("Long binary search..."),n-1};function Vrt(e,t){return et}function jrt(e,t){return e>=t}by.sorterAsc=function(e,t){return e-t};by.sorterDes=function(e,t){return t-e};by.distinctVals=function(e){var t=e.slice();t.sort(by.sorterAsc);var r;for(r=t.length-1;r>-1&&t[r]===Urt;r--);for(var n=t[r]-t[0]||1,i=n/(r||1)/1e4,a=[],o,s=0;s<=r;s++){var l=t[s],u=l-o;o===void 0?(a.push(l),o=l):u>i&&(n=Math.min(n,u),a.push(l),o=l)}return{vals:a,minDiff:n}};by.roundUp=function(e,t,r){for(var n=0,i=t.length-1,a,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;n0&&(n=1),r&&n)return e.sort(t)}return n?e:e.reverse()};by.findIndexOfMin=function(e,t){t=t||Nrt;for(var r=1/0,n,i=0;i{"use strict";pie.exports=function(t){return Object.keys(t).sort()}});var gie=ye(Jf=>{"use strict";var JS=uo(),Wrt=pv().isArrayOrTypedArray;Jf.aggNums=function(e,t,r,n){var i,a;if((!n||n>r.length)&&(n=r.length),JS(t)||(t=!1),Wrt(r[0])){for(a=new Array(n),i=0;ie.length-1)return e[e.length-1];var r=t%1;return r*e[Math.ceil(t)]+(1-r)*e[Math.floor(t)]}});var bie=ye((urr,xie)=>{"use strict";var mie=p3(),$q=mie.mod,Zrt=mie.modHalf,$S=Math.PI,Q1=2*$S;function Xrt(e){return e/180*$S}function Yrt(e){return e/$S*180}function Qq(e){return Math.abs(e[1]-e[0])>Q1-1e-14}function yie(e,t){return Zrt(t-e,Q1)}function Krt(e,t){return Math.abs(yie(e,t))}function _ie(e,t){if(Qq(t))return!0;var r,n;t[0]n&&(n+=Q1);var i=$q(e,Q1),a=i+Q1;return i>=r&&i<=n||a>=r&&a<=n}function Jrt(e,t,r,n){if(!_ie(t,n))return!1;var i,a;return r[0]=i&&e<=a}function eO(e,t,r,n,i,a,o){i=i||0,a=a||0;var s=Qq([r,n]),l,u,c,f,h;s?(l=0,u=$S,c=Q1):r{"use strict";xb.isLeftAnchor=function(t){return t.xanchor==="left"||t.xanchor==="auto"&&t.x<=1/3};xb.isCenterAnchor=function(t){return t.xanchor==="center"||t.xanchor==="auto"&&t.x>1/3&&t.x<2/3};xb.isRightAnchor=function(t){return t.xanchor==="right"||t.xanchor==="auto"&&t.x>=2/3};xb.isTopAnchor=function(t){return t.yanchor==="top"||t.yanchor==="auto"&&t.y>=2/3};xb.isMiddleAnchor=function(t){return t.yanchor==="middle"||t.yanchor==="auto"&&t.y>1/3&&t.y<2/3};xb.isBottomAnchor=function(t){return t.yanchor==="bottom"||t.yanchor==="auto"&&t.y<=1/3}});var Sie=ye(bb=>{"use strict";var tO=p3().mod;bb.segmentsIntersect=Aie;function Aie(e,t,r,n,i,a,o,s){var l=r-e,u=i-e,c=o-i,f=n-t,h=a-t,v=s-a,d=l*v-c*f;if(d===0)return null;var _=(u*v-c*h)/d,b=(u*f-l*h)/d;return b<0||b>1||_<0||_>1?null:{x:e+l*_,y:t+f*_}}bb.segmentDistance=function(t,r,n,i,a,o,s,l){if(Aie(t,r,n,i,a,o,s,l))return 0;var u=n-t,c=i-r,f=s-a,h=l-o,v=u*u+c*c,d=f*f+h*h,_=Math.min(X6(u,c,v,a-t,o-r),X6(u,c,v,s-t,l-r),X6(f,h,d,t-a,r-o),X6(f,h,d,n-a,i-o));return Math.sqrt(_)};function X6(e,t,r,n,i){var a=n*e+i*t;if(a<0)return n*n+i*i;if(a>r){var o=n-e,s=i-t;return o*o+s*s}else{var l=n*t-i*e;return l*l/r}}var Y6,rO,Tie;bb.getTextLocation=function(t,r,n,i){if((t!==rO||i!==Tie)&&(Y6={},rO=t,Tie=i),Y6[n])return Y6[n];var a=t.getPointAtLength(tO(n-i/2,r)),o=t.getPointAtLength(tO(n+i/2,r)),s=Math.atan((o.y-a.y)/(o.x-a.x)),l=t.getPointAtLength(tO(n,r)),u=(l.x*4+a.x+o.x)/6,c=(l.y*4+a.y+o.y)/6,f={x:u,y:c,theta:s};return Y6[n]=f,f};bb.clearLocationCache=function(){rO=null};bb.getVisibleSegment=function(t,r,n){var i=r.left,a=r.right,o=r.top,s=r.bottom,l=0,u=t.getTotalLength(),c=u,f,h;function v(_){var b=t.getPointAtLength(_);_===0?f=b:_===u&&(h=b);var p=b.xa?b.x-a:0,E=b.ys?b.y-s:0;return Math.sqrt(p*p+E*E)}for(var d=v(l);d;){if(l+=d+n,l>c)return;d=v(l)}for(d=v(c);d;){if(c-=d+n,l>c)return;d=v(c)}return{min:l,max:c,len:c-l,total:u,isClosed:l===0&&c===u&&Math.abs(f.x-h.x)<.1&&Math.abs(f.y-h.y)<.1}};bb.findPointOnPath=function(t,r,n,i){i=i||{};for(var a=i.pathLength||t.getTotalLength(),o=i.tolerance||.001,s=i.iterationLimit||30,l=t.getPointAtLength(0)[n]>t.getPointAtLength(a)[n]?-1:1,u=0,c=0,f=a,h,v,d;u0?f=h:c=h,u++}return v}});var K6=ye(QS=>{"use strict";var wy={};QS.throttle=function(t,r,n){var i=wy[t],a=Date.now();if(!i){for(var o in wy)wy[o].tsi.ts+r){s();return}i.timer=setTimeout(function(){s(),i.timer=null},r)};QS.done=function(e){var t=wy[e];return!t||!t.timer?Promise.resolve():new Promise(function(r){var n=t.onDone;t.onDone=function(){n&&n(),r(),t.onDone=null}})};QS.clear=function(e){if(e)Mie(wy[e]),delete wy[e];else for(var t in wy)QS.clear(t)};function Mie(e){e&&e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}});var kie=ye((drr,Eie)=>{"use strict";Eie.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener("resize",t._responsiveChartHandler),delete t._responsiveChartHandler)}});var Cie=ye((vrr,J6)=>{"use strict";J6.exports=iO;J6.exports.isMobile=iO;J6.exports.default=iO;var tit=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,rit=/CrOS/,iit=/android|ipad|playbook|silk/i;function iO(e){e||(e={});let t=e.ua;if(!t&&typeof navigator!="undefined"&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers["user-agent"]=="string"&&(t=t.headers["user-agent"]),typeof t!="string")return!1;let r=tit.test(t)&&!rit.test(t)||!!e.tablet&&iit.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf("Macintosh")!==-1&&t.indexOf("Safari")!==-1&&(r=!0),r}});var Pie=ye((prr,Lie)=>{"use strict";var nit=uo(),ait=Cie();Lie.exports=function(t){var r;if(t&&t.hasOwnProperty("userAgent")?r=t.userAgent:r=oit(),typeof r!="string")return!0;var n=ait({ua:{headers:{"user-agent":r}},tablet:!0,featureDetect:!1});if(!n)for(var i=r.split(" "),a=1;a-1;s--){var l=i[s];if(l.substr(0,8)==="Version/"){var u=l.substr(8).split(".")[0];if(nit(u)&&(u=+u),u>=13)return!0}}}return n};function oit(){var e;return typeof navigator!="undefined"&&(e=navigator.userAgent),e&&e.headers&&typeof e.headers["user-agent"]=="string"&&(e=e.headers["user-agent"]),e}});var Die=ye((grr,Iie)=>{"use strict";var sit=ba();Iie.exports=function(t,r,n){var i=t.selectAll("g."+n.replace(/\s/g,".")).data(r,function(o){return o[0].trace.uid});i.exit().remove(),i.enter().append("g").attr("class",n),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each(function(o){o[0][a]=sit.select(this)}),i}});var zie=ye((mrr,Rie)=>{"use strict";var lit=ya();Rie.exports=function(t,r){for(var n=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[n]||{}).dictionary;if(s){var l=s[r];if(l)return l}a=lit.localeRegistry}var u=n.split("-")[0];if(u===n)break;n=u}return r}});var nO=ye((yrr,Fie)=>{"use strict";Fie.exports=function(t){for(var r={},n=[],i=0,a=0;a{"use strict";qie.exports=function(t){for(var r=fit(t)?cit:uit,n=[],i=0;i{"use strict";Bie.exports=function(t,r){if(!r)return t;var n=1/Math.abs(r),i=n>1?(n*t+n*r)/n:t+r,a=String(i).length;if(a>16){var o=String(r).length,s=String(t).length;if(a>=s+o){var l=parseFloat(i).toPrecision(12);l.indexOf("e+")===-1&&(i=+l)}}return i}});var Vie=ye((brr,Uie)=>{"use strict";var hit=uo(),dit=Yo().BADNUM,vit=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;Uie.exports=function(t){return typeof t=="string"&&(t=t.replace(vit,"")),hit(t)?Number(t):dit}});var Ar=ye((wrr,tne)=>{"use strict";var eM=ba(),pit=d3().utcFormat,git=kq().format,Xie=uo(),Yie=Yo(),Kie=Yie.FP_SAFE,mit=-Kie,Hie=Yie.BADNUM,li=tne.exports={};li.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:t==="0.f"?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var Gie={};li.warnBadFormat=function(e){var t=String(e);Gie[t]||(Gie[t]=1,li.warn('encountered bad format: "'+t+'"'))};li.noFormat=function(e){return String(e)};li.numberFormat=function(e){var t;try{t=git(li.adjustFormat(e))}catch(r){return li.warnBadFormat(e),li.noFormat}return t};li.nestedProperty=BS();li.keyedContainer=zee();li.relativeAttr=qee();li.isPlainObject=yy();li.toLogRange=E6();li.relinkPrivateKeys=Uee();var e_=pv();li.isArrayBuffer=e_.isArrayBuffer;li.isTypedArray=e_.isTypedArray;li.isArrayOrTypedArray=e_.isArrayOrTypedArray;li.isArray1D=e_.isArray1D;li.ensureArray=e_.ensureArray;li.concat=e_.concat;li.maxRowLength=e_.maxRowLength;li.minRowLength=e_.minRowLength;var Jie=p3();li.mod=Jie.mod;li.modHalf=Jie.modHalf;var t_=ote();li.valObjectMeta=t_.valObjectMeta;li.coerce=t_.coerce;li.coerce2=t_.coerce2;li.coerceFont=t_.coerceFont;li.coercePattern=t_.coercePattern;li.coerceHoverinfo=t_.coerceHoverinfo;li.coerceSelectionMarkerOpacity=t_.coerceSelectionMarkerOpacity;li.validate=t_.validate;var Yp=die();li.dateTime2ms=Yp.dateTime2ms;li.isDateTime=Yp.isDateTime;li.ms2DateTime=Yp.ms2DateTime;li.ms2DateTimeLocal=Yp.ms2DateTimeLocal;li.cleanDate=Yp.cleanDate;li.isJSDate=Yp.isJSDate;li.formatDate=Yp.formatDate;li.incrementMonth=Yp.incrementMonth;li.dateTick0=Yp.dateTick0;li.dfltRange=Yp.dfltRange;li.findExactDates=Yp.findExactDates;li.MIN_MS=Yp.MIN_MS;li.MAX_MS=Yp.MAX_MS;var wb=Z6();li.findBin=wb.findBin;li.sorterAsc=wb.sorterAsc;li.sorterDes=wb.sorterDes;li.distinctVals=wb.distinctVals;li.roundUp=wb.roundUp;li.sort=wb.sort;li.findIndexOfMin=wb.findIndexOfMin;li.sortObjectKeys=$1();var Ty=gie();li.aggNums=Ty.aggNums;li.len=Ty.len;li.mean=Ty.mean;li.geometricMean=Ty.geometricMean;li.median=Ty.median;li.midRange=Ty.midRange;li.variance=Ty.variance;li.stdev=Ty.stdev;li.interp=Ty.interp;var wg=z6();li.init2dArray=wg.init2dArray;li.transposeRagged=wg.transposeRagged;li.dot=wg.dot;li.translationMatrix=wg.translationMatrix;li.rotationMatrix=wg.rotationMatrix;li.rotationXYMatrix=wg.rotationXYMatrix;li.apply3DTransform=wg.apply3DTransform;li.apply2DTransform=wg.apply2DTransform;li.apply2DTransform2=wg.apply2DTransform2;li.convertCssMatrix=wg.convertCssMatrix;li.inverseTransformMatrix=wg.inverseTransformMatrix;var gm=bie();li.deg2rad=gm.deg2rad;li.rad2deg=gm.rad2deg;li.angleDelta=gm.angleDelta;li.angleDist=gm.angleDist;li.isFullCircle=gm.isFullCircle;li.isAngleInsideSector=gm.isAngleInsideSector;li.isPtInsideSector=gm.isPtInsideSector;li.pathArc=gm.pathArc;li.pathSector=gm.pathSector;li.pathAnnulus=gm.pathAnnulus;var M3=wie();li.isLeftAnchor=M3.isLeftAnchor;li.isCenterAnchor=M3.isCenterAnchor;li.isRightAnchor=M3.isRightAnchor;li.isTopAnchor=M3.isTopAnchor;li.isMiddleAnchor=M3.isMiddleAnchor;li.isBottomAnchor=M3.isBottomAnchor;var E3=Sie();li.segmentsIntersect=E3.segmentsIntersect;li.segmentDistance=E3.segmentDistance;li.getTextLocation=E3.getTextLocation;li.clearLocationCache=E3.clearLocationCache;li.getVisibleSegment=E3.getVisibleSegment;li.findPointOnPath=E3.findPointOnPath;var eL=no();li.extendFlat=eL.extendFlat;li.extendDeep=eL.extendDeep;li.extendDeepAll=eL.extendDeepAll;li.extendDeepNoArrays=eL.extendDeepNoArrays;var aO=Z1();li.log=aO.log;li.warn=aO.warn;li.error=aO.error;var yit=m3();li.counterRegex=yit.counter;var oO=K6();li.throttle=oO.throttle;li.throttleDone=oO.done;li.clearThrottle=oO.clear;var mm=WS();li.getGraphDiv=mm.getGraphDiv;li.isPlotDiv=mm.isPlotDiv;li.removeElement=mm.removeElement;li.addStyleRule=mm.addStyleRule;li.addRelatedStyleRule=mm.addRelatedStyleRule;li.deleteRelatedStyleRule=mm.deleteRelatedStyleRule;li.getFullTransformMatrix=mm.getFullTransformMatrix;li.getElementTransformMatrix=mm.getElementTransformMatrix;li.getElementAndAncestors=mm.getElementAndAncestors;li.equalDomRects=mm.equalDomRects;li.clearResponsive=kie();li.preserveDrawingBuffer=Pie();li.makeTraceGroups=Die();li._=zie();li.notifier=Bq();li.filterUnique=nO();li.filterVisible=Oie();li.pushUnique=Vq();li.increment=Nie();li.cleanNumber=Vie();li.ensureNumber=function(t){return Xie(t)?(t=Number(t),t>Kie||t=t?!1:Xie(e)&&e>=0&&e%1===0};li.noop=R6();li.identity=KS();li.repeat=function(e,t){for(var r=new Array(t),n=0;nr?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))};li.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r};li.simpleMap=function(e,t,r,n,i){for(var a=e.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(li.warn("randstr failed uniqueness"),o):e(t,r,n,(i||0)+1):o};li.OptionControl=function(e,t){e||(e={}),t||(t="opt");var r={};return r.optionList=[],r._newoption=function(n){n[t]=e,r[n.name]=n,r.optionList.push(n)},r["_"+t]=e,r};li.smooth=function(e,t){if(t=Math.round(t)||0,t<2)return e;var r=e.length,n=2*r,i=2*t-1,a=new Array(i),o=new Array(r),s,l,u,c;for(s=0;s=n&&(u-=n*Math.floor(u/n)),u<0?u=-1-u:u>=r&&(u=n-1-u),c+=e[u]*a[l];o[s]=c}return o};li.syncOrAsync=function(e,t,r){var n,i;function a(){return li.syncOrAsync(e,t,r)}for(;e.length;)if(i=e.splice(0,1)[0],n=i(t),n&&n.then)return n.then(a);return r&&r(t)};li.stripTrailingSlash=function(e){return e.substr(-1)==="/"?e.substr(0,e.length-1):e};li.noneOrAll=function(e,t,r){if(e){var n=!1,i=!0,a,o;for(a=0;a0?i:0})};li.fillArray=function(e,t,r,n){if(n=n||li.identity,li.isArrayOrTypedArray(e))for(var i=0;i1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l};li.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var ene=/^\w*$/;li.templateString=function(e,t){var r={};return e.replace(li.TEMPLATE_STRING_REGEX,function(n,i){var a;return ene.test(i)?a=t[i]:(r[i]=r[i]||li.nestedProperty(t,i).get,a=r[i]()),li.isValidTextValue(a)?a:""})};var Ait={max:10,count:0,name:"hovertemplate"};li.hovertemplateString=function(){return sO.apply(Ait,arguments)};var Sit={max:10,count:0,name:"texttemplate"};li.texttemplateString=function(){return sO.apply(Sit,arguments)};var Mit=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/;function Eit(e){var t=e.match(Mit);return t?{key:t[1],op:t[2],number:Number(t[3])}:{key:e,op:null,number:null}}var kit={max:10,count:0,name:"texttemplate",parseMultDiv:!0};li.texttemplateStringForShapes=function(){return sO.apply(kit,arguments)};var jie=/^[:|\|]/;function sO(e,t,r){var n=this,i=arguments;t||(t={});var a={};return e.replace(li.TEMPLATE_STRING_REGEX,function(o,s,l){var u=s==="xother"||s==="yother",c=s==="_xother"||s==="_yother",f=s==="_xother_"||s==="_yother_",h=s==="xother_"||s==="yother_",v=u||c||h||f,d=s;(c||f)&&(d=d.substring(1)),(h||f)&&(d=d.substring(0,d.length-1));var _=null,b=null;if(n.parseMultDiv){var p=Eit(d);d=p.key,_=p.op,b=p.number}var E;if(v){if(E=t[d],E===void 0)return""}else{var k,S;for(S=3;S=Q6&&o<=Wie,u=s>=Q6&&s<=Wie;if(l&&(n=10*n+o-Q6),u&&(i=10*i+s-Q6),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var S3=2e9;li.seedPseudoRandom=function(){S3=2e9};li.pseudoRandom=function(){var e=S3;return S3=(69069*S3+1)%4294967296,Math.abs(S3-e)<429496729?li.pseudoRandom():S3/4294967296};li.fillText=function(e,t,r){var n=Array.isArray(r)?function(o){r.push(o)}:function(o){r.text=o},i=li.extractOption(e,t,"htx","hovertext");if(li.isValidTextValue(i))return n(i);var a=li.extractOption(e,t,"tx","text");if(li.isValidTextValue(a))return n(a)};li.isValidTextValue=function(e){return e||e===0};li.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+"%",n=0;n1&&(u=1):u=0,li.strTranslate(i-u*(r+o),a-u*(n+s))+li.strScale(u)+(l?"rotate("+l+(t?"":" "+r+" "+n)+")":"")};li.setTransormAndDisplay=function(e,t){e.attr("transform",li.getTextTransform(t)),e.style("display",t.scale?null:"none")};li.ensureUniformFontSize=function(e,t){var r=li.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r};li.join2=function(e,t,r){var n=e.length;return n>1?e.slice(0,-1).join(t)+r+e[n-1]:e.join(t)};li.bigFont=function(e){return Math.round(1.2*e)};var Zie=li.getFirefoxVersion(),Cit=Zie!==null&&Zie<86;li.getPositionFromD3Event=function(){return Cit?[eM.event.layerX,eM.event.layerY]:[eM.event.offsetX,eM.event.offsetY]}});var nne=ye(()=>{"use strict";var Lit=Ar(),rne={"X,X div":'direction:ltr;font-family:"Open Sans",verdana,arial,sans-serif;margin:0;padding:0;',"X input,X button":'font-family:"Open Sans",verdana,arial,sans-serif;',"X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(lO in rne)ine=lO.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier"),Lit.addStyleRule(ine,rne[lO]);var ine,lO});var uO=ye((Srr,ane)=>{ane.exports=!0});var fO=ye((Mrr,one)=>{"use strict";var Pit=uO(),cO;typeof window.matchMedia=="function"?cO=!window.matchMedia("(hover: none)").matches:cO=Pit;one.exports=cO});var Tb=ye((Err,hO)=>{"use strict";var k3=typeof Reflect=="object"?Reflect:null,sne=k3&&typeof k3.apply=="function"?k3.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},tL;k3&&typeof k3.ownKeys=="function"?tL=k3.ownKeys:Object.getOwnPropertySymbols?tL=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:tL=function(t){return Object.getOwnPropertyNames(t)};function Iit(e){console&&console.warn&&console.warn(e)}var une=Number.isNaN||function(t){return t!==t};function Tc(){Tc.init.call(this)}hO.exports=Tc;hO.exports.once=Fit;Tc.EventEmitter=Tc;Tc.prototype._events=void 0;Tc.prototype._eventsCount=0;Tc.prototype._maxListeners=void 0;var lne=10;function rL(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(Tc,"defaultMaxListeners",{enumerable:!0,get:function(){return lne},set:function(e){if(typeof e!="number"||e<0||une(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");lne=e}});Tc.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};Tc.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||une(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function cne(e){return e._maxListeners===void 0?Tc.defaultMaxListeners:e._maxListeners}Tc.prototype.getMaxListeners=function(){return cne(this)};Tc.prototype.emit=function(t){for(var r=[],n=1;n0&&(o=r[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[t];if(l===void 0)return!1;if(typeof l=="function")sne(l,this,r);else for(var u=l.length,c=pne(l,u),n=0;n0&&o.length>i&&!o.warned){o.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=o.length,Iit(s)}return e}Tc.prototype.addListener=function(t,r){return fne(this,t,r,!1)};Tc.prototype.on=Tc.prototype.addListener;Tc.prototype.prependListener=function(t,r){return fne(this,t,r,!0)};function Dit(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function hne(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=Dit.bind(n);return i.listener=r,n.wrapFn=i,i}Tc.prototype.once=function(t,r){return rL(r),this.on(t,hne(this,t,r)),this};Tc.prototype.prependOnceListener=function(t,r){return rL(r),this.prependListener(t,hne(this,t,r)),this};Tc.prototype.removeListener=function(t,r){var n,i,a,o,s;if(rL(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(a=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){s=n[o].listener,a=o;break}if(a<0)return this;a===0?n.shift():Rit(n,a),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,s||r)}return this};Tc.prototype.off=Tc.prototype.removeListener;Tc.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var a=Object.keys(n),o;for(i=0;i=0;i--)this.removeListener(t,r[i]);return this};function dne(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?zit(i):pne(i,i.length)}Tc.prototype.listeners=function(t){return dne(this,t,!0)};Tc.prototype.rawListeners=function(t){return dne(this,t,!1)};Tc.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):vne.call(e,t)};Tc.prototype.listenerCount=vne;function vne(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}Tc.prototype.eventNames=function(){return this._eventsCount>0?tL(this._events):[]};function pne(e,t){for(var r=new Array(t),n=0;n{"use strict";var dO=Tb().EventEmitter,Oit={init:function(e){if(e._ev instanceof dO)return e;var t=new dO,r=new dO;return e._ev=t,e._internalEv=r,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=r.on.bind(r),e._internalOnce=r.once.bind(r),e._removeInternalListener=r.removeListener.bind(r),e._removeAllInternalListeners=r.removeAllListeners.bind(r),e.emit=function(n,i){t.emit(n,i),r.emit(n,i)},e},triggerHandler:function(e,t,r){var n,i=e._ev;if(!i)return;var a=i._events[t];if(!a)return;function o(l){if(l.listener){if(i.removeListener(t,l.listener),!l.fired)return l.fired=!0,l.listener.apply(i,[r])}else return l.apply(i,[r])}a=Array.isArray(a)?a:[a];var s;for(s=0;s{"use strict";var yne=Ar(),Bit=yb().dfltConfig;function Nit(e,t){for(var r=[],n,i=0;iBit.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)};Ay.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0};Ay.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1};Ay.undo=function(t){var r,n;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n=t.undoQueue.queue.length)){for(r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n{"use strict";bne.exports={_isLinkedToArray:"frames_entry",group:{valType:"string"},name:{valType:"string"},traces:{valType:"any"},baseframe:{valType:"string"},data:{valType:"any"},layout:{valType:"any"}}});var r_=ye(gh=>{"use strict";var gv=ya(),iM=Ar(),rM=vl(),pO=x3(),Uit=vO(),Vit=ZS(),Hit=yb().configAttributes,wne=Bu(),T0=iM.extendDeepAll,L3=iM.isPlainObject,Git=iM.isArrayOrTypedArray,iL=iM.nestedProperty,jit=iM.valObjectMeta,gO="_isSubplotObj",nL="_isLinkedToArray",Wit="_arrayAttrRegexps",Ane="_deprecated",mO=[gO,nL,Wit,Ane];gh.IS_SUBPLOT_OBJ=gO;gh.IS_LINKED_TO_ARRAY=nL;gh.DEPRECATED=Ane;gh.UNDERSCORE_ATTRS=mO;gh.get=function(){var e={};gv.allTypes.forEach(function(r){e[r]=Xit(r)});var t={};return Object.keys(gv.transformsRegistry).forEach(function(r){t[r]=Kit(r)}),{defs:{valObjects:jit,metaKeys:mO.concat(["description","role","editType","impliedEdits"]),editType:{traces:wne.traces,layout:wne.layout},impliedEdits:{}},traces:e,layout:Yit(),transforms:t,frames:Jit(),animation:Ab(Vit),config:Ab(Hit)}};gh.crawl=function(e,t,r,n){var i=r||0;n=n||"",Object.keys(e).forEach(function(a){var o=e[a];if(mO.indexOf(a)===-1){var s=(n?n+".":"")+a;t(o,a,e,i,s),!gh.isValObject(o)&&L3(o)&&a!=="impliedEdits"&&gh.crawl(o,t,i+1,s)}})};gh.isValObject=function(e){return e&&e.valType!==void 0};gh.findArrayAttributes=function(e){var t=[],r=[],n=[],i,a;function o(h,v,d,_){r=r.slice(0,_).concat([v]),n=n.slice(0,_).concat([h&&h._isLinkedToArray]);var b=h&&(h.valType==="data_array"||h.arrayOk===!0)&&!(r[_-1]==="colorbar"&&(v==="ticktext"||v==="tickvals"));b&&s(i,0,"")}function s(h,v,d){var _=h[r[v]],b=d+r[v];if(v===r.length-1)Git(_)&&t.push(a+b);else if(n[v]){if(Array.isArray(_))for(var p=0;p<_.length;p++)L3(_[p])&&s(_[p],v+1,b+"["+p+"].")}else L3(_)&&s(_,v+1,b+".")}i=e,a="",gh.crawl(rM,o),e._module&&e._module.attributes&&gh.crawl(e._module.attributes,o);var l=e.transforms;if(l)for(var u=0;u=o.length)return!1;i=(gv.transformsRegistry[o[s].type]||{}).attributes,a=i&&i[t[2]],n=3}else{var l=e._module;if(l||(l=(gv.modules[e.type||rM.type.dflt]||{})._module),!l)return!1;if(i=l.attributes,a=i&&i[r],!a){var u=l.basePlotModule;u&&u.attributes&&(a=u.attributes[r])}a||(a=rM[r])}return Sne(a,t,n)};gh.getLayoutValObject=function(e,t){var r=Zit(e,t[0]);return Sne(r,t,1)};function Zit(e,t){var r,n,i,a,o=e._basePlotModules;if(o){var s;for(r=0;r=a.length)return!1;if(e.dimensions===2){if(r++,t.length===r)return e;var o=t[r];if(!tM(o))return!1;e=a[i][o]}else e=a[i]}else e=a}}return e}function tM(e){return e===Math.round(e)&&e>=0}function Xit(e){var t,r;t=gv.modules[e]._module,r=t.basePlotModule;var n={};n.type=null;var i=T0({},rM),a=T0({},t.attributes);gh.crawl(a,function(l,u,c,f,h){iL(i,h).set(void 0),l===void 0&&iL(a,h).set(void 0)}),T0(n,i),gv.traceIs(e,"noOpacity")&&delete n.opacity,gv.traceIs(e,"showLegend")||(delete n.showlegend,delete n.legendgroup),gv.traceIs(e,"noHover")&&(delete n.hoverinfo,delete n.hoverlabel),t.selectPoints||delete n.selectedpoints,T0(n,a),r.attributes&&T0(n,r.attributes),n.type=e;var o={meta:t.meta||{},categories:t.categories||{},animatable:!!t.animatable,type:e,attributes:Ab(n)};if(t.layoutAttributes){var s={};T0(s,t.layoutAttributes),o.layoutAttributes=Ab(s)}return t.animatable||gh.crawl(o,function(l){gh.isValObject(l)&&"anim"in l&&delete l.anim}),o}function Yit(){var e={},t,r;T0(e,pO);for(t in gv.subplotsRegistry)if(r=gv.subplotsRegistry[t],!!r.layoutAttributes)if(Array.isArray(r.attr))for(var n=0;n{"use strict";var P3=Ar(),tnt=vl(),i_="templateitemname",yO={name:{valType:"string",editType:"none"}};yO[i_]={valType:"string",editType:"calc"};Sb.templatedArray=function(e,t){return t._isLinkedToArray=e,t.name=yO.name,t[i_]=yO[i_],t};Sb.traceTemplater=function(e){var t={},r,n;for(r in e)n=e[r],Array.isArray(n)&&n.length&&(t[r]=0);function i(a){r=P3.coerce(a,{},tnt,"type");var o={type:r,_template:null};if(r in t){n=e[r];var s=t[r]%n.length;t[r]++,o._template=n[s]}return o}return{newTrace:i}};Sb.newContainer=function(e,t,r){var n=e._template,i=n&&(n[t]||r&&n[r]);P3.isPlainObject(i)||(i=null);var a=e[t]={_template:i};return a};Sb.arrayTemplater=function(e,t,r){var n=e._template,i=n&&n[kne(t)],a=n&&n[t];(!Array.isArray(a)||!a.length)&&(a=[]);var o={};function s(u){var c={name:u.name,_input:u},f=c[i_]=u[i_];if(!Ene(f))return c._template=i,c;for(var h=0;h=n&&(r._input||{})._templateitemname;a&&(i=n);var o=t+"["+i+"]",s;function l(){s={},a&&(s[o]={},s[o][i_]=a)}l();function u(v,d){s[v]=d}function c(v,d){a?P3.nestedProperty(s[o],v).set(d):s[o+"."+v]=d}function f(){var v=s;return l(),v}function h(v,d){v&&c(v,d);var _=f();for(var b in _)P3.nestedProperty(e,b).set(_[b])}return{modifyBase:u,modifyItem:c,getUpdateObj:f,applyUpdate:h}}});var sd=ye((Drr,Cne)=>{"use strict";var nM=m3().counter;Cne.exports={idRegex:{x:nM("x","( domain)?"),y:nM("y","( domain)?")},attrRegex:nM("[xy]axis"),xAxisMatch:nM("xaxis"),yAxisMatch:nM("yaxis"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:"hour",WEEKDAY_PATTERN:"day of week",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:["imagelayer","heatmaplayer","contourcarpetlayer","contourlayer","funnellayer","waterfalllayer","barlayer","carpetlayer","violinlayer","boxlayer","ohlclayer","scattercarpetlayer","scatterlayer"],clipOnAxisFalseQuery:[".scatterlayer",".barlayer",".funnellayer",".waterfalllayer"],layerValue2layerClass:{"above traces":"above","below traces":"below"},zindexSeparator:"z"}});var af=ye(Ep=>{"use strict";var rnt=ya(),_O=sd();Ep.id2name=function(t){if(!(typeof t!="string"||!t.match(_O.AX_ID_PATTERN))){var r=t.split(" ")[0].substr(1);return r==="1"&&(r=""),t.charAt(0)+"axis"+r}};Ep.name2id=function(t){if(t.match(_O.AX_NAME_PATTERN)){var r=t.substr(5);return r==="1"&&(r=""),t.charAt(0)+r}};Ep.cleanId=function(t,r,n){var i=/( domain)$/.test(t);if(!(typeof t!="string"||!t.match(_O.AX_ID_PATTERN))&&!(r&&t.charAt(0)!==r)&&!(i&&!n)){var a=t.split(" ")[0].substr(1).replace(/^0+/,"");return a==="1"&&(a=""),t.charAt(0)+a+(i&&n?" domain":"")}};Ep.list=function(e,t,r){var n=e._fullLayout;if(!n)return[];var i=Ep.listIds(e,t),a=new Array(i.length),o;for(o=0;on?1:-1:+(e.substr(1)||1)-+(t.substr(1)||1)};Ep.ref2id=function(e){return/^[xyz]/.test(e)?e.split(" ")[0]:!1};function Lne(e,t){if(t&&t.length){for(var r=0;r{"use strict";function int(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".outline-controllers").remove()}function nnt(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".select-outline").remove(),e._fullLayout._outlining=!1}Pne.exports={clearOutlineControllers:int,clearOutline:nnt}});var aL=ye((Frr,Ine)=>{"use strict";Ine.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}});var Cd=ye(sL=>{"use strict";var oL=ya(),qrr=sd().SUBPLOT_PATTERN;sL.getSubplotCalcData=function(e,t,r){var n=oL.subplotsRegistry[t];if(!n)return[];for(var i=n.attr,a=[],o=0;o{"use strict";var ant=ya(),I3=Ar();Mb.manageCommandObserver=function(e,t,r,n){var i={},a=!0;t&&t._commandObserver&&(i=t._commandObserver),i.cache||(i.cache={}),i.lookupTable={};var o=Mb.hasSimpleAPICommandBindings(e,r,i.lookupTable);if(t&&t._commandObserver){if(o)return i;if(t._commandObserver.remove)return t._commandObserver.remove(),t._commandObserver=null,i}if(o){Dne(e,o,i.cache),i.check=function(){if(a){var c=Dne(e,o,i.cache);return c.changed&&n&&i.lookupTable[c.value]!==void 0&&(i.disable(),Promise.resolve(n({value:c.value,type:o.type,prop:o.prop,traces:o.traces,index:i.lookupTable[c.value]})).then(i.enable,i.enable)),c.changed}};for(var s=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],l=0;l0?".":"")+i;I3.isPlainObject(a)?xO(a,t,o,n+1):t(o,i,a)}})}});var Nu=ye((Nrr,Kne)=>{"use strict";var Vne=ba(),snt=d3().timeFormatLocale,lnt=kq().formatLocale,aM=uo(),unt=Cq(),bl=ya(),Hne=r_(),cnt=Vs(),Sa=Ar(),Gne=va(),qne=Yo().BADNUM,kp=af(),fnt=n_().clearOutline,hnt=aL(),wO=ZS(),dnt=vO(),vnt=Cd().getModuleCalcData,bO=Sa.relinkPrivateKeys,Eb=Sa._,aa=Kne.exports={};Sa.extendFlat(aa,bl);aa.attributes=vl();aa.attributes.type.values=aa.allTypes;aa.fontAttrs=Su();aa.layoutAttributes=x3();var uL=aa.transformsRegistry,cL=Fne();aa.executeAPICommand=cL.executeAPICommand;aa.computeAPICommandBindings=cL.computeAPICommandBindings;aa.manageCommandObserver=cL.manageCommandObserver;aa.hasSimpleAPICommandBindings=cL.hasSimpleAPICommandBindings;aa.redrawText=function(e){return e=Sa.getGraphDiv(e),new Promise(function(t){setTimeout(function(){e._fullLayout&&(bl.getComponentMethod("annotations","draw")(e),bl.getComponentMethod("legend","draw")(e),bl.getComponentMethod("colorbar","draw")(e),t(aa.previousPromises(e)))},300)})};aa.resize=function(e){e=Sa.getGraphDiv(e);var t,r=new Promise(function(n,i){(!e||Sa.isHidden(e))&&i(new Error("Resize must be passed a displayed plot div element.")),e._redrawTimer&&clearTimeout(e._redrawTimer),e._resolveResize&&(t=e._resolveResize),e._resolveResize=n,e._redrawTimer=setTimeout(function(){if(!e.layout||e.layout.width&&e.layout.height||Sa.isHidden(e)){n(e);return}delete e.layout.width,delete e.layout.height;var a=e.changed;e.autoplay=!0,bl.call("relayout",e,{autosize:!0}).then(function(){e.changed=a,e._resolveResize===n&&(delete e._resolveResize,n(e))})},100)});return t&&t(r),r};aa.previousPromises=function(e){if((e._promises||[]).length)return Promise.all(e._promises).then(function(){e._promises=[]})};aa.addLinks=function(e){if(!(!e._context.showLink&&!e._context.showSources)){var t=e._fullLayout,r=Sa.ensureSingle(t._paper,"text","js-plot-link-container",function(l){l.style({"font-family":'"Open Sans", Arial, sans-serif',"font-size":"12px",fill:Gne.defaultLine,"pointer-events":"all"}).each(function(){var u=Vne.select(this);u.append("tspan").classed("js-link-to-tool",!0),u.append("tspan").classed("js-link-spacer",!0),u.append("tspan").classed("js-sourcelinks",!0)})}),n=r.node(),i={y:t._paper.attr("height")-9};document.body.contains(n)&&n.getComputedTextLength()>=t.width-20?(i["text-anchor"]="start",i.x=5):(i["text-anchor"]="end",i.x=t._paper.attr("width")-7),r.attr(i);var a=r.select(".js-link-to-tool"),o=r.select(".js-link-spacer"),s=r.select(".js-sourcelinks");e._context.showSources&&e._context.showSources(e),e._context.showLink&&pnt(e,a),o.text(a.text()&&s.text()?" - ":"")}};function pnt(e,t){t.text("");var r=t.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(e._context.linkText+" \xBB");if(e._context.sendData)r.on("click",function(){aa.sendDataToCloud(e)});else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}aa.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(t){e.emit("plotly_beforeexport");var r=Vne.select(e).append("div").attr("id","hiddenform").style("display","none"),n=r.append("form").attr({action:t+"/external",method:"post",target:"_blank"}),i=n.append("input").attr({type:"text",name:"data"});return i.node().value=aa.graphJson(e,!1,"keepdata"),n.node().submit(),r.remove(),e.emit("plotly_afterexport"),!1}};var gnt=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],mnt=["year","month","dayMonth","dayMonthYear"];aa.supplyDefaults=function(e,t){var r=t&&t.skipUpdateCalc,n=e._fullLayout||{};if(n._skipDefaults){delete n._skipDefaults;return}var i=e._fullLayout={},a=e.layout||{},o=e._fullData||[],s=e._fullData=[],l=e.data||[],u=e.calcdata||[],c=e._context||{},f;e._transitionData||aa.createTransitionData(e),i._dfltTitle={plot:Eb(e,"Click to enter Plot title"),subtitle:Eb(e,"Click to enter Plot subtitle"),x:Eb(e,"Click to enter X axis title"),y:Eb(e,"Click to enter Y axis title"),colorbar:Eb(e,"Click to enter Colorscale title"),annotation:Eb(e,"new text")},i._traceWord=Eb(e,"trace");var h=One(e,gnt);if(i._mapboxAccessToken=c.mapboxAccessToken,n._initialAutoSizeIsDone){var v=n.width,d=n.height;aa.supplyLayoutGlobalDefaults(a,i,h),a.width||(i.width=v),a.height||(i.height=d),aa.sanitizeMargins(i)}else{aa.supplyLayoutGlobalDefaults(a,i,h);var _=!a.width||!a.height,b=i.autosize,p=c.autosizable,E=_&&(b||p);E?aa.plotAutoSize(e,a,i):_&&aa.sanitizeMargins(i),!b&&_&&(a.width=i.width,a.height=i.height)}i._d3locale=xnt(h,i.separators),i._extraFormat=One(e,mnt),i._initialAutoSizeIsDone=!0,i._dataLength=l.length,i._modules=[],i._visibleModules=[],i._basePlotModules=[];var k=i._subplots=_nt(),S=i._splomAxes={x:{},y:{}},L=i._splomSubplots={};i._splomGridDflt={},i._scatterStackOpts={},i._firstScatter={},i._alignmentOpts={},i._colorAxes={},i._requestRangeslider={},i._traceUids=ynt(o,l),i._globalTransforms=(e._context||{}).globalTransforms,aa.supplyDataDefaults(l,s,a,i);var x=Object.keys(S.x),C=Object.keys(S.y);if(x.length>1&&C.length>1){for(bl.getComponentMethod("grid","sizeDefaults")(a,i),f=0;f15&&C.length>15&&i.shapes.length===0&&i.images.length===0,aa.linkSubplots(s,i,o,n),aa.cleanPlot(s,i,o,n);var F=!!(n._has&&n._has("cartesian")),q=!!(i._has&&i._has("cartesian")),V=F,H=q;V&&!H?n._bgLayer.remove():H&&!V&&(i._shouldCreateBgLayer=!0),n._zoomlayer&&!e._dragging&&fnt({_fullLayout:n}),bnt(s,i),bO(i,n),bl.getComponentMethod("colorscale","crossTraceDefaults")(s,i),i._preGUI||(i._preGUI={}),i._tracePreGUI||(i._tracePreGUI={});var X=i._tracePreGUI,G={},N;for(N in X)G[N]="old";for(f=0;f0){var c=1-2*a;o=Math.round(c*o),s=Math.round(c*s)}}var f=aa.layoutAttributes.width.min,h=aa.layoutAttributes.height.min;o1,d=!r.height&&Math.abs(n.height-s)>1;(d||v)&&(v&&(n.width=o),d&&(n.height=s)),t._initialAutoSize||(t._initialAutoSize={width:o,height:s}),aa.sanitizeMargins(n)};aa.supplyLayoutModuleDefaults=function(e,t,r,n){var i=bl.componentsRegistry,a=t._basePlotModules,o,s,l,u=bl.subplotsRegistry.cartesian;for(o in i)l=i[o],l.includeBasePlot&&l.includeBasePlot(e,t);a.length||a.push(u),t._has("cartesian")&&(bl.getComponentMethod("grid","contentDefaults")(e,t),u.finalizeSubplots(e,t));for(var c in t._subplots)t._subplots[c].sort(Sa.subplotSort);for(s=0;s1&&(r.l/=b,r.r/=b)}if(h){var p=(r.t+r.b)/h;p>1&&(r.t/=p,r.b/=p)}var E=r.xl!==void 0?r.xl:r.x,k=r.xr!==void 0?r.xr:r.x,S=r.yt!==void 0?r.yt:r.y,L=r.yb!==void 0?r.yb:r.y;v[t]={l:{val:E,size:r.l+_},r:{val:k,size:r.r+_},b:{val:L,size:r.b+_},t:{val:S,size:r.t+_}},d[t]=1}if(!n._replotting)return aa.doAutoMargin(e)}};function Ant(e){if("_redrawFromAutoMarginCount"in e._fullLayout)return!1;var t=kp.list(e,"",!0);for(var r in t)if(t[r].autoshift||t[r].shift)return!0;return!1}aa.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,n=t.height;t._size||(t._size={}),Wne(t);var i=t._size,a=t.margin,o={t:0,b:0,l:0,r:0},s=Sa.extendFlat({},i),l=a.l,u=a.r,c=a.t,f=a.b,h=t._pushmargin,v=t._pushmarginIds,d=t.minreducedwidth,_=t.minreducedheight;if(a.autoexpand!==!1){for(var b in h)v[b]||delete h[b];var p=e._fullLayout._reservedMargin;for(var E in p)for(var k in p[E]){var S=p[E][k];o[k]=Math.max(o[k],S)}h.base={l:{val:0,size:l},r:{val:1,size:u},t:{val:1,size:c},b:{val:0,size:f}};for(var L in o){var x=0;for(var C in h)C!=="base"&&aM(h[C][L].size)&&(x=h[C][L].size>x?h[C][L].size:x);var M=Math.max(0,a[L]-x);o[L]=Math.max(0,o[L]-M)}for(var g in h){var P=h[g].l||{},T=h[g].b||{},F=P.val,q=P.size,V=T.val,H=T.size,X=r-o.r-o.l,G=n-o.t-o.b;for(var N in h){if(aM(q)&&h[N].r){var W=h[N].r.val,re=h[N].r.size;if(W>F){var ae=(q*W+(re-X)*F)/(W-F),_e=(re*(1-F)+(q-X)*(1-W))/(W-F);ae+_e>l+u&&(l=ae,u=_e)}}if(aM(H)&&h[N].t){var Me=h[N].t.val,ke=h[N].t.size;if(Me>V){var ge=(H*Me+(ke-G)*V)/(Me-V),ie=(ke*(1-V)+(H-G)*(1-Me))/(Me-V);ge+ie>f+c&&(f=ge,c=ie)}}}}}var Te=Sa.constrain(r-a.l-a.r,Zne,d),Ee=Sa.constrain(n-a.t-a.b,Xne,_),Ae=Math.max(0,r-Te),ze=Math.max(0,n-Ee);if(Ae){var Ce=(l+u)/Ae;Ce>1&&(l/=Ce,u/=Ce)}if(ze){var me=(f+c)/ze;me>1&&(f/=me,c/=me)}if(i.l=Math.round(l)+o.l,i.r=Math.round(u)+o.r,i.t=Math.round(c)+o.t,i.b=Math.round(f)+o.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!t._replotting&&(aa.didMarginChange(s,i)||Ant(e))){"_redrawFromAutoMarginCount"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var De=3*(1+Object.keys(v).length);if(t._redrawFromAutoMarginCount1)return!0}return!1};aa.graphJson=function(e,t,r,n,i,a){(i&&t&&!e._fullData||i&&!t&&!e._fullLayout)&&aa.supplyDefaults(e);var o=i?e._fullData:e.data,s=i?e._fullLayout:e.layout,l=(e._transitionData||{})._frames;function u(h,v){if(typeof h=="function")return v?"_function_":null;if(Sa.isPlainObject(h)){var d={},_;return Object.keys(h).sort().forEach(function(k){if(["_","["].indexOf(k.charAt(0))===-1){if(typeof h[k]=="function"){v&&(d[k]="_function");return}if(r==="keepdata"){if(k.substr(k.length-3)==="src")return}else if(r==="keepstream"){if(_=h[k+"src"],typeof _=="string"&&_.indexOf(":")>0&&!Sa.isPlainObject(h.stream))return}else if(r!=="keepall"&&(_=h[k+"src"],typeof _=="string"&&_.indexOf(":")>0))return;d[k]=u(h[k],v)}}),d}var b=Array.isArray(h),p=Sa.isTypedArray(h);if((b||p)&&h.dtype&&h.shape){var E=h.bdata;return u({dtype:h.dtype,shape:h.shape,bdata:Sa.isArrayBuffer(E)?unt.encode(E):E},v)}return b?h.map(function(k){return u(k,v)}):p?Sa.simpleMap(h,Sa.identity):Sa.isJSDate(h)?Sa.ms2DateTimeLocal(+h):h}var c={data:(o||[]).map(function(h){var v=u(h);return t&&delete v.fit,v})};if(!t&&(c.layout=u(s),i)){var f=s._size;c.layout.computed={margin:{b:f.b,l:f.l,r:f.r,t:f.t}}}return l&&(c.frames=u(l)),a&&(c.config=u(e._context,!0)),n==="object"?c:JSON.stringify(c)};aa.modifyFrames=function(e,t){var r,n,i,a=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&e._transitionData._interruptCallbacks.push(function(){return bl.call("redraw",e)}),e._transitionData._interruptCallbacks.push(function(){e.emit("plotly_transitioninterrupted",[])});var h=0,v=0;function d(){return h++,function(){v++,!n&&v===h&&s(f)}}r.runFn(d),setTimeout(d())})}function s(f){if(e._transitionData)return a(e._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return bl.call("redraw",e)}).then(function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit("plotly_transitioned",[])}).then(f)}function l(){if(e._transitionData)return e._transitioning=!1,i(e._transitionData._interruptCallbacks)}var u=[aa.previousPromises,l,r.prepareFn,aa.rehover,aa.reselect,o],c=Sa.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve()),c.then(function(){return e})}aa.doCalcdata=function(e,t){var r=kp.list(e),n=e._fullData,i=e._fullLayout,a,o,s,l,u=new Array(n.length),c=(e.calcdata||[]).slice();for(e.calcdata=u,i._numBoxes=0,i._numViolins=0,i._violinScaleGroupStats={},e._hmpixcount=0,e._hmlumcount=0,i._piecolormap={},i._sunburstcolormap={},i._treemapcolormap={},i._iciclecolormap={},i._funnelareacolormap={},s=0;s=0;l--)if(L[l].enabled){a._indexToPoints=L[l]._indexToPoints;break}o&&o.calc&&(S=o.calc(e,a))}(!Array.isArray(S)||!S[0])&&(S=[{x:qne,y:qne}]),S[0].t||(S[0].t={}),S[0].trace=a,u[E]=S}}for(Nne(r,n,i),s=0;s{"use strict";kb.xmlns="http://www.w3.org/2000/xmlns/";kb.svg="http://www.w3.org/2000/svg";kb.xlink="http://www.w3.org/1999/xlink";kb.svgAttrs={xmlns:kb.svg,"xmlns:xlink":kb.xlink}});var Vh=ye((Vrr,Jne)=>{"use strict";Jne.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}});var Ll=ye(A0=>{"use strict";var mh=ba(),Sy=Ar(),knt=Sy.strTranslate,TO=Kp(),Cnt=Vh().LINE_SPACING,Lnt=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;A0.convertToTspans=function(e,t,r){var n=e.text(),i=!e.attr("data-notex")&&t&&t._context.typesetMath&&typeof MathJax!="undefined"&&n.match(Lnt),a=mh.select(e.node().parentNode);if(a.empty())return;var o=e.attr("class")?e.attr("class").split(" ")[0]:"text";o+="-math",a.selectAll("svg."+o).remove(),a.selectAll("g."+o+"-group").remove(),e.style("display",null).attr({"data-unformatted":n,"data-math":"N"});function s(){a.empty()||(o=e.attr("class")+"-math",a.select("svg."+o).remove()),e.text("").style("white-space","pre");var l=Hnt(e.node(),n);l&&e.style("pointer-events","all"),A0.positionText(e),r&&r.call(e)}return i?(t&&t._promises||[]).push(new Promise(function(l){e.style("display","none");var u=parseInt(e.node().style.fontSize,10),c={fontSize:u};Rnt(i[2],c,function(f,h,v){a.selectAll("svg."+o).remove(),a.selectAll("g."+o+"-group").remove();var d=f&&f.select("svg");if(!d||!d.node()){s(),l();return}var _=a.append("g").classed(o+"-group",!0).attr({"pointer-events":"none","data-unformatted":n,"data-math":"Y"});_.node().appendChild(d.node()),h&&h.node()&&d.node().insertBefore(h.node().cloneNode(!0),d.node().firstChild);var b=v.width,p=v.height;d.attr({class:o,height:p,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var E=e.node().style.fill||"black",k=d.select("g");k.attr({fill:E,stroke:E});var S=k.node().getBoundingClientRect(),L=S.width,x=S.height;(L>b||x>p)&&(d.style("overflow","hidden"),S=d.node().getBoundingClientRect(),L=S.width,x=S.height);var C=+e.attr("x"),M=+e.attr("y"),g=u||e.node().getBoundingClientRect().height,P=-g/4;if(o[0]==="y")_.attr({transform:"rotate("+[-90,C,M]+")"+knt(-L/2,P-x/2)});else if(o[0]==="l")M=P-x/2;else if(o[0]==="a"&&o.indexOf("atitle")!==0)C=0,M=P;else{var T=e.attr("text-anchor");C=C-L*(T==="middle"?.5:T==="end"?1:0),M=M+P-x/2}d.attr({x:C,y:M}),r&&r.call(e,_),l(_)})})):s(),e};var Pnt=/(<|<|<)/g,Int=/(>|>|>)/g;function Dnt(e){return e.replace(Pnt,"\\lt ").replace(Int,"\\gt ")}var $ne=[["$","$"],["\\(","\\)"]];function Rnt(e,t,r){var n=parseInt((MathJax.version||"").split(".")[0]);if(n!==2&&n!==3){Sy.warn("No MathJax version:",MathJax.version);return}var i,a,o,s,l=function(){return a=Sy.extendDeepAll({},MathJax.Hub.config),o=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:$ne},displayAlign:"left"})},u=function(){a=Sy.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=$ne},c=function(){if(i=MathJax.Hub.config.menuSettings.renderer,i!=="SVG")return MathJax.Hub.setRenderer("SVG")},f=function(){i=MathJax.config.startup.output,i!=="svg"&&(MathJax.config.startup.output="svg")},h=function(){var E="math-output-"+Sy.randstr({},64);s=mh.select("body").append("div").attr({id:E}).style({visibility:"hidden",position:"absolute","font-size":t.fontSize+"px"}).text(Dnt(e));var k=s.node();return n===2?MathJax.Hub.Typeset(k):MathJax.typeset([k])},v=function(){var E=s.select(n===2?".MathJax_SVG":".MathJax"),k=!E.empty()&&s.select("svg").node();if(!k)Sy.log("There was an error in the tex syntax.",e),r();else{var S=k.getBoundingClientRect(),L;n===2?L=mh.select("body").select("#MathJax_SVG_glyphs"):L=E.select("defs"),r(E,L,S)}s.remove()},d=function(){if(i!=="SVG")return MathJax.Hub.setRenderer(i)},_=function(){i!=="svg"&&(MathJax.config.startup.output=i)},b=function(){return o!==void 0&&(MathJax.Hub.processSectionDelay=o),MathJax.Hub.Config(a)},p=function(){MathJax.config=a};n===2?MathJax.Hub.Queue(l,c,h,v,d,b):n===3&&(u(),f(),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){h(),v(),_(),p()}))}var rae={sup:"font-size:70%",sub:"font-size:70%",s:"text-decoration:line-through",u:"text-decoration:underline",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},znt={sub:"0.3em",sup:"-0.6em"},Fnt={sub:"-0.21em",sup:"0.42em"},Qne="\u200B",eae=["http:","https:","mailto:","",void 0,":"],iae=A0.NEWLINES=/(\r\n?|\n)/g,SO=/(<[^<>]*>)/,MO=/<(\/?)([^ >]*)(\s+(.*))?>/i,qnt=//i;A0.BR_TAG_ALL=//gi;var nae=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,aae=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,oae=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,Ont=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function Cb(e,t){if(!e)return null;var r=e.match(t),n=r&&(r[3]||r[4]);return n&&fL(n)}var Bnt=/(^|;)\s*color:/;A0.plainText=function(e,t){t=t||{};for(var r=t.len!==void 0&&t.len!==-1?t.len:1/0,n=t.allowedTags!==void 0?t.allowedTags:["br"],i="...",a=i.length,o=e.split(SO),s=[],l="",u=0,c=0;ca?s.push(f.substr(0,_-a)+i):s.push(f.substr(0,_));break}l=""}}return s.join("")};var Nnt={mu:"\u03BC",amp:"&",lt:"<",gt:">",nbsp:"\xA0",times:"\xD7",plusmn:"\xB1",deg:"\xB0"},Unt=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function fL(e){return e.replace(Unt,function(t,r){var n;return r.charAt(0)==="#"?n=Vnt(r.charAt(1)==="x"?parseInt(r.substr(2),16):parseInt(r.substr(1),10)):n=Nnt[r],n||t})}A0.convertEntities=fL;function Vnt(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r((e>>10)+55232,e%1024+56320)}}function Hnt(e,t){t=t.replace(iae," ");var r=!1,n=[],i,a=-1;function o(){a++;var x=document.createElementNS(TO.svg,"tspan");mh.select(x).attr({class:"line",dy:a*Cnt+"em"}),e.appendChild(x),i=x;var C=n;if(n=[{node:x}],C.length>1)for(var M=1;M.",t);return}var C=n.pop();x!==C.type&&Sy.log("Start tag <"+C.type+"> doesnt match end tag <"+x+">. Pretending it did match.",t),i=n[n.length-1].node}var c=qnt.test(t);c?o():(i=e,n=[{node:e}]);for(var f=t.split(SO),h=0;h{"use strict";var Gnt=ba(),dL=ad(),sM=uo(),hL=Ar(),lae=va(),jnt=gb().isValid;function Wnt(e,t,r){var n=t?hL.nestedProperty(e,t).get()||{}:e,i=n[r||"color"];i&&i._inputArray&&(i=i._inputArray);var a=!1;if(hL.isArrayOrTypedArray(i)){for(var o=0;o=0;n--,i++){var a=e[n];r[i]=[1-a[0],a[1]]}return r}function vae(e,t){t=t||{};for(var r=e.domain,n=e.range,i=n.length,a=new Array(i),o=0;o{"use strict";var gae=Zq(),Xnt=gae.FORMAT_LINK,Ynt=gae.DATE_FORMAT_LINK;function Knt(e,t){return{valType:"string",dflt:"",editType:"none",description:(t?EO:mae)("hover text",e)+["By default the values are formatted using "+(t?"generic number format":"`"+e+"axis.hoverformat`")+"."].join(" ")}}function EO(e,t){return["Sets the "+e+" formatting rule"+(t?"for `"+t+"` ":""),"using d3 formatting mini-languages","which are very similar to those in Python. For numbers, see: "+Xnt+"."].join(" ")}function mae(e,t){return EO(e,t)+[" And for dates see: "+Ynt+".","We add two items to d3's date formatter:","*%h* for half of the year as a decimal number as well as","*%{n}f* for fractional seconds","with n digits. For example, *2016-10-13 09:15:23.456* with tickformat","*%H~%M~%S.%2f* would display *09~15~23.46*"].join(" ")}yae.exports={axisHoverFormat:Knt,descriptionOnlyNumbers:EO,descriptionWithDates:mae}});var Ld=ye((Wrr,zae)=>{"use strict";var _ae=Su(),D3=ph(),Rae=kd().dash,CO=no().extendFlat,xae=Vs().templatedArray,bae=Oc().descriptionWithDates,Jnt=Yo().ONEDAY,ym=sd(),$nt=ym.HOUR_PATTERN,Qnt=ym.WEEKDAY_PATTERN,kO={valType:"enumerated",values:["auto","linear","array"],editType:"ticks",impliedEdits:{tick0:void 0,dtick:void 0}},eat=CO({},kO,{values:kO.values.slice().concat(["sync"])});function wae(e){return{valType:"integer",min:0,dflt:e?5:0,editType:"ticks"}}var Tae={valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},Aae={valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},Sae={valType:"data_array",editType:"ticks"},Mae={valType:"enumerated",values:["outside","inside",""],editType:"ticks"};function Eae(e){var t={valType:"number",min:0,editType:"ticks"};return e||(t.dflt=5),t}function kae(e){var t={valType:"number",min:0,editType:"ticks"};return e||(t.dflt=1),t}var Cae={valType:"color",dflt:D3.defaultLine,editType:"ticks"},Lae={valType:"color",dflt:D3.lightLine,editType:"ticks"};function Pae(e){var t={valType:"number",min:0,editType:"ticks"};return e||(t.dflt=1),t}var Iae=CO({},Rae,{editType:"ticks"}),Dae={valType:"boolean",editType:"ticks"};zae.exports={visible:{valType:"boolean",editType:"plot"},color:{valType:"color",dflt:D3.defaultLine,editType:"ticks"},title:{text:{valType:"string",editType:"ticks"},font:_ae({editType:"ticks"}),standoff:{valType:"number",min:0,editType:"ticks"},editType:"ticks"},type:{valType:"enumerated",values:["-","linear","log","date","category","multicategory"],dflt:"-",editType:"calc",_noTemplating:!0},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},autorange:{valType:"enumerated",values:[!0,!1,"reversed","min reversed","max reversed","min","max"],dflt:!0,editType:"axrange",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},autorangeoptions:{minallowed:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},maxallowed:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},clipmin:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},clipmax:{valType:"any",editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},include:{valType:"any",arrayOk:!0,editType:"plot",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},editType:"plot"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"plot"},range:{valType:"info_array",items:[{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0},{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0}],editType:"axrange",impliedEdits:{autorange:!1},anim:!0},minallowed:{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},maxallowed:{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},insiderange:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},scaleanchor:{valType:"enumerated",values:[ym.idRegex.x.toString(),ym.idRegex.y.toString(),!1],editType:"plot"},scaleratio:{valType:"number",min:0,dflt:1,editType:"plot"},constrain:{valType:"enumerated",values:["range","domain"],editType:"plot"},constraintoward:{valType:"enumerated",values:["left","center","right","top","middle","bottom"],editType:"plot"},matches:{valType:"enumerated",values:[ym.idRegex.x.toString(),ym.idRegex.y.toString()],editType:"calc"},rangebreaks:xae("rangebreak",{enabled:{valType:"boolean",dflt:!0,editType:"calc"},bounds:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},pattern:{valType:"enumerated",values:[Qnt,$nt,""],editType:"calc"},values:{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"any",editType:"calc"}},dvalue:{valType:"number",editType:"calc",min:0,dflt:Jnt},editType:"calc"}),tickmode:eat,nticks:wae(),tick0:Tae,dtick:Aae,ticklabelstep:{valType:"integer",min:1,dflt:1,editType:"ticks"},tickvals:Sae,ticktext:{valType:"data_array",editType:"ticks"},ticks:Mae,tickson:{valType:"enumerated",values:["labels","boundaries"],dflt:"labels",editType:"ticks"},ticklabelmode:{valType:"enumerated",values:["instant","period"],dflt:"instant",editType:"ticks"},ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside",editType:"calc"},ticklabeloverflow:{valType:"enumerated",values:["allow","hide past div","hide past domain"],editType:"calc"},ticklabelshift:{valType:"integer",dflt:0,editType:"ticks"},ticklabelstandoff:{valType:"integer",dflt:0,editType:"ticks"},ticklabelindex:{valType:"integer",arrayOk:!0,editType:"calc"},mirror:{valType:"enumerated",values:[!0,"ticks",!1,"all","allticks"],dflt:!1,editType:"ticks+layoutstyle"},ticklen:Eae(),tickwidth:kae(),tickcolor:Cae,showticklabels:{valType:"boolean",dflt:!0,editType:"ticks"},labelalias:{valType:"any",dflt:!1,editType:"ticks"},automargin:{valType:"flaglist",flags:["height","width","left","right","top","bottom"],extras:[!0,!1],dflt:!1,editType:"ticks"},showspikes:{valType:"boolean",dflt:!1,editType:"modebar"},spikecolor:{valType:"color",dflt:null,editType:"none"},spikethickness:{valType:"number",dflt:3,editType:"none"},spikedash:CO({},Rae,{dflt:"dash",editType:"none"}),spikemode:{valType:"flaglist",flags:["toaxis","across","marker"],dflt:"toaxis",editType:"none"},spikesnap:{valType:"enumerated",values:["data","cursor","hovered data"],dflt:"hovered data",editType:"none"},tickfont:_ae({editType:"ticks"}),tickangle:{valType:"angle",dflt:"auto",editType:"ticks"},autotickangles:{valType:"info_array",freeLength:!0,items:{valType:"angle"},dflt:[0,30,90],editType:"ticks"},tickprefix:{valType:"string",dflt:"",editType:"ticks"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},ticksuffix:{valType:"string",dflt:"",editType:"ticks"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"ticks"},minexponent:{valType:"number",dflt:3,min:0,editType:"ticks"},separatethousands:{valType:"boolean",dflt:!1,editType:"ticks"},tickformat:{valType:"string",dflt:"",editType:"ticks",description:bae("tick label")},tickformatstops:xae("tickformatstop",{enabled:{valType:"boolean",dflt:!0,editType:"ticks"},dtickrange:{valType:"info_array",items:[{valType:"any",editType:"ticks"},{valType:"any",editType:"ticks"}],editType:"ticks"},value:{valType:"string",dflt:"",editType:"ticks"},editType:"ticks"}),hoverformat:{valType:"string",dflt:"",editType:"none",description:bae("hover text")},showline:{valType:"boolean",dflt:!1,editType:"ticks+layoutstyle"},linecolor:{valType:"color",dflt:D3.defaultLine,editType:"layoutstyle"},linewidth:{valType:"number",min:0,dflt:1,editType:"ticks+layoutstyle"},showgrid:Dae,gridcolor:Lae,gridwidth:Pae(),griddash:Iae,zeroline:{valType:"boolean",editType:"ticks"},zerolinecolor:{valType:"color",dflt:D3.defaultLine,editType:"ticks"},zerolinewidth:{valType:"number",dflt:1,editType:"ticks"},showdividers:{valType:"boolean",dflt:!0,editType:"ticks"},dividercolor:{valType:"color",dflt:D3.defaultLine,editType:"ticks"},dividerwidth:{valType:"number",dflt:1,editType:"ticks"},anchor:{valType:"enumerated",values:["free",ym.idRegex.x.toString(),ym.idRegex.y.toString()],editType:"plot"},side:{valType:"enumerated",values:["top","bottom","left","right"],editType:"plot"},overlaying:{valType:"enumerated",values:["free",ym.idRegex.x.toString(),ym.idRegex.y.toString()],editType:"plot"},minor:{tickmode:kO,nticks:wae("minor"),tick0:Tae,dtick:Aae,tickvals:Sae,ticks:Mae,ticklen:Eae("minor"),tickwidth:kae("minor"),tickcolor:Cae,gridcolor:Lae,gridwidth:Pae("minor"),griddash:Iae,showgrid:Dae,editType:"ticks"},layer:{valType:"enumerated",values:["above traces","below traces"],dflt:"above traces",editType:"plot"},domain:{valType:"info_array",items:[{valType:"number",min:0,max:1,editType:"plot"},{valType:"number",min:0,max:1,editType:"plot"}],dflt:[0,1],editType:"plot"},position:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},autoshift:{valType:"boolean",dflt:!1,editType:"plot"},shift:{valType:"number",editType:"plot"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","geometric mean ascending","geometric mean descending","median ascending","median descending"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},uirevision:{valType:"any",editType:"none"},editType:"calc"}});var vL=ye((Zrr,Oae)=>{"use strict";var Ac=Ld(),Fae=Su(),qae=no().extendFlat,tat=Bu().overrideAll;Oae.exports=tat({orientation:{valType:"enumerated",values:["h","v"],dflt:"v"},thicknessmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels"},thickness:{valType:"number",min:0,dflt:30},lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number"},xref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},xanchor:{valType:"enumerated",values:["left","center","right"]},xpad:{valType:"number",min:0,dflt:10},y:{valType:"number"},yref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},yanchor:{valType:"enumerated",values:["top","middle","bottom"]},ypad:{valType:"number",min:0,dflt:10},outlinecolor:Ac.linecolor,outlinewidth:Ac.linewidth,bordercolor:Ac.linecolor,borderwidth:{valType:"number",min:0,dflt:0},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},tickmode:Ac.minor.tickmode,nticks:Ac.nticks,tick0:Ac.tick0,dtick:Ac.dtick,tickvals:Ac.tickvals,ticktext:Ac.ticktext,ticks:qae({},Ac.ticks,{dflt:""}),ticklabeloverflow:qae({},Ac.ticklabeloverflow,{}),ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside"},ticklen:Ac.ticklen,tickwidth:Ac.tickwidth,tickcolor:Ac.tickcolor,ticklabelstep:Ac.ticklabelstep,showticklabels:Ac.showticklabels,labelalias:Ac.labelalias,tickfont:Fae({}),tickangle:Ac.tickangle,tickformat:Ac.tickformat,tickformatstops:Ac.tickformatstops,tickprefix:Ac.tickprefix,showtickprefix:Ac.showtickprefix,ticksuffix:Ac.ticksuffix,showticksuffix:Ac.showticksuffix,separatethousands:Ac.separatethousands,exponentformat:Ac.exponentformat,minexponent:Ac.minexponent,showexponent:Ac.showexponent,title:{text:{valType:"string"},font:Fae({}),side:{valType:"enumerated",values:["right","top","bottom"]}}},"colorbars","from-root")});var Kl=ye((Yrr,Nae)=>{"use strict";var rat=vL(),iat=m3().counter,nat=$1(),Bae=gb().scales,Xrr=nat(Bae);function pL(e){return"`"+e+"`"}Nae.exports=function(t,r){t=t||"",r=r||{};var n=r.cLetter||"c",i="onlyIfNumerical"in r?r.onlyIfNumerical:!!t,a="noScale"in r?r.noScale:t==="marker.line",o="showScaleDflt"in r?r.showScaleDflt:n==="z",s=typeof r.colorscaleDflt=="string"?Bae[r.colorscaleDflt]:null,l=r.editTypeOverride||"",u=t?t+".":"",c,f;"colorAttr"in r?(c=r.colorAttr,f=r.colorAttr):(c={z:"z",c:"color"}[n],f="in "+pL(u+c));var h=i?" Has an effect only if "+f+" is set to a numerical array.":"",v=n+"auto",d=n+"min",_=n+"max",b=n+"mid",p=pL(u+v),E=pL(u+d),k=pL(u+_),S=E+" and "+k,L={};L[d]=L[_]=void 0;var x={};x[v]=!1;var C={};return c==="color"&&(C.color={valType:"color",arrayOk:!0,editType:l||"style"},r.anim&&(C.color.anim=!0)),C[v]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:L},C[d]={valType:"number",dflt:null,editType:l||"plot",impliedEdits:x},C[_]={valType:"number",dflt:null,editType:l||"plot",impliedEdits:x},C[b]={valType:"number",dflt:null,editType:"calc",impliedEdits:L},C.colorscale={valType:"colorscale",editType:"calc",dflt:s,impliedEdits:{autocolorscale:!1}},C.autocolorscale={valType:"boolean",dflt:r.autoColorDflt!==!1,editType:"calc",impliedEdits:{colorscale:void 0}},C.reversescale={valType:"boolean",dflt:!1,editType:"plot"},a||(C.showscale={valType:"boolean",dflt:o,editType:"calc"},C.colorbar=rat),r.noColorAxis||(C.coloraxis={valType:"subplotid",regex:iat("coloraxis"),dflt:null,editType:"calc"}),C}});var PO=ye((Krr,Uae)=>{"use strict";var aat=no().extendFlat,oat=Kl(),LO=gb().scales;Uae.exports={editType:"calc",colorscale:{editType:"calc",sequential:{valType:"colorscale",dflt:LO.Reds,editType:"calc"},sequentialminus:{valType:"colorscale",dflt:LO.Blues,editType:"calc"},diverging:{valType:"colorscale",dflt:LO.RdBu,editType:"calc"}},coloraxis:aat({_isSubplotObj:!0,editType:"calc"},oat("",{colorAttr:"corresponding trace color array(s)",noColorAxis:!0,showScaleDflt:!0}))}});var IO=ye((Jrr,Vae)=>{"use strict";var sat=Ar();Vae.exports=function(t){return sat.isPlainObject(t.colorbar)}});var zO=ye(RO=>{"use strict";var DO=uo(),Hae=Ar(),Gae=Yo(),lat=Gae.ONEDAY,uat=Gae.ONEWEEK;RO.dtick=function(e,t){var r=t==="log",n=t==="date",i=t==="category",a=n?lat:1;if(!e)return a;if(DO(e))return e=Number(e),e<=0?a:i?Math.max(1,Math.round(e)):n?Math.max(.1,e):e;if(typeof e!="string"||!(n||r))return a;var o=e.charAt(0),s=e.substr(1);return s=DO(s)?Number(s):0,s<=0||!(n&&o==="M"&&s===Math.round(s)||r&&o==="L"||r&&o==="D"&&(s===1||s===2))?a:e};RO.tick0=function(e,t,r,n){if(t==="date")return Hae.cleanDate(e,Hae.dateTick0(r,n%uat===0?1:0));if(!(n==="D1"||n==="D2"))return DO(e)?Number(e):0}});var Lb=ye((Qrr,Wae)=>{"use strict";var jae=zO(),cat=Ar().isArrayOrTypedArray,fat=pv().isTypedArraySpec,hat=pv().decodeTypedArraySpec;Wae.exports=function(t,r,n,i,a){a||(a={});var o=a.isMinor,s=o?t.minor||{}:t,l=o?r.minor:r,u=o?"minor.":"";function c(E){var k=s[E];return fat(k)&&(k=hat(k)),k!==void 0?k:(l._template||{})[E]}var f=c("tick0"),h=c("dtick"),v=c("tickvals"),d=cat(v)?"array":h?"linear":"auto",_=n(u+"tickmode",d);if(_==="auto"||_==="sync")n(u+"nticks");else if(_==="linear"){var b=l.dtick=jae.dtick(h,i);l.tick0=jae.tick0(f,i,r.calendar,b)}else if(i!=="multicategory"){var p=n(u+"tickvals");p===void 0?l.tickmode="auto":o||n("ticktext")}}});var R3=ye((eir,Xae)=>{"use strict";var FO=Ar(),Zae=Ld();Xae.exports=function(t,r,n,i){var a=i.isMinor,o=a?t.minor||{}:t,s=a?r.minor:r,l=a?Zae.minor:Zae,u=a?"minor.":"",c=FO.coerce2(o,s,l,"ticklen",a?(r.ticklen||5)*.6:void 0),f=FO.coerce2(o,s,l,"tickwidth",a?r.tickwidth||1:void 0),h=FO.coerce2(o,s,l,"tickcolor",(a?r.tickcolor:void 0)||s.color),v=n(u+"ticks",!a&&i.outerTicks||c||f||h?"outside":"");v||(delete s.ticklen,delete s.tickwidth,delete s.tickcolor)}});var qO=ye((tir,Yae)=>{"use strict";Yae.exports=function(t){var r=["showexponent","showtickprefix","showticksuffix"],n=r.filter(function(a){return t[a]!==void 0}),i=function(a){return t[a]===t[n[0]]};if(n.every(i)||n.length===1)return t[n[0]]}});var Xd=ye((rir,Kae)=>{"use strict";var gL=Ar(),dat=Vs();Kae.exports=function(t,r,n){var i=n.name,a=n.inclusionAttr||"visible",o=r[i],s=gL.isArrayOrTypedArray(t[i])?t[i]:[],l=r[i]=[],u=dat.arrayTemplater(r,i,a),c,f;for(c=0;c{"use strict";var OO=Ar(),vat=va().contrast,Jae=Ld(),pat=qO(),gat=Xd();$ae.exports=function(t,r,n,i,a){a||(a={});var o=n("labelalias");OO.isPlainObject(o)||delete r.labelalias;var s=pat(t),l=n("showticklabels");if(l){a.noTicklabelshift||n("ticklabelshift"),a.noTicklabelstandoff||n("ticklabelstandoff");var u=a.font||{},c=r.color,f=r.ticklabelposition||"",h=f.indexOf("inside")!==-1?vat(a.bgColor):c&&c!==Jae.color.dflt?c:u.color;if(OO.coerceFont(n,"tickfont",u,{overrideDflt:{color:h}}),!a.noTicklabelstep&&i!=="multicategory"&&i!=="log"&&n("ticklabelstep"),!a.noAng){var v=n("tickangle");!a.noAutotickangles&&v==="auto"&&n("autotickangles")}if(i!=="category"){var d=n("tickformat");gat(t,r,{name:"tickformatstops",inclusionAttr:"enabled",handleItemDefaults:mat}),r.tickformatstops.length||delete r.tickformatstops,!a.noExp&&!d&&i!=="date"&&(n("showexponent",s),n("exponentformat"),n("minexponent"),n("separatethousands"))}}};function mat(e,t){function r(i,a){return OO.coerce(e,t,Jae.tickformatstops,i,a)}var n=r("enabled");n&&(r("dtickrange"),r("value"))}});var o_=ye((nir,Qae)=>{"use strict";var yat=qO();Qae.exports=function(t,r,n,i,a){a||(a={});var o=a.tickSuffixDflt,s=yat(t),l=n("tickprefix");l&&n("showtickprefix",s);var u=n("ticksuffix",o);u&&n("showticksuffix",s)}});var BO=ye((air,eoe)=>{"use strict";var s_=Ar(),_at=Vs(),xat=Lb(),bat=R3(),wat=a_(),Tat=o_(),Aat=vL();eoe.exports=function(t,r,n){var i=_at.newContainer(r,"colorbar"),a=t.colorbar||{};function o(T,F){return s_.coerce(a,i,Aat,T,F)}var s=n.margin||{t:0,b:0,l:0,r:0},l=n.width-s.l-s.r,u=n.height-s.t-s.b,c=o("orientation"),f=c==="v",h=o("thicknessmode");o("thickness",h==="fraction"?30/(f?l:u):30);var v=o("lenmode");o("len",v==="fraction"?1:f?u:l);var d=o("yref"),_=o("xref"),b=d==="paper",p=_==="paper",E,k,S,L="left";f?(S="middle",L=p?"left":"right",E=p?1.02:1,k=.5):(S=b?"bottom":"top",L="center",E=.5,k=b?1.02:1),s_.coerce(a,i,{x:{valType:"number",min:p?-2:0,max:p?3:1,dflt:E}},"x"),s_.coerce(a,i,{y:{valType:"number",min:b?-2:0,max:b?3:1,dflt:k}},"y"),o("xanchor",L),o("xpad"),o("yanchor",S),o("ypad"),s_.noneOrAll(a,i,["x","y"]),o("outlinecolor"),o("outlinewidth"),o("bordercolor"),o("borderwidth"),o("bgcolor");var x=s_.coerce(a,i,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:f?["outside","inside","outside top","inside top","outside bottom","inside bottom"]:["outside","inside","outside left","inside left","outside right","inside right"]}},"ticklabelposition");o("ticklabeloverflow",x.indexOf("inside")!==-1?"hide past domain":"hide past div"),xat(a,i,o,"linear");var C=n.font,M={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,outerTicks:!1,font:C};x.indexOf("inside")!==-1&&(M.bgColor="black"),Tat(a,i,o,"linear",M),wat(a,i,o,"linear",M),bat(a,i,o,"linear",M),o("title.text",n._dfltTitle.colorbar);var g=i.showticklabels?i.tickfont:C,P=s_.extendFlat({},C,{family:g.family,size:s_.bigFont(g.size)});s_.coerceFont(o,"title.font",P),o("title.side",f?"top":"right")}});var Hh=ye((oir,ioe)=>{"use strict";var toe=uo(),UO=Ar(),Sat=IO(),Mat=BO(),roe=gb().isValid,Eat=ya().traceIs;function NO(e,t){var r=t.slice(0,t.length-1);return t?UO.nestedProperty(e,r).get()||{}:e}ioe.exports=function e(t,r,n,i,a){var o=a.prefix,s=a.cLetter,l="_module"in r,u=NO(t,o),c=NO(r,o),f=NO(r._template||{},o)||{},h=function(){return delete t.coloraxis,delete r.coloraxis,e(t,r,n,i,a)};if(l){var v=n._colorAxes||{},d=i(o+"coloraxis");if(d){var _=Eat(r,"contour")&&UO.nestedProperty(r,"contours.coloring").get()||"heatmap",b=v[d];b?(b[2].push(h),b[0]!==_&&(b[0]=!1,UO.warn(["Ignoring coloraxis:",d,"setting","as it is linked to incompatible colorscales."].join(" ")))):v[d]=[_,r,[h]];return}}var p=u[s+"min"],E=u[s+"max"],k=toe(p)&&toe(E)&&p{"use strict";var noe=Ar(),kat=Vs(),aoe=PO(),Cat=Hh();ooe.exports=function(t,r){function n(f,h){return noe.coerce(t,r,aoe,f,h)}n("colorscale.sequential"),n("colorscale.sequentialminus"),n("colorscale.diverging");var i=r._colorAxes,a,o;function s(f,h){return noe.coerce(a,o,aoe.coloraxis,f,h)}for(var l in i){var u=i[l];if(u[0])a=t[l]||{},o=kat.newContainer(r,l,"coloraxis"),o._name=l,Cat(a,o,r,s,{prefix:"",cLetter:"c"});else{for(var c=0;c{"use strict";var Lat=Ar(),Pat=Fv().hasColorscale,Iat=Fv().extractOpts;loe.exports=function(t,r){function n(c,f){var h=c["_"+f];h!==void 0&&(c[f]=h)}function i(c,f){var h=f.container?Lat.nestedProperty(c,f.container).get():c;if(h)if(h.coloraxis)h._colorAx=r[h.coloraxis];else{var v=Iat(h),d=v.auto;(d||v.min===void 0)&&n(h,f.min),(d||v.max===void 0)&&n(h,f.max),v.autocolorscale&&n(h,"colorscale")}}for(var a=0;a{"use strict";var coe=uo(),VO=Ar(),Dat=Fv().extractOpts;foe.exports=function(t,r,n){var i=t._fullLayout,a=n.vals,o=n.containerStr,s=o?VO.nestedProperty(r,o).get():r,l=Dat(s),u=l.auto!==!1,c=l.min,f=l.max,h=l.mid,v=function(){return VO.aggNums(Math.min,null,a)},d=function(){return VO.aggNums(Math.max,null,a)};if(c===void 0?c=v():u&&(s._colorAx&&coe(c)?c=Math.min(c,v()):c=v()),f===void 0?f=d():u&&(s._colorAx&&coe(f)?f=Math.max(f,d()):f=d()),u&&h!==void 0&&(f-h>h-c?c=h-(f-h):f-h=0?_=i.colorscale.sequential:_=i.colorscale.sequentialminus,l._sync("colorscale",_)}}});var Mu=ye((cir,hoe)=>{"use strict";var mL=gb(),z3=Fv();hoe.exports={moduleType:"component",name:"colorscale",attributes:Kl(),layoutAttributes:PO(),supplyLayoutDefaults:soe(),handleDefaults:Hh(),crossTraceDefaults:uoe(),calc:qv(),scales:mL.scales,defaultScale:mL.defaultScale,getScale:mL.get,isValidScale:mL.isValid,hasColorscale:z3.hasColorscale,extractOpts:z3.extractOpts,extractScale:z3.extractScale,flipScale:z3.flipScale,makeColorScaleFunc:z3.makeColorScaleFunc,makeColorScaleFuncFromTrace:z3.makeColorScaleFuncFromTrace}});var lu=ye((fir,voe)=>{"use strict";var doe=Ar(),Rat=pv().isTypedArraySpec;voe.exports={hasLines:function(e){return e.visible&&e.mode&&e.mode.indexOf("lines")!==-1},hasMarkers:function(e){return e.visible&&(e.mode&&e.mode.indexOf("markers")!==-1||e.type==="splom")},hasText:function(e){return e.visible&&e.mode&&e.mode.indexOf("text")!==-1},isBubble:function(e){var t=e.marker;return doe.isPlainObject(t)&&(doe.isArrayOrTypedArray(t.size)||Rat(t.size))}}});var F3=ye((hir,poe)=>{"use strict";var zat=uo();poe.exports=function(t,r){r||(r=2);var n=t.marker,i=n.sizeref||1,a=n.sizemin||0,o=n.sizemode==="area"?function(s){return Math.sqrt(s/i)}:function(s){return s/i};return function(s){var l=o(s/r);return zat(l)&&l>0?Math.max(l,a):0}}});var np=ye(mv=>{"use strict";var goe=Ar();mv.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo};mv.isTraceInSubplots=function(e,t){if(e.type==="splom"){for(var r=e.xaxes||[],n=e.yaxes||[],i=0;i=0&&r.index{_oe.exports=Nat;var HO={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},Bat=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function Nat(e){var t=[];return e.replace(Bat,function(r,n,i){var a=n.toLowerCase();for(i=Vat(i),a=="m"&&i.length>2&&(t.push([n].concat(i.splice(0,2))),a="l",n=n=="m"?"l":"L");;){if(i.length==HO[a])return i.unshift(n),t.push(i);if(i.length{"use strict";var Hat=lM(),Yn=function(e,t){return t?Math.round(e*(t=Math.pow(10,t)))/t:Math.round(e)},ts="M0,0Z",xoe=Math.sqrt(2),l_=Math.sqrt(3),GO=Math.PI,jO=Math.cos,WO=Math.sin;Soe.exports={circle:{n:0,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i="M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z";return r?is(t,r,i):i}},square:{n:1,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")}},diamond:{n:2,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2);return is(t,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"Z")}},cross:{n:3,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.4,2),i=Yn(e*1.2,2);return is(t,r,"M"+i+","+n+"H"+n+"V"+i+"H-"+n+"V"+n+"H-"+i+"V-"+n+"H-"+n+"V-"+i+"H"+n+"V-"+n+"H"+i+"Z")}},x:{n:4,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.8/xoe,2),i="l"+n+","+n,a="l"+n+",-"+n,o="l-"+n+",-"+n,s="l-"+n+","+n;return is(t,r,"M0,"+n+i+a+o+a+o+s+o+s+i+s+i+"Z")}},"triangle-up":{n:5,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/l_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,"M-"+n+","+i+"H"+n+"L0,-"+a+"Z")}},"triangle-down":{n:6,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/l_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,"M-"+n+",-"+i+"H"+n+"L0,"+a+"Z")}},"triangle-left":{n:7,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/l_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,"M"+i+",-"+n+"V"+n+"L-"+a+",0Z")}},"triangle-right":{n:8,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/l_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,"M-"+i+",-"+n+"V"+n+"L"+a+",0Z")}},"triangle-ne":{n:9,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,"M-"+i+",-"+n+"H"+n+"V"+i+"Z")}},"triangle-se":{n:10,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,"M"+n+",-"+i+"V"+n+"H-"+i+"Z")}},"triangle-sw":{n:11,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,"M"+i+","+n+"H-"+n+"V-"+i+"Z")}},"triangle-nw":{n:12,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,"M-"+n+","+i+"V-"+n+"H"+i+"Z")}},pentagon:{n:13,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.951,2),i=Yn(e*.588,2),a=Yn(-e,2),o=Yn(e*-.309,2),s=Yn(e*.809,2);return is(t,r,"M"+n+","+o+"L"+i+","+s+"H-"+i+"L-"+n+","+o+"L0,"+a+"Z")}},hexagon:{n:14,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/2,2),a=Yn(e*l_/2,2);return is(t,r,"M"+a+",-"+i+"V"+i+"L0,"+n+"L-"+a+","+i+"V-"+i+"L0,-"+n+"Z")}},hexagon2:{n:15,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/2,2),a=Yn(e*l_/2,2);return is(t,r,"M-"+i+","+a+"H"+i+"L"+n+",0L"+i+",-"+a+"H-"+i+"L-"+n+",0Z")}},octagon:{n:16,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.924,2),i=Yn(e*.383,2);return is(t,r,"M-"+i+",-"+n+"H"+i+"L"+n+",-"+i+"V"+i+"L"+i+","+n+"H-"+i+"L-"+n+","+i+"V-"+i+"Z")}},star:{n:17,f:function(e,t,r){if(rs(t))return ts;var n=e*1.4,i=Yn(n*.225,2),a=Yn(n*.951,2),o=Yn(n*.363,2),s=Yn(n*.588,2),l=Yn(-n,2),u=Yn(n*-.309,2),c=Yn(n*.118,2),f=Yn(n*.809,2),h=Yn(n*.382,2);return is(t,r,"M"+i+","+u+"H"+a+"L"+o+","+c+"L"+s+","+f+"L0,"+h+"L-"+s+","+f+"L-"+o+","+c+"L-"+a+","+u+"H-"+i+"L0,"+l+"Z")}},hexagram:{n:18,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.66,2),i=Yn(e*.38,2),a=Yn(e*.76,2);return is(t,r,"M-"+a+",0l-"+i+",-"+n+"h"+a+"l"+i+",-"+n+"l"+i+","+n+"h"+a+"l-"+i+","+n+"l"+i+","+n+"h-"+a+"l-"+i+","+n+"l-"+i+",-"+n+"h-"+a+"Z")}},"star-triangle-up":{n:19,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*l_*.8,2),i=Yn(e*.8,2),a=Yn(e*1.6,2),o=Yn(e*4,2),s="A "+o+","+o+" 0 0 1 ";return is(t,r,"M-"+n+","+i+s+n+","+i+s+"0,-"+a+s+"-"+n+","+i+"Z")}},"star-triangle-down":{n:20,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*l_*.8,2),i=Yn(e*.8,2),a=Yn(e*1.6,2),o=Yn(e*4,2),s="A "+o+","+o+" 0 0 1 ";return is(t,r,"M"+n+",-"+i+s+"-"+n+",-"+i+s+"0,"+a+s+n+",-"+i+"Z")}},"star-square":{n:21,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.1,2),i=Yn(e*2,2),a="A "+i+","+i+" 0 0 1 ";return is(t,r,"M-"+n+",-"+n+a+"-"+n+","+n+a+n+","+n+a+n+",-"+n+a+"-"+n+",-"+n+"Z")}},"star-diamond":{n:22,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2),i=Yn(e*1.9,2),a="A "+i+","+i+" 0 0 1 ";return is(t,r,"M-"+n+",0"+a+"0,"+n+a+n+",0"+a+"0,-"+n+a+"-"+n+",0Z")}},"diamond-tall":{n:23,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.7,2),i=Yn(e*1.4,2);return is(t,r,"M0,"+i+"L"+n+",0L0,-"+i+"L-"+n+",0Z")}},"diamond-wide":{n:24,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2),i=Yn(e*.7,2);return is(t,r,"M0,"+i+"L"+n+",0L0,-"+i+"L-"+n+",0Z")}},hourglass:{n:25,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M"+n+","+n+"H-"+n+"L"+n+",-"+n+"H-"+n+"Z")},noDot:!0},bowtie:{n:26,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M"+n+","+n+"V-"+n+"L-"+n+","+n+"V-"+n+"Z")},noDot:!0},"circle-cross":{n:27,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z")},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/xoe,2);return is(t,r,"M"+i+","+i+"L-"+i+",-"+i+"M"+i+",-"+i+"L-"+i+","+i+"M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z")},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")},needLine:!0,noDot:!0},"square-x":{n:30,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M"+n+","+n+"L-"+n+",-"+n+"M"+n+",-"+n+"L-"+n+","+n+"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2);return is(t,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"ZM0,-"+n+"V"+n+"M-"+n+",0H"+n)},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2),i=Yn(e*.65,2);return is(t,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"ZM-"+i+",-"+i+"L"+i+","+i+"M-"+i+","+i+"L"+i+",-"+i)},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n)},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M"+n+","+n+"L-"+n+",-"+n+"M"+n+",-"+n+"L-"+n+","+n)},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*.85,2);return is(t,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+i+","+i+"L-"+i+",-"+i+"M"+i+",-"+i+"L-"+i+","+i)},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e/2,2),i=Yn(e,2);return is(t,r,"M"+n+","+i+"V-"+i+"M"+(n-i)+",-"+i+"V"+i+"M"+i+","+n+"H-"+i+"M-"+i+","+(n-i)+"H"+i)},needLine:!0,noFill:!0},"y-up":{n:37,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,"M-"+n+","+a+"L0,0M"+n+","+a+"L0,0M0,-"+i+"L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,"M-"+n+",-"+a+"L0,0M"+n+",-"+a+"L0,0M0,"+i+"L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,"M"+a+","+n+"L0,0M"+a+",-"+n+"L0,0M-"+i+",0L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,"M-"+a+","+n+"L0,0M-"+a+",-"+n+"L0,0M"+i+",0L0,0")},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,"M"+n+",0H-"+n)},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,"M0,"+n+"V-"+n)},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M"+n+",-"+n+"L-"+n+","+n)},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,"M"+n+","+n+"L-"+n+",-"+n)},needLine:!0,noDot:!0,noFill:!0},"arrow-up":{n:45,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,"M0,0L-"+n+","+i+"H"+n+"Z")},backoff:1,noDot:!0},"arrow-down":{n:46,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,"M0,0L-"+n+",-"+i+"H"+n+"Z")},noDot:!0},"arrow-left":{n:47,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,"M0,0L"+n+",-"+i+"V"+i+"Z")},noDot:!0},"arrow-right":{n:48,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,"M0,0L-"+n+",-"+i+"V"+i+"Z")},noDot:!0},"arrow-bar-up":{n:49,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,"M-"+n+",0H"+n+"M0,0L-"+n+","+i+"H"+n+"Z")},backoff:1,needLine:!0,noDot:!0},"arrow-bar-down":{n:50,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,"M-"+n+",0H"+n+"M0,0L-"+n+",-"+i+"H"+n+"Z")},needLine:!0,noDot:!0},"arrow-bar-left":{n:51,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,"M0,-"+i+"V"+i+"M0,0L"+n+",-"+i+"V"+i+"Z")},needLine:!0,noDot:!0},"arrow-bar-right":{n:52,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,"M0,-"+i+"V"+i+"M0,0L-"+n+",-"+i+"V"+i+"Z")},needLine:!0,noDot:!0},arrow:{n:53,f:function(e,t,r){if(rs(t))return ts;var n=GO/2.5,i=2*e*jO(n),a=2*e*WO(n);return is(t,r,"M0,0L"+-i+","+a+"L"+i+","+a+"Z")},backoff:.9,noDot:!0},"arrow-wide":{n:54,f:function(e,t,r){if(rs(t))return ts;var n=GO/4,i=2*e*jO(n),a=2*e*WO(n);return is(t,r,"M0,0L"+-i+","+a+"A "+2*e+","+2*e+" 0 0 1 "+i+","+a+"Z")},backoff:.4,noDot:!0}};function rs(e){return e===null}var boe,woe,Toe,Aoe;function is(e,t,r){if((!e||e%360===0)&&!t)return r;if(Toe===e&&Aoe===t&&boe===r)return woe;Toe=e,Aoe=t,boe=r;function n(b,p){var E=jO(b),k=WO(b),S=p[0],L=p[1]+(t||0);return[S*E-L*k,S*k+L*E]}for(var i=e/180*GO,a=0,o=0,s=Hat(r),l="",u=0;u{"use strict";var ld=ba(),du=Ar(),Gat=du.numberFormat,Rb=uo(),$O=ad(),_L=ya(),Yd=va(),jat=Mu(),cM=du.strTranslate,xL=Ll(),Wat=Kp(),Zat=Vh(),Xat=Zat.LINE_SPACING,Foe=G1().DESELECTDIM,Yat=lu(),Kat=F3(),Jat=np().appendArrayPointValue,na=Woe.exports={};na.font=function(e,t){var r=t.variant,n=t.style,i=t.weight,a=t.color,o=t.size,s=t.family,l=t.shadow,u=t.lineposition,c=t.textcase;s&&e.style("font-family",s),o+1&&e.style("font-size",o+"px"),a&&e.call(Yd.fill,a),i&&e.style("font-weight",i),n&&e.style("font-style",n),r&&e.style("font-variant",r),c&&e.style("text-transform",ZO(Qat(c))),l&&e.style("text-shadow",l==="auto"?xL.makeTextShadow(Yd.contrast(a)):ZO(l)),u&&e.style("text-decoration-line",ZO(eot(u)))};function ZO(e){return e==="none"?void 0:e}var $at={normal:"none",lower:"lowercase",upper:"uppercase","word caps":"capitalize"};function Qat(e){return $at[e]}function eot(e){return e.replace("under","underline").replace("over","overline").replace("through","line-through").split("+").join(" ")}na.setPosition=function(e,t,r){e.attr("x",t).attr("y",r)};na.setSize=function(e,t,r){e.attr("width",t).attr("height",r)};na.setRect=function(e,t,r,n,i){e.call(na.setPosition,t,r).call(na.setSize,n,i)};na.translatePoint=function(e,t,r,n){var i=r.c2p(e.x),a=n.c2p(e.y);if(Rb(i)&&Rb(a)&&t.node())t.node().nodeName==="text"?t.attr("x",i).attr("y",a):t.attr("transform",cM(i,a));else return!1;return!0};na.translatePoints=function(e,t,r){e.each(function(n){var i=ld.select(this);na.translatePoint(n,i,t,r)})};na.hideOutsideRangePoint=function(e,t,r,n,i,a){t.attr("display",r.isPtWithinRange(e,i)&&n.isPtWithinRange(e,a)?null:"none")};na.hideOutsideRangePoints=function(e,t){if(t._hasClipOnAxisFalse){var r=t.xaxis,n=t.yaxis;e.each(function(i){var a=i[0].trace,o=a.xcalendar,s=a.ycalendar,l=_L.traceIs(a,"bar-like")?".bartext":".point,.textpoint";e.selectAll(l).each(function(u){na.hideOutsideRangePoint(u,ld.select(this),r,n,o,s)})})}};na.crispRound=function(e,t,r){return!t||!Rb(t)?r||0:e._context.staticPlot?t:t<1?1:Math.round(t)};na.singleLineStyle=function(e,t,r,n,i){t.style("fill","none");var a=(((e||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||"";Yd.stroke(t,n||a.color),na.dashLine(t,s,o)};na.lineGroupStyle=function(e,t,r,n){e.style("fill","none").each(function(i){var a=(((i||[])[0]||{}).trace||{}).line||{},o=t||a.width||0,s=n||a.dash||"";ld.select(this).call(Yd.stroke,r||a.color).call(na.dashLine,s,o)})};na.dashLine=function(e,t,r){r=+r||0,t=na.dashStyle(t,r),e.style({"stroke-dasharray":t,"stroke-width":r+"px"})};na.dashStyle=function(e,t){t=+t||1;var r=Math.max(t,3);return e==="solid"?e="":e==="dot"?e=r+"px,"+r+"px":e==="dash"?e=3*r+"px,"+3*r+"px":e==="longdash"?e=5*r+"px,"+5*r+"px":e==="dashdot"?e=3*r+"px,"+r+"px,"+r+"px,"+r+"px":e==="longdashdot"&&(e=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),e};function qoe(e,t,r,n){var i=t.fillpattern,a=t.fillgradient,o=i&&na.getPatternAttr(i.shape,0,"");if(o){var s=na.getPatternAttr(i.bgcolor,0,null),l=na.getPatternAttr(i.fgcolor,0,null),u=i.fgopacity,c=na.getPatternAttr(i.size,0,8),f=na.getPatternAttr(i.solidity,0,.3),h=t.uid;na.pattern(e,"point",r,h,o,c,f,void 0,i.fillmode,s,l,u)}else if(a&&a.type!=="none"){var v=a.type,d="scatterfill-"+t.uid;if(n&&(d="legendfill-"+t.uid),!n&&(a.start!==void 0||a.stop!==void 0)){var _,b;v==="horizontal"?(_={x:a.start,y:0},b={x:a.stop,y:0}):v==="vertical"&&(_={x:0,y:a.start},b={x:0,y:a.stop}),_.x=t._xA.c2p(_.x===void 0?t._extremes.x.min[0].val:_.x,!0),_.y=t._yA.c2p(_.y===void 0?t._extremes.y.min[0].val:_.y,!0),b.x=t._xA.c2p(b.x===void 0?t._extremes.x.max[0].val:b.x,!0),b.y=t._yA.c2p(b.y===void 0?t._extremes.y.max[0].val:b.y,!0),e.call(Noe,r,d,"linear",a.colorscale,"fill",_,b,!0,!1)}else v==="horizontal"&&(v=v+"reversed"),e.call(na.gradient,r,d,v,a.colorscale,"fill")}else t.fillcolor&&e.call(Yd.fill,t.fillcolor)}na.singleFillStyle=function(e,t){var r=ld.select(e.node()),n=r.data(),i=((n[0]||[])[0]||{}).trace||{};qoe(e,i,t,!1)};na.fillGroupStyle=function(e,t,r){e.style("stroke-width",0).each(function(n){var i=ld.select(this);n[0].trace&&qoe(i,n[0].trace,t,r)})};var Eoe=Moe();na.symbolNames=[];na.symbolFuncs=[];na.symbolBackOffs=[];na.symbolNeedLines={};na.symbolNoDot={};na.symbolNoFill={};na.symbolList=[];Object.keys(Eoe).forEach(function(e){var t=Eoe[e],r=t.n;na.symbolList.push(r,String(r),e,r+100,String(r+100),e+"-open"),na.symbolNames[r]=e,na.symbolFuncs[r]=t.f,na.symbolBackOffs[r]=t.backoff||0,t.needLine&&(na.symbolNeedLines[r]=!0),t.noDot?na.symbolNoDot[r]=!0:na.symbolList.push(r+200,String(r+200),e+"-dot",r+300,String(r+300),e+"-open-dot"),t.noFill&&(na.symbolNoFill[r]=!0)});var tot=na.symbolNames.length,rot="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";na.symbolNumber=function(e){if(Rb(e))e=+e;else if(typeof e=="string"){var t=0;e.indexOf("-open")>0&&(t=100,e=e.replace("-open","")),e.indexOf("-dot")>0&&(t+=200,e=e.replace("-dot","")),e=na.symbolNames.indexOf(e),e>=0&&(e+=t)}return e%100>=tot||e>=400?0:Math.floor(Math.max(e,0))};function Ooe(e,t,r,n){var i=e%100;return na.symbolFuncs[i](t,r,n)+(e>=200?rot:"")}var koe=Gat("~f"),Boe={radial:{type:"radial"},radialreversed:{type:"radial",reversed:!0},horizontal:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};na.gradient=function(e,t,r,n,i,a){var o=Boe[n];return Noe(e,t,r,o.type,i,a,o.start,o.stop,!1,o.reversed)};function Noe(e,t,r,n,i,a,o,s,l,u){var c=i.length,f;n==="linear"?f={node:"linearGradient",attrs:{x1:o.x,y1:o.y,x2:s.x,y2:s.y,gradientUnits:l?"userSpaceOnUse":"objectBoundingBox"},reversed:u}:n==="radial"&&(f={node:"radialGradient",reversed:u});for(var h=new Array(c),v=0;v=0&&e.i===void 0&&(e.i=a.i),t.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(e):e.mo===void 0?o.opacity:e.mo),n.ms2mrc){var l;e.ms==="various"||o.size==="various"?l=3:l=n.ms2mrc(e.ms),e.mrc=l,n.selectedSizeFn&&(l=e.mrc=n.selectedSizeFn(e));var u=na.symbolNumber(e.mx||o.symbol)||0;e.om=u%200>=100;var c=tB(e,r),f=eB(e,r);t.attr("d",Ooe(u,l,c,f))}var h=!1,v,d,_;if(e.so)_=s.outlierwidth,d=s.outliercolor,v=o.outliercolor;else{var b=(s||{}).width;_=(e.mlw+1||b+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,"mlc"in e?d=e.mlcc=n.lineScale(e.mlc):du.isArrayOrTypedArray(s.color)?d=Yd.defaultLine:d=s.color,du.isArrayOrTypedArray(o.color)&&(v=Yd.defaultLine,h=!0),"mc"in e?v=e.mcc=n.markerScale(e.mc):v=o.color||o.colors||"rgba(0,0,0,0)",n.selectedColorFn&&(v=n.selectedColorFn(e))}if(e.om)t.call(Yd.stroke,v).style({"stroke-width":(_||1)+"px",fill:"none"});else{t.style("stroke-width",(e.isBlank?0:_)+"px");var p=o.gradient,E=e.mgt;E?h=!0:E=p&&p.type,du.isArrayOrTypedArray(E)&&(E=E[0],Boe[E]||(E=0));var k=o.pattern,S=k&&na.getPatternAttr(k.shape,e.i,"");if(E&&E!=="none"){var L=e.mgc;L?h=!0:L=p.color;var x=r.uid;h&&(x+="-"+e.i),na.gradient(t,i,x,E,[[0,L],[1,v]],"fill")}else if(S){var C=!1,M=k.fgcolor;!M&&a&&a.color&&(M=a.color,C=!0);var g=na.getPatternAttr(M,e.i,a&&a.color||null),P=na.getPatternAttr(k.bgcolor,e.i,null),T=k.fgopacity,F=na.getPatternAttr(k.size,e.i,8),q=na.getPatternAttr(k.solidity,e.i,.3);C=C||e.mcc||du.isArrayOrTypedArray(k.shape)||du.isArrayOrTypedArray(k.bgcolor)||du.isArrayOrTypedArray(k.fgcolor)||du.isArrayOrTypedArray(k.size)||du.isArrayOrTypedArray(k.solidity);var V=r.uid;C&&(V+="-"+e.i),na.pattern(t,"point",i,V,S,F,q,e.mcc,k.fillmode,P,g,T)}else du.isArrayOrTypedArray(v)?Yd.fill(t,v[e.i]):Yd.fill(t,v);_&&Yd.stroke(t,d)}};na.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=na.tryColorscale(r,""),t.lineScale=na.tryColorscale(r,"line"),_L.traceIs(e,"symbols")&&(t.ms2mrc=Yat.isBubble(e)?Kat(e):function(){return(r.size||6)/2}),e.selectedpoints&&du.extendFlat(t,na.makeSelectedPointStyleFns(e)),t};na.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.marker||{},a=r.marker||{},o=n.marker||{},s=i.opacity,l=a.opacity,u=o.opacity,c=l!==void 0,f=u!==void 0;(du.isArrayOrTypedArray(s)||c||f)&&(t.selectedOpacityFn=function(S){var L=S.mo===void 0?i.opacity:S.mo;return S.selected?c?l:L:f?u:Foe*L});var h=i.color,v=a.color,d=o.color;(v||d)&&(t.selectedColorFn=function(S){var L=S.mcc||h;return S.selected?v||L:d||L});var _=i.size,b=a.size,p=o.size,E=b!==void 0,k=p!==void 0;return _L.traceIs(e,"symbols")&&(E||k)&&(t.selectedSizeFn=function(S){var L=S.mrc||_/2;return S.selected?E?b/2:L:k?p/2:L}),t};na.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,u=o.color;return t.selectedTextColorFn=function(c){var f=c.tc||s;return c.selected?l||f:u||(l?f:Yd.addOpacity(f,Foe))},t};na.selectedPointStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=na.makeSelectedPointStyleFns(t),n=t.marker||{},i=[];r.selectedOpacityFn&&i.push(function(a,o){a.style("opacity",r.selectedOpacityFn(o))}),r.selectedColorFn&&i.push(function(a,o){Yd.fill(a,r.selectedColorFn(o))}),r.selectedSizeFn&&i.push(function(a,o){var s=o.mx||n.symbol||0,l=r.selectedSizeFn(o);a.attr("d",Ooe(na.symbolNumber(s),l,tB(o,t),eB(o,t))),o.mrc2=l}),i.length&&e.each(function(a){for(var o=ld.select(this),s=0;s0?r:0}na.textPointStyle=function(e,t,r){if(e.size()){var n;if(t.selectedpoints){var i=na.makeSelectedTextStyleFns(t);n=i.selectedTextColorFn}var a=t.texttemplate,o=r._fullLayout;e.each(function(s){var l=ld.select(this),u=a?du.extractOption(s,t,"txt","texttemplate"):du.extractOption(s,t,"tx","text");if(!u&&u!==0){l.remove();return}if(a){var c=t._module.formatLabels,f=c?c(s,t,o):{},h={};Jat(h,t,s.i);var v=t._meta||{};u=du.texttemplateString(u,f,o._d3locale,h,s,v)}var d=s.tp||t.textposition,_=Voe(s,t),b=n?n(s):s.tc||t.textfont.color;l.call(na.font,{family:s.tf||t.textfont.family,weight:s.tw||t.textfont.weight,style:s.ty||t.textfont.style,variant:s.tv||t.textfont.variant,textcase:s.tC||t.textfont.textcase,lineposition:s.tE||t.textfont.lineposition,shadow:s.tS||t.textfont.shadow,size:_,color:b}).text(u).call(xL.convertToTspans,r).call(Uoe,d,_,s.mrc)})}};na.selectedTextStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=na.makeSelectedTextStyleFns(t);e.each(function(n){var i=ld.select(this),a=r.selectedTextColorFn(n),o=n.tp||t.textposition,s=Voe(n,t);Yd.fill(i,a);var l=_L.traceIs(t,"bar-like");Uoe(i,o,s,n.mrc2||n.mrc,l)})}};var Coe=.5;na.smoothopen=function(e,t){if(e.length<3)return"M"+e.join("L");var r="M"+e[0],n=[],i;for(i=1;i=l||S>=c&&S<=l)&&(L<=f&&L>=u||L>=f&&L<=u)&&(e=[S,L])}return e}na.applyBackoff=joe;na.makeTester=function(){var e=du.ensureSingleById(ld.select("body"),"svg","js-plotly-tester",function(r){r.attr(Wat.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})}),t=du.ensureSingle(e,"path","js-reference-point",function(r){r.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})});na.tester=e,na.testref=t};na.savedBBoxes={};var YO=0,aot=1e4;na.bBox=function(e,t,r){r||(r=Loe(e));var n;if(r){if(n=na.savedBBoxes[r],n)return du.extendFlat({},n)}else if(e.childNodes.length===1){var i=e.childNodes[0];if(r=Loe(i),r){var a=+i.getAttribute("x")||0,o=+i.getAttribute("y")||0,s=i.getAttribute("transform");if(!s){var l=na.bBox(i,!1,r);return a&&(l.left+=a,l.right+=a),o&&(l.top+=o,l.bottom+=o),l}if(r+="~"+a+"~"+o+"~"+s,n=na.savedBBoxes[r],n)return du.extendFlat({},n)}}var u,c;t?u=e:(c=na.tester.node(),u=e.cloneNode(!0),c.appendChild(u)),ld.select(u).attr("transform",null).call(xL.positionText,0,0);var f=u.getBoundingClientRect(),h=na.testref.node().getBoundingClientRect();t||c.removeChild(u);var v={height:f.height,width:f.width,left:f.left-h.left,top:f.top-h.top,right:f.right-h.left,bottom:f.bottom-h.top};return YO>=aot&&(na.savedBBoxes={},YO=0),r&&(na.savedBBoxes[r]=v),YO++,du.extendFlat({},v)};function Loe(e){var t=e.getAttribute("data-unformatted");if(t!==null)return t+e.getAttribute("data-math")+e.getAttribute("text-anchor")+e.getAttribute("style")}na.setClipUrl=function(e,t,r){e.attr("clip-path",QO(t,r))};function QO(e,t){if(!e)return null;var r=t._context,n=r._exportedPlot?"":r._baseUrl||"";return n?"url('"+n+"#"+e+"')":"url(#"+e+")"}na.getTranslate=function(e){var t=/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,r=e.attr?"attr":"getAttribute",n=e[r]("transform")||"",i=n.replace(t,function(a,o,s){return[o,s].join(" ")}).split(" ");return{x:+i[0]||0,y:+i[1]||0}};na.setTranslate=function(e,t,r){var n=/(\btranslate\(.*?\);?)/,i=e.attr?"attr":"getAttribute",a=e.attr?"attr":"setAttribute",o=e[i]("transform")||"";return t=t||0,r=r||0,o=o.replace(n,"").trim(),o+=cM(t,r),o=o.trim(),e[a]("transform",o),o};na.getScale=function(e){var t=/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,r=e.attr?"attr":"getAttribute",n=e[r]("transform")||"",i=n.replace(t,function(a,o,s){return[o,s].join(" ")}).split(" ");return{x:+i[0]||1,y:+i[1]||1}};na.setScale=function(e,t,r){var n=/(\bscale\(.*?\);?)/,i=e.attr?"attr":"getAttribute",a=e.attr?"attr":"setAttribute",o=e[i]("transform")||"";return t=t||1,r=r||1,o=o.replace(n,"").trim(),o+="scale("+t+","+r+")",o=o.trim(),e[a]("transform",o),o};var oot=/\s*sc.*/;na.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,!!e){var n=t===1&&r===1?"":"scale("+t+","+r+")";e.each(function(){var i=(this.getAttribute("transform")||"").replace(oot,"");i+=n,i=i.trim(),this.setAttribute("transform",i)})}};var sot=/translate\([^)]*\)\s*$/;na.setTextPointsScale=function(e,t,r){e&&e.each(function(){var n,i=ld.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(sot);t===1&&r===1?n=[]:n=[cM(o,s),"scale("+t+","+r+")",cM(-o,-s)],l&&n.push(l),i.attr("transform",n.join(""))}})};function eB(e,t){var r;return e&&(r=e.mf),r===void 0&&(r=t.marker&&t.marker.standoff||0),!t._geo&&!t._xA?-r:r}na.getMarkerStandoff=eB;var uM=Math.atan2,Pb=Math.cos,O3=Math.sin;function Poe(e,t){var r=t[0],n=t[1];return[r*Pb(e)-n*O3(e),r*O3(e)+n*Pb(e)]}var Ioe,Doe,Roe,zoe,KO,JO;function tB(e,t){var r=e.ma;r===void 0&&(r=t.marker.angle,(!r||du.isArrayOrTypedArray(r))&&(r=0));var n,i,a=t.marker.angleref;if(a==="previous"||a==="north"){if(t._geo){var o=t._geo.project(e.lonlat);n=o[0],i=o[1]}else{var s=t._xA,l=t._yA;if(s&&l)n=s.c2p(e.x),i=l.c2p(e.y);else return 90}if(t._geo){var u=e.lonlat[0],c=e.lonlat[1],f=t._geo.project([u,c+1e-5]),h=t._geo.project([u+1e-5,c]),v=uM(h[1]-i,h[0]-n),d=uM(f[1]-i,f[0]-n),_;if(a==="north")_=r/180*Math.PI;else if(a==="previous"){var b=u/180*Math.PI,p=c/180*Math.PI,E=Ioe/180*Math.PI,k=Doe/180*Math.PI,S=E-b,L=Pb(k)*O3(S),x=O3(k)*Pb(p)-Pb(k)*O3(p)*Pb(S);_=-uM(L,x)-Math.PI,Ioe=u,Doe=c}var C=Poe(v,[Pb(_),0]),M=Poe(d,[O3(_),0]);r=uM(C[1]+M[1],C[0]+M[0])/Math.PI*180,a==="previous"&&!(JO===t.uid&&e.i===KO+1)&&(r=null)}if(a==="previous"&&!t._geo)if(JO===t.uid&&e.i===KO+1&&Rb(n)&&Rb(i)){var g=n-Roe,P=i-zoe,T=t.line&&t.line.shape||"",F=T.slice(T.length-1);F==="h"&&(P=0),F==="v"&&(g=0),r+=uM(P,g)/Math.PI*180+90}else r=null}return Roe=n,zoe=i,KO=e.i,JO=t.uid,r}na.getMarkerAngle=tB});var Fb=ye((mir,Koe)=>{"use strict";var B3=ba(),lot=uo(),uot=Nu(),rB=ya(),zb=Ar(),Zoe=zb.strTranslate,bL=ao(),wL=va(),N3=Ll(),Xoe=G1(),cot=Vh().OPPOSITE_SIDE,Yoe=/ [XY][0-9]* /,iB=1.6,nB=1.6;function fot(e,t,r){var n=e._fullLayout,i=r.propContainer,a=r.propName,o=r.placeholder,s=r.traceIndex,l=r.avoid||{},u=r.attributes,c=r.transform,f=r.containerGroup,h=1,v=i.title,d=(v&&v.text?v.text:"").trim(),_=!1,b=v&&v.font?v.font:{},p=b.family,E=b.size,k=b.color,S=b.weight,L=b.style,x=b.variant,C=b.textcase,M=b.lineposition,g=b.shadow,P=r.subtitlePropName,T=!!P,F=r.subtitlePlaceholder,q=(i.title||{}).subtitle||{text:"",font:{}},V=q.text.trim(),H=!1,X=1,G=q.font,N=G.family,W=G.size,re=G.color,ae=G.weight,_e=G.style,Me=G.variant,ke=G.textcase,ge=G.lineposition,ie=G.shadow,Te;a==="title.text"?Te="titleText":a.indexOf("axis")!==-1?Te="axisTitleText":a.indexOf("colorbar"!==-1)&&(Te="colorbarTitleText");var Ee=e._context.edits[Te];function Ae(kt,Ct){return kt===void 0||Ct===void 0?!1:kt.replace(Yoe," % ")===Ct.replace(Yoe," % ")}d===""?h=0:Ae(d,o)&&(Ee||(d=""),h=.2,_=!0),T&&(V===""?X=0:Ae(V,F)&&(Ee||(V=""),X=.2,H=!0)),r._meta?d=zb.templateString(d,r._meta):n._meta&&(d=zb.templateString(d,n._meta));var ze=d||V||Ee,Ce;f||(f=zb.ensureSingle(n._infolayer,"g","g-"+t),Ce=n._hColorbarMoveTitle);var me=f.selectAll("text."+t).data(ze?[0]:[]);me.enter().append("text"),me.text(d).attr("class",t),me.exit().remove();var De=null,ce=t+"-subtitle",Ge=V||Ee;if(T&&Ge&&(De=f.selectAll("text."+ce).data(Ge?[0]:[]),De.enter().append("text"),De.text(V).attr("class",ce),De.exit().remove()),!ze)return f;function nt(kt,Ct){zb.syncOrAsync([ct,qt],{title:kt,subtitle:Ct})}function ct(kt){var Ct=kt.title,Yt=kt.subtitle,mr;!c&&Ce&&(c={}),c?(mr="",c.rotate&&(mr+="rotate("+[c.rotate,u.x,u.y]+")"),(c.offset||Ce)&&(mr+=Zoe(0,(c.offset||0)-(Ce||0)))):mr=null,Ct.attr("transform",mr);function er(Et){if(Et){var dt=B3.select(Et.node().parentNode).select("."+ce);if(!dt.empty()){var Ht=Et.node().getBBox();if(Ht.height){var $t=Ht.y+Ht.height+iB*W;dt.attr("y",$t)}}}}if(Ct.style("opacity",h*wL.opacity(k)).call(bL.font,{color:wL.rgb(k),size:B3.round(E,2),family:p,weight:S,style:L,variant:x,textcase:C,shadow:g,lineposition:M}).attr(u).call(N3.convertToTspans,e,er),Yt){var Ke=f.select("."+t+"-math-group"),bt=Ct.node().getBBox(),xt=Ke.node()?Ke.node().getBBox():void 0,Lt=xt?xt.y+xt.height+iB*W:bt.y+bt.height+nB*W,St=zb.extendFlat({},u,{y:Lt});Yt.attr("transform",mr),Yt.style("opacity",X*wL.opacity(re)).call(bL.font,{color:wL.rgb(re),size:B3.round(W,2),family:N,weight:ae,style:_e,variant:Me,textcase:ke,shadow:ie,lineposition:ge}).attr(St).call(N3.convertToTspans,e)}return uot.previousPromises(e)}function qt(kt){var Ct=kt.title,Yt=B3.select(Ct.node().parentNode);if(l&&l.selection&&l.side&&d){Yt.attr("transform",null);var mr=cot[l.side],er=l.side==="left"||l.side==="top"?-1:1,Ke=lot(l.pad)?l.pad:2,bt=bL.bBox(Yt.node()),xt={t:0,b:0,l:0,r:0},Lt=e._fullLayout._reservedMargin;for(var St in Lt)for(var Et in Lt[St]){var dt=Lt[St][Et];xt[Et]=Math.max(xt[Et],dt)}var Ht={left:xt.l,top:xt.t,right:n.width-xt.r,bottom:n.height-xt.b},$t=l.maxShift||er*(Ht[l.side]-bt[l.side]),fr=0;if($t<0)fr=$t;else{var xr=l.offsetLeft||0,Br=l.offsetTop||0;bt.left-=xr,bt.right-=xr,bt.top-=Br,bt.bottom-=Br,l.selection.each(function(){var Nr=bL.bBox(this);zb.bBoxIntersect(bt,Nr,Ke)&&(fr=Math.max(fr,er*(Nr[l.side]-bt[mr])+Ke))}),fr=Math.min($t,fr),i._titleScoot=Math.abs(fr)}if(fr>0||$t<0){var Or={left:[-fr,0],right:[fr,0],top:[0,-fr],bottom:[0,fr]}[l.side];Yt.attr("transform",Zoe(Or[0],Or[1]))}}}me.call(nt,De);function rt(kt,Ct){kt.text(Ct).on("mouseover.opacity",function(){B3.select(this).transition().duration(Xoe.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){B3.select(this).transition().duration(Xoe.HIDE_PLACEHOLDER).style("opacity",0)})}if(Ee&&(d?me.on(".opacity",null):(rt(me,o),_=!0),me.call(N3.makeEditable,{gd:e}).on("edit",function(kt){s!==void 0?rB.call("_guiRestyle",e,a,kt,s):rB.call("_guiRelayout",e,a,kt)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(nt)}).on("input",function(kt){this.text(kt||" ").call(N3.positionText,u.x,u.y)}),T)){if(T&&!d){var ot=me.node().getBBox(),It=ot.y+ot.height+nB*W;De.attr("y",It)}V?De.on(".opacity",null):(rt(De,F),H=!0),De.call(N3.makeEditable,{gd:e}).on("edit",function(kt){rB.call("_guiRelayout",e,"title.subtitle.text",kt)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(nt)}).on("input",function(kt){this.text(kt||" ").call(N3.positionText,De.attr("x"),De.attr("y"))})}return me.classed("js-placeholder",_),De&&De.classed("js-placeholder",H),f}Koe.exports={draw:fot,SUBTITLE_PADDING_EM:nB,SUBTITLE_PADDING_MATHJAX_EM:iB}});var bm=ye((yir,tse)=>{"use strict";var hot=ba(),dot=d3().utcFormat,Uu=Ar(),vot=Uu.numberFormat,_m=uo(),u_=Uu.cleanNumber,pot=Uu.ms2DateTime,Joe=Uu.dateTime2ms,xm=Uu.ensureNumber,$oe=Uu.isArrayOrTypedArray,c_=Yo(),TL=c_.FP_SAFE,Tg=c_.BADNUM,got=c_.LOG_CLIP,mot=c_.ONEWEEK,AL=c_.ONEDAY,SL=c_.ONEHOUR,Qoe=c_.ONEMIN,ese=c_.ONESEC,ML=af(),CL=sd(),EL=CL.HOUR_PATTERN,kL=CL.WEEKDAY_PATTERN;function fM(e){return Math.pow(10,e)}function aB(e){return e!=null}tse.exports=function(t,r){r=r||{};var n=t._id||"x",i=n.charAt(0);function a(S,L){if(S>0)return Math.log(S)/Math.LN10;if(S<=0&&L&&t.range&&t.range.length===2){var x=t.range[0],C=t.range[1];return .5*(x+C-2*got*Math.abs(x-C))}else return Tg}function o(S,L,x,C){if((C||{}).msUTC&&_m(S))return+S;var M=Joe(S,x||t.calendar);if(M===Tg)if(_m(S)){S=+S;var g=Math.floor(Uu.mod(S+.05,1)*10),P=Math.round(S-g/10);M=Joe(new Date(P))+g/10}else return Tg;return M}function s(S,L,x){return pot(S,L,x||t.calendar)}function l(S){return t._categories[Math.round(S)]}function u(S){if(aB(S)){if(t._categoriesMap===void 0&&(t._categoriesMap={}),t._categoriesMap[S]!==void 0)return t._categoriesMap[S];t._categories.push(typeof S=="number"?String(S):S);var L=t._categories.length-1;return t._categoriesMap[S]=L,L}return Tg}function c(S,L){for(var x=new Array(L),C=0;Ct.range[1]&&(x=!x);for(var C=x?-1:1,M=C*S,g=0,P=0;PF)g=P+1;else{g=M<(T+F)/2?P:P+1;break}}var q=t._B[g]||0;return isFinite(q)?d(S,t._m2,q):0},p=function(S){var L=t._rangebreaks.length;if(!L)return _(S,t._m,t._b);for(var x=0,C=0;Ct._rangebreaks[C].pmax&&(x=C+1);return _(S,t._m2,t._B[x])}}t.c2l=t.type==="log"?a:xm,t.l2c=t.type==="log"?fM:xm,t.l2p=b,t.p2l=p,t.c2p=t.type==="log"?function(S,L){return b(a(S,L))}:b,t.p2c=t.type==="log"?function(S){return fM(p(S))}:p,["linear","-"].indexOf(t.type)!==-1?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=u_,t.c2d=t.c2r=t.l2d=t.l2r=xm,t.d2p=t.r2p=function(S){return t.l2p(u_(S))},t.p2d=t.p2r=p,t.cleanPos=xm):t.type==="log"?(t.d2r=t.d2l=function(S,L){return a(u_(S),L)},t.r2d=t.r2c=function(S){return fM(u_(S))},t.d2c=t.r2l=u_,t.c2d=t.l2r=xm,t.c2r=a,t.l2d=fM,t.d2p=function(S,L){return t.l2p(t.d2r(S,L))},t.p2d=function(S){return fM(p(S))},t.r2p=function(S){return t.l2p(u_(S))},t.p2r=p,t.cleanPos=xm):t.type==="date"?(t.d2r=t.r2d=Uu.identity,t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=s,t.d2p=t.r2p=function(S,L,x){return t.l2p(o(S,0,x))},t.p2d=t.p2r=function(S,L,x){return s(p(S),L,x)},t.cleanPos=function(S){return Uu.cleanDate(S,Tg,t.calendar)}):t.type==="category"?(t.d2c=t.d2l=u,t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(S){var L=v(S);return L!==void 0?L:t.fraction2r(.5)},t.l2r=t.c2r=xm,t.r2l=v,t.d2p=function(S){return t.l2p(t.r2c(S))},t.p2d=function(S){return l(p(S))},t.r2p=t.d2p,t.p2r=p,t.cleanPos=function(S){return typeof S=="string"&&S!==""?S:xm(S)}):t.type==="multicategory"&&(t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(S){var L=h(S);return L!==void 0?L:t.fraction2r(.5)},t.r2c_just_indices=f,t.l2r=t.c2r=xm,t.r2l=h,t.d2p=function(S){return t.l2p(t.r2c(S))},t.p2d=function(S){return l(p(S))},t.r2p=t.d2p,t.p2r=p,t.cleanPos=function(S){return Array.isArray(S)||typeof S=="string"&&S!==""?S:xm(S)},t.setupMultiCategory=function(S){var L=t._traceIndices,x,C,M=t._matchGroup;if(M&&t._categories.length===0){for(var g in M)if(g!==n){var P=r[ML.id2name(g)];L=L.concat(P._traceIndices)}}var T=[[0,{}],[0,{}]],F=[];for(x=0;xP[1]&&(C[g?0:1]=x),C[0]===C[1]){var T=t.l2r(L),F=t.l2r(x);if(L!==void 0){var q=T+1;x!==void 0&&(q=Math.min(q,F)),C[g?1:0]=q}if(x!==void 0){var V=F+1;L!==void 0&&(V=Math.max(V,T)),C[g?0:1]=V}}}},t.cleanRange=function(S,L){t._cleanRange(S,L),t.limitRange(S)},t._cleanRange=function(S,L){L||(L={}),S||(S="range");var x=Uu.nestedProperty(t,S).get(),C,M;if(t.type==="date"?M=Uu.dfltRange(t.calendar):i==="y"?M=CL.DFLTRANGEY:t._name==="realaxis"?M=[0,1]:M=L.dfltRange||CL.DFLTRANGEX,M=M.slice(),(t.rangemode==="tozero"||t.rangemode==="nonnegative")&&(M[0]=0),!x||x.length!==2){Uu.nestedProperty(t,S).set(M);return}var g=x[0]===null,P=x[1]===null;for(t.type==="date"&&!t.autorange&&(x[0]=Uu.cleanDate(x[0],Tg,t.calendar),x[1]=Uu.cleanDate(x[1],Tg,t.calendar)),C=0;C<2;C++)if(t.type==="date"){if(!Uu.isDateTime(x[C],t.calendar)){t[S]=M;break}if(t.r2l(x[0])===t.r2l(x[1])){var T=Uu.constrain(t.r2l(x[0]),Uu.MIN_MS+1e3,Uu.MAX_MS-1e3);x[0]=t.l2r(T-1e3),x[1]=t.l2r(T+1e3);break}}else{if(!_m(x[C]))if(!(g||P)&&_m(x[1-C]))x[C]=x[1-C]*(C?10:.1);else{t[S]=M;break}if(x[C]<-TL?x[C]=-TL:x[C]>TL&&(x[C]=TL),x[0]===x[1]){var F=Math.max(1,Math.abs(x[0]*1e-6));x[0]-=F,x[1]+=F}}},t.setScale=function(S){var L=r._size;if(t.overlaying){var x=ML.getFromId({_fullLayout:r},t.overlaying);t.domain=x.domain}var C=S&&t._r?"_r":"range",M=t.calendar;t.cleanRange(C);var g=t.r2l(t[C][0],M),P=t.r2l(t[C][1],M),T=i==="y";if(T?(t._offset=L.t+(1-t.domain[1])*L.h,t._length=L.h*(t.domain[1]-t.domain[0]),t._m=t._length/(g-P),t._b=-t._m*P):(t._offset=L.l+t.domain[0]*L.w,t._length=L.w*(t.domain[1]-t.domain[0]),t._m=t._length/(P-g),t._b=-t._m*g),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks){var F,q;if(t._rangebreaks=t.locateBreaks(Math.min(g,P),Math.max(g,P)),t._rangebreaks.length){for(F=0;FP&&(V=!V),V&&t._rangebreaks.reverse();var H=V?-1:1;for(t._m2=H*t._length/(Math.abs(P-g)-t._lBreaks),t._B.push(-t._m2*(T?P:g)),F=0;FM&&(M+=7,gM&&(M+=24,g=C&&g=C&&S=ie.min&&(_eie.max&&(ie.max=Me),ke=!1)}ke&&P.push({min:_e,max:Me})}};for(x=0;x{"use strict";var rse=uo(),oB=Ar(),yot=Yo().BADNUM,LL=oB.isArrayOrTypedArray,_ot=oB.isDateTime,xot=oB.cleanNumber,ise=Math.round;ase.exports=function(t,r,n){var i=t,a=n.noMultiCategory;if(LL(i)&&!i.length)return"-";if(!a&&Sot(i))return"multicategory";if(a&&Array.isArray(i[0])){for(var o=[],s=0;sa*2}function nse(e){return Math.max(1,(e-1)/1e3)}function Aot(e,t){for(var r=e.length,n=nse(r),i=0,a=0,o={},s=0;si*2}function Sot(e){return LL(e[0])&&LL(e[1])}});var Ag=ye((xir,dse)=>{"use strict";var Mot=ba(),use=uo(),f_=Ar(),PL=Yo().FP_SAFE,Eot=ya(),kot=ao(),cse=af(),Cot=cse.getFromId,Lot=cse.isLinked;dse.exports={applyAutorangeOptions:hse,getAutoRange:sB,makePadFn:lB,doAutoRange:Iot,findExtremes:Dot,concatExtremes:fB};function sB(e,t){var r,n,i=[],a=e._fullLayout,o=lB(a,t,0),s=lB(a,t,1),l=fB(e,t),u=l.min,c=l.max;if(u.length===0||c.length===0)return f_.simpleMap(t.range,t.r2l);var f=u[0].val,h=c[0].val;for(r=1;r0&&(P=k-o(x)-s(C),P>S?T/P>L&&(M=x,g=C,L=T/P):T/k>L&&(M={val:x.val,nopad:1},g={val:C.val,nopad:1},L=T/k));function F(G,N){return Math.max(G,s(N))}if(f===h){var q=f-1,V=f+1;if(p)if(f===0)i=[0,1];else{var H=(f>0?c:u).reduce(F,0),X=f/(1-Math.min(.5,H/k));i=f>0?[0,X]:[X,0]}else E?i=[Math.max(0,q),Math.max(1,V)]:i=[q,V]}else p?(M.val>=0&&(M={val:0,nopad:1}),g.val<=0&&(g={val:0,nopad:1})):E&&(M.val-L*o(M)<0&&(M={val:0,nopad:1}),g.val<=0&&(g={val:1,nopad:1})),L=(g.val-M.val-ose(t,x.val,C.val))/(k-o(M)-s(g)),i=[M.val-L*o(M),g.val+L*s(g)];return i=hse(i,t),t.limitRange&&t.limitRange(),d&&i.reverse(),f_.simpleMap(i,t.l2r||Number)}function ose(e,t,r){var n=0;if(e.rangebreaks)for(var i=e.locateBreaks(t,r),a=0;a0?r.ppadplus:r.ppadminus)||r.ppad||0),x=S((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),C=S(r.vpadplus||r.vpad),M=S(r.vpadminus||r.vpad);if(!u){if(E=1/0,k=-1/0,l)for(f=0;f0&&(E=h),h>k&&h-PL&&(E=h),h>k&&h=T;f--)P(f);return{min:n,max:i,opts:r}}function uB(e,t,r,n){fse(e,t,r,n,Rot)}function cB(e,t,r,n){fse(e,t,r,n,zot)}function fse(e,t,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l=r&&(u.extrapad||!o)){s=!1;break}else i(t,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(e.splice(l,1),l--)}if(s){var c=a&&t===0;e.push({val:t,pad:c?0:r,extrapad:c?!1:o})}}function lse(e){return use(e)&&Math.abs(e)=t}function Fot(e,t){var r=t.autorangeoptions;return r&&r.minallowed!==void 0&&IL(t,r.minallowed,r.maxallowed)?r.minallowed:r&&r.clipmin!==void 0&&IL(t,r.clipmin,r.clipmax)?Math.max(e,t.d2l(r.clipmin)):e}function qot(e,t){var r=t.autorangeoptions;return r&&r.maxallowed!==void 0&&IL(t,r.minallowed,r.maxallowed)?r.maxallowed:r&&r.clipmax!==void 0&&IL(t,r.clipmin,r.clipmax)?Math.min(e,t.d2l(r.clipmax)):e}function IL(e,t,r){return t!==void 0&&r!==void 0?(t=e.d2l(t),r=e.d2l(r),t=l&&(a=l,r=l),o<=l&&(o=l,n=l)}}return r=Fot(r,t),n=qot(n,t),[r,n]}});var Xa=ye((bir,zse)=>{"use strict";var S0=ba(),yh=uo(),V3=Nu(),dM=ya(),Ho=Ar(),H3=Ho.strTranslate,qb=Ll(),Oot=Fb(),vM=va(),Jp=ao(),Bot=Ld(),vse=zO(),Kd=Yo(),Not=Kd.ONEMAXYEAR,zL=Kd.ONEAVGYEAR,FL=Kd.ONEMINYEAR,Uot=Kd.ONEMAXQUARTER,pB=Kd.ONEAVGQUARTER,qL=Kd.ONEMINQUARTER,Vot=Kd.ONEMAXMONTH,G3=Kd.ONEAVGMONTH,OL=Kd.ONEMINMONTH,$p=Kd.ONEWEEK,Ov=Kd.ONEDAY,h_=Ov/2,Tm=Kd.ONEHOUR,pM=Kd.ONEMIN,BL=Kd.ONESEC,Hot=Kd.ONEMILLI,Got=Kd.ONEMICROSEC,Ob=Kd.MINUS_SIGN,VL=Kd.BADNUM,gB={K:"zeroline"},mB={K:"gridline",L:"path"},yB={K:"minor-gridline",L:"path"},Sse={K:"tick",L:"path"},pse={K:"tick",L:"text"},gse={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},HL=Vh(),hM=HL.MID_SHIFT,Bb=HL.CAP_SHIFT,gM=HL.LINE_SPACING,jot=HL.OPPOSITE_SIDE,NL=3,kn=zse.exports={};kn.setConvert=bm();var Wot=U3(),My=af(),Zot=My.idSort,Xot=My.isLinked;kn.id2name=My.id2name;kn.name2id=My.name2id;kn.cleanId=My.cleanId;kn.list=My.list;kn.listIds=My.listIds;kn.getFromId=My.getFromId;kn.getFromTrace=My.getFromTrace;var Mse=Ag();kn.getAutoRange=Mse.getAutoRange;kn.findExtremes=Mse.findExtremes;var Yot=1e-4;function wB(e){var t=(e[1]-e[0])*Yot;return[e[0]-t,e[1]+t]}kn.coerceRef=function(e,t,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+"axis"],l=n+"ref",u={};return i||(i=s[0]||(typeof a=="string"?a:a[0])),a||(a=i),s=s.concat(s.map(function(c){return c+" domain"})),u[l]={valType:"enumerated",values:s.concat(a?typeof a=="string"?[a]:a:[]),dflt:i},Ho.coerce(e,t,u,l)};kn.getRefType=function(e){return e===void 0?e:e==="paper"?"paper":e==="pixel"?"pixel":/( domain)$/.test(e)?"domain":"range"};kn.coercePosition=function(e,t,r,n,i,a){var o,s,l=kn.getRefType(n);if(l!=="range")o=Ho.ensureNumber,s=r(i,a);else{var u=kn.getFromId(t,n);a=u.fraction2r(a),s=r(i,a),o=u.cleanPos}e[i]=o(s)};kn.cleanPosition=function(e,t,r){var n=r==="paper"||r==="pixel"?Ho.ensureNumber:kn.getFromId(t,r).cleanPos;return n(e)};kn.redrawComponents=function(e,t){t=t||kn.listIds(e);var r=e._fullLayout;function n(i,a,o,s){for(var l=dM.getComponentMethod(i,a),u={},c=0;c2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0))};kn.saveRangeInitial=function(e,t){for(var r=kn.list(e,"",!0),n=!1,i=0;if*.3||u(n)||u(i))){var h=r.dtick/2;e+=e+ho){var s=Number(r.substr(1));a.exactYears>o&&s%12===0?e=kn.tickIncrement(e,"M6","reverse")+Ov*1.5:a.exactMonths>o?e=kn.tickIncrement(e,"M1","reverse")+Ov*15.5:e-=h_;var l=kn.tickIncrement(e,r);if(l<=n)return l}return e}kn.prepMinorTicks=function(e,t,r){if(!t.minor.dtick){delete e.dtick;var n=t.dtick&&yh(t._tmin),i;if(n){var a=kn.tickIncrement(t._tmin,t.dtick,!0);i=[t._tmin,a*.99+t._tmin*.01]}else{var o=Ho.simpleMap(t.range,t.r2l);i=[o[0],.8*o[0]+.2*o[1]]}if(e.range=Ho.simpleMap(i,t.l2r),e._isMinor=!0,kn.prepTicks(e,r),n){var s=yh(t.dtick),l=yh(e.dtick),u=s?t.dtick:+t.dtick.substring(1),c=l?e.dtick:+e.dtick.substring(1);s&&l?hB(u,c)?u===2*$p&&c===2*Ov&&(e.dtick=$p):u===2*$p&&c===3*Ov?e.dtick=$p:u===$p&&!(t._input.minor||{}).nticks?e.dtick=Ov:_se(u/c,2.5)?e.dtick=u/2:e.dtick=u:String(t.dtick).charAt(0)==="M"?l?e.dtick="M1":hB(u,c)?u>=12&&c===2&&(e.dtick="M3"):e.dtick=t.dtick:String(e.dtick).charAt(0)==="L"?String(t.dtick).charAt(0)==="L"?hB(u,c)||(e.dtick=_se(u/c,2.5)?t.dtick/2:t.dtick):e.dtick="D1":e.dtick==="D2"&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}t.minor._tick0Init===void 0&&(e.tick0=t.tick0)};function hB(e,t){return Math.abs((e/t+.5)%1-.5)<.001}function _se(e,t){return Math.abs(e/t-1)<.001}kn.prepTicks=function(e,t){var r=Ho.simpleMap(e.range,e.r2l,void 0,void 0,t);if(e.tickmode==="auto"||!e.dtick){var n=e.nticks,i;n||(e.type==="category"||e.type==="multicategory"?(i=e.tickfont?Ho.bigFont(e.tickfont.size||12):15,n=e._length/i):(i=e._id.charAt(0)==="y"?40:80,n=Ho.constrain(e._length/i,4,9)+1),e._name==="radialaxis"&&(n*=2)),e.minor&&e.minor.tickmode!=="array"||e.tickmode==="array"&&(n*=100),e._roughDTick=Math.abs(r[1]-r[0])/n,kn.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick0?(a=n-1,o=n):(a=n,o=n);var s=e[a].value,l=e[o].value,u=Math.abs(l-s),c=r||u,f=0;c>=FL?u>=FL&&u<=Not?f=u:f=zL:r===pB&&c>=qL?u>=qL&&u<=Uot?f=u:f=pB:c>=OL?u>=OL&&u<=Vot?f=u:f=G3:r===$p&&c>=$p?f=$p:c>=Ov?f=Ov:r===h_&&c>=h_?f=h_:r===Tm&&c>=Tm&&(f=Tm);var h;f>=u&&(f=u,h=!0);var v=i+f;if(t.rangebreaks&&f>0){for(var d=84,_=0,b=0;b$p&&(f=u)}(f>0||n===0)&&(e[n].periodX=i+f/2)}}kn.calcTicks=function(t,r){for(var n=t.type,i=t.calendar,a=t.ticklabelstep,o=t.ticklabelmode==="period",s=t.range[0]>t.range[1],l=!t.ticklabelindex||Ho.isArrayOrTypedArray(t.ticklabelindex)?t.ticklabelindex:[t.ticklabelindex],u=Ho.simpleMap(t.range,t.r2l,void 0,void 0,r),c=u[1]=(k?0:1);S--){var L=!S;S?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var x=S?t:Ho.extendFlat({},t,t.minor);if(L?kn.prepMinorTicks(x,t,r):kn.prepTicks(x,r),x.tickmode==="array"){S?(b=[],d=xse(t,!L)):(p=[],_=xse(t,!L));continue}if(x.tickmode==="sync"){b=[],d=tst(t);continue}var C=wB(u),M=C[0],g=C[1],P=yh(x.dtick),T=n==="log"&&!(P||x.dtick.charAt(0)==="L"),F=kn.tickFirst(x,r);if(S){if(t._tmin=F,F=g:V<=g;V=kn.tickIncrement(V,G,c,i)){if(S&&H++,x.rangebreaks&&!c){if(V=h)break}if(b.length>v||V===q)break;q=V;var N={value:V};S?(T&&V!==(V|0)&&(N.simpleLabel=!0),a>1&&H%a&&(N.skipLabel=!0),b.push(N)):(N.minor=!0,p.push(N))}}if(!p||p.length<2)l=!1;else{var W=(p[1].value-p[0].value)*(s?-1:1);Sst(W,t.tickformat)||(l=!1)}if(!l)E=b;else{var re=b.concat(p);o&&b.length&&(re=re.slice(1)),re=re.sort(function(It,kt){return It.value-kt.value}).filter(function(It,kt,Ct){return kt===0||It.value!==Ct[kt-1].value});var ae=re.map(function(It,kt){return It.minor===void 0&&!It.skipLabel?kt:null}).filter(function(It){return It!==null});ae.forEach(function(It){l.map(function(kt){var Ct=It+kt;Ct>=0&&Ct-1;ze--){if(b[ze].drop){b.splice(ze,1);continue}b[ze].value=vB(b[ze].value,t);var ce=t.c2p(b[ze].value);(Ce?De>ce-me:Deh||Yth&&(Ct.periodX=h),Yti&&hzL)t/=zL,n=i(10),e.dtick="M"+12*wm(t,n,DL);else if(a>G3)t/=G3,e.dtick="M"+wm(t,1,bse);else if(a>Ov){if(e.dtick=wm(t,Ov,e._hasDayOfWeekBreaks?[1,2,7,14]:rst),!r){var o=kn.getTickFormat(e),s=e.ticklabelmode==="period";s&&(e._rawTick0=e.tick0),/%[uVW]/.test(o)?e.tick0=Ho.dateTick0(e.calendar,2):e.tick0=Ho.dateTick0(e.calendar,1),s&&(e._dowTick0=e.tick0)}}else a>Tm?e.dtick=wm(t,Tm,bse):a>pM?e.dtick=wm(t,pM,wse):a>BL?e.dtick=wm(t,BL,wse):(n=i(10),e.dtick=wm(t,n,DL))}else if(e.type==="log"){e.tick0=0;var l=Ho.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(l[1]-l[0])<1){var u=1.5*Math.abs((l[1]-l[0])/t);t=Math.abs(Math.pow(10,l[1])-Math.pow(10,l[0]))/u,n=i(10),e.dtick="L"+wm(t,n,DL)}else e.dtick=t>.3?"D2":"D1"}else e.type==="category"||e.type==="multicategory"?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):SB(e)?(e.tick0=0,n=1,e.dtick=wm(t,n,ist)):(e.tick0=0,n=i(10),e.dtick=wm(t,n,DL));if(e.dtick===0&&(e.dtick=1),!yh(e.dtick)&&typeof e.dtick!="string"){var c=e.dtick;throw e.dtick=1,"ax.dtick error: "+String(c)}};function Lse(e){var t=e.dtick;if(e._tickexponent=0,!yh(t)&&typeof t!="string"&&(t=1),(e.type==="category"||e.type==="multicategory")&&(e._tickround=null),e.type==="date"){var r=e.r2l(e.tick0),n=e.l2r(r).replace(/(^-|i)/g,""),i=n.length;if(String(t).charAt(0)==="M")i>10||n.substr(5)!=="01-01"?e._tickround="d":e._tickround=+t.substr(1)%12===0?"y":"m";else if(t>=Ov&&i<=10||t>=Ov*15)e._tickround="d";else if(t>=pM&&i<=16||t>=Tm)e._tickround="M";else if(t>=BL&&i<=19||t>=pM)e._tickround="S";else{var a=e.l2r(r+t).replace(/^-/,"").length;e._tickround=Math.max(i,a)-20,e._tickround<0&&(e._tickround=4)}}else if(yh(t)||t.charAt(0)==="L"){var o=e.range.map(e.r2d||Number);yh(t)||(t=Number(t.substr(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01),u=e.minexponent===void 0?3:e.minexponent;Math.abs(l)>u&&(UL(e.exponentformat)&&!TB(l)?e._tickexponent=3*Math.round((l-1)/3):e._tickexponent=l)}else e._tickround=null}kn.tickIncrement=function(e,t,r,n){var i=r?-1:1;if(yh(t))return Ho.increment(e,i*t);var a=t.charAt(0),o=i*Number(t.substr(1));if(a==="M")return Ho.incrementMonth(e,o,n);if(a==="L")return Math.log(Math.pow(10,e)+o)/Math.LN10;if(a==="D"){var s=t==="D2"?Cse:kse,l=e+i*.01,u=Ho.roundUp(Ho.mod(l,1),s,r);return Math.floor(l)+Math.log(S0.round(Math.pow(10,u),1))/Math.LN10}throw"unrecognized dtick "+String(t)};kn.tickFirst=function(e,t){var r=e.r2l||Number,n=Ho.simpleMap(e.range,r,void 0,void 0,t),i=n[1]=0&&p<=e._length?b:null};if(a&&Ho.isArrayOrTypedArray(e.ticktext)){var f=Ho.simpleMap(e.range,e.r2l),h=(Math.abs(f[1]-f[0])-(e._lBreaks||0))/1e4;for(u=0;u"+s;else{var u=yM(e),c=e._trueSide||e.side;(!u&&c==="top"||u&&c==="bottom")&&(o+="
")}t.text=o}function ast(e,t,r,n,i){var a=e.dtick,o=t.x,s=e.tickformat,l=typeof a=="string"&&a.charAt(0);if(i==="never"&&(i=""),n&&l!=="L"&&(a="L3",l="L"),s||l==="L")t.text=mM(Math.pow(10,o),e,i,n);else if(yh(a)||l==="D"&&Ho.mod(o+.01,1)<.1){var u=Math.round(o),c=Math.abs(u),f=e.exponentformat;f==="power"||UL(f)&&TB(u)?(u===0?t.text=1:u===1?t.text="10":t.text="10"+(u>1?"":Ob)+c+"",t.fontSize*=1.25):(f==="e"||f==="E")&&c>2?t.text="1"+f+(u>0?"+":Ob)+c:(t.text=mM(Math.pow(10,o),e,"","fakehover"),a==="D1"&&e._id.charAt(0)==="y"&&(t.dy-=t.fontSize/6))}else if(l==="D")t.text=String(Math.round(Math.pow(10,Ho.mod(o,1)))),t.fontSize*=.75;else throw"unrecognized dtick "+String(a);if(e.dtick==="D1"){var h=String(t.text).charAt(0);(h==="0"||h==="1")&&(e._id.charAt(0)==="y"?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(o<0?.5:.25)))}}function ost(e,t){var r=e._categories[Math.round(t.x)];r===void 0&&(r=""),t.text=String(r)}function sst(e,t,r){var n=Math.round(t.x),i=e._categories[n]||[],a=i[1]===void 0?"":String(i[1]),o=i[0]===void 0?"":String(i[0]);r?t.text=o+" - "+a:(t.text=a,t.text2=o)}function lst(e,t,r,n,i){i==="never"?i="":e.showexponent==="all"&&Math.abs(t.x/e.dtick)<1e-6&&(i="hide"),t.text=mM(t.x,e,i,n)}function ust(e,t,r,n,i){if(e.thetaunit==="radians"&&!r){var a=t.x/180;if(a===0)t.text="0";else{var o=cst(a);if(o[1]>=100)t.text=mM(Ho.deg2rad(t.x),e,i,n);else{var s=t.x<0;o[1]===1?o[0]===1?t.text="\u03C0":t.text=o[0]+"\u03C0":t.text=["",o[0],"","\u2044","",o[1],"","\u03C0"].join(""),s&&(t.text=Ob+t.text)}}}else t.text=mM(t.x,e,i,n)}function cst(e){function t(s,l){return Math.abs(s-l)<=1e-6}function r(s,l){return t(l,0)?s:r(l,s%l)}function n(s){for(var l=1;!t(Math.round(s*l)/l,s);)l*=10;return l}var i=n(e),a=e*i,o=Math.abs(r(a,i));return[Math.round(a/o),Math.round(i/o)]}var fst=["f","p","n","\u03BC","m","","k","M","G","T"];function UL(e){return e==="SI"||e==="B"}function TB(e){return e>14||e<-15}function mM(e,t,r,n){var i=e<0,a=t._tickround,o=r||t.exponentformat||"B",s=t._tickexponent,l=kn.getTickFormat(t),u=t.separatethousands;if(n){var c={exponentformat:o,minexponent:t.minexponent,dtick:t.showexponent==="none"?t.dtick:yh(e)&&Math.abs(e)||1,range:t.showexponent==="none"?t.range.map(t.r2d):[0,e||1]};Lse(c),a=(Number(c._tickround)||0)+4,s=c._tickexponent,t.hoverformat&&(l=t.hoverformat)}if(l)return t._numFormat(l)(e).replace(/-/g,Ob);var f=Math.pow(10,-a)/2;if(o==="none"&&(s=0),e=Math.abs(e),e"+d+"":o==="B"&&s===9?e+="B":UL(o)&&(e+=fst[s/3+5])}return i?Ob+e:e}kn.getTickFormat=function(e){var t;function r(l){return typeof l!="string"?l:Number(l.replace("M",""))*G3}function n(l,u){var c=["L","D"];if(typeof l==typeof u){if(typeof l=="number")return l-u;var f=c.indexOf(l.charAt(0)),h=c.indexOf(u.charAt(0));return f===h?Number(l.replace(/(L|D)/g,""))-Number(u.replace(/(L|D)/g,"")):f-h}else return typeof l=="number"?1:-1}function i(l,u,c){var f=c||function(d){return d},h=u[0],v=u[1];return(!h&&typeof h!="number"||f(h)<=f(l))&&(!v&&typeof v!="number"||f(v)>=f(l))}function a(l,u){var c=u[0]===null,f=u[1]===null,h=n(l,u[0])>=0,v=n(l,u[1])<=0;return(c||h)&&(f||v)}var o,s;if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case"date":case"linear":{for(t=0;t=0&&i.unshift(i.splice(c,1).shift())}});var s={false:{left:0,right:0}};return Ho.syncOrAsync(i.map(function(l){return function(){if(l){var u=kn.getFromId(e,l);r||(r={}),r.axShifts=s,r.overlayingShiftedAx=o;var c=kn.drawOne(e,u,r);return u._shiftPusher&&bB(u,u._fullDepth||0,s,!0),u._r=u.range.slice(),u._rl=Ho.simpleMap(u._r,u.r2l),c}}}))};kn.drawOne=function(e,t,r){r=r||{};var n=r.axShifts||{},i=r.overlayingShiftedAx||[],a,o,s;t.setScale();var l=e._fullLayout,u=t._id,c=u.charAt(0),f=kn.counterLetter(u),h=l._plots[t._mainSubplot];if(!h)return;if(t._shiftPusher=t.autoshift||i.indexOf(t._id)!==-1||i.indexOf(t.overlaying)!==-1,t._shiftPusher&t.anchor==="free"){var v=t.linewidth/2||0;t.ticks==="inside"&&(v+=t.ticklen),bB(t,v,n,!0),bB(t,t.shift||0,n,!1)}(r.skipTitle!==!0||t._shift===void 0)&&(t._shift=Ast(t,n));var d=h[c+"axislayer"],_=t._mainLinePosition,b=_+=t._shift,p=t._mainMirrorPosition,E=t._vals=kn.calcTicks(t),k=[t.mirror,b,p].join("_");for(a=0;a0?Ct.bottom-It:0,kt))));var Ke=0,bt=0;if(t._shiftPusher&&(Ke=Math.max(kt,Ct.height>0?rt==="l"?It-Ct.left:Ct.right-It:0),t.title.text!==l._dfltTitle[c]&&(bt=(t._titleStandoff||0)+(t._titleScoot||0),rt==="l"&&(bt+=Ase(t))),t._fullDepth=Math.max(Ke,bt)),t.automargin){Yt={x:0,y:0,r:0,l:0,t:0,b:0};var xt=[0,1],Lt=typeof t._shift=="number"?t._shift:0;if(c==="x"){if(rt==="b"?Yt[rt]=t._depth:(Yt[rt]=t._depth=Math.max(Ct.width>0?It-Ct.top:0,kt),xt.reverse()),Ct.width>0){var St=Ct.right-(t._offset+t._length);St>0&&(Yt.xr=1,Yt.r=St);var Et=t._offset-Ct.left;Et>0&&(Yt.xl=0,Yt.l=Et)}}else if(rt==="l"?(t._depth=Math.max(Ct.height>0?It-Ct.left:0,kt),Yt[rt]=t._depth-Lt):(t._depth=Math.max(Ct.height>0?Ct.right-It:0,kt),Yt[rt]=t._depth+Lt,xt.reverse()),Ct.height>0){var dt=Ct.bottom-(t._offset+t._length);dt>0&&(Yt.yb=0,Yt.b=dt);var Ht=t._offset-Ct.top;Ht>0&&(Yt.yt=1,Yt.t=Ht)}Yt[f]=t.anchor==="free"?t.position:t._anchorAxis.domain[xt[0]],t.title.text!==l._dfltTitle[c]&&(Yt[rt]+=Ase(t)+(t.title.standoff||0)),t.mirror&&t.anchor!=="free"&&(mr={x:0,y:0,r:0,l:0,t:0,b:0},mr[ot]=t.linewidth,t.mirror&&t.mirror!==!0&&(mr[ot]+=kt),t.mirror===!0||t.mirror==="ticks"?mr[f]=t._anchorAxis.domain[xt[1]]:(t.mirror==="all"||t.mirror==="allticks")&&(mr[f]=[t._counterDomainMin,t._counterDomainMax][xt[1]]))}qt&&(er=dM.getComponentMethod("rangeslider","autoMarginOpts")(e,t)),typeof t.automargin=="string"&&(Tse(Yt,t.automargin),Tse(mr,t.automargin)),V3.autoMargin(e,AB(t),Yt),V3.autoMargin(e,Dse(t),mr),V3.autoMargin(e,Rse(t),er)}),Ho.syncOrAsync(nt)}};function Tse(e,t){if(e){var r=Object.keys(gse).reduce(function(n,i){return t.indexOf(i)!==-1&&gse[i].forEach(function(a){n[a]=1}),n},{});Object.keys(e).forEach(function(n){r[n]||(n.length===1?e[n]=0:delete e[n])})}}function hst(e,t){var r=[],n,i=function(a,o){var s=a.xbnd[o];s!==null&&r.push(Ho.extendFlat({},a,{x:s}))};if(t.length){for(n=0;ne.range[1],s=e.ticklabelposition&&e.ticklabelposition.indexOf("inside")!==-1,l=!s;if(r){var u=o?-1:1;r=r*u}if(n){var c=e.side,f=s&&(c==="top"||c==="left")||l&&(c==="bottom"||c==="right")?1:-1;n=n*f}return e._id.charAt(0)==="x"?function(h){return H3(i+e._offset+e.l2p(_B(h))+r,a+n)}:function(h){return H3(a+n,i+e._offset+e.l2p(_B(h))+r)}};function _B(e){return e.periodX!==void 0?e.periodX:e.x}function gst(e){var t=e.ticklabelposition||"",r=function(v){return t.indexOf(v)!==-1},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=e.side,c=l?(e.tickwidth||0)/2:0,f=NL,h=e.tickfont?e.tickfont.size:12;return(o||n)&&(c+=h*Bb,f+=(e.linewidth||0)/2),(i||a)&&(c+=(e.linewidth||0)/2,f+=NL),s&&u==="top"&&(f-=h*(1-Bb)),(i||n)&&(c=-c),(u==="bottom"||u==="right")&&(f=-f),[l?c:0,s?f:0]}kn.makeTickPath=function(e,t,r,n){n||(n={});var i=n.minor;if(i&&!e.minor)return"";var a=n.len!==void 0?n.len:i?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),s=(e.linewidth||1)/2;return o==="x"?"M0,"+(t+s*r)+"v"+a*r:"M"+(t+s*r)+",0h"+a*r};kn.makeLabelFns=function(e,t,r){var n=e.ticklabelposition||"",i=function(F){return n.indexOf(F)!==-1},a=i("top"),o=i("left"),s=i("right"),l=i("bottom"),u=l||o||a||s,c=i("inside"),f=n==="inside"&&e.ticks==="inside"||!c&&e.ticks==="outside"&&e.tickson!=="boundaries",h=0,v=0,d=f?e.ticklen:0;if(c?d*=-1:u&&(d=0),f&&(h+=d,r)){var _=Ho.deg2rad(r);h=d*Math.cos(_)+1,v=d*Math.sin(_)}e.showticklabels&&(f||e.showline)&&(h+=.2*e.tickfont.size),h+=(e.linewidth||1)/2*(c?-1:1);var b={labelStandoff:h,labelShift:v},p,E,k,S,L=0,x=e.side,C=e._id.charAt(0),M=e.tickangle,g;if(C==="x")g=!c&&x==="bottom"||c&&x==="top",S=g?1:-1,c&&(S*=-1),p=v*S,E=t+h*S,k=g?1:-.2,Math.abs(M)===90&&(c?k+=hM:M===-90&&x==="bottom"?k=Bb:M===90&&x==="top"?k=hM:k=.5,L=hM/2*(M/90)),b.xFn=function(F){return F.dx+p+L*F.fontSize},b.yFn=function(F){return F.dy+E+F.fontSize*k},b.anchorFn=function(F,q){if(u){if(o)return"end";if(s)return"start"}return!yh(q)||q===0||q===180?"middle":q*S<0!==c?"end":"start"},b.heightFn=function(F,q,V){return q<-60||q>60?-.5*V:e.side==="top"!==c?-V:0};else if(C==="y"){if(g=!c&&x==="left"||c&&x==="right",S=g?1:-1,c&&(S*=-1),p=h,E=v*S,k=0,!c&&Math.abs(M)===90&&(M===-90&&x==="left"||M===90&&x==="right"?k=Bb:k=.5),c){var P=yh(M)?+M:0;if(P!==0){var T=Ho.deg2rad(P);L=Math.abs(Math.sin(T))*Bb*S,k=0}}b.xFn=function(F){return F.dx+t-(p+F.fontSize*k)*S+L*F.fontSize},b.yFn=function(F){return F.dy+E+F.fontSize*hM},b.anchorFn=function(F,q){return yh(q)&&Math.abs(q)===90?"middle":g?"end":"start"},b.heightFn=function(F,q,V){return e.side==="right"&&(q*=-1),q<-30?-V:q<30?-.5*V:0}}return b};function GL(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join("_")}kn.drawTicks=function(e,t,r){r=r||{};var n=t._id+"tick",i=[].concat(t.minor&&t.minor.ticks?r.vals.filter(function(o){return o.minor&&!o.noTick}):[]).concat(t.ticks?r.vals.filter(function(o){return!o.minor&&!o.noTick}):[]),a=r.layer.selectAll("path."+n).data(i,GL);a.exit().remove(),a.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",r.crisp!==!1).each(function(o){return vM.stroke(S0.select(this),o.minor?t.minor.tickcolor:t.tickcolor)}).style("stroke-width",function(o){return Jp.crispRound(e,o.minor?t.minor.tickwidth:t.tickwidth,1)+"px"}).attr("d",r.path).style("display",null),jL(t,[Sse]),a.attr("transform",r.transFn)};kn.drawGrid=function(e,t,r){if(r=r||{},t.tickmode!=="sync"){var n=t._id+"grid",i=t.minor&&t.minor.showgrid,a=i?r.vals.filter(function(p){return p.minor}):[],o=t.showgrid?r.vals.filter(function(p){return!p.minor}):[],s=r.counterAxis;if(s&&kn.shouldShowZeroLine(e,t,s))for(var l=t.tickmode==="array",u=0;u=0;d--){var _=d?h:v;if(_){var b=_.selectAll("path."+n).data(d?o:a,GL);b.exit().remove(),b.enter().append("path").classed(n,1).classed("crisp",r.crisp!==!1),b.attr("transform",r.transFn).attr("d",r.path).each(function(p){return vM.stroke(S0.select(this),p.minor?t.minor.gridcolor:t.gridcolor||"#ddd")}).style("stroke-dasharray",function(p){return Jp.dashStyle(p.minor?t.minor.griddash:t.griddash,p.minor?t.minor.gridwidth:t.gridwidth)}).style("stroke-width",function(p){return(p.minor?f:t._gw)+"px"}).style("display",null),typeof r.path=="function"&&b.attr("d",r.path)}}jL(t,[mB,yB])}};kn.drawZeroLine=function(e,t,r){r=r||r;var n=t._id+"zl",i=kn.shouldShowZeroLine(e,t,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:t._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",r.crisp!==!1).each(function(){r.layer.selectAll("path").sort(function(o,s){return Zot(o.id,s.id)})}),a.attr("transform",r.transFn).attr("d",r.path).call(vM.stroke,t.zerolinecolor||vM.defaultLine).style("stroke-width",Jp.crispRound(e,t.zerolinewidth,t._gw||1)+"px").style("display",null),jL(t,[gB])};kn.drawLabels=function(e,t,r){r=r||{};var n=e._fullLayout,i=t._id,a=r.cls||i+"tick",o=r.vals.filter(function(N){return N.text}),s=r.labelFns,l=r.secondary?0:t.tickangle,u=(t._prevTickAngles||{})[a],c=r.layer.selectAll("g."+a).data(t.showticklabels?o:[],GL),f=[];c.enter().append("g").classed(a,1).append("text").attr("text-anchor","middle").each(function(N){var W=S0.select(this),re=e._promises.length;W.call(qb.positionText,s.xFn(N),s.yFn(N)).call(Jp.font,{family:N.font,size:N.fontSize,color:N.fontColor,weight:N.fontWeight,style:N.fontStyle,variant:N.fontVariant,textcase:N.fontTextcase,lineposition:N.fontLineposition,shadow:N.fontShadow}).text(N.text).call(qb.convertToTspans,e),e._promises[re]?f.push(e._promises.pop().then(function(){h(W,l)})):h(W,l)}),jL(t,[pse]),c.exit().remove(),r.repositionOnUpdate&&c.each(function(N){S0.select(this).select("text").call(qb.positionText,s.xFn(N),s.yFn(N))});function h(N,W){N.each(function(re){var ae=S0.select(this),_e=ae.select(".text-math-group"),Me=s.anchorFn(re,W),ke=r.transFn.call(ae.node(),re)+(yh(W)&&+W!=0?" rotate("+W+","+s.xFn(re)+","+(s.yFn(re)-re.fontSize/2)+")":""),ge=qb.lineCount(ae),ie=gM*re.fontSize,Te=s.heightFn(re,yh(W)?+W:0,(ge-1)*ie);if(Te&&(ke+=H3(0,Te)),_e.empty()){var Ee=ae.select("text");Ee.attr({transform:ke,"text-anchor":Me}),Ee.style("opacity",1),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var Ae=Jp.bBox(_e.node()).width,ze=Ae*{end:-.5,start:.5}[Me];_e.attr("transform",ke+H3(ze,0))}})}t._adjustTickLabelsOverflow=function(){var N=t.ticklabeloverflow;if(!(!N||N==="allow")){var W=N.indexOf("hide")!==-1,re=t._id.charAt(0)==="x",ae=0,_e=re?e._fullLayout.width:e._fullLayout.height;if(N.indexOf("domain")!==-1){var Me=Ho.simpleMap(t.range,t.r2l);ae=t.l2p(Me[0])+t._offset,_e=t.l2p(Me[1])+t._offset}var ke=Math.min(ae,_e),ge=Math.max(ae,_e),ie=t.side,Te=1/0,Ee=-1/0;c.each(function(me){var De=S0.select(this),ce=De.select(".text-math-group");if(ce.empty()){var Ge=Jp.bBox(De.node()),nt=0;re?(Ge.right>ge||Ge.leftge||Ge.top+(t.tickangle?0:me.fontSize/4)t["_visibleLabelMin_"+Me._id]?me.style("display","none"):ge.K==="tick"&&!ke&&me.style("display",null)})})})})},h(c,u+1?u:l);function v(){return f.length&&Promise.all(f)}var d=null;function _(){if(h(c,l),o.length&&t.autotickangles&&(t.type!=="log"||String(t.dtick).charAt(0)!=="D")){d=t.autotickangles[0];var N=0,W=[],re,ae=1;c.each(function(Ct){N=Math.max(N,Ct.fontSize);var Yt=t.l2p(Ct.x),mr=xB(this),er=Jp.bBox(mr.node());ae=Math.max(ae,qb.lineCount(mr)),W.push({top:0,bottom:10,height:10,left:Yt-er.width/2,right:Yt+er.width/2+2,width:er.width+2})});var _e=(t.tickson==="boundaries"||t.showdividers)&&!r.secondary,Me=o.length,ke=Math.abs((o[Me-1].x-o[0].x)*t._m)/(Me-1),ge=_e?ke/2:ke,ie=_e?t.ticklen:N*1.25*ae,Te=Math.sqrt(Math.pow(ge,2)+Math.pow(ie,2)),Ee=ge/Te,Ae=t.autotickangles.map(function(Ct){return Ct*Math.PI/180}),ze=Ae.find(function(Ct){return Math.abs(Math.cos(Ct))<=Ee});ze===void 0&&(ze=Ae.reduce(function(Ct,Yt){return Math.abs(Math.cos(Ct))H*V&&(T=V,M[C]=g[C]=F[C])}var X=Math.abs(T-P);X-S>0?(X-=S,S*=1+S/X):S=0,t._id.charAt(0)!=="y"&&(S=-S),M[x]=E.p2r(E.r2p(g[x])+L*S),E.autorange==="min"||E.autorange==="max reversed"?(M[0]=null,E._rangeInitial0=void 0,E._rangeInitial1=void 0):(E.autorange==="max"||E.autorange==="min reversed")&&(M[1]=null,E._rangeInitial0=void 0,E._rangeInitial1=void 0),n._insideTickLabelsUpdaterange[E._name+".range"]=M}var G=Ho.syncOrAsync(b);return G&&G.then&&e._promises.push(G),G};function mst(e,t,r){var n=t._id+"divider",i=r.vals,a=r.layer.selectAll("path."+n).data(i,GL);a.exit().remove(),a.enter().insert("path",":first-child").classed(n,1).classed("crisp",1).call(vM.stroke,t.dividercolor).style("stroke-width",Jp.crispRound(e,t.dividerwidth,1)+"px"),a.attr("transform",r.transFn).attr("d",r.path)}kn.getPxPosition=function(e,t){var r=e._fullLayout._size,n=t._id.charAt(0),i=t.side,a;if(t.anchor!=="free"?a=t._anchorAxis:n==="x"?a={_offset:r.t+(1-(t.position||0))*r.h,_length:0}:n==="y"&&(a={_offset:r.l+(t.position||0)*r.w+t._shift,_length:0}),i==="top"||i==="left")return a._offset;if(i==="bottom"||i==="right")return a._offset+a._length};function Ase(e){var t=e.title.font.size,r=(e.title.text.match(qb.BR_TAG_ALL)||[]).length;return e.title.hasOwnProperty("standoff")?t*(Bb+r*gM):r?t*(r+1)*gM:t}function yst(e,t){var r=e._fullLayout,n=t._id,i=n.charAt(0),a=t.title.font.size,o,s=(t.title.text.match(qb.BR_TAG_ALL)||[]).length;if(t.title.hasOwnProperty("standoff"))t.side==="bottom"||t.side==="right"?o=t._depth+t.title.standoff+a*Bb:(t.side==="top"||t.side==="left")&&(o=t._depth+t.title.standoff+a*(hM+s*gM));else{var l=yM(t);if(t.type==="multicategory")o=t._depth;else{var u=1.5*a;l&&(u=.5*a,t.ticks==="outside"&&(u+=t.ticklen)),o=10+u+(t.linewidth?t.linewidth-1:0)}l||(i==="x"?o+=t.side==="top"?a*(t.showticklabels?1:0):a*(t.showticklabels?1.5:.5):o+=t.side==="right"?a*(t.showticklabels?1:.5):a*(t.showticklabels?.5:0))}var c=kn.getPxPosition(e,t),f,h,v;i==="x"?(h=t._offset+t._length/2,v=t.side==="top"?c-o:c+o):(v=t._offset+t._length/2,h=t.side==="right"?c+o:c-o,f={rotate:"-90",offset:0});var d;if(t.type!=="multicategory"){var _=t._selections[t._id+"tick"];if(d={selection:_,side:t.side},_&&_.node()&&_.node().parentNode){var b=Jp.getTranslate(_.node().parentNode);d.offsetLeft=b.x,d.offsetTop=b.y}t.title.hasOwnProperty("standoff")&&(d.pad=0)}return t._titleStandoff=o,Oot.draw(e,n+"title",{propContainer:t,propName:t._name+".title.text",placeholder:r._dfltTitle[i],avoid:d,transform:f,attributes:{x:h,y:v,"text-anchor":"middle"}})}kn.shouldShowZeroLine=function(e,t,r){var n=Ho.simpleMap(t.range,t.r2l);return n[0]*n[1]<=0&&t.zeroline&&(t.type==="linear"||t.type==="-")&&!(t.rangebreaks&&t.maskBreaks(0)===VL)&&(Ise(t,0)||!_st(e,t,r,n)||xst(e,t))};kn.clipEnds=function(e,t){return t.filter(function(r){return Ise(e,r.x)})};function Ise(e,t){var r=e.l2p(t);return r>1&&r1)for(i=1;i=i.min&&e=Got:/%L/.test(t)?e>=Hot:/%[SX]/.test(t)?e>=BL:/%M/.test(t)?e>=pM:/%[HI]/.test(t)?e>=Tm:/%p/.test(t)?e>=h_:/%[Aadejuwx]/.test(t)?e>=Ov:/%[UVW]/.test(t)?e>=$p:/%[Bbm]/.test(t)?e>=OL:/%[q]/.test(t)?e>=qL:/%[Yy]/.test(t)?e>=FL:!0}});var MB=ye((wir,Fse)=>{"use strict";Fse.exports=function(t,r,n){var i,a;if(n){var o=r==="reversed"||r==="min reversed"||r==="max reversed";i=n[o?1:0],a=n[o?0:1]}var s=t("autorangeoptions.minallowed",a===null?i:void 0),l=t("autorangeoptions.maxallowed",i===null?a:void 0);s===void 0&&t("autorangeoptions.clipmin"),l===void 0&&t("autorangeoptions.clipmax"),t("autorangeoptions.include")}});var EB=ye((Tir,qse)=>{"use strict";var Mst=MB();qse.exports=function(t,r,n,i){var a=r._template||{},o=r.type||a.type||"-";n("minallowed"),n("maxallowed");var s=n("range");if(!s){var l;!i.noInsiderange&&o!=="log"&&(l=n("insiderange"),l&&(l[0]===null||l[1]===null)&&(r.insiderange=!1,l=void 0),l&&(s=n("range",l)))}var u=r.getAutorangeDflt(s,i),c=n("autorange",u),f;s&&(s[0]===null&&s[1]===null||(s[0]===null||s[1]===null)&&(c==="reversed"||c===!0)||s[0]!==null&&(c==="min"||c==="max reversed")||s[1]!==null&&(c==="max"||c==="min reversed"))&&(s=void 0,delete r.range,r.autorange=!0,f=!0),f||(u=r.getAutorangeDflt(s,i),c=n("autorange",u)),c&&(Mst(n,c,s),(o==="linear"||o==="-")&&n("rangemode")),r.cleanRange()}});var Bse=ye((Air,Ose)=>{var Est={left:0,top:0};Ose.exports=kst;function kst(e,t,r){t=t||e.currentTarget||e.srcElement,Array.isArray(r)||(r=[0,0]);var n=e.clientX||0,i=e.clientY||0,a=Cst(t);return r[0]=n-a.left,r[1]=i-a.top,r}function Cst(e){return e===window||e===document||e===document.body?Est:e.getBoundingClientRect()}});var WL=ye((Sir,Nse)=>{"use strict";var Lst=uO();function Pst(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(r){e=!1}return e}Nse.exports=Lst&&Pst()});var Vse=ye((Mir,Use)=>{"use strict";Use.exports=function(t,r,n,i,a){var o=(t-n)/(i-n),s=o+r/(i-n),l=(o+s)/2;return a==="left"||a==="bottom"?o:a==="center"||a==="middle"?l:a==="right"||a==="top"?s:o<2/3-l?o:s>4/3-l?s:l}});var jse=ye((Eir,Gse)=>{"use strict";var Hse=Ar(),Ist=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];Gse.exports=function(t,r,n,i){return n==="left"?t=0:n==="center"?t=1:n==="right"?t=2:t=Hse.constrain(Math.floor(t*3),0,2),i==="bottom"?r=0:i==="middle"?r=1:i==="top"?r=2:r=Hse.constrain(Math.floor(r*3),0,2),Ist[r][t]}});var Zse=ye((kir,Wse)=>{"use strict";var Dst=C3(),Rst=K6(),zst=WS().getGraphDiv,Fst=GS(),kB=Wse.exports={};kB.wrapped=function(e,t,r){e=zst(e),e._fullLayout&&Rst.clear(e._fullLayout._uid+Fst.HOVERID),kB.raw(e,t,r)};kB.raw=function(t,r){var n=t._fullLayout,i=t._hoverdata;r||(r={}),!(r.target&&!t._dragged&&Dst.triggerHandler(t,"plotly_beforehover",r)===!1)&&(n._hoverlayer.selectAll("g").remove(),n._hoverlayer.selectAll("line").remove(),n._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,r.target&&i&&t.emit("plotly_unhover",{event:r,points:i}))}});var yv=ye((Cir,Kse)=>{"use strict";var qst=Bse(),CB=fO(),Ost=WL(),Bst=Ar().removeElement,Nst=sd(),Nb=Kse.exports={};Nb.align=Vse();Nb.getCursor=jse();var Xse=Zse();Nb.unhover=Xse.wrapped;Nb.unhoverRaw=Xse.raw;Nb.init=function(t){var r=t.gd,n=1,i=r._context.doubleClickDelay,a=t.element,o,s,l,u,c,f,h,v;r._mouseDownTime||(r._mouseDownTime=0),a.style.pointerEvents="all",a.onmousedown=b,Ost?(a._ontouchstart&&a.removeEventListener("touchstart",a._ontouchstart),a._ontouchstart=b,a.addEventListener("touchstart",b,{passive:!1})):a.ontouchstart=b;function d(k,S,L){return Math.abs(k)i&&(n=Math.max(n-1,1)),r._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(n,f),!v){var S;try{S=new MouseEvent("click",k)}catch(x){var L=LB(k);S=document.createEvent("MouseEvents"),S.initMouseEvent("click",k.bubbles,k.cancelable,k.view,k.detail,k.screenX,k.screenY,L[0],L[1],k.ctrlKey,k.altKey,k.shiftKey,k.metaKey,k.button,k.relatedTarget)}h.dispatchEvent(S)}r._dragging=!1,r._dragged=!1}};function Yse(){var e=document.createElement("div");e.className="dragcover";var t=e.style;return t.position="fixed",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background="none",document.body.appendChild(e),e}Nb.coverSlip=Yse;function LB(e){return qst(e.changedTouches?e.changedTouches[0]:e,document.body)}});var Sg=ye((Lir,Jse)=>{"use strict";Jse.exports=function(t,r){(t.attr("class")||"").split(" ").forEach(function(n){n.indexOf("cursor-")===0&&t.classed(n,!1)}),r&&t.classed("cursor-"+r,!0)}});var ele=ye((Pir,Qse)=>{"use strict";var PB=Sg(),_M="data-savedcursor",$se="!!";Qse.exports=function(t,r){var n=t.attr(_M);if(r){if(!n){for(var i=(t.attr("class")||"").split(" "),a=0;a{"use strict";var IB=Su(),Ust=ph();tle.exports={_isSubplotObj:!0,visible:{valType:"boolean",dflt:!0,editType:"legend"},bgcolor:{valType:"color",editType:"legend"},bordercolor:{valType:"color",dflt:Ust.defaultLine,editType:"legend"},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend"},font:IB({editType:"legend"}),grouptitlefont:IB({editType:"legend"}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend"},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend"},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend"},entrywidth:{valType:"number",min:0,editType:"legend"},entrywidthmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels",editType:"legend"},indentation:{valType:"number",min:-15,dflt:0,editType:"legend"},itemsizing:{valType:"enumerated",values:["trace","constant"],dflt:"trace",editType:"legend"},itemwidth:{valType:"number",min:30,dflt:30,editType:"legend"},itemclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggle",editType:"legend"},itemdoubleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggleothers",editType:"legend"},groupclick:{valType:"enumerated",values:["toggleitem","togglegroup"],dflt:"togglegroup",editType:"legend"},x:{valType:"number",editType:"legend"},xref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend"},y:{valType:"number",editType:"legend"},yref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],editType:"legend"},uirevision:{valType:"any",editType:"none"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"legend"},title:{text:{valType:"string",dflt:"",editType:"legend"},font:IB({editType:"legend"}),side:{valType:"enumerated",values:["top","left","top left","top center","top right"],editType:"legend"},editType:"legend"},editType:"legend"}});var XL=ye(ZL=>{"use strict";ZL.isGrouped=function(t){return(t.traceorder||"").indexOf("grouped")!==-1};ZL.isVertical=function(t){return t.orientation!=="h"};ZL.isReversed=function(t){return(t.traceorder||"").indexOf("reversed")!==-1}});var FB=ye((Rir,rle)=>{"use strict";var RB=ya(),Qp=Ar(),Vst=Vs(),Hst=vl(),Gst=DB(),jst=x3(),zB=XL();function Wst(e,t,r,n){var i=t[e]||{},a=Vst.newContainer(r,e);function o(G,N){return Qp.coerce(i,a,Gst,G,N)}var s=Qp.coerceFont(o,"font",r.font);o("bgcolor",r.paper_bgcolor),o("bordercolor");var l=o("visible");if(l){for(var u,c=function(G,N){var W=u._input,re=u;return Qp.coerce(W,re,Hst,G,N)},f=r.font||{},h=Qp.coerceFont(o,"grouptitlefont",f,{overrideDflt:{size:Math.round(f.size*1.1)}}),v=0,d=!1,_="normal",b=(r.shapes||[]).filter(function(G){return G.showlegend}),p=n.concat(b).filter(function(G){return e===(G.legend||"legend")}),E=0;E(e==="legend"?1:0));if(S===!1&&(r[e]=void 0),!(S===!1&&!i.uirevision)&&(o("uirevision",r.uirevision),S!==!1)){o("borderwidth");var L=o("orientation"),x=o("yref"),C=o("xref"),M=L==="h",g=x==="paper",P=C==="paper",T,F,q,V="left";M?(T=0,RB.getComponentMethod("rangeslider","isVisible")(t.xaxis)?g?(F=1.1,q="bottom"):(F=1,q="top"):g?(F=-.1,q="top"):(F=0,q="bottom")):(F=1,q="auto",P?T=1.02:(T=1,V="right")),Qp.coerce(i,a,{x:{valType:"number",editType:"legend",min:P?-2:0,max:P?3:1,dflt:T}},"x"),Qp.coerce(i,a,{y:{valType:"number",editType:"legend",min:g?-2:0,max:g?3:1,dflt:F}},"y"),o("traceorder",_),zB.isGrouped(r[e])&&o("tracegroupgap"),o("entrywidth"),o("entrywidthmode"),o("indentation"),o("itemsizing"),o("itemwidth"),o("itemclick"),o("itemdoubleclick"),o("groupclick"),o("xanchor",V),o("yanchor",q),o("valign"),Qp.noneOrAll(i,a,["x","y"]);var H=o("title.text");if(H){o("title.side",M?"left":"top");var X=Qp.extendFlat({},s,{size:Qp.bigFont(s.size)});Qp.coerceFont(o,"title.font",X)}}}}rle.exports=function(t,r,n){var i,a=n.slice(),o=r.shapes;if(o)for(i=0;i{"use strict";var d_=ya(),YL=Ar(),Zst=YL.pushUnique,qB=!0;ile.exports=function(t,r,n){var i=r._fullLayout;if(r._dragged||r._editing)return;var a=i.legend.itemclick,o=i.legend.itemdoubleclick,s=i.legend.groupclick;n===1&&a==="toggle"&&o==="toggleothers"&&qB&&r.data&&r._context.showTips&&YL.notifier(YL._(r,"Double-click on legend to isolate one trace"),"long"),qB=!1;var l;if(n===1?l=a:n===2&&(l=o),!l)return;var u=s==="togglegroup",c=i.hiddenlabels?i.hiddenlabels.slice():[],f=t.data()[0][0];if(f.groupTitle&&f.noClick)return;var h=r._fullData,v=(i.shapes||[]).filter(function(It){return It.showlegend}),d=h.concat(v),_=f.trace;_._isShape&&(_=_._fullInput);var b=_.legendgroup,p,E,k,S,L,x,C={},M=[],g=[],P=[];function T(It,kt){var Ct=M.indexOf(It),Yt=C.visible;return Yt||(Yt=C.visible=[]),M.indexOf(It)===-1&&(M.push(It),Ct=M.length-1),Yt[Ct]=kt,Ct}var F=(i.shapes||[]).map(function(It){return It._input}),q=!1;function V(It,kt){F[It].visible=kt,q=!0}function H(It,kt){if(!(f.groupTitle&&!u)){var Ct=It._fullInput||It,Yt=Ct._isShape,mr=Ct.index;if(mr===void 0&&(mr=Ct._index),d_.hasTransform(Ct,"groupby")){var er=g[mr];if(!er){var Ke=d_.getTransformIndices(Ct,"groupby"),bt=Ke[Ke.length-1];er=YL.keyedContainer(Ct,"transforms["+bt+"].styles","target","value.visible"),g[mr]=er}var xt=er.get(It._group);xt===void 0&&(xt=!0),xt!==!1&&er.set(It._group,kt),P[mr]=T(mr,Ct.visible!==!1)}else{var Lt=Ct.visible===!1?!1:kt;Yt?V(mr,Lt):T(mr,Lt)}}}var X=_.legend,G=_._fullInput,N=G&&G._isShape;if(!N&&d_.traceIs(_,"pie-like")){var W=f.label,re=c.indexOf(W);if(l==="toggle")re===-1?c.push(W):c.splice(re,1);else if(l==="toggleothers"){var ae=re!==-1,_e=[];for(p=0;p{"use strict";ale.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}});var lle=ye((qir,sle)=>{"use strict";var ole=ya(),BB=XL();sle.exports=function(t,r,n){var i=r._inHover,a=BB.isGrouped(r),o=BB.isReversed(r),s={},l=[],u=!1,c={},f=0,h=0,v,d;function _(G,N,W){if(r.visible!==!1&&!(n&&G!==r._id))if(N===""||!BB.isGrouped(r)){var re="~~i"+f;l.push(re),s[re]=[W],f++}else l.indexOf(N)===-1?(l.push(N),u=!0,s[N]=[W]):s[N].push(W)}for(v=0;vP&&(g=P)}C[v][0]._groupMinRank=g,C[v][0]._preGroupSort=v}var T=function(G,N){return G[0]._groupMinRank-N[0]._groupMinRank||G[0]._preGroupSort-N[0]._preGroupSort},F=function(G,N){return G.trace.legendrank-N.trace.legendrank||G._preSort-N._preSort};for(C.forEach(function(G,N){G[0]._preGroupSort=N}),C.sort(T),v=0;v{"use strict";var KL=Ar();function ule(e){return e.indexOf("e")!==-1?e.replace(/[.]?0+e/,"e"):e.indexOf(".")!==-1?e.replace(/[.]?0+$/,""):e}Ub.formatPiePercent=function(t,r){var n=ule((t*100).toPrecision(3));return KL.numSeparate(n,r)+"%"};Ub.formatPieValue=function(t,r){var n=ule(t.toPrecision(10));return KL.numSeparate(n,r)};Ub.getFirstFilled=function(t,r){if(KL.isArrayOrTypedArray(t))for(var n=0;n{"use strict";var Xst=ao(),Yst=va();cle.exports=function(t,r,n,i){var a=n.marker.pattern;a&&a.shape?Xst.pointStyle(t,n,i,r):Yst.fill(t,r.color)}});var j3=ye((Nir,vle)=>{"use strict";var hle=va(),dle=v_().castOption,Kst=fle();vle.exports=function(t,r,n,i){var a=n.marker.line,o=dle(a.color,r.pts)||hle.defaultLine,s=dle(a.width,r.pts)||0;t.call(Kst,r,n,i).style("stroke-width",s).call(hle.stroke,o)}});var HB=ye((Uir,xle)=>{"use strict";var Bv=ba(),NB=ya(),_v=Ar(),ple=_v.strTranslate,ap=ao(),M0=va(),UB=Fv().extractOpts,JL=lu(),Jst=j3(),$st=v_().castOption,Qst=OB(),gle=12,mle=5,Vb=2,elt=10,W3=5;xle.exports=function(t,r,n){var i=r._fullLayout;n||(n=i.legend);var a=n.itemsizing==="constant",o=n.itemwidth,s=(o+Qst.itemGap*2)/2,l=ple(s,0),u=function(C,M,g,P){var T;if(C+1)T=C;else if(M&&M.width>0)T=M.width;else return 0;return a?P:Math.min(T,g)};t.each(function(C){var M=Bv.select(this),g=_v.ensureSingle(M,"g","layers");g.style("opacity",C[0].trace.opacity);var P=n.indentation,T=n.valign,F=C[0].lineHeight,q=C[0].height;if(T==="middle"&&P===0||!F||!q)g.attr("transform",null);else{var V={top:1,bottom:-1}[T],H=V*(.5*(F-q+3))||0,X=n.indentation;g.attr("transform",ple(X,H))}var G=g.selectAll("g.legendfill").data([C]);G.enter().append("g").classed("legendfill",!0);var N=g.selectAll("g.legendlines").data([C]);N.enter().append("g").classed("legendlines",!0);var W=g.selectAll("g.legendsymbols").data([C]);W.enter().append("g").classed("legendsymbols",!0),W.selectAll("g.legendpoints").data([C]).enter().append("g").classed("legendpoints",!0)}).each(x).each(h).each(d).each(v).each(b).each(S).each(k).each(c).each(f).each(p).each(E);function c(C){var M=yle(C),g=M.showFill,P=M.showLine,T=M.showGradientLine,F=M.showGradientFill,q=M.anyFill,V=M.anyLine,H=C[0],X=H.trace,G,N,W=UB(X),re=W.colorscale,ae=W.reversescale,_e=function(Ae){if(Ae.size())if(g)ap.fillGroupStyle(Ae,r,!0);else{var ze="legendfill-"+X.uid;ap.gradient(Ae,r,ze,VB(ae),re,"fill")}},Me=function(Ae){if(Ae.size()){var ze="legendline-"+X.uid;ap.lineGroupStyle(Ae),ap.gradient(Ae,r,ze,VB(ae),re,"stroke")}},ke=JL.hasMarkers(X)||!q?"M5,0":V?"M5,-2":"M5,-3",ge=Bv.select(this),ie=ge.select(".legendfill").selectAll("path").data(g||F?[C]:[]);if(ie.enter().append("path").classed("js-fill",!0),ie.exit().remove(),ie.attr("d",ke+"h"+o+"v6h-"+o+"z").call(_e),P||T){var Te=u(void 0,X.line,elt,mle);N=_v.minExtend(X,{line:{width:Te}}),G=[_v.minExtend(H,{trace:N})]}var Ee=ge.select(".legendlines").selectAll("path").data(P||T?[G]:[]);Ee.enter().append("path").classed("js-line",!0),Ee.exit().remove(),Ee.attr("d",ke+(T?"l"+o+",0.0001":"h"+o)).call(P?ap.lineGroupStyle:Me)}function f(C){var M=yle(C),g=M.anyFill,P=M.anyLine,T=M.showLine,F=M.showMarker,q=C[0],V=q.trace,H=!F&&!P&&!g&&JL.hasText(V),X,G;function N(ie,Te,Ee,Ae){var ze=_v.nestedProperty(V,ie).get(),Ce=_v.isArrayOrTypedArray(ze)&&Te?Te(ze):ze;if(a&&Ce&&Ae!==void 0&&(Ce=Ae),Ee){if(CeEe[1])return Ee[1]}return Ce}function W(ie){return q._distinct&&q.index&&ie[q.index]?ie[q.index]:ie[0]}if(F||H||T){var re={},ae={};if(F){re.mc=N("marker.color",W),re.mx=N("marker.symbol",W),re.mo=N("marker.opacity",_v.mean,[.2,1]),re.mlc=N("marker.line.color",W),re.mlw=N("marker.line.width",_v.mean,[0,5],Vb),ae.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var _e=N("marker.size",_v.mean,[2,16],gle);re.ms=_e,ae.marker.size=_e}T&&(ae.line={width:N("line.width",W,[0,10],mle)}),H&&(re.tx="Aa",re.tp=N("textposition",W),re.ts=10,re.tc=N("textfont.color",W),re.tf=N("textfont.family",W),re.tw=N("textfont.weight",W),re.ty=N("textfont.style",W),re.tv=N("textfont.variant",W),re.tC=N("textfont.textcase",W),re.tE=N("textfont.lineposition",W),re.tS=N("textfont.shadow",W)),X=[_v.minExtend(q,re)],G=_v.minExtend(V,ae),G.selectedpoints=null,G.texttemplate=null}var Me=Bv.select(this).select("g.legendpoints"),ke=Me.selectAll("path.scatterpts").data(F?X:[]);ke.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",l),ke.exit().remove(),ke.call(ap.pointStyle,G,r),F&&(X[0].mrc=3);var ge=Me.selectAll("g.pointtext").data(H?X:[]);ge.enter().append("g").classed("pointtext",!0).append("text").attr("transform",l),ge.exit().remove(),ge.selectAll("text").call(ap.textPointStyle,G,r)}function h(C){var M=C[0].trace,g=M.type==="waterfall";if(C[0]._distinct&&g){var P=C[0].trace[C[0].dir].marker;return C[0].mc=P.color,C[0].mlw=P.line.width,C[0].mlc=P.line.color,_(C,this,"waterfall")}var T=[];M.visible&&g&&(T=C[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var F=Bv.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(T);F.enter().append("path").classed("legendwaterfall",!0).attr("transform",l).style("stroke-miterlimit",1),F.exit().remove(),F.each(function(q){var V=Bv.select(this),H=M[q[0]].marker,X=u(void 0,H.line,W3,Vb);V.attr("d",q[1]).style("stroke-width",X+"px").call(M0.fill,H.color),X&&V.call(M0.stroke,H.line.color)})}function v(C){_(C,this)}function d(C){_(C,this,"funnel")}function _(C,M,g){var P=C[0].trace,T=P.marker||{},F=T.line||{},q=T.cornerradius?"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z":"M6,6H-6V-6H6Z",V=g?P.visible&&P.type===g:NB.traceIs(P,"bar"),H=Bv.select(M).select("g.legendpoints").selectAll("path.legend"+g).data(V?[C]:[]);H.enter().append("path").classed("legend"+g,!0).attr("d",q).attr("transform",l),H.exit().remove(),H.each(function(X){var G=Bv.select(this),N=X[0],W=u(N.mlw,T.line,W3,Vb);G.style("stroke-width",W+"px");var re=N.mcc;if(!n._inHover&&"mc"in N){var ae=UB(T),_e=ae.mid;_e===void 0&&(_e=(ae.max+ae.min)/2),re=ap.tryColorscale(T,"")(_e)}var Me=re||N.mc||T.color,ke=T.pattern,ge=ke&&ap.getPatternAttr(ke.shape,0,"");if(ge){var ie=ap.getPatternAttr(ke.bgcolor,0,null),Te=ap.getPatternAttr(ke.fgcolor,0,null),Ee=ke.fgopacity,Ae=_le(ke.size,8,10),ze=_le(ke.solidity,.5,1),Ce="legend-"+P.uid;G.call(ap.pattern,"legend",r,Ce,ge,Ae,ze,re,ke.fillmode,ie,Te,Ee)}else G.call(M0.fill,Me);W&&M0.stroke(G,N.mlc||F.color)})}function b(C){var M=C[0].trace,g=Bv.select(this).select("g.legendpoints").selectAll("path.legendbox").data(M.visible&&NB.traceIs(M,"box-violin")?[C]:[]);g.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),g.exit().remove(),g.each(function(){var P=Bv.select(this);if((M.boxpoints==="all"||M.points==="all")&&M0.opacity(M.fillcolor)===0&&M0.opacity((M.line||{}).color)===0){var T=_v.minExtend(M,{marker:{size:a?gle:_v.constrain(M.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});g.call(ap.pointStyle,T,r)}else{var F=u(void 0,M.line,W3,Vb);P.style("stroke-width",F+"px").call(M0.fill,M.fillcolor),F&&M0.stroke(P,M.line.color)}})}function p(C){var M=C[0].trace,g=Bv.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(M.visible&&M.type==="candlestick"?[C,C]:[]);g.enter().append("path").classed("legendcandle",!0).attr("d",function(P,T){return T?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform",l).style("stroke-miterlimit",1),g.exit().remove(),g.each(function(P,T){var F=Bv.select(this),q=M[T?"increasing":"decreasing"],V=u(void 0,q.line,W3,Vb);F.style("stroke-width",V+"px").call(M0.fill,q.fillcolor),V&&M0.stroke(F,q.line.color)})}function E(C){var M=C[0].trace,g=Bv.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(M.visible&&M.type==="ohlc"?[C,C]:[]);g.enter().append("path").classed("legendohlc",!0).attr("d",function(P,T){return T?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform",l).style("stroke-miterlimit",1),g.exit().remove(),g.each(function(P,T){var F=Bv.select(this),q=M[T?"increasing":"decreasing"],V=u(void 0,q.line,W3,Vb);F.style("fill","none").call(ap.dashLine,q.line.dash,V),V&&M0.stroke(F,q.line.color)})}function k(C){L(C,this,"pie")}function S(C){L(C,this,"funnelarea")}function L(C,M,g){var P=C[0],T=P.trace,F=g?T.visible&&T.type===g:NB.traceIs(T,g),q=Bv.select(M).select("g.legendpoints").selectAll("path.legend"+g).data(F?[C]:[]);if(q.enter().append("path").classed("legend"+g,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",l),q.exit().remove(),q.size()){var V=T.marker||{},H=u($st(V.line.width,P.pts),V.line,W3,Vb),X="pieLike",G=_v.minExtend(T,{marker:{line:{width:H}}},X),N=_v.minExtend(P,{trace:G},X);Jst(q,N,G,r)}}function x(C){var M=C[0].trace,g,P=[];if(M.visible)switch(M.type){case"histogram2d":case"heatmap":P=[["M-15,-2V4H15V-2Z"]],g=!0;break;case"choropleth":case"choroplethmapbox":case"choroplethmap":P=[["M-6,-6V6H6V-6Z"]],g=!0;break;case"densitymapbox":case"densitymap":P=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],g="radial";break;case"cone":P=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],g=!1;break;case"streamtube":P=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],g=!1;break;case"surface":P=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],g=!0;break;case"mesh3d":P=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],g=!1;break;case"volume":P=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],g=!0;break;case"isosurface":P=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],g=!1;break}var T=Bv.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(P);T.enter().append("path").classed("legend3dandfriends",!0).attr("transform",l).style("stroke-miterlimit",1),T.exit().remove(),T.each(function(F,q){var V=Bv.select(this),H=UB(M),X=H.colorscale,G=H.reversescale,N=function(_e){if(_e.size()){var Me="legendfill-"+M.uid;ap.gradient(_e,r,Me,VB(G,g==="radial"),X,"fill")}},W;if(X){if(!g){var ae=X.length;W=q===0?X[G?ae-1:0][1]:q===1?X[G?0:ae-1][1]:X[Math.floor((ae-1)/2)][1]}}else{var re=M.vertexcolor||M.facecolor||M.color;W=_v.isArrayOrTypedArray(re)?re[q]||re[0]:re}V.attr("d",F[0]),W?V.call(M0.fill,W):V.call(N)})}};function VB(e,t){var r=t?"radial":"horizontal";return r+(e?"":"reversed")}function yle(e){var t=e[0].trace,r=t.contours,n=JL.hasLines(t),i=JL.hasMarkers(t),a=t.visible&&t.fill&&t.fill!=="none",o=!1,s=!1;if(r){var l=r.coloring;l==="lines"?o=!0:n=l==="none"||l==="heatmap"||r.showlines,r.type==="constraint"?a=r._operation!=="=":(l==="fill"||l==="heatmap")&&(s=!0)}return{showMarker:i,showLine:n,showFill:a,showGradientLine:o,showGradientFill:s,anyLine:n||o,anyFill:a||s}}function _le(e,t,r){return e&&_v.isArrayOrTypedArray(e)?t:e>r?r:e}});var ZB=ye((Vir,Lle)=>{"use strict";var Cp=ba(),$f=Ar(),jB=Nu(),p_=ya(),ble=C3(),GB=yv(),_h=ao(),QL=va(),Hb=Ll(),wle=nle(),Gh=OB(),WB=Vh(),kle=WB.LINE_SPACING,X3=WB.FROM_TL,Tle=WB.FROM_BR,Ale=lle(),tlt=HB(),Sle=XL(),Z3=1,rlt=/^legend[0-9]*$/;Lle.exports=function(t,r){if(r)Mle(t,r);else{var n=t._fullLayout,i=n._legends,a=n._infolayer.selectAll('[class^="legend"]');a.each(function(){var u=Cp.select(this),c=u.attr("class"),f=c.split(" ")[0];f.match(rlt)&&i.indexOf(f)===-1&&u.remove()});for(var o=0;o1)}var d=n.hiddenlabels||[];if(!s&&(!n.showlegend||!l.length))return o.selectAll("."+i).remove(),n._topdefs.select("#"+a).remove(),jB.autoMargin(e,i);var _=$f.ensureSingle(o,"g",i,function(M){s||M.attr("pointer-events","all")}),b=$f.ensureSingleById(n._topdefs,"clipPath",a,function(M){M.append("rect")}),p=$f.ensureSingle(_,"rect","bg",function(M){M.attr("shape-rendering","crispEdges")});p.call(QL.stroke,r.bordercolor).call(QL.fill,r.bgcolor).style("stroke-width",r.borderwidth+"px");var E=$f.ensureSingle(_,"g","scrollbox"),k=r.title;r._titleWidth=0,r._titleHeight=0;var S;k.text?(S=$f.ensureSingle(E,"text",i+"titletext"),S.attr("text-anchor","start").call(_h.font,k.font).text(k.text),eP(S,E,e,r,Z3)):E.selectAll("."+i+"titletext").remove();var L=$f.ensureSingle(_,"rect","scrollbar",function(M){M.attr(Gh.scrollBarEnterAttrs).call(QL.fill,Gh.scrollBarColor)}),x=E.selectAll("g.groups").data(l);x.enter().append("g").attr("class","groups"),x.exit().remove();var C=x.selectAll("g.traces").data($f.identity);C.enter().append("g").attr("class","traces"),C.exit().remove(),C.style("opacity",function(M){var g=M[0].trace;return p_.traceIs(g,"pie-like")?d.indexOf(M[0].label)!==-1?.5:1:g.visible==="legendonly"?.5:1}).each(function(){Cp.select(this).call(nlt,e,r)}).call(tlt,e,r).each(function(){s||Cp.select(this).call(alt,e,i)}),$f.syncOrAsync([jB.previousPromises,function(){return llt(e,x,C,r)},function(){var M=n._size,g=r.borderwidth,P=r.xref==="paper",T=r.yref==="paper";if(k.text&&ilt(S,r,g),!s){var F,q;P?F=M.l+M.w*r.x-X3[tP(r)]*r._width:F=n.width*r.x-X3[tP(r)]*r._width,T?q=M.t+M.h*(1-r.y)-X3[rP(r)]*r._effHeight:q=n.height*(1-r.y)-X3[rP(r)]*r._effHeight;var V=ult(e,i,F,q);if(V)return;if(n.margin.autoexpand){var H=F,X=q;F=P?$f.constrain(F,0,n.width-r._width):H,q=T?$f.constrain(q,0,n.height-r._effHeight):X,F!==H&&$f.log("Constrain "+i+".x to make legend fit inside graph"),q!==X&&$f.log("Constrain "+i+".y to make legend fit inside graph")}_h.setTranslate(_,F,q)}if(L.on(".drag",null),_.on("wheel",null),s||r._height<=r._maxHeight||e._context.staticPlot){var G=r._effHeight;s&&(G=r._height),p.attr({width:r._width-g,height:G-g,x:g/2,y:g/2}),_h.setTranslate(E,0,0),b.select("rect").attr({width:r._width-2*g,height:G-2*g,x:g,y:g}),_h.setClipUrl(E,a,e),_h.setRect(L,0,0,0,0),delete r._scrollY}else{var N=Math.max(Gh.scrollBarMinHeight,r._effHeight*r._effHeight/r._height),W=r._effHeight-N-2*Gh.scrollBarMargin,re=r._height-r._effHeight,ae=W/re,_e=Math.min(r._scrollY||0,re);p.attr({width:r._width-2*g+Gh.scrollBarWidth+Gh.scrollBarMargin,height:r._effHeight-g,x:g/2,y:g/2}),b.select("rect").attr({width:r._width-2*g+Gh.scrollBarWidth+Gh.scrollBarMargin,height:r._effHeight-2*g,x:g,y:g+_e}),_h.setClipUrl(E,a,e),ze(_e,N,ae),_.on("wheel",function(){_e=$f.constrain(r._scrollY+Cp.event.deltaY/W*re,0,re),ze(_e,N,ae),_e!==0&&_e!==re&&Cp.event.preventDefault()});var Me,ke,ge,ie=function(Ge,nt,ct){var qt=(ct-nt)/ae+Ge;return $f.constrain(qt,0,re)},Te=function(Ge,nt,ct){var qt=(nt-ct)/ae+Ge;return $f.constrain(qt,0,re)},Ee=Cp.behavior.drag().on("dragstart",function(){var Ge=Cp.event.sourceEvent;Ge.type==="touchstart"?Me=Ge.changedTouches[0].clientY:Me=Ge.clientY,ge=_e}).on("drag",function(){var Ge=Cp.event.sourceEvent;Ge.buttons===2||Ge.ctrlKey||(Ge.type==="touchmove"?ke=Ge.changedTouches[0].clientY:ke=Ge.clientY,_e=ie(ge,Me,ke),ze(_e,N,ae))});L.call(Ee);var Ae=Cp.behavior.drag().on("dragstart",function(){var Ge=Cp.event.sourceEvent;Ge.type==="touchstart"&&(Me=Ge.changedTouches[0].clientY,ge=_e)}).on("drag",function(){var Ge=Cp.event.sourceEvent;Ge.type==="touchmove"&&(ke=Ge.changedTouches[0].clientY,_e=Te(ge,Me,ke),ze(_e,N,ae))});E.call(Ae)}function ze(Ge,nt,ct){r._scrollY=e._fullLayout[i]._scrollY=Ge,_h.setTranslate(E,0,-Ge),_h.setRect(L,r._width,Gh.scrollBarMargin+Ge*ct,Gh.scrollBarWidth,nt),b.select("rect").attr("y",g+Ge)}if(e._context.edits.legendPosition){var Ce,me,De,ce;_.classed("cursor-move",!0),GB.init({element:_.node(),gd:e,prepFn:function(Ge){if(Ge.target!==L.node()){var nt=_h.getTranslate(_);De=nt.x,ce=nt.y}},moveFn:function(Ge,nt){if(De!==void 0&&ce!==void 0){var ct=De+Ge,qt=ce+nt;_h.setTranslate(_,ct,qt),Ce=GB.align(ct,r._width,M.l,M.l+M.w,r.xanchor),me=GB.align(qt+r._height,-r._height,M.t+M.h,M.t,r.yanchor)}},doneFn:function(){if(Ce!==void 0&&me!==void 0){var Ge={};Ge[i+".x"]=Ce,Ge[i+".y"]=me,p_.call("_guiRelayout",e,Ge)}},clickFn:function(Ge,nt){var ct=o.selectAll("g.traces").filter(function(){var qt=this.getBoundingClientRect();return nt.clientX>=qt.left&&nt.clientX<=qt.right&&nt.clientY>=qt.top&&nt.clientY<=qt.bottom});ct.size()>0&&Cle(e,_,ct,Ge,nt)}})}}],e)}}function $L(e,t,r){var n=e[0],i=n.width,a=t.entrywidthmode,o=n.trace.legendwidth||t.entrywidth;return a==="fraction"?t._maxWidth*o:r+(o||i)}function Cle(e,t,r,n,i){var a=r.data()[0][0].trace,o={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:e._fullLayout};a._group&&(o.group=a._group),p_.traceIs(a,"pie-like")&&(o.label=r.datum()[0].label);var s=ble.triggerHandler(e,"plotly_legendclick",o);if(n===1){if(s===!1)return;t._clickTimeout=setTimeout(function(){e._fullLayout&&wle(r,e,n)},e._context.doubleClickDelay)}else if(n===2){t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0;var l=ble.triggerHandler(e,"plotly_legenddoubleclick",o);l!==!1&&s!==!1&&wle(r,e,n)}}function nlt(e,t,r){var n=iP(r),i=e.data()[0][0],a=i.trace,o=p_.traceIs(a,"pie-like"),s=!r._inHover&&t._context.edits.legendText&&!o,l=r._maxNameLength,u,c;i.groupTitle?(u=i.groupTitle.text,c=i.groupTitle.font):(c=r.font,r.entries?u=i.text:(u=o?i.label:a.name,a._meta&&(u=$f.templateString(u,a._meta))));var f=$f.ensureSingle(e,"text",n+"text");f.attr("text-anchor","start").call(_h.font,c).text(s?Ele(u,l):u);var h=r.indentation+r.itemwidth+Gh.itemGap*2;Hb.positionText(f,h,0),s?f.call(Hb.makeEditable,{gd:t,text:u}).call(eP,e,t,r).on("edit",function(v){this.text(Ele(v,l)).call(eP,e,t,r);var d=i.trace._fullInput||{},_={};if(p_.hasTransform(d,"groupby")){var b=p_.getTransformIndices(d,"groupby"),p=b[b.length-1],E=$f.keyedContainer(d,"transforms["+p+"].styles","target","value.name");E.set(i.trace._group,v),_=E.constructUpdate()}else _.name=v;return d._isShape?p_.call("_guiRelayout",t,"shapes["+a.index+"].name",_.name):p_.call("_guiRestyle",t,_,a.index)}):eP(f,e,t,r)}function Ele(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;e=e||"";for(var n=r-e.length;n>0;n--)e+=" ";return e}function alt(e,t,r){var n=t._context.doubleClickDelay,i,a=1,o=$f.ensureSingle(e,"rect",r+"toggle",function(s){t._context.staticPlot||s.style("cursor","pointer").attr("pointer-events","all"),s.call(QL.fill,"rgba(0,0,0,0)")});t._context.staticPlot||(o.on("mousedown",function(){i=new Date().getTime(),i-t._legendMouseDownTimen&&(a=Math.max(a-1,1)),Cle(t,s,e,a,Cp.event)}}))}function eP(e,t,r,n,i){n._inHover&&e.attr("data-notex",!0),Hb.convertToTspans(e,r,function(){olt(t,r,n,i)})}function olt(e,t,r,n){var i=e.data()[0][0];if(!r._inHover&&i&&!i.trace.showlegend){e.remove();return}var a=e.select("g[class*=math-group]"),o=a.node(),s=iP(r);r||(r=t._fullLayout[s]);var l=r.borderwidth,u;n===Z3?u=r.title.font:i.groupTitle?u=i.groupTitle.font:u=r.font;var c=u.size*kle,f,h;if(o){var v=_h.bBox(o);f=v.height,h=v.width,n===Z3?_h.setTranslate(a,l,l+f*.75):_h.setTranslate(a,0,f*.25)}else{var d="."+s+(n===Z3?"title":"")+"text",_=e.select(d),b=Hb.lineCount(_),p=_.node();if(f=c*b,h=p?_h.bBox(p).width:0,n===Z3)r.title.side==="left"&&(h+=Gh.itemGap*2),Hb.positionText(_,l+Gh.titlePad,l+c);else{var E=Gh.itemGap*2+r.indentation+r.itemwidth;i.groupTitle&&(E=Gh.itemGap,h-=r.indentation+r.itemwidth),Hb.positionText(_,E,-c*((b-1)/2-.3))}}n===Z3?(r._titleWidth=h,r._titleHeight=f):(i.lineHeight=c,i.height=Math.max(f,16)+3,i.width=h)}function slt(e){var t=0,r=0,n=e.title.side;return n&&(n.indexOf("left")!==-1&&(t=e._titleWidth),n.indexOf("top")!==-1&&(r=e._titleHeight)),[t,r]}function llt(e,t,r,n){var i=e._fullLayout,a=iP(n);n||(n=i[a]);var o=i._size,s=Sle.isVertical(n),l=Sle.isGrouped(n),u=n.entrywidthmode==="fraction",c=n.borderwidth,f=2*c,h=Gh.itemGap,v=n.indentation+n.itemwidth+h*2,d=2*(c+h),_=rP(n),b=n.y<0||n.y===0&&_==="top",p=n.y>1||n.y===1&&_==="bottom",E=n.tracegroupgap,k={};n._maxHeight=Math.max(b||p?i.height/2:o.h,30);var S=0;n._width=0,n._height=0;var L=slt(n);if(s)r.each(function(ge){var ie=ge[0].height;_h.setTranslate(this,c+L[0],c+L[1]+n._height+ie/2+h),n._height+=ie,n._width=Math.max(n._width,ge[0].width)}),S=v+n._width,n._width+=h+v+f,n._height+=d,l&&(t.each(function(ge,ie){_h.setTranslate(this,0,ie*n.tracegroupgap)}),n._height+=(n._lgroupsLength-1)*n.tracegroupgap);else{var x=tP(n),C=n.x<0||n.x===0&&x==="right",M=n.x>1||n.x===1&&x==="left",g=p||b,P=i.width/2;n._maxWidth=Math.max(C?g&&x==="left"?o.l+o.w:P:M?g&&x==="right"?o.r+o.w:P:o.w,2*v);var T=0,F=0;r.each(function(ge){var ie=$L(ge,n,v);T=Math.max(T,ie),F+=ie}),S=null;var q=0;if(l){var V=0,H=0,X=0;t.each(function(){var ge=0,ie=0;Cp.select(this).selectAll("g.traces").each(function(Ee){var Ae=$L(Ee,n,v),ze=Ee[0].height;_h.setTranslate(this,L[0],L[1]+c+h+ze/2+ie),ie+=ze,ge=Math.max(ge,Ae),k[Ee[0].trace.legendgroup]=ge});var Te=ge+h;H>0&&Te+c+H>n._maxWidth?(q=Math.max(q,H),H=0,X+=V+E,V=ie):V=Math.max(V,ie),_h.setTranslate(this,H,X),H+=Te}),n._width=Math.max(q,H)+c,n._height=X+V+d}else{var G=r.size(),N=F+f+(G-1)*h=n._maxWidth&&(q=Math.max(q,_e),re=0,ae+=W,n._height+=W,W=0),_h.setTranslate(this,L[0]+c+re,L[1]+c+ae+ie/2+h),_e=re+Te+h,re+=Ee,W=Math.max(W,ie)}),N?(n._width=re+f,n._height=W+d):(n._width=Math.max(q,_e)+f,n._height+=W+d)}}n._width=Math.ceil(Math.max(n._width+L[0],n._titleWidth+2*(c+Gh.titlePad))),n._height=Math.ceil(Math.max(n._height+L[1],n._titleHeight+2*(c+Gh.itemGap))),n._effHeight=Math.min(n._height,n._maxHeight);var Me=e._context.edits,ke=Me.legendText||Me.legendPosition;r.each(function(ge){var ie=Cp.select(this).select("."+a+"toggle"),Te=ge[0].height,Ee=ge[0].trace.legendgroup,Ae=$L(ge,n,v);l&&Ee!==""&&(Ae=k[Ee]);var ze=ke?v:S||Ae;!s&&!u&&(ze+=h/2),_h.setRect(ie,0,-Te/2,ze,Te)})}function ult(e,t,r,n){var i=e._fullLayout,a=i[t],o=tP(a),s=rP(a),l=a.xref==="paper",u=a.yref==="paper";e._fullLayout._reservedMargin[t]={};var c=a.y<.5?"b":"t",f=a.x<.5?"l":"r",h={r:i.width-r,l:r+a._width,b:i.height-n,t:n+a._effHeight};if(l&&u)return jB.autoMargin(e,t,{x:a.x,y:a.y,l:a._width*X3[o],r:a._width*Tle[o],b:a._effHeight*Tle[s],t:a._effHeight*X3[s]});l?e._fullLayout._reservedMargin[t][c]=h[c]:u||a.orientation==="v"?e._fullLayout._reservedMargin[t][f]=h[f]:e._fullLayout._reservedMargin[t][c]=h[c]}function tP(e){return $f.isRightAnchor(e)?"right":$f.isCenterAnchor(e)?"center":"left"}function rP(e){return $f.isBottomAnchor(e)?"bottom":$f.isMiddleAnchor(e)?"middle":"top"}function iP(e){return e._id||"legend"}});var JB=ye(KB=>{"use strict";var Gb=ba(),Ey=uo(),Ple=ad(),Df=Ar(),clt=Df.pushUnique,XB=Df.strTranslate,flt=Df.strRotate,hlt=C3(),E0=Ll(),dlt=ele(),Am=ao(),ud=va(),nP=yv(),Sm=Xa(),vlt=sd().zindexSeparator,K3=ya(),Mg=np(),jb=GS(),plt=FB(),glt=ZB(),Ble=jb.YANGLE,YB=Math.PI*Ble/180,mlt=1/Math.sin(YB),ylt=Math.cos(YB),_lt=Math.sin(YB),Bc=jb.HOVERARROWSIZE,Us=jb.HOVERTEXTPAD,Ile={box:!0,ohlc:!0,violin:!0,candlestick:!0},xlt={scatter:!0,scattergl:!0,splom:!0};function Dle(e,t){return e.distance-t.distance}KB.hover=function(t,r,n,i){t=Df.getGraphDiv(t);var a=r.target;Df.throttle(t._fullLayout._uid+jb.HOVERID,jb.HOVERMINTIME,function(){blt(t,r,n,i,a)})};KB.loneHover=function(t,r){var n=!0;Array.isArray(t)||(n=!1,t=[t]);var i=r.gd,a=Gle(i),o=jle(i),s=t.map(function(b){var p=b._x0||b.x0||b.x||0,E=b._x1||b.x1||b.x||0,k=b._y0||b.y0||b.y||0,S=b._y1||b.y1||b.y||0,L=b.eventData;if(L){var x=Math.min(p,E),C=Math.max(p,E),M=Math.min(k,S),g=Math.max(k,S),P=b.trace;if(K3.traceIs(P,"gl3d")){var T=i._fullLayout[P.scene]._scene.container,F=T.offsetLeft,q=T.offsetTop;x+=F,C+=F,M+=q,g+=q}L.bbox={x0:x+o,x1:C+o,y0:M+a,y1:g+a},r.inOut_bbox&&r.inOut_bbox.push(L.bbox)}else L=!1;return{color:b.color||ud.defaultLine,x0:b.x0||b.x||0,x1:b.x1||b.x||0,y0:b.y0||b.y||0,y1:b.y1||b.y||0,xLabel:b.xLabel,yLabel:b.yLabel,zLabel:b.zLabel,text:b.text,name:b.name,idealAlign:b.idealAlign,borderColor:b.borderColor,fontFamily:b.fontFamily,fontSize:b.fontSize,fontColor:b.fontColor,fontWeight:b.fontWeight,fontStyle:b.fontStyle,fontVariant:b.fontVariant,nameLength:b.nameLength,textAlign:b.textAlign,trace:b.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:b.hovertemplate||!1,hovertemplateLabels:b.hovertemplateLabels||!1,eventData:L}}),l=!1,u=Ule(s,{gd:i,hovermode:"closest",rotateLabels:l,bgColor:r.bgColor||ud.background,container:Gb.select(r.container),outerContainer:r.outerContainer||r.container}),c=u.hoverLabels,f=5,h=0,v=0;c.sort(function(b,p){return b.y0-p.y0}).each(function(b,p){var E=b.y0-b.by/2;E-fC[0]._length||ce<0||ce>M[0]._length)return nP.unhoverRaw(e,t)}if(t.pointerX=De+C[0]._offset,t.pointerY=ce+M[0]._offset,"xval"in t?X=Mg.flat(a,t.xval):X=Mg.p2c(C,De),"yval"in t?G=Mg.flat(a,t.yval):G=Mg.p2c(M,ce),!Ey(X[0])||!Ey(G[0]))return Df.warn("Fx.hover failed",t,e),nP.unhoverRaw(e,t)}var ct=1/0;function qt(Ni,_n){for(W=0;WEe&&(V.splice(0,Ee),ct=V[0].distance),f&&q!==0&&V.length===0){Te.distance=q,Te.index=!1;var ft=ae._module.hoverPoints(Te,ge,ie,"closest",{hoverLayer:s._hoverlayer});if(ft&&(ft=ft.filter(function(Vr){return Vr.spikeDistance<=q})),ft&&ft.length){var jt,Zt=ft.filter(function(Vr){return Vr.xa.showspikes&&Vr.xa.spikesnap!=="hovered data"});if(Zt.length){var _r=Zt[0];Ey(_r.x0)&&Ey(_r.y0)&&(jt=ot(_r),(!Ae.vLinePoint||Ae.vLinePoint.spikeDistance>jt.spikeDistance)&&(Ae.vLinePoint=jt))}var Fr=ft.filter(function(Vr){return Vr.ya.showspikes&&Vr.ya.spikesnap!=="hovered data"});if(Fr.length){var Zr=Fr[0];Ey(Zr.x0)&&Ey(Zr.y0)&&(jt=ot(Zr),(!Ae.hLinePoint||Ae.hLinePoint.spikeDistance>jt.spikeDistance)&&(Ae.hLinePoint=jt))}}}}}qt();function rt(Ni,_n,$i){for(var zn=null,Wn=1/0,Dt,ft=0;ft0&&Math.abs(Ni.distance)dt-1;Nr--)Or(V[Nr]);V=fr,Yt()}var ut=e._hoverdata,Ne=[],Ye=Gle(e),Ve=jle(e);for(N=0;N1||V.length>1)||h==="closest"&&ze&&V.length>1,ri=ud.combine(s.plot_bgcolor||ud.background,s.paper_bgcolor),bi=Ule(V,{gd:e,hovermode:h,rotateLabels:jr,bgColor:ri,container:s._hoverlayer,outerContainer:s._paper.node(),commonLabelOpts:s.hoverlabel,hoverdistance:s.hoverdistance}),nn=bi.hoverLabels;if(Mg.isUnifiedHover(h)||(Tlt(nn,jr,s,bi.commonLabelBoundingBox),Hle(nn,jr,s._invScaleX,s._invScaleY)),i&&i.tagName){var Wi=K3.getComponentMethod("annotations","hasClickToShow")(e,Ne);dlt(Gb.select(i),Wi?"pointer":"")}!i||n||!Mlt(e,t,ut)||(ut&&e.emit("plotly_unhover",{event:t,points:ut}),e.emit("plotly_hover",{event:t,points:e._hoverdata,xaxes:C,yaxes:M,xvals:X,yvals:G}))}function Nle(e){return[e.trace.index,e.index,e.x0,e.y0,e.name,e.attr,e.xa?e.xa._id:"",e.ya?e.ya._id:""].join(",")}var wlt=/([\s\S]*)<\/extra>/;function Ule(e,t){var r=t.gd,n=r._fullLayout,i=t.hovermode,a=t.rotateLabels,o=t.bgColor,s=t.container,l=t.outerContainer,u=t.commonLabelOpts||{};if(e.length===0)return[[]];var c=t.fontFamily||jb.HOVERFONT,f=t.fontSize||jb.HOVERFONTSIZE,h=t.fontWeight||n.font.weight,v=t.fontStyle||n.font.style,d=t.fontVariant||n.font.variant,_=t.fontTextcase||n.font.textcase,b=t.fontLineposition||n.font.lineposition,p=t.fontShadow||n.font.shadow,E=e[0],k=E.xa,S=E.ya,L=i.charAt(0),x=L+"Label",C=E[x];if(C===void 0&&k.type==="multicategory")for(var M=0;Mn.width-ut&&(Ne=n.width-ut),Lt.attr("d","M"+(Br-Ne)+",0L"+(Br-Ne+Bc)+","+Nr+Bc+"H"+ut+"v"+Nr+(Us*2+xr.height)+"H"+-ut+"V"+Nr+Bc+"H"+(Br-Ne-Bc)+"Z"),Br=Ne,W.minX=Br-ut,W.maxX=Br+ut,k.side==="top"?(W.minY=Or-(Us*2+xr.height),W.maxY=Or-Us):(W.minY=Or+Us,W.maxY=Or+(Us*2+xr.height))}else{var Ye,Ve,Xe;S.side==="right"?(Ye="start",Ve=1,Xe="",Br=k._offset+k._length):(Ye="end",Ve=-1,Xe="-",Br=k._offset),Or=S._offset+(E.y0+E.y1)/2,St.attr("text-anchor",Ye),Lt.attr("d","M0,0L"+Xe+Bc+","+Bc+"V"+(Us+xr.height/2)+"h"+Xe+(Us*2+xr.width)+"V-"+(Us+xr.height/2)+"H"+Xe+Bc+"V-"+Bc+"Z"),W.minY=Or-(Us+xr.height/2),W.maxY=Or+(Us+xr.height/2),S.side==="right"?(W.minX=Br+Bc,W.maxX=Br+Bc+(Us*2+xr.width)):(W.minX=Br-Bc-(Us*2+xr.width),W.maxX=Br-Bc);var ht=xr.height/2,Le=P-xr.top-ht,xe="clip"+n._uid+"commonlabel"+S._id,Se;if(Br=0?er=kt:Ct+ce=0?er=Ct:Yt+ce=0?Ke=ot:It+Ge=0?Ke=It:mr+Ge=0,(xt.idealAlign==="top"||!Vt)&&ar?(Xe-=Le/2,xt.anchor="end"):Vt?(Xe+=Le/2,xt.anchor="start"):xt.anchor="middle",xt.crossPos=Xe;else{if(xt.pos=Xe,Vt=Ve+ht/2+Gt<=T,ar=Ve-ht/2-Gt>=0,(xt.idealAlign==="left"||!Vt)&&ar)Ve-=ht/2,xt.anchor="end";else if(Vt)Ve+=ht/2,xt.anchor="start";else{xt.anchor="middle";var Qr=Gt/2,ai=Ve+Qr-T,jr=Ve-Qr;ai>0&&(Ve-=ai),jr<0&&(Ve+=-jr)}xt.crossPos=Ve}Or.attr("text-anchor",xt.anchor),ut&&Nr.attr("text-anchor",xt.anchor),Lt.attr("transform",XB(Ve,Xe)+(a?flt(Ble):""))}),{hoverLabels:bt,commonLabelBoundingBox:W}}function Rle(e,t,r,n,i,a){var o="",s="";e.nameOverride!==void 0&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=Df.templateString(e.name,e.trace._meta)),o=qle(e.name,e.nameLength));var l=r.charAt(0),u=l==="x"?"y":"x";e.zLabel!==void 0?(e.xLabel!==void 0&&(s+="x: "+e.xLabel+"
"),e.yLabel!==void 0&&(s+="y: "+e.yLabel+"
"),e.trace.type!=="choropleth"&&e.trace.type!=="choroplethmapbox"&&e.trace.type!=="choroplethmap"&&(s+=(s?"z: ":"")+e.zLabel)):t&&e[l+"Label"]===i?s=e[u+"Label"]||"":e.xLabel===void 0?e.yLabel!==void 0&&e.trace.type!=="scattercarpet"&&(s=e.yLabel):e.yLabel===void 0?s=e.xLabel:s="("+e.xLabel+", "+e.yLabel+")",(e.text||e.text===0)&&!Array.isArray(e.text)&&(s+=(s?"
":"")+e.text),e.extraText!==void 0&&(s+=(s?"
":"")+e.extraText),a&&s===""&&!e.hovertemplate&&(o===""&&a.remove(),s=o);var c=e.hovertemplate||!1;if(c){var f=e.hovertemplateLabels||e;e[l+"Label"]!==i&&(f[l+"other"]=f[l+"Val"],f[l+"otherLabel"]=f[l+"Label"]),s=Df.hovertemplateString(c,f,n._d3locale,e.eventData[0]||{},e.trace._meta),s=s.replace(wlt,function(h,v){return o=qle(v,e.nameLength),""})}return[s,o]}function Tlt(e,t,r,n){var i=t?"xa":"ya",a=t?"ya":"xa",o=0,s=1,l=e.size(),u=new Array(l),c=0,f=n.minX,h=n.maxX,v=n.minY,d=n.maxY,_=function(X){return X*r._invScaleX},b=function(X){return X*r._invScaleY};e.each(function(X){var G=X[i],N=X[a],W=G._id.charAt(0)==="x",re=G.range;c===0&&re&&re[0]>re[1]!==W&&(s=-1);var ae=0,_e=W?r.width:r.height;if(r.hovermode==="x"||r.hovermode==="y"){var Me=Vle(X,t),ke=X.anchor,ge=ke==="end"?-1:1,ie,Te;if(ke==="middle")ie=X.crossPos+(W?b(Me.y-X.by/2):_(X.bx/2+X.tx2width/2)),Te=ie+(W?b(X.by):_(X.bx));else if(W)ie=X.crossPos+b(Bc+Me.y)-b(X.by/2-Bc),Te=ie+b(X.by);else{var Ee=_(ge*Bc+Me.x),Ae=Ee+_(ge*X.bx);ie=X.crossPos+Math.min(Ee,Ae),Te=X.crossPos+Math.max(Ee,Ae)}W?v!==void 0&&d!==void 0&&Math.min(Te,d)-Math.max(ie,v)>1&&(N.side==="left"?(ae=N._mainLinePosition,_e=r.width):_e=N._mainLinePosition):f!==void 0&&h!==void 0&&Math.min(Te,h)-Math.max(ie,f)>1&&(N.side==="top"?(ae=N._mainLinePosition,_e=r.height):_e=N._mainLinePosition)}u[c++]=[{datum:X,traceIndex:X.trace.index,dp:0,pos:X.pos,posref:X.posref,size:X.by*(W?mlt:1)/2,pmin:ae,pmax:_e}]}),u.sort(function(X,G){return X[0].posref-G[0].posref||s*(G[0].traceIndex-X[0].traceIndex)});var p,E,k,S,L,x,C;function M(X){var G=X[0],N=X[X.length-1];if(E=G.pmin-G.pos-G.dp+G.size,k=N.pos+N.dp+N.size-G.pmax,E>.01){for(L=X.length-1;L>=0;L--)X[L].dp+=E;p=!1}if(!(k<.01)){if(E<-.01){for(L=X.length-1;L>=0;L--)X[L].dp-=k;p=!1}if(p){var W=0;for(S=0;SG.pmax&&W++;for(S=X.length-1;S>=0&&!(W<=0);S--)x=X[S],x.pos>G.pmax-1&&(x.del=!0,W--);for(S=0;S=0;L--)X[L].dp-=k;for(S=X.length-1;S>=0&&!(W<=0);S--)x=X[S],x.pos+x.dp+x.size>G.pmax&&(x.del=!0,W--)}}}for(;!p&&o<=l;){for(o++,p=!0,S=0;S.01){for(L=P.length-1;L>=0;L--)P[L].dp+=E;for(g.push.apply(g,P),u.splice(S+1,1),C=0,L=g.length-1;L>=0;L--)C+=g[L].dp;for(k=C/g.length,L=g.length-1;L>=0;L--)g[L].dp-=k;p=!1}else S++}u.forEach(M)}for(S=u.length-1;S>=0;S--){var q=u[S];for(L=q.length-1;L>=0;L--){var V=q[L],H=V.datum;H.offset=V.dp,H.del=V.del}}}function Vle(e,t){var r=0,n=e.offset;return t&&(n*=-_lt,r=e.offset*ylt),{x:r,y:n}}function Alt(e){var t={start:1,end:-1,middle:0}[e.anchor],r=t*(Bc+Us),n=r+t*(e.txwidth+Us),i=e.anchor==="middle";return i&&(r-=e.tx2width/2,n+=e.txwidth/2+Us),{alignShift:t,textShiftX:r,text2ShiftX:n}}function Hle(e,t,r,n){var i=function(o){return o*r},a=function(o){return o*n};e.each(function(o){var s=Gb.select(this);if(o.del)return s.remove();var l=s.select("text.nums"),u=o.anchor,c=u==="end"?-1:1,f=Alt(o),h=Vle(o,t),v=h.x,d=h.y,_=u==="middle";s.select("path").attr("d",_?"M-"+i(o.bx/2+o.tx2width/2)+","+a(d-o.by/2)+"h"+i(o.bx)+"v"+a(o.by)+"h-"+i(o.bx)+"Z":"M0,0L"+i(c*Bc+v)+","+a(Bc+d)+"v"+a(o.by/2-Bc)+"h"+i(c*o.bx)+"v-"+a(o.by)+"H"+i(c*Bc+v)+"V"+a(d-Bc)+"Z");var b=v+f.textShiftX,p=d+o.ty0-o.by/2+Us,E=o.textAlign||"auto";E!=="auto"&&(E==="left"&&u!=="start"?(l.attr("text-anchor","start"),b=_?-o.bx/2-o.tx2width/2+Us:-o.bx-Us):E==="right"&&u!=="end"&&(l.attr("text-anchor","end"),b=_?o.bx/2-o.tx2width/2-Us:o.bx+Us)),l.call(E0.positionText,i(b),a(p)),o.tx2width&&(s.select("text.name").call(E0.positionText,i(f.text2ShiftX+f.alignShift*Us+v),a(d+o.ty0-o.by/2+Us)),s.select("rect").call(Am.setRect,i(f.text2ShiftX+(f.alignShift-1)*o.tx2width/2+v),a(d-o.by/2-1),i(o.tx2width),a(o.by+2)))})}function Slt(e,t){var r=e.index,n=e.trace||{},i=e.cd[0],a=e.cd[r]||{};function o(h){return h||Ey(h)&&h===0}var s=Array.isArray(r)?function(h,v){var d=Df.castOption(i,r,h);return o(d)?d:Df.extractOption({},n,"",v)}:function(h,v){return Df.extractOption(a,n,h,v)};function l(h,v,d){var _=s(v,d);o(_)&&(e[h]=_)}if(l("hoverinfo","hi","hoverinfo"),l("bgcolor","hbg","hoverlabel.bgcolor"),l("borderColor","hbc","hoverlabel.bordercolor"),l("fontFamily","htf","hoverlabel.font.family"),l("fontSize","hts","hoverlabel.font.size"),l("fontColor","htc","hoverlabel.font.color"),l("fontWeight","htw","hoverlabel.font.weight"),l("fontStyle","hty","hoverlabel.font.style"),l("fontVariant","htv","hoverlabel.font.variant"),l("nameLength","hnl","hoverlabel.namelength"),l("textAlign","hta","hoverlabel.align"),e.posref=t==="y"||t==="closest"&&n.orientation==="h"?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=Df.constrain(e.x0,0,e.xa._length),e.x1=Df.constrain(e.x1,0,e.xa._length),e.y0=Df.constrain(e.y0,0,e.ya._length),e.y1=Df.constrain(e.y1,0,e.ya._length),e.xLabelVal!==void 0&&(e.xLabel="xLabel"in e?e.xLabel:Sm.hoverLabelText(e.xa,e.xLabelVal,n.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),e.yLabelVal!==void 0&&(e.yLabel="yLabel"in e?e.yLabel:Sm.hoverLabelText(e.ya,e.yLabelVal,n.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),e.zLabelVal!==void 0&&e.zLabel===void 0&&(e.zLabel=String(e.zLabelVal)),!isNaN(e.xerr)&&!(e.xa.type==="log"&&e.xerr<=0)){var u=Sm.tickText(e.xa,e.xa.c2l(e.xerr),"hover").text;e.xerrneg!==void 0?e.xLabel+=" +"+u+" / -"+Sm.tickText(e.xa,e.xa.c2l(e.xerrneg),"hover").text:e.xLabel+=" \xB1 "+u,t==="x"&&(e.distance+=1)}if(!isNaN(e.yerr)&&!(e.ya.type==="log"&&e.yerr<=0)){var c=Sm.tickText(e.ya,e.ya.c2l(e.yerr),"hover").text;e.yerrneg!==void 0?e.yLabel+=" +"+c+" / -"+Sm.tickText(e.ya,e.ya.c2l(e.yerrneg),"hover").text:e.yLabel+=" \xB1 "+c,t==="y"&&(e.distance+=1)}var f=e.hoverinfo||e.trace.hoverinfo;return f&&f!=="all"&&(f=Array.isArray(f)?f:f.split("+"),f.indexOf("x")===-1&&(e.xLabel=void 0),f.indexOf("y")===-1&&(e.yLabel=void 0),f.indexOf("z")===-1&&(e.zLabel=void 0),f.indexOf("text")===-1&&(e.text=void 0),f.indexOf("name")===-1&&(e.name=void 0)),e}function zle(e,t,r){var n=r.container,i=r.fullLayout,a=i._size,o=r.event,s=!!t.hLinePoint,l=!!t.vLinePoint,u,c;if(n.selectAll(".spikeline").remove(),!!(l||s)){var f=ud.combine(i.plot_bgcolor,i.paper_bgcolor);if(s){var h=t.hLinePoint,v,d;u=h&&h.xa,c=h&&h.ya;var _=c.spikesnap;_==="cursor"?(v=o.pointerX,d=o.pointerY):(v=u._offset+h.x,d=c._offset+h.y);var b=Ple.readability(h.color,f)<1.5?ud.contrast(f):h.color,p=c.spikemode,E=c.spikethickness,k=c.spikecolor||b,S=Sm.getPxPosition(e,c),L,x;if(p.indexOf("toaxis")!==-1||p.indexOf("across")!==-1){if(p.indexOf("toaxis")!==-1&&(L=S,x=v),p.indexOf("across")!==-1){var C=c._counterDomainMin,M=c._counterDomainMax;c.anchor==="free"&&(C=Math.min(C,c.position),M=Math.max(M,c.position)),L=a.l+C*a.w,x=a.l+M*a.w}n.insert("line",":first-child").attr({x1:L,x2:x,y1:d,y2:d,"stroke-width":E,stroke:k,"stroke-dasharray":Am.dashStyle(c.spikedash,E)}).classed("spikeline",!0).classed("crisp",!0),n.insert("line",":first-child").attr({x1:L,x2:x,y1:d,y2:d,"stroke-width":E+2,stroke:f}).classed("spikeline",!0).classed("crisp",!0)}p.indexOf("marker")!==-1&&n.insert("circle",":first-child").attr({cx:S+(c.side!=="right"?E:-E),cy:d,r:E,fill:k}).classed("spikeline",!0)}if(l){var g=t.vLinePoint,P,T;u=g&&g.xa,c=g&&g.ya;var F=u.spikesnap;F==="cursor"?(P=o.pointerX,T=o.pointerY):(P=u._offset+g.x,T=c._offset+g.y);var q=Ple.readability(g.color,f)<1.5?ud.contrast(f):g.color,V=u.spikemode,H=u.spikethickness,X=u.spikecolor||q,G=Sm.getPxPosition(e,u),N,W;if(V.indexOf("toaxis")!==-1||V.indexOf("across")!==-1){if(V.indexOf("toaxis")!==-1&&(N=G,W=T),V.indexOf("across")!==-1){var re=u._counterDomainMin,ae=u._counterDomainMax;u.anchor==="free"&&(re=Math.min(re,u.position),ae=Math.max(ae,u.position)),N=a.t+(1-ae)*a.h,W=a.t+(1-re)*a.h}n.insert("line",":first-child").attr({x1:P,x2:P,y1:N,y2:W,"stroke-width":H,stroke:X,"stroke-dasharray":Am.dashStyle(u.spikedash,H)}).classed("spikeline",!0).classed("crisp",!0),n.insert("line",":first-child").attr({x1:P,x2:P,y1:N,y2:W,"stroke-width":H+2,stroke:f}).classed("spikeline",!0).classed("crisp",!0)}V.indexOf("marker")!==-1&&n.insert("circle",":first-child").attr({cx:P,cy:G-(u.side!=="top"?H:-H),r:H,fill:X}).classed("spikeline",!0)}}}function Mlt(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=e._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}function Fle(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function qle(e,t){return E0.plainText(e||"",{len:t,allowedTags:["br","sub","sup","b","i","em","s","u"]})}function Elt(e,t){for(var r=t.charAt(0),n=[],i=[],a=[],o=0;o{"use strict";var klt=Ar(),Clt=va(),Llt=np().isUnifiedHover;Wle.exports=function(t,r,n,i){i=i||{};var a=r.legend;function o(s){i.font[s]||(i.font[s]=a?r.legend.font[s]:r.font[s])}r&&Llt(r.hovermode)&&(i.font||(i.font={}),o("size"),o("family"),o("color"),o("weight"),o("style"),o("variant"),a?(i.bgcolor||(i.bgcolor=Clt.combine(r.legend.bgcolor,r.paper_bgcolor)),i.bordercolor||(i.bordercolor=r.legend.bordercolor)):i.bgcolor||(i.bgcolor=r.paper_bgcolor)),n("hoverlabel.bgcolor",i.bgcolor),n("hoverlabel.bordercolor",i.bordercolor),n("hoverlabel.namelength",i.namelength),klt.coerceFont(n,"hoverlabel.font",i.font),n("hoverlabel.align",i.align)}});var Xle=ye((jir,Zle)=>{"use strict";var Plt=Ar(),Ilt=xM(),Dlt=H1();Zle.exports=function(t,r){function n(i,a){return Plt.coerce(t,r,Dlt,i,a)}Ilt(t,r,n)}});var Jle=ye((Wir,Kle)=>{"use strict";var Yle=Ar(),Rlt=g3(),zlt=xM();Kle.exports=function(t,r,n,i){function a(s,l){return Yle.coerce(t,r,Rlt,s,l)}var o=Yle.extendFlat({},i.hoverlabel);r.hovertemplate&&(o.namelength=-1),zlt(t,r,a,o)}});var $B=ye((Zir,$le)=>{"use strict";var Flt=Ar(),qlt=H1();$le.exports=function(t,r){function n(i,a){return r[i]!==void 0?r[i]:Flt.coerce(t,r,qlt,i,a)}return n("clickmode"),n("hoversubplots"),n("hovermode")}});var tue=ye((Xir,eue)=>{"use strict";var Qle=Ar(),Olt=H1(),Blt=$B(),Nlt=xM();eue.exports=function(t,r){function n(c,f){return Qle.coerce(t,r,Olt,c,f)}var i=Blt(t,r);i&&(n("hoverdistance"),n("spikedistance"));var a=n("dragmode");a==="select"&&n("selectdirection");var o=r._has("mapbox"),s=r._has("map"),l=r._has("geo"),u=r._basePlotModules.length;r.dragmode==="zoom"&&((o||s||l)&&u===1||(o||s)&&l&&u===2)&&(r.dragmode="pan"),Nlt(t,r,n),Qle.coerceFont(n,"hoverlabel.grouptitlefont",r.hoverlabel.font)}});var nue=ye((Yir,iue)=>{"use strict";var QB=Ar(),rue=ya();iue.exports=function(t){var r=t.calcdata,n=t._fullLayout;function i(u){return function(c){return QB.coerceHoverinfo({hoverinfo:c},{_module:u._module},n)}}for(var a=0;a{"use strict";var Vlt=ya(),Hlt=JB().hover;aue.exports=function(t,r,n){var i=Vlt.getComponentMethod("annotations","onClick")(t,t._hoverdata);n!==void 0&&Hlt(t,r,n,!0);function a(){t.emit("plotly_click",{points:t._hoverdata,event:r})}t._hoverdata&&r&&r.target&&(i&&i.then?i.then(a):a(),r.stopImmediatePropagation&&r.stopImmediatePropagation())}});var Nc=ye((Jir,uue)=>{"use strict";var Glt=ba(),aP=Ar(),jlt=yv(),bM=np(),sue=H1(),lue=JB();uue.exports={moduleType:"component",name:"fx",constants:GS(),schema:{layout:sue},attributes:g3(),layoutAttributes:sue,supplyLayoutGlobalDefaults:Xle(),supplyDefaults:Jle(),supplyLayoutDefaults:tue(),calc:nue(),getDistanceFunction:bM.getDistanceFunction,getClosest:bM.getClosest,inbox:bM.inbox,quadrature:bM.quadrature,appendArrayPointValue:bM.appendArrayPointValue,castHoverOption:Zlt,castHoverinfo:Xlt,hover:lue.hover,unhover:jlt.unhover,loneHover:lue.loneHover,loneUnhover:Wlt,click:oue()};function Wlt(e){var t=aP.isD3Selection(e)?e:Glt.select(e);t.selectAll("g.hovertext").remove(),t.selectAll(".spikeline").remove()}function Zlt(e,t,r){return aP.castOption(e,t,"hoverlabel."+r)}function Xlt(e,t,r){function n(i){return aP.coerceHoverinfo({hoverinfo:i},{_module:e._module},t)}return aP.castOption(e,r,"hoverinfo",n)}});var Eg=ye(ky=>{"use strict";ky.selectMode=function(e){return e==="lasso"||e==="select"};ky.drawMode=function(e){return e==="drawclosedpath"||e==="drawopenpath"||e==="drawline"||e==="drawrect"||e==="drawcircle"};ky.openMode=function(e){return e==="drawline"||e==="drawopenpath"};ky.rectMode=function(e){return e==="select"||e==="drawline"||e==="drawrect"||e==="drawcircle"};ky.freeMode=function(e){return e==="lasso"||e==="drawclosedpath"||e==="drawopenpath"};ky.selectingOrDrawing=function(e){return ky.freeMode(e)||ky.rectMode(e)}});var wM=ye((Qir,cue)=>{"use strict";cue.exports=function(t){var r=t._fullLayout;r._glcanvas&&r._glcanvas.size()&&r._glcanvas.each(function(n){n.regl&&n.regl.clear({color:!0,depth:!0})})}});var oP=ye((enr,fue)=>{"use strict";fue.exports={undo:{width:857.1,height:1e3,path:"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z",transform:"matrix(1 0 0 -1 0 850)"},home:{width:928.6,height:1e3,path:"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z",transform:"matrix(1 0 0 -1 0 850)"},"camera-retro":{width:1e3,height:1e3,path:"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z",transform:"matrix(1 0 0 -1 0 850)"},zoombox:{width:1e3,height:1e3,path:"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z",transform:"matrix(1 0 0 -1 0 850)"},pan:{width:1e3,height:1e3,path:"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z",transform:"matrix(1 0 0 -1 0 850)"},zoom_plus:{width:875,height:1e3,path:"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},zoom_minus:{width:875,height:1e3,path:"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},autoscale:{width:1e3,height:1e3,path:"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_basic:{width:1500,height:1e3,path:"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_compare:{width:1125,height:1e3,path:"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z",transform:"matrix(1 0 0 -1 0 850)"},plotlylogo:{width:1542,height:1e3,path:"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z",transform:"matrix(1 0 0 -1 0 850)"},"z-axis":{width:1e3,height:1e3,path:"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z",transform:"matrix(1 0 0 -1 0 850)"},"3d_rotate":{width:1e3,height:1e3,path:"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z",transform:"matrix(1 0 0 -1 0 850)"},camera:{width:1e3,height:1e3,path:"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z",transform:"matrix(1 0 0 -1 0 850)"},movie:{width:1e3,height:1e3,path:"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z",transform:"matrix(1 0 0 -1 0 850)"},question:{width:857.1,height:1e3,path:"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z",transform:"matrix(1 0 0 -1 0 850)"},disk:{width:857.1,height:1e3,path:"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z",transform:"matrix(1 0 0 -1 0 850)"},drawopenpath:{width:70,height:70,path:"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z",transform:"matrix(1 0 0 1 -15 -15)"},drawclosedpath:{width:90,height:90,path:"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z",transform:"matrix(1 0 0 1 -5 -5)"},lasso:{width:1031,height:1e3,path:"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z",transform:"matrix(1 0 0 -1 0 850)"},selectbox:{width:1e3,height:1e3,path:"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z",transform:"matrix(1 0 0 -1 0 850)"},drawline:{width:70,height:70,path:"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z",transform:"matrix(1 0 0 1 -15 -15)"},drawrect:{width:80,height:80,path:"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z",transform:"matrix(1 0 0 1 -10 -10)"},drawcircle:{width:80,height:80,path:"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z",transform:"matrix(1 0 0 1 -10 -10)"},eraseshape:{width:80,height:80,path:"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z",transform:"matrix(1 0 0 1 -10 -10)"},spikeline:{width:1e3,height:1e3,path:"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z",transform:"matrix(1.5 0 0 -1.5 0 850)"},pencil:{width:1792,height:1792,path:"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z",transform:"matrix(1 0 0 1 0 1)"},newplotlylogo:{name:"newplotlylogo",svg:["",""," ",""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}});var lP=ye((tnr,hue)=>{"use strict";var sP=32;hue.exports={CIRCLE_SIDES:sP,i000:0,i090:sP/4,i180:sP/2,i270:sP/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}});var uP=ye((rnr,vue)=>{"use strict";var Ylt=Ar().strTranslate;function due(e,t){switch(e.type){case"log":return e.p2d(t);case"date":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}function Klt(e,t){switch(e.type){case"log":return e.d2p(t);case"date":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}}function Jlt(e){var t=e._id.charAt(0)==="y"?1:0;return function(r){return due(e,r[t])}}function $lt(e){return Ylt(e.xaxis._offset,e.yaxis._offset)}vue.exports={p2r:due,r2p:Klt,axValue:Jlt,getTransform:$lt}});var g_=ye(Cy=>{"use strict";var Qlt=lM(),mue=lP(),J3=mue.CIRCLE_SIDES,eN=mue.SQRT2,yue=uP(),pue=yue.p2r,gue=yue.r2p,eut=[0,3,4,5,6,1,2],tut=[0,3,4,1,2];Cy.writePaths=function(e){var t=e.length;if(!t)return"M0,0Z";for(var r="",n=0;n0&&l{"use strict";var Tue=Eg(),rut=Tue.drawMode,iut=Tue.openMode,$3=lP(),_ue=$3.i000,xue=$3.i090,bue=$3.i180,wue=$3.i270,nut=$3.cos45,aut=$3.sin45,Aue=uP(),fP=Aue.p2r,m_=Aue.r2p,out=n_(),sut=out.clearOutline,hP=g_(),lut=hP.readPaths,uut=hP.writePaths,cut=hP.ellipseOver,fut=hP.fixDatesForPaths;function hut(e,t){if(e.length){var r=e[0][0];if(r){var n=t.gd,i=t.isActiveShape,a=t.dragmode,o=(n.layout||{}).shapes||[];if(!rut(a)&&i!==void 0){var s=n._fullLayout._activeShapeIndex;if(s{"use strict";var dut=Eg(),vut=dut.selectMode,put=n_(),gut=put.clearOutline,tN=g_(),mut=tN.readPaths,yut=tN.writePaths,_ut=tN.fixDatesForPaths;Eue.exports=function(t,r){if(t.length){var n=t[0][0];if(n){var i=n.getAttribute("d"),a=r.gd,o=a._fullLayout.newselection,s=r.plotinfo,l=s.xaxis,u=s.yaxis,c=r.isActiveSelection,f=r.dragmode,h=(a.layout||{}).selections||[];if(!vut(f)&&c!==void 0){var v=a._fullLayout._activeSelectionIndex;if(v{"use strict";kue.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}});var y_=ye(Pd=>{"use strict";var Wb=AM(),Cue=Ar(),vP=Xa();Pd.rangeToShapePosition=function(e){return e.type==="log"?e.r2d:function(t){return t}};Pd.shapePositionToRange=function(e){return e.type==="log"?e.d2r:function(t){return t}};Pd.decodeDate=function(e){return function(t){return t.replace&&(t=t.replace("_"," ")),e(t)}};Pd.encodeDate=function(e){return function(t){return e(t).replace(" ","_")}};Pd.extractPathCoords=function(e,t,r){var n=[],i=e.match(Wb.segmentRE);return i.forEach(function(a){var o=t[a.charAt(0)].drawn;if(o!==void 0){var s=a.substr(1).match(Wb.paramRE);if(!(!s||s.lengthv&&(_="X"),_});return u>v&&(d=d.replace(/[\s,]*X.*/,""),Cue.log("Ignoring extra params in segment "+l)),c+d})}function SM(e,t){t=t||0;var r=0;return t&&e&&(e.type==="category"||e.type==="multicategory")&&(r=(e.r2p(1)-e.r2p(0))*t),r}});var nN=ye((lnr,Due)=>{"use strict";var but=Ar(),Q3=Xa(),Lue=Ll(),Pue=ao(),wut=g_().readPaths,iN=y_(),Tut=iN.getPathString,Iue=B6(),Aut=Vh().FROM_TL;Due.exports=function(t,r,n,i){if(i.selectAll(".shape-label").remove(),!!(n.label.text||n.label.texttemplate)){var a;if(n.label.texttemplate){var o={};if(n.type!=="path"){var s=Q3.getFromId(t,n.xref),l=Q3.getFromId(t,n.yref);for(var u in Iue){var c=Iue[u](n,s,l);c!==void 0&&(o[u]=c)}}a=but.texttemplateStringForShapes(n.label.texttemplate,{},t._fullLayout._d3locale,o)}else a=n.label.text;var f={"data-index":r},h=n.label.font,v={"data-notex":1},d=i.append("g").attr(f).classed("shape-label",!0),_=d.append("text").attr(v).classed("shape-label-text",!0).text(a),b,p,E,k;if(n.path){var S=Tut(t,n),L=wut(S,t);b=1/0,E=1/0,p=-1/0,k=-1/0;for(var x=0;x=e?i=t-n:i=n-t,-180/Math.PI*Math.atan2(i,a)}function Mut(e,t,r,n,i,a,o){var s=i.label.textposition,l=i.label.textangle,u=i.label.padding,c=i.type,f=Math.PI/180*a,h=Math.sin(f),v=Math.cos(f),d=i.label.xanchor,_=i.label.yanchor,b,p,E,k;if(c==="line"){s==="start"?(b=e,p=t):s==="end"?(b=r,p=n):(b=(e+r)/2,p=(t+n)/2),d==="auto"&&(s==="start"?l==="auto"?r>e?d="left":re?d="right":re?d="right":re?d="left":r{"use strict";var Eut=Ar(),kut=Eut.strTranslate,Rue=yv(),que=Eg(),Cut=que.drawMode,Oue=que.selectMode,Bue=ya(),zue=va(),gP=lP(),Lut=gP.i000,Put=gP.i090,Iut=gP.i180,Dut=gP.i270,Rut=n_(),Nue=Rut.clearOutlineControllers,oN=g_(),pP=oN.pointsOnRectangle,aN=oN.pointsOnEllipse,zut=oN.writePaths,Fut=dP().newShapes,qut=dP().createShapeObj,Out=rN(),But=nN();Uue.exports=function e(t,r,n,i){i||(i=0);var a=n.gd;function o(){e(t,r,n,i++),(aN(t[0])||n.hasText)&&s({redrawing:!0})}function s(G){var N={};n.isActiveShape!==void 0&&(n.isActiveShape=!1,N=Fut(r,n)),n.isActiveSelection!==void 0&&(n.isActiveSelection=!1,N=Out(r,n),a._fullLayout._reselect=!0),Object.keys(N).length&&Bue.call((G||{}).redrawing?"relayout":"_guiRelayout",a,N)}var l=a._fullLayout,u=l._zoomlayer,c=n.dragmode,f=Cut(c),h=Oue(c);(f||h)&&(a._fullLayout._outlining=!0),Nue(a),r.attr("d",zut(t));var v,d,_,b,p;if(!i&&(n.isActiveShape||n.isActiveSelection)){p=Nut([],t);var E=u.append("g").attr("class","outline-controllers");P(E),X()}if(f&&n.hasText){var k=u.select(".label-temp"),S=qut(r,n,n.dragmode);But(a,"label-temp",S,k)}function L(G){_=+G.srcElement.getAttribute("data-i"),b=+G.srcElement.getAttribute("data-j"),v[_][b].moveFn=x}function x(G,N){if(t.length){var W=p[_][b][1],re=p[_][b][2],ae=t[_],_e=ae.length;if(pP(ae)){var Me=G,ke=N;if(n.isActiveSelection){var ge=Fue(ae,b);ge[1]===ae[b][1]?ke=0:Me=0}for(var ie=0;ie<_e;ie++)if(ie!==b){var Te=ae[ie];Te[1]===ae[b][1]&&(Te[1]=W+Me),Te[2]===ae[b][2]&&(Te[2]=re+ke)}if(ae[b][1]=W+Me,ae[b][2]=re+ke,!pP(ae))for(var Ee=0;Ee<_e;Ee++)for(var Ae=0;Ae1&&!(G.length===2&&G[1][0]==="Z")&&(b===0&&(G[0][0]="M"),t[_]=G,o(),s())}}function g(G,N){if(G===2){_=+N.srcElement.getAttribute("data-i"),b=+N.srcElement.getAttribute("data-j");var W=t[_];!pP(W)&&!aN(W)&&M()}}function P(G){v=[];for(var N=0;N{"use strict";var Vut=ba(),Zue=ya(),Vue=Ar(),eT=Xa(),Hut=g_().readPaths,Gut=mP(),_P=nN(),Xue=n_().clearOutlineControllers,sN=va(),uN=ao(),jut=Vs().arrayEditor,Hue=yv(),Gue=Sg(),Zb=AM(),Lp=y_(),lN=Lp.getPathString;Jue.exports={draw:cN,drawOne:Yue,eraseActiveShape:Xut,drawLabel:_P};function cN(e){var t=e._fullLayout;t._shapeUpperLayer.selectAll("path").remove(),t._shapeLowerLayer.selectAll("path").remove(),t._shapeUpperLayer.selectAll("text").remove(),t._shapeLowerLayer.selectAll("text").remove();for(var r in t._plots){var n=t._plots[r].shapelayer;n&&(n.selectAll("path").remove(),n.selectAll("text").remove())}for(var i=0;io&&kt>s&&!rt.shiftKey?Hue.getCursor(Ct/It,1-Yt/kt):"move";Gue(t,mr),Te=mr.split("-")[0]}}function Ce(rt){yP(e)||(l&&(p=ae(r.xanchor)),u&&(E=_e(r.yanchor)),r.type==="path"?T=r.path:(v=l?r.x0:ae(r.x0),d=u?r.y0:_e(r.y0),_=l?r.x1:ae(r.x1),b=u?r.y1:_e(r.y1)),v<_?(L=v,g="x0",x=_,P="x1"):(L=_,g="x1",x=v,P="x0"),!u&&db?(k=d,C="y0",S=b,M="y1"):(k=b,C="y1",S=d,M="y0"),ze(rt),nt(i,r),qt(t,r,e),ie.moveFn=Te==="move"?ce:Ge,ie.altKey=rt.altKey)}function me(){yP(e)||(Gue(t),ct(i),Kue(t,e,r),Zue.call("_guiRelayout",e,a.getUpdateObj()))}function De(){yP(e)||ct(i)}function ce(rt,ot){if(r.type==="path"){var It=function(Yt){return Yt},kt=It,Ct=It;l?h("xanchor",r.xanchor=Me(p+rt)):(kt=function(mr){return Me(ae(mr)+rt)},q&&q.type==="date"&&(kt=Lp.encodeDate(kt))),u?h("yanchor",r.yanchor=ke(E+ot)):(Ct=function(mr){return ke(_e(mr)+ot)},H&&H.type==="date"&&(Ct=Lp.encodeDate(Ct))),h("path",r.path=jue(T,kt,Ct))}else l?h("xanchor",r.xanchor=Me(p+rt)):(h("x0",r.x0=Me(v+rt)),h("x1",r.x1=Me(_+rt))),u?h("yanchor",r.yanchor=ke(E+ot)):(h("y0",r.y0=ke(d+ot)),h("y1",r.y1=ke(b+ot)));t.attr("d",lN(e,r)),nt(i,r),_P(e,n,r,F)}function Ge(rt,ot){if(f){var It=function(xr){return xr},kt=It,Ct=It;l?h("xanchor",r.xanchor=Me(p+rt)):(kt=function(Br){return Me(ae(Br)+rt)},q&&q.type==="date"&&(kt=Lp.encodeDate(kt))),u?h("yanchor",r.yanchor=ke(E+ot)):(Ct=function(Br){return ke(_e(Br)+ot)},H&&H.type==="date"&&(Ct=Lp.encodeDate(Ct))),h("path",r.path=jue(T,kt,Ct))}else if(c){if(Te==="resize-over-start-point"){var Yt=v+rt,mr=u?d-ot:d+ot;h("x0",r.x0=l?Yt:Me(Yt)),h("y0",r.y0=u?mr:ke(mr))}else if(Te==="resize-over-end-point"){var er=_+rt,Ke=u?b-ot:b+ot;h("x1",r.x1=l?er:Me(er)),h("y1",r.y1=u?Ke:ke(Ke))}}else{var bt=function(xr){return Te.indexOf(xr)!==-1},xt=bt("n"),Lt=bt("s"),St=bt("w"),Et=bt("e"),dt=xt?k+ot:k,Ht=Lt?S+ot:S,$t=St?L+rt:L,fr=Et?x+rt:x;u&&(xt&&(dt=k-ot),Lt&&(Ht=S-ot)),(!u&&Ht-dt>s||u&&dt-Ht>s)&&(h(C,r[C]=u?dt:ke(dt)),h(M,r[M]=u?Ht:ke(Ht))),fr-$t>o&&(h(g,r[g]=l?$t:Me($t)),h(P,r[P]=l?fr:Me(fr)))}t.attr("d",lN(e,r)),nt(i,r),_P(e,n,r,F)}function nt(rt,ot){(l||u)&&It();function It(){var kt=ot.type!=="path",Ct=rt.selectAll(".visual-cue").data([0]),Yt=1;Ct.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":Yt}).classed("visual-cue",!0);var mr=ae(l?ot.xanchor:Vue.midRange(kt?[ot.x0,ot.x1]:Lp.extractPathCoords(ot.path,Zb.paramIsX))),er=_e(u?ot.yanchor:Vue.midRange(kt?[ot.y0,ot.y1]:Lp.extractPathCoords(ot.path,Zb.paramIsY)));if(mr=Lp.roundPositionForSharpStrokeRendering(mr,Yt),er=Lp.roundPositionForSharpStrokeRendering(er,Yt),l&&u){var Ke="M"+(mr-1-Yt)+","+(er-1-Yt)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";Ct.attr("d",Ke)}else if(l){var bt="M"+(mr-1-Yt)+","+(er-9-Yt)+"v18 h2 v-18 Z";Ct.attr("d",bt)}else{var xt="M"+(mr-9-Yt)+","+(er-1-Yt)+"h18 v2 h-18 Z";Ct.attr("d",xt)}}}function ct(rt){rt.selectAll(".visual-cue").remove()}function qt(rt,ot,It){var kt=ot.xref,Ct=ot.yref,Yt=eT.getFromId(It,kt),mr=eT.getFromId(It,Ct),er="";kt!=="paper"&&!Yt.autorange&&(er+=kt),Ct!=="paper"&&!mr.autorange&&(er+=Ct),uN.setClipUrl(rt,er?"clip"+It._fullLayout._uid+er:null,It)}}function jue(e,t,r){return e.replace(Zb.segmentRE,function(n){var i=0,a=n.charAt(0),o=Zb.paramIsX[a],s=Zb.paramIsY[a],l=Zb.numParams[a],u=n.substr(1).replace(Zb.paramRE,function(c){return i>=l||(o[i]?c=t(c):s[i]&&(c=r(c)),i++),c});return a+u})}function Zut(e,t){if(xP(e)){var r=t.node(),n=+r.getAttribute("data-index");if(n>=0){if(n===e._fullLayout._activeShapeIndex){Wue(e);return}e._fullLayout._activeShapeIndex=n,e._fullLayout._deactivateShape=Wue,cN(e)}}}function Wue(e){if(xP(e)){var t=e._fullLayout._activeShapeIndex;t>=0&&(Xue(e),delete e._fullLayout._activeShapeIndex,cN(e))}}function Xut(e){if(xP(e)){Xue(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t{"use strict";var k0=ya(),$ue=Nu(),Que=af(),al=oP(),Yut=bP().eraseActiveShape,tT=Ar(),Fs=tT._,ol=oce.exports={};ol.toImage={name:"toImage",title:function(e){var t=e._context.toImageButtonOptions||{},r=t.format||"png";return r==="png"?Fs(e,"Download plot as a png"):Fs(e,"Download plot")},icon:al.camera,click:function(e){var t=e._context.toImageButtonOptions,r={format:t.format||"png"};tT.notifier(Fs(e,"Taking snapshot - this may take a few seconds"),"long"),r.format!=="svg"&&tT.isIE()&&(tT.notifier(Fs(e,"IE only supports svg. Changing format to svg."),"long"),r.format="svg"),["filename","width","height","scale"].forEach(function(n){n in t&&(r[n]=t[n])}),k0.call("downloadImage",e,r).then(function(n){tT.notifier(Fs(e,"Snapshot succeeded")+" - "+n,"long")}).catch(function(){tT.notifier(Fs(e,"Sorry, there was a problem downloading your snapshot!"),"long")})}};ol.sendDataToCloud={name:"sendDataToCloud",title:function(e){return Fs(e,"Edit in Chart Studio")},icon:al.disk,click:function(e){$ue.sendDataToCloud(e)}};ol.editInChartStudio={name:"editInChartStudio",title:function(e){return Fs(e,"Edit in Chart Studio")},icon:al.pencil,click:function(e){$ue.sendDataToCloud(e)}};ol.zoom2d={name:"zoom2d",_cat:"zoom",title:function(e){return Fs(e,"Zoom")},attr:"dragmode",val:"zoom",icon:al.zoombox,click:Nv};ol.pan2d={name:"pan2d",_cat:"pan",title:function(e){return Fs(e,"Pan")},attr:"dragmode",val:"pan",icon:al.pan,click:Nv};ol.select2d={name:"select2d",_cat:"select",title:function(e){return Fs(e,"Box Select")},attr:"dragmode",val:"select",icon:al.selectbox,click:Nv};ol.lasso2d={name:"lasso2d",_cat:"lasso",title:function(e){return Fs(e,"Lasso Select")},attr:"dragmode",val:"lasso",icon:al.lasso,click:Nv};ol.drawclosedpath={name:"drawclosedpath",title:function(e){return Fs(e,"Draw closed freeform")},attr:"dragmode",val:"drawclosedpath",icon:al.drawclosedpath,click:Nv};ol.drawopenpath={name:"drawopenpath",title:function(e){return Fs(e,"Draw open freeform")},attr:"dragmode",val:"drawopenpath",icon:al.drawopenpath,click:Nv};ol.drawline={name:"drawline",title:function(e){return Fs(e,"Draw line")},attr:"dragmode",val:"drawline",icon:al.drawline,click:Nv};ol.drawrect={name:"drawrect",title:function(e){return Fs(e,"Draw rectangle")},attr:"dragmode",val:"drawrect",icon:al.drawrect,click:Nv};ol.drawcircle={name:"drawcircle",title:function(e){return Fs(e,"Draw circle")},attr:"dragmode",val:"drawcircle",icon:al.drawcircle,click:Nv};ol.eraseshape={name:"eraseshape",title:function(e){return Fs(e,"Erase active shape")},icon:al.eraseshape,click:Yut};ol.zoomIn2d={name:"zoomIn2d",_cat:"zoomin",title:function(e){return Fs(e,"Zoom in")},attr:"zoom",val:"in",icon:al.zoom_plus,click:Nv};ol.zoomOut2d={name:"zoomOut2d",_cat:"zoomout",title:function(e){return Fs(e,"Zoom out")},attr:"zoom",val:"out",icon:al.zoom_minus,click:Nv};ol.autoScale2d={name:"autoScale2d",_cat:"autoscale",title:function(e){return Fs(e,"Autoscale")},attr:"zoom",val:"auto",icon:al.autoscale,click:Nv};ol.resetScale2d={name:"resetScale2d",_cat:"resetscale",title:function(e){return Fs(e,"Reset axes")},attr:"zoom",val:"reset",icon:al.home,click:Nv};ol.hoverClosestCartesian={name:"hoverClosestCartesian",_cat:"hoverclosest",title:function(e){return Fs(e,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:al.tooltip_basic,gravity:"ne",click:Nv};ol.hoverCompareCartesian={name:"hoverCompareCartesian",_cat:"hoverCompare",title:function(e){return Fs(e,"Compare data on hover")},attr:"hovermode",val:function(e){return e._fullLayout._isHoriz?"y":"x"},icon:al.tooltip_compare,gravity:"ne",click:Nv};function Nv(e,t){var r=t.currentTarget,n=r.getAttribute("data-attr"),i=r.getAttribute("data-val")||!0,a=e._fullLayout,o={},s=Que.list(e,null,!0),l=a._cartesianSpikesEnabled,u,c;if(n==="zoom"){var f=i==="in"?.5:2,h=(1+f)/2,v=(1-f)/2,d;for(c=0;c{"use strict";var sce=dN(),$ut=Object.keys(sce),lce=["drawline","drawopenpath","drawclosedpath","drawcircle","drawrect","eraseshape"],uce=["v1hovermode","hoverclosest","hovercompare","togglehover","togglespikelines"].concat(lce),iT=[],Qut=function(e){if(uce.indexOf(e._cat||e.name)===-1){var t=e.name,r=(e._cat||e.name).toLowerCase();iT.indexOf(t)===-1&&iT.push(t),iT.indexOf(r)===-1&&iT.push(r)}};$ut.forEach(function(e){Qut(sce[e])});iT.sort();cce.exports={DRAW_MODES:lce,backButtons:uce,foreButtons:iT}});var pN=ye((vnr,fce)=>{"use strict";var dnr=vN();fce.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"}}});var dce=ye((pnr,hce)=>{"use strict";var ect=Ar(),MM=va(),tct=Vs(),rct=pN();hce.exports=function(t,r){var n=t.modebar||{},i=tct.newContainer(r,"modebar");function a(s,l){return ect.coerce(n,i,rct,s,l)}a("orientation"),a("bgcolor",MM.addOpacity(r.paper_bgcolor,.5));var o=MM.contrast(MM.rgb(r.modebar.bgcolor));a("color",MM.addOpacity(o,.3)),a("activecolor",MM.addOpacity(o,.7)),a("uirevision",r.uirevision),a("add"),a("remove")}});var mce=ye((gnr,gce)=>{"use strict";var gN=ba(),ict=uo(),Ly=Ar(),vce=oP(),nct=y6().version,act=new DOMParser;function pce(e){this.container=e.container,this.element=document.createElement("div"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var Mm=pce.prototype;Mm.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,i="modebar-"+n._uid;this.element.setAttribute("id",i),this._uid=i,this.element.className="modebar",r.displayModeBar==="hover"&&(this.element.className+=" modebar--hover ease-bg"),n.modebar.orientation==="v"&&(this.element.className+=" vertical",t=t.reverse());var a=n.modebar,o=r.displayModeBar==="hover"?".js-plotly-plot .plotly:hover ":"";Ly.deleteRelatedStyleRule(i),Ly.addRelatedStyleRule(i,o+"#"+i+" .modebar-group","background-color: "+a.bgcolor),Ly.addRelatedStyleRule(i,"#"+i+" .modebar-btn .icon path","fill: "+a.color),Ly.addRelatedStyleRule(i,"#"+i+" .modebar-btn:hover .icon path","fill: "+a.activecolor),Ly.addRelatedStyleRule(i,"#"+i+" .modebar-btn.active .icon path","fill: "+a.activecolor);var s=!this.hasButtons(t),l=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(s||l||u)&&(this.removeAllButtons(),this.updateButtons(t),r.watermark||r.displaylogo)){var c=this.getLogo();r.watermark&&(c.className=c.className+" watermark"),n.modebar.orientation==="v"?this.element.insertBefore(c,this.element.childNodes[0]):this.element.appendChild(c),this.hasLogo=!0}this.updateActiveButton()};Mm.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(r){var n=t.createGroup();r.forEach(function(i){var a=i.name;if(!a)throw new Error("must provide button 'name' in button config");if(t.buttonsNames.indexOf(a)!==-1)throw new Error("button name '"+a+"' is taken");t.buttonsNames.push(a);var o=t.createButton(i);t.buttonElements.push(o),n.appendChild(o)}),t.element.appendChild(n)})};Mm.createGroup=function(){var e=document.createElement("div");return e.className="modebar-group",e};Mm.createButton=function(e){var t=this,r=document.createElement("a");r.setAttribute("rel","tooltip"),r.className="modebar-btn";var n=e.title;n===void 0?n=e.name:typeof n=="function"&&(n=n(this.graphInfo)),(n||n===0)&&r.setAttribute("data-title",n),e.attr!==void 0&&r.setAttribute("data-attr",e.attr);var i=e.val;i!==void 0&&(typeof i=="function"&&(i=i(this.graphInfo)),r.setAttribute("data-val",i));var a=e.click;if(typeof a!="function")throw new Error("must provide button 'click' function in button config");r.addEventListener("click",function(s){e.click(t.graphInfo,s),t.updateActiveButton(s.currentTarget)}),r.setAttribute("data-toggle",e.toggle||!1),e.toggle&&gN.select(r).classed("active",!0);var o=e.icon;return typeof o=="function"?r.appendChild(o()):r.appendChild(this.createIcon(o||vce.question)),r.setAttribute("data-gravity",e.gravity||"n"),r};Mm.createIcon=function(e){var t=ict(e.height)?Number(e.height):e.ascent-e.descent,r="http://www.w3.org/2000/svg",n;if(e.path){n=document.createElementNS(r,"svg"),n.setAttribute("viewBox",[0,0,e.width,t].join(" ")),n.setAttribute("class","icon");var i=document.createElementNS(r,"path");i.setAttribute("d",e.path),e.transform?i.setAttribute("transform",e.transform):e.ascent!==void 0&&i.setAttribute("transform","matrix(1 0 0 -1 0 "+e.ascent+")"),n.appendChild(i)}if(e.svg){var a=act.parseFromString(e.svg,"application/xml");n=a.childNodes[0]}return n.setAttribute("height","1em"),n.setAttribute("width","1em"),n};Mm.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,r=e!==void 0?e.getAttribute("data-attr"):null;this.buttonElements.forEach(function(n){var i=n.getAttribute("data-val")||!0,a=n.getAttribute("data-attr"),o=n.getAttribute("data-toggle")==="true",s=gN.select(n);if(o)a===r&&s.classed("active",!s.classed("active"));else{var l=a===null?a:Ly.nestedProperty(t,a).get();s.classed("active",l===i)}})};Mm.hasButtons=function(e){var t=this.buttons;if(!t||e.length!==t.length)return!1;for(var r=0;r{"use strict";var lct=af(),yce=lu(),mN=ya(),uct=np().isUnifiedHover,cct=mce(),TP=dN(),fct=vN().DRAW_MODES,hct=Ar().extendDeep;_ce.exports=function(t){var r=t._fullLayout,n=t._context,i=r._modeBar;if(!n.displayModeBar&&!n.watermark){i&&(i.destroy(),delete r._modeBar);return}if(!Array.isArray(n.modeBarButtonsToRemove))throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "));if(!Array.isArray(n.modeBarButtonsToAdd))throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "));var a=n.modeBarButtons,o;Array.isArray(a)&&a.length?o=yct(a):!n.displayModeBar&&n.watermark?o=[]:o=dct(t),i?i.update(t,o):r._modeBar=cct(t,o)};function dct(e){var t=e._fullLayout,r=e._fullData,n=e._context;function i(N,W){if(typeof W=="string"){if(W.toLowerCase()===N.toLowerCase())return!0}else{var re=W.name,ae=W._cat||W.name;if(re===N||ae===N.toLowerCase())return!0}return!1}var a=t.modebar.add;typeof a=="string"&&(a=[a]);var o=t.modebar.remove;typeof o=="string"&&(o=[o]);var s=n.modeBarButtonsToAdd.concat(a.filter(function(N){for(var W=0;W1?(P=["toggleHover"],T=["resetViews"]):f?(g=["zoomInGeo","zoomOutGeo"],P=["hoverClosestGeo"],T=["resetGeo"]):c?(P=["hoverClosest3d"],T=["resetCameraDefault3d","resetCameraLastSave3d"]):_?(g=["zoomInMapbox","zoomOutMapbox"],P=["toggleHover"],T=["resetViewMapbox"]):b?(g=["zoomInMap","zoomOutMap"],P=["toggleHover"],T=["resetViewMap"]):h?P=["hoverClosestPie"]:k?(P=["hoverClosestCartesian","hoverCompareCartesian"],T=["resetViewSankey"]):P=["toggleHover"],u&&P.push("toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"),(gct(r)||L)&&(P=[]),u&&!S&&(g=["zoomIn2d","zoomOut2d","autoScale2d"],T[0]!=="resetViews"&&(T=["resetScale2d"])),c?F=["zoom3d","pan3d","orbitRotation","tableRotation"]:u&&!S||d?F=["zoom2d","pan2d"]:_||b||f?F=["pan2d"]:p&&(F=["zoom2d"]),pct(r)&&F.push("select2d","lasso2d");var q=[],V=function(N){q.indexOf(N)===-1&&P.indexOf(N)!==-1&&q.push(N)};if(Array.isArray(s)){for(var H=[],X=0;X{"use strict";bce.exports={moduleType:"component",name:"modebar",layoutAttributes:pN(),supplyLayoutDefaults:dce(),manage:xce()}});var _N=ye((_nr,wce)=>{"use strict";var _ct=Vh().FROM_BL;wce.exports=function(t,r,n){n===void 0&&(n=_ct[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*n;t.range=t._input.range=[t.l2r(a+(i[0]-a)*r),t.l2r(a+(i[1]-a)*r)],t.setScale()}});var Yb=ye(EM=>{"use strict";var Xb=Ar(),xN=Ag(),kg=af().id2name,xct=Ld(),Tce=_N(),bct=bm(),wct=Yo().ALMOST_EQUAL,Tct=Vh().FROM_BL;EM.handleDefaults=function(e,t,r){var n=r.axIds,i=r.axHasImage,a=t._axisConstraintGroups=[],o=t._axisMatchGroups=[],s,l,u,c,f,h,v,d;for(s=0;sa?r.substr(a):n.substr(i))+o}function Sct(e,t){for(var r=t._size,n=r.h/r.w,i={},a=Object.keys(e),o=0;owct*d&&!E)){for(a=0;aF&&reP&&(P=re);var _e=(P-g)/(2*T);f/=_e,g=l.l2r(g),P=l.l2r(P),l.range=l._input.range=x{"use strict";var SP=ba(),Uv=ya(),e0=Nu(),C0=Ar(),TN=Ll(),AN=wM(),kM=va(),nT=ao(),Ece=Fb(),Ice=yN(),CM=Xa(),Py=Vh(),Dce=Yb(),Mct=Dce.enforce,Ect=Dce.clean,kce=Ag().doAutoRange,Rce="start",kct="middle",zce="end",Cct=sd().zindexSeparator;cd.layoutStyles=function(e){return C0.syncOrAsync([e0.doAutoMargin,Pct],e)};function Lct(e,t,r){for(var n=0;n=e[1]||i[1]<=e[0])&&a[0]t[0])return!0}return!1}function Pct(e){var t=e._fullLayout,r=t._size,n=r.p,i=CM.list(e,"",!0),a,o,s,l,u,c;if(t._paperdiv.style({width:e._context.responsive&&t.autosize&&!e._context._hasZeroWidth&&!e.layout.width?"100%":t.width+"px",height:e._context.responsive&&t.autosize&&!e._context._hasZeroHeight&&!e.layout.height?"100%":t.height+"px"}).selectAll(".main-svg").call(nT.setSize,t.width,t.height),e._context.setBackground(e,t.paper_bgcolor),cd.drawMainTitle(e),Ice.manage(e),!t._has("cartesian"))return e0.previousPromises(e);function f(Ce,me,De){var ce=Ce._lw/2;if(Ce._id.charAt(0)==="x"){if(me){if(De==="top")return me._offset-n-ce}else return r.t+r.h*(1-(Ce.position||0))+ce%1;return me._offset+me._length+n+ce}if(me){if(De==="right")return me._offset+me._length+n+ce}else return r.l+r.w*(Ce.position||0)+ce%1;return me._offset-n-ce}for(a=0;a0){zct(e,a,u,l),s.attr({x:o,y:a,"text-anchor":n,dy:Pce(t.yanchor)}).call(TN.positionText,o,a);var c=(t.text.match(TN.BR_TAG_ALL)||[]).length;if(c){var f=Py.LINE_SPACING*c+Py.MID_SHIFT;t.y===0&&(f=-f),s.selectAll(".line").each(function(){var b=+this.getAttribute("dy").slice(0,-2)-f+"em";this.setAttribute("dy",b)})}var h=SP.selectAll(".gtitle-subtitle");if(h.node()){var v=s.node().getBBox(),d=v.y+v.height,_=d+Ece.SUBTITLE_PADDING_EM*t.subtitle.font.size;h.attr({x:o,y:_,"text-anchor":n,dy:Pce(t.yanchor)}).call(TN.positionText,o,_)}}}};function Ict(e,t,r,n,i){var a=t.yref==="paper"?e._fullLayout._size.h:e._fullLayout.height,o=C0.isTopAnchor(t)?n:n-i,s=r==="b"?a-o:o;return C0.isTopAnchor(t)&&r==="t"||C0.isBottomAnchor(t)&&r==="b"?!1:s.5?"t":"b",o=e._fullLayout.margin[a],s=0;return t.yref==="paper"?s=r+t.pad.t+t.pad.b:t.yref==="container"&&(s=Dct(a,n,i,e._fullLayout.height,r)+t.pad.t+t.pad.b),s>o?s:0}function zct(e,t,r,n){var i="title.automargin",a=e._fullLayout.title,o=a.y>.5?"t":"b",s={x:a.x,y:a.y,t:0,b:0},l={};a.yref==="paper"&&Ict(e,a,o,t,n)?s[o]=r:a.yref==="container"&&(l[o]=r,e._fullLayout._reservedMargin[i]=l),e0.allowAutoMargin(e,i),e0.autoMargin(e,i,s)}function Fct(e,t){var r=e.title,n=e._size,i=0;switch(t===Rce?i=r.pad.l:t===zce&&(i=-r.pad.r),r.xref){case"paper":return n.l+n.w*r.x+i;case"container":default:return e.width*r.x+i}}function qct(e,t){var r=e.title,n=e._size,i=0;if(t==="0em"||!t?i=-r.pad.b:t===Py.CAP_SHIFT+"em"&&(i=r.pad.t),r.y==="auto")return n.t/2;switch(r.yref){case"paper":return n.t+n.h-n.h*r.y+i;case"container":default:return e.height-e.height*r.y+i}}function Pce(e){return e==="top"?Py.CAP_SHIFT+.3+"em":e==="bottom"?"-0.3em":Py.MID_SHIFT+"em"}function Oct(e){var t=e.title,r=kct;return C0.isRightAnchor(t)?r=zce:C0.isLeftAnchor(t)&&(r=Rce),r}function Bct(e){var t=e.title,r="0em";return C0.isTopAnchor(t)?r=Py.CAP_SHIFT+"em":C0.isMiddleAnchor(t)&&(r=Py.MID_SHIFT+"em"),r}cd.doTraceStyle=function(e){var t=e.calcdata,r=[],n;for(n=0;n{"use strict";var Nct=g_().readPaths,Uct=mP(),Fce=n_().clearOutlineControllers,SN=va(),qce=ao(),Vct=Vs().arrayEditor,Oce=y_(),Hct=Oce.getPathString;Nce.exports={draw:MP,drawOne:Bce,activateLastSelection:Wct};function MP(e){var t=e._fullLayout;Fce(e),t._selectionLayer.selectAll("path").remove();for(var r in t._plots){var n=t._plots[r].selectionLayer;n&&n.selectAll("path").remove()}for(var i=0;i=0;b--){var p=o.append("path").attr(l).style("opacity",b?.1:u).call(SN.stroke,f).call(SN.fill,c).call(qce.dashLine,b?"solid":v,b?4+h:h);if(Gct(p,e,n),d){var E=Vct(e.layout,"selections",n);p.style({cursor:"move"});var k={element:p.node(),plotinfo:i,gd:e,editHelpers:E,isActiveSelection:!0},S=Nct(s,e);Uct(S,p,k)}else p.style("pointer-events",b?"all":"none");_[b]=p}var L=_[0],x=_[1];x.node().addEventListener("click",function(){return jct(e,L)})}}function Gct(e,t,r){var n=r.xref+r.yref;qce.setClipUrl(e,"clip"+t._fullLayout._uid+n,t)}function jct(e,t){if(EP(e)){var r=t.node(),n=+r.getAttribute("data-index");if(n>=0){if(n===e._fullLayout._activeSelectionIndex){MN(e);return}e._fullLayout._activeSelectionIndex=n,e._fullLayout._deactivateSelection=MN,MP(e)}}}function Wct(e){if(EP(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=MN,MP(e)}}function MN(e){if(EP(e)){var t=e._fullLayout._activeSelectionIndex;t>=0&&(Fce(e),delete e._fullLayout._activeSelectionIndex,MP(e))}}});var Vce=ye((Tnr,Uce)=>{function Zct(){var e,t=0,r=!1;function n(i,a){return e.list.push({type:i,data:a?JSON.parse(JSON.stringify(a)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(i,a){return n("check",{seg1:i,seg2:a})},segmentChop:function(i,a){return n("div_seg",{seg:i,pt:a}),n("chop",{seg:i,pt:a})},statusRemove:function(i){return n("pop_seg",{seg:i})},segmentUpdate:function(i){return n("seg_update",{seg:i})},segmentNew:function(i,a){return n("new_seg",{seg:i,primary:a})},segmentRemove:function(i){return n("rem_seg",{seg:i})},tempStatus:function(i,a,o){return n("temp_status",{seg:i,above:a,below:o})},rewind:function(i){return n("rewind",{seg:i})},status:function(i,a,o){return n("status",{seg:i,above:a,below:o})},vert:function(i){return i===r?e:(r=i,n("vert",{x:i}))},log:function(i){return typeof i!="string"&&(i=JSON.stringify(i,!1," ")),n("log",{txt:i})},reset:function(){return n("reset")},selected:function(i){return n("selected",{segs:i})},chainStart:function(i){return n("chain_start",{seg:i})},chainRemoveHead:function(i,a){return n("chain_rem_head",{index:i,pt:a})},chainRemoveTail:function(i,a){return n("chain_rem_tail",{index:i,pt:a})},chainNew:function(i,a){return n("chain_new",{pt1:i,pt2:a})},chainMatch:function(i){return n("chain_match",{index:i})},chainClose:function(i){return n("chain_close",{index:i})},chainAddHead:function(i,a){return n("chain_add_head",{index:i,pt:a})},chainAddTail:function(i,a){return n("chain_add_tail",{index:i,pt:a})},chainConnect:function(i,a){return n("chain_con",{index1:i,index2:a})},chainReverse:function(i){return n("chain_rev",{index:i})},chainJoin:function(i,a){return n("chain_join",{index1:i,index2:a})},done:function(){return n("done")}},e}Uce.exports=Zct});var Gce=ye((Anr,Hce)=>{function Xct(e){typeof e!="number"&&(e=1e-10);var t={epsilon:function(r){return typeof r=="number"&&(e=r),e},pointAboveOrOnLine:function(r,n,i){var a=n[0],o=n[1],s=i[0],l=i[1],u=r[0],c=r[1];return(s-a)*(c-o)-(l-o)*(u-a)>=-e},pointBetween:function(r,n,i){var a=r[1]-n[1],o=i[0]-n[0],s=r[0]-n[0],l=i[1]-n[1],u=s*o+a*l;if(u-e)},pointsSameX:function(r,n){return Math.abs(r[0]-n[0])e!=s-a>e&&(o-c)*(a-f)/(s-f)+c-i>e&&(l=!l),o=c,s=f}return l}};return t}Hce.exports=Xct});var Wce=ye((Snr,jce)=>{var Yct={create:function(){var e={root:{root:!0,next:null},exists:function(t){return!(t===null||t===e.root)},isEmpty:function(){return e.root.next===null},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var n=e.root,i=e.root.next;i!==null;){if(r(i)){t.prev=i.prev,t.next=i,i.prev.next=t,i.prev=t;return}n=i,i=i.next}n.next=t,t.prev=n,t.next=null},findTransition:function(t){for(var r=e.root,n=e.root.next;n!==null&&!t(n);)r=n,n=n.next;return{before:r===e.root?null:r,after:n,insert:function(i){return i.prev=r,i.next=n,r.next=i,n!==null&&(n.prev=i),i}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}};jce.exports=Yct});var Xce=ye((Mnr,Zce)=>{var PM=Wce();function Kct(e,t,r){function n(d,_){return{id:r?r.segmentId():-1,start:d,end:_,myFill:{above:null,below:null},otherFill:null}}function i(d,_,b){return{id:r?r.segmentId():-1,start:d,end:_,myFill:{above:b.myFill.above,below:b.myFill.below},otherFill:null}}var a=PM.create();function o(d,_,b,p,E,k){var S=t.pointsCompare(_,E);return S!==0?S:t.pointsSame(b,k)?0:d!==p?d?1:-1:t.pointAboveOrOnLine(b,p?E:k,p?k:E)?1:-1}function s(d,_){a.insertBefore(d,function(b){var p=o(d.isStart,d.pt,_,b.isStart,b.pt,b.other.pt);return p<0})}function l(d,_){var b=PM.node({isStart:!0,pt:d.start,seg:d,primary:_,other:null,status:null});return s(b,d.end),b}function u(d,_,b){var p=PM.node({isStart:!1,pt:_.end,seg:_,primary:b,other:d,status:null});d.other=p,s(p,d.pt)}function c(d,_){var b=l(d,_);return u(b,d,_),b}function f(d,_){r&&r.segmentChop(d.seg,_),d.other.remove(),d.seg.end=_,d.other.pt=_,s(d.other,d.pt)}function h(d,_){var b=i(_,d.seg.end,d.seg);return f(d,_),c(b,d.primary)}function v(d,_){var b=PM.create();function p(H,X){var G=H.seg.start,N=H.seg.end,W=X.seg.start,re=X.seg.end;return t.pointsCollinear(G,W,re)?t.pointsCollinear(N,W,re)||t.pointAboveOrOnLine(N,W,re)?1:-1:t.pointAboveOrOnLine(G,W,re)?1:-1}function E(H){return b.findTransition(function(X){var G=p(H,X.ev);return G>0})}function k(H,X){var G=H.seg,N=X.seg,W=G.start,re=G.end,ae=N.start,_e=N.end;r&&r.checkIntersection(G,N);var Me=t.linesIntersect(W,re,ae,_e);if(Me===!1){if(!t.pointsCollinear(W,re,ae)||t.pointsSame(W,_e)||t.pointsSame(re,ae))return!1;var ke=t.pointsSame(W,ae),ge=t.pointsSame(re,_e);if(ke&&ge)return X;var ie=!ke&&t.pointBetween(W,ae,_e),Te=!ge&&t.pointBetween(re,ae,_e);if(ke)return Te?h(X,re):h(H,_e),X;ie&&(ge||(Te?h(X,re):h(H,_e)),h(X,W))}else Me.alongA===0&&(Me.alongB===-1?h(H,ae):Me.alongB===0?h(H,Me.pt):Me.alongB===1&&h(H,_e)),Me.alongB===0&&(Me.alongA===-1?h(X,W):Me.alongA===0?h(X,Me.pt):Me.alongA===1&&h(X,re));return!1}for(var S=[];!a.isEmpty();){var L=a.getHead();if(r&&r.vert(L.pt[0]),L.isStart){let H=function(){if(C){var X=k(L,C);if(X)return X}return M?k(L,M):!1};var V=H;r&&r.segmentNew(L.seg,L.primary);var x=E(L),C=x.before?x.before.ev:null,M=x.after?x.after.ev:null;r&&r.tempStatus(L.seg,C?C.seg:!1,M?M.seg:!1);var g=H();if(g){if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,P&&(g.seg.myFill.above=!g.seg.myFill.above)}else g.seg.otherFill=L.seg.myFill;r&&r.segmentUpdate(g.seg),L.other.remove(),L.remove()}if(a.getHead()!==L){r&&r.rewind(L.seg);continue}if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,M?L.seg.myFill.below=M.seg.myFill.above:L.seg.myFill.below=d,P?L.seg.myFill.above=!L.seg.myFill.below:L.seg.myFill.above=L.seg.myFill.below}else if(L.seg.otherFill===null){var T;M?L.primary===M.primary?T=M.seg.otherFill.above:T=M.seg.myFill.above:T=L.primary?_:d,L.seg.otherFill={above:T,below:T}}r&&r.status(L.seg,C?C.seg:!1,M?M.seg:!1),L.other.status=x.insert(PM.node({ev:L}))}else{var F=L.status;if(F===null)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(b.exists(F.prev)&&b.exists(F.next)&&k(F.prev.ev,F.next.ev),r&&r.statusRemove(F.ev.seg),F.remove(),!L.primary){var q=L.seg.myFill;L.seg.myFill=L.seg.otherFill,L.seg.otherFill=q}S.push(L.seg)}a.getHead().remove()}return r&&r.done(),S}return e?{addRegion:function(d){for(var _,b=d[d.length-1],p=0;p{function Jct(e,t,r){var n=[],i=[];return e.forEach(function(a){var o=a.start,s=a.end;if(t.pointsSame(o,s)){console.warn("PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large");return}r&&r.chainStart(a);var l={index:0,matches_head:!1,matches_pt1:!1},u={index:0,matches_head:!1,matches_pt1:!1},c=l;function f(V,H,X){return c.index=V,c.matches_head=H,c.matches_pt1=X,c===l?(c=u,!1):(c=null,!0)}for(var h=0;h{function IM(e,t,r){var n=[];return e.forEach(function(i){var a=(i.myFill.above?8:0)+(i.myFill.below?4:0)+(i.otherFill&&i.otherFill.above?2:0)+(i.otherFill&&i.otherFill.below?1:0);t[a]!==0&&n.push({id:r?r.segmentId():-1,start:i.start,end:i.end,myFill:{above:t[a]===1,below:t[a]===2},otherFill:null})}),r&&r.selected(n),n}var $ct={union:function(e,t){return IM(e,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],t)},intersect:function(e,t){return IM(e,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],t)},difference:function(e,t){return IM(e,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],t)},differenceRev:function(e,t){return IM(e,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],t)},xor:function(e,t){return IM(e,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],t)}};Jce.exports=$ct});var efe=ye((Cnr,Qce)=>{var Qct={toPolygon:function(e,t){function r(a){if(a.length<=0)return e.segments({inverted:!1,regions:[]});function o(u){var c=u.slice(0,u.length-1);return e.segments({inverted:!1,regions:[c]})}for(var s=o(a[0]),l=1;l{var eft=Vce(),tft=Gce(),tfe=Xce(),rft=Kce(),DM=$ce(),rfe=efe(),L0=!1,RM=tft(),Pp;Pp={buildLog:function(e){return e===!0?L0=eft():e===!1&&(L0=!1),L0===!1?!1:L0.list},epsilon:function(e){return RM.epsilon(e)},segments:function(e){var t=tfe(!0,RM,L0);return e.regions.forEach(t.addRegion),{segments:t.calculate(e.inverted),inverted:e.inverted}},combine:function(e,t){var r=tfe(!1,RM,L0);return{combined:r.calculate(e.segments,e.inverted,t.segments,t.inverted),inverted1:e.inverted,inverted2:t.inverted}},selectUnion:function(e){return{segments:DM.union(e.combined,L0),inverted:e.inverted1||e.inverted2}},selectIntersect:function(e){return{segments:DM.intersect(e.combined,L0),inverted:e.inverted1&&e.inverted2}},selectDifference:function(e){return{segments:DM.difference(e.combined,L0),inverted:e.inverted1&&!e.inverted2}},selectDifferenceRev:function(e){return{segments:DM.differenceRev(e.combined,L0),inverted:!e.inverted1&&e.inverted2}},selectXor:function(e){return{segments:DM.xor(e.combined,L0),inverted:e.inverted1!==e.inverted2}},polygon:function(e){return{regions:rft(e.segments,RM,L0),inverted:e.inverted}},polygonFromGeoJSON:function(e){return rfe.toPolygon(Pp,e)},polygonToGeoJSON:function(e){return rfe.fromPolygon(Pp,RM,e)},union:function(e,t){return zM(e,t,Pp.selectUnion)},intersect:function(e,t){return zM(e,t,Pp.selectIntersect)},difference:function(e,t){return zM(e,t,Pp.selectDifference)},differenceRev:function(e,t){return zM(e,t,Pp.selectDifferenceRev)},xor:function(e,t){return zM(e,t,Pp.selectXor)}};function zM(e,t,r){var n=Pp.segments(e),i=Pp.segments(t),a=Pp.combine(n,i),o=r(a);return Pp.polygon(o)}typeof window=="object"&&(window.PolyBool=Pp);ife.exports=Pp});var ofe=ye((Pnr,afe)=>{afe.exports=function(t,r,n,i){var a=t[0],o=t[1],s=!1;n===void 0&&(n=0),i===void 0&&(i=r.length);for(var l=i-n,u=0,c=l-1;uo!=d>o&&a<(v-f)*(o-h)/(d-h)+f;_&&(s=!s)}return s}});var FM=ye((Inr,sfe)=>{"use strict";var kN=z6().dot,kP=Yo().BADNUM,CP=sfe.exports={};CP.tester=function(t){var r=t.slice(),n=r[0][0],i=n,a=r[0][1],o=a,s;for((r[r.length-1][0]!==r[0][0]||r[r.length-1][1]!==r[0][1])&&r.push(r[0]),s=1;si||p===kP||po||_&&u(d))}function f(d,_){var b=d[0],p=d[1];if(b===kP||bi||p===kP||po)return!1;var E=r.length,k=r[0][0],S=r[0][1],L=0,x,C,M,g,P;for(x=1;xMath.max(C,k)||p>Math.max(M,S)))if(ps||Math.abs(kN(f,u))>i)return!0;return!1};CP.filter=function(t,r){var n=[t[0]],i=0,a=0;function o(l){t.push(l);var u=n.length,c=i;n.splice(a+1);for(var f=c+1;f1){var s=t.pop();o(s)}return{addPt:o,raw:t,filtered:n}}});var ufe=ye((Dnr,lfe)=>{"use strict";lfe.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:"-select"}});var Pfe=ye((Rnr,Lfe)=>{"use strict";var cfe=nfe(),ift=ofe(),BM=ya(),nft=ao().dashStyle,qM=va(),aft=Nc(),oft=np().makeEventData,GM=Eg(),sft=GM.freeMode,lft=GM.rectMode,NM=GM.drawMode,IN=GM.openMode,DN=GM.selectMode,ffe=y_(),hfe=AM(),mfe=mP(),yfe=n_().clearOutline,_fe=g_(),CN=_fe.handleEllipse,uft=_fe.readPaths,cft=dP().newShapes,fft=rN(),hft=EN().activateLastSelection,PP=Ar(),dft=PP.sorterAsc,xfe=FM(),OM=K6(),P0=af().getFromId,vft=wM(),pft=LM().redrawReglTraces,IP=ufe(),Em=IP.MINSELECT,gft=xfe.filter,RN=xfe.tester,zN=uP(),dfe=zN.p2r,mft=zN.axValue,yft=zN.getTransform;function FN(e){return e.subplot!==void 0}function _ft(e,t,r,n,i){var a=!FN(n),o=sft(i),s=lft(i),l=IN(i),u=NM(i),c=DN(i),f=i==="drawline",h=i==="drawcircle",v=f||h,d=n.gd,_=d._fullLayout,b=c&&_.newselection.mode==="immediate"&&a,p=_._zoomlayer,E=n.element.getBoundingClientRect(),k=n.plotinfo,S=yft(k),L=t-E.left,x=r-E.top;_._calcInverseTransform(d);var C=PP.apply3DTransform(_._invTransform)(L,x);L=C[0],x=C[1];var M=_._invScaleX,g=_._invScaleY,P=L,T=x,F="M"+L+","+x,q=n.xaxes[0],V=n.yaxes[0],H=q._length,X=V._length,G=e.altKey&&!(NM(i)&&l),N,W,re,ae,_e,Me,ke;wfe(e,d,n),o&&(N=gft([[L,x]],IP.BENDPX));var ge=p.selectAll("path.select-outline-"+k.id).data([1]),ie=u?_.newshape:_.newselection;u&&(n.hasText=ie.label.text||ie.label.texttemplate);var Te=u&&!l?ie.fillcolor:"rgba(0,0,0,0)",Ee=ie.line.color||(a?qM.contrast(d._fullLayout.plot_bgcolor):"#7f7f7f");ge.enter().append("path").attr("class","select-outline select-outline-"+k.id).style({opacity:u?ie.opacity/2:1,"stroke-dasharray":nft(ie.line.dash,ie.line.width),"stroke-width":ie.line.width+"px","shape-rendering":"crispEdges"}).call(qM.stroke,Ee).call(qM.fill,Te).attr("fill-rule","evenodd").classed("cursor-move",!!u).attr("transform",S).attr("d",F+"Z");var Ae=p.append("path").attr("class","zoombox-corners").style({fill:qM.background,stroke:qM.defaultLine,"stroke-width":1}).attr("transform",S).attr("d","M0,0Z");if(u&&n.hasText){var ze=p.select(".label-temp");ze.empty()&&(ze=p.append("g").classed("label-temp",!0).classed("select-outline",!0).style({opacity:.8}))}var Ce=_._uid+IP.SELECTID,me=[],De=DP(d,n.xaxes,n.yaxes,n.subplot);b&&!e.shiftKey&&(n._clearSubplotSelections=function(){if(a){var Ge=q._id,nt=V._id;Efe(d,Ge,nt,De);for(var ct=(d.layout||{}).selections||[],qt=[],rt=!1,ot=0;ot=0){d._fullLayout._deactivateShape(d);return}if(!u){var ct=_.clickmode;OM.done(Ce).then(function(){if(OM.clear(Ce),Ge===2){for(ge.remove(),_e=0;_e-1&&bfe(nt,d,n.xaxes,n.yaxes,n.subplot,n,ge),ct==="event"&&HM(d,void 0);aft.click(d,nt,k.id)}).catch(PP.error)}},n.doneFn=function(){Ae.remove(),OM.done(Ce).then(function(){OM.clear(Ce),!b&&ae&&n.selectionDefs&&(ae.subtract=G,n.selectionDefs.push(ae),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,re)),(b||u)&&UM(n,b),n.doneFnCompleted&&n.doneFnCompleted(me),c&&HM(d,ke)}).catch(PP.error)}}function bfe(e,t,r,n,i,a,o){var s=t._hoverdata,l=t._fullLayout,u=l.clickmode,c=u.indexOf("event")>-1,f=[],h,v,d,_,b,p,E,k,S,L;if(Aft(s)){wfe(e,t,a),h=DP(t,r,n,i);var x=Sft(s,h),C=x.pointNumbers.length>0;if(C?Mft(h,x):Eft(h)&&(E=pfe(x))){for(o&&o.remove(),L=0;L=0}function Tft(e){return e._fullLayout._activeSelectionIndex>=0}function UM(e,t){var r=e.dragmode,n=e.plotinfo,i=e.gd;wft(i)&&i._fullLayout._deactivateShape(i),Tft(i)&&i._fullLayout._deactivateSelection(i);var a=i._fullLayout,o=a._zoomlayer,s=NM(r),l=DN(r);if(s||l){var u=o.selectAll(".select-outline-"+n.id);if(u&&i._fullLayout._outlining){var c;s&&(c=cft(u,e)),c&&BM.call("_guiRelayout",i,{shapes:c});var f;l&&!FN(e)&&(f=fft(u,e)),f&&(i._fullLayout._noEmitSelectedAtStart=!0,BM.call("_guiRelayout",i,{selections:f}).then(function(){t&&hft(i)})),i._fullLayout._outlining=!1}}n.selection={},n.selection.selectionDefs=e.selectionDefs=[],n.selection.mergedPolygons=e.mergedPolygons=[]}function vfe(e){return e._id}function DP(e,t,r,n){if(!e.calcdata)return[];var i=[],a=t.map(vfe),o=r.map(vfe),s,l,u;for(u=0;u0,a=i?n[0]:r;return t.selectedpoints?t.selectedpoints.indexOf(a)>-1:!1}function Mft(e,t){var r=[],n,i,a,o;for(o=0;o0&&r.push(n);if(r.length===1&&(a=r[0]===t.searchInfo,a&&(i=t.searchInfo.cd[0].trace,i.selectedpoints.length===t.pointNumbers.length))){for(o=0;o1||(t+=n.selectedpoints.length,t>1)))return!1;return t===1}function VM(e,t,r){var n;for(n=0;n-1&&t;if(!o&&t){var Ge=gfe(e,!0);if(Ge.length){var nt=Ge[0].xref,ct=Ge[0].yref;if(nt&&ct){var qt=kfe(Ge),rt=Cfe([P0(e,nt,"x"),P0(e,ct,"y")]);rt(me,qt)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:ce&&HM(e,me),h._reselect=!1}if(!o&&h._deselect){var ot=h._deselect;s=ot.xref,l=ot.yref,Lft(s,l,c)||Efe(e,s,l,n),ce&&(me.points.length?HM(e,me):BN(e)),h._deselect=!1}return{eventData:me,selectionTesters:r}}function Cft(e){var t=e.calcdata;if(t)for(var r=0;r{"use strict";Ife.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]});var jM=ye((Fnr,Dfe)=>{"use strict";Dfe.exports={axisRefDescription:function(e,t,r){return["If set to a",e,"axis id (e.g. *"+e+"* or","*"+e+"2*), the `"+e+"` position refers to a",e,"coordinate. If set to *paper*, the `"+e+"`","position refers to the distance from the",t,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",t,"("+r+"). If set to a",e,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",t,"of the domain of that axis: e.g.,","*"+e+"2 domain* refers to the domain of the second",e," axis and a",e,"position of 0.5 refers to the","point between the",t,"and the",r,"of the domain of the","second",e,"axis."].join(" ")}}});var Kb=ye((Onr,Ffe)=>{"use strict";var Rfe=NN(),zfe=Su(),RP=sd(),zft=Vs().templatedArray,qnr=jM();Ffe.exports=zft("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:zfe({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:Rfe.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:Rfe.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",RP.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",RP.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",RP.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",RP.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:zfe({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc"})});var km=ye((Bnr,qfe)=>{"use strict";qfe.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}});var Cg=ye((Nnr,Ofe)=>{"use strict";Ofe.exports=function(t){return{valType:"color",editType:"style",anim:!0}}});var Uc=ye((Unr,Gfe)=>{"use strict";var Bfe=Oc().axisHoverFormat,Fft=Wo().texttemplateAttrs,qft=Wo().hovertemplateAttrs,Nfe=Kl(),Oft=Su(),Bft=kd().dash,Nft=kd().pattern,Uft=ao(),Vft=km(),zP=no().extendFlat,Hft=Cg();function Ufe(e){return{valType:"any",dflt:0,editType:"calc"}}function Vfe(e){return{valType:"any",editType:"calc"}}function Hfe(e){return{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"}}Gfe.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dx:{valType:"number",dflt:1,editType:"calc",anim:!0},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dy:{valType:"number",dflt:1,editType:"calc",anim:!0},xperiod:Ufe("x"),yperiod:Ufe("y"),xperiod0:Vfe("x0"),yperiod0:Vfe("y0"),xperiodalignment:Hfe("x"),yperiodalignment:Hfe("y"),xhoverformat:Bfe("x"),yhoverformat:Bfe("y"),offsetgroup:{valType:"string",dflt:"",editType:"calc"},alignmentgroup:{valType:"string",dflt:"",editType:"calc"},stackgroup:{valType:"string",dflt:"",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc"},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},texttemplate:Fft({},{}),hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc"},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style"},hovertemplate:qft({},{keys:Vft.eventDataKeys}),line:{color:{valType:"color",editType:"style",anim:!0},width:{valType:"number",min:0,dflt:2,editType:"style",anim:!0},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot"},dash:zP({},Bft,{editType:"style"}),backoff:{valType:"number",min:0,dflt:"auto",arrayOk:!0,editType:"plot"},simplify:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot"},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc"},fillcolor:Hft(!0),fillgradient:zP({type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],dflt:"none",editType:"calc"},start:{valType:"number",editType:"calc"},stop:{valType:"number",editType:"calc"},colorscale:{valType:"colorscale",editType:"style"},editType:"calc"}),fillpattern:Nft,marker:zP({symbol:{valType:"enumerated",values:Uft.symbolList,dflt:"circle",arrayOk:!0,editType:"style"},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0},angle:{valType:"angle",dflt:0,arrayOk:!0,editType:"plot",anim:!1},angleref:{valType:"enumerated",values:["previous","up"],dflt:"up",editType:"plot",anim:!1},standoff:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"plot",anim:!0},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot"},sizeref:{valType:"number",dflt:1,editType:"calc"},sizemin:{valType:"number",min:0,dflt:0,editType:"calc"},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc"},line:zP({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0},editType:"calc"},Nfe("marker.line",{anim:!0})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc"},color:{valType:"color",arrayOk:!0,editType:"calc"},editType:"calc"},editType:"calc"},Nfe("marker",{anim:!0})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc"},textfont:Oft({editType:"calc",colorEditType:"style",arrayOk:!0}),zorder:{valType:"integer",dflt:0,editType:"plot"}}});var UN=ye((Hnr,Zfe)=>{"use strict";var jfe=Kb(),Wfe=Uc().line,Gft=kd().dash,FP=no().extendFlat,jft=Bu().overrideAll,Wft=Vs().templatedArray,Vnr=jM();Zfe.exports=jft(Wft("selection",{type:{valType:"enumerated",values:["rect","path"]},xref:FP({},jfe.xref,{}),yref:FP({},jfe.yref,{}),x0:{valType:"any"},x1:{valType:"any"},y0:{valType:"any"},y1:{valType:"any"},path:{valType:"string",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:.7,editType:"arraydraw"},line:{color:Wfe.color,width:FP({},Wfe.width,{min:1,dflt:1}),dash:FP({},Gft,{dflt:"dot"})}}),"arraydraw","from-root")});var Jfe=ye((Gnr,Kfe)=>{"use strict";var Xfe=Ar(),qP=Xa(),Zft=Xd(),Xft=UN(),Yfe=y_();Kfe.exports=function(t,r){Zft(t,r,{name:"selections",handleItemDefaults:Yft});for(var n=r.selections,i=0;i{"use strict";$fe.exports=function(t,r,n){n("newselection.mode");var i=n("newselection.line.width");i&&(n("newselection.line.color"),n("newselection.line.dash")),n("activeselection.fillcolor"),n("activeselection.opacity")}});var WM=ye((Wnr,rhe)=>{"use strict";var Kft=ya(),ehe=Ar(),the=af();rhe.exports=function(t){return function(n,i){var a=n[t];if(Array.isArray(a))for(var o=Kft.subplotsRegistry.cartesian,s=o.idRegex,l=i._subplots,u=l.xaxis,c=l.yaxis,f=l.cartesian,h=i._has("cartesian"),v=0;v{"use strict";var ihe=EN(),ZM=Pfe();nhe.exports={moduleType:"component",name:"selections",layoutAttributes:UN(),supplyLayoutDefaults:Jfe(),supplyDrawNewSelectionDefaults:Qfe(),includeBasePlot:WM()("selections"),draw:ihe.draw,drawOne:ihe.drawOne,reselect:ZM.reselect,prepSelect:ZM.prepSelect,clearOutline:ZM.clearOutline,clearSelectionsCache:ZM.clearSelectionsCache,selectOnClick:ZM.selectOnClick}});var XN=ye((Xnr,Ahe)=>{"use strict";var WN=ba(),I0=Ar(),ahe=I0.numberFormat,Jft=ad(),$ft=WL(),OP=ya(),vhe=I0.strTranslate,Qft=Ll(),ohe=va(),x_=ao(),eht=Nc(),she=Xa(),tht=Sg(),rht=yv(),phe=Eg(),BP=phe.selectingOrDrawing,iht=phe.freeMode,nht=Vh().FROM_TL,aht=wM(),oht=LM().redrawReglTraces,sht=Nu(),HN=af().getFromId,lht=wf().prepSelect,uht=wf().clearOutline,cht=wf().selectOnClick,VN=_N(),ZN=sd(),lhe=ZN.MINDRAG,op=ZN.MINZOOM,uhe=!0;function fht(e,t,r,n,i,a,o,s){var l=e._fullLayout._zoomlayer,u=o+s==="nsew",c=(o+s).length===1,f,h,v,d,_,b,p,E,k,S,L,x,C,M,g,P,T,F,q,V,H,X,G;r+=t.yaxis._shift;function N(){if(f=t.xaxis,h=t.yaxis,k=f._length,S=h._length,p=f._offset,E=h._offset,v={},v[f._id]=f,d={},d[h._id]=h,o&&s)for(var Et=t.overlays,dt=0;dt=0){Ht._fullLayout._deactivateShape(Ht);return}var $t=Ht._fullLayout.clickmode;if(jN(Ht),Et===2&&!c&&er(),u)$t.indexOf("select")>-1&&cht(dt,Ht,_,b,t.id,ae),$t.indexOf("event")>-1&&eht.click(Ht,dt,t.id);else if(Et===1&&c){var fr=o?h:f,xr=o==="s"||s==="w"?0:1,Br=fr._name+".range["+xr+"]",Or=hht(fr,xr),Nr="left",ut="middle";if(fr.fixedrange)return;o?(ut=o==="n"?"top":"bottom",fr.side==="right"&&(Nr="right")):s==="e"&&(Nr="right"),Ht._context.showAxisRangeEntryBoxes&&WN.select(re).call(Qft.makeEditable,{gd:Ht,immediate:!0,background:Ht._fullLayout.paper_bgcolor,text:String(Or),fill:fr.tickfont?fr.tickfont.color:"#444",horizontalAlign:Nr,verticalAlign:ut}).on("edit",function(Ne){var Ye=fr.d2r(Ne);Ye!==void 0&&OP.call("_guiRelayout",Ht,Br,Ye)})}}rht.init(ae);var ke,ge,ie,Te,Ee,Ae,ze,Ce,me,De;function ce(Et,dt,Ht){var $t=re.getBoundingClientRect();ke=dt-$t.left,ge=Ht-$t.top,e._fullLayout._calcInverseTransform(e);var fr=I0.apply3DTransform(e._fullLayout._invTransform)(ke,ge);ke=fr[0],ge=fr[1],ie={l:ke,r:ke,w:0,t:ge,b:ge,h:0},Te=e._hmpixcount?e._hmlumcount/e._hmpixcount:Jft(e._fullLayout.plot_bgcolor).getLuminance(),Ee="M0,0H"+k+"V"+S+"H0V0",Ae=!1,ze="xy",De=!1,Ce=yhe(l,Te,p,E,Ee),me=_he(l,p,E)}function Ge(Et,dt){if(e._transitioningWithDuration)return!1;var Ht=Math.max(0,Math.min(k,X*Et+ke)),$t=Math.max(0,Math.min(S,G*dt+ge)),fr=Math.abs(Ht-ke),xr=Math.abs($t-ge);ie.l=Math.min(ke,Ht),ie.r=Math.max(ke,Ht),ie.t=Math.min(ge,$t),ie.b=Math.max(ge,$t);function Br(){ze="",ie.r=ie.l,ie.t=ie.b,me.attr("d","M0,0Z")}if(L.isSubplotConstrained)fr>op||xr>op?(ze="xy",fr/k>xr/S?(xr=fr*S/k,ge>$t?ie.t=ge-xr:ie.b=ge+xr):(fr=xr*k/S,ke>Ht?ie.l=ke-fr:ie.r=ke+fr),me.attr("d",NP(ie))):Br();else if(x.isSubplotConstrained)if(fr>op||xr>op){ze="xy";var Or=Math.min(ie.l/k,(S-ie.b)/S),Nr=Math.max(ie.r/k,(S-ie.t)/S);ie.l=Or*k,ie.r=Nr*k,ie.b=(1-Or)*S,ie.t=(1-Nr)*S,me.attr("d",NP(ie))}else Br();else!M||xr0){var Ne;if(x.isSubplotConstrained||!C&&M.length===1){for(Ne=0;Ne<_.length;Ne++)_[Ne].range=_[Ne]._r.slice(),VN(_[Ne],1-dt/S);Et=dt*k/S,Nr=Et/2}if(x.isSubplotConstrained||!M&&C.length===1){for(Ne=0;Ne1&&(Br.maxallowed!==void 0&&P===(Br.range[0]1&&(Or.maxallowed!==void 0&&T===(Or.range[0]=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function vht(e,t,r){return e?e==="nsew"?r?"":t==="pan"?"move":"crosshair":e.toLowerCase()+"-resize":"pointer"}function yhe(e,t,r,n,i){return e.append("path").attr("class","zoombox").style({fill:t>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",vhe(r,n)).attr("d",i+"Z")}function _he(e,t,r){return e.append("path").attr("class","zoombox-corners").style({fill:ohe.background,stroke:ohe.defaultLine,"stroke-width":1,opacity:0}).attr("transform",vhe(t,r)).attr("d","M0,0Z")}function xhe(e,t,r,n,i,a){e.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),bhe(e,t,i,a)}function bhe(e,t,r,n){r||(e.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),t.transition().style("opacity",1).duration(200))}function jN(e){WN.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function whe(e){uhe&&e.data&&e._context.showTips&&(I0.notifier(I0._(e,"Double-click to zoom back out"),"long"),uhe=!1)}function pht(e,t){return"M"+(e.l-.5)+","+(t-op-.5)+"h-3v"+(2*op+1)+"h3ZM"+(e.r+.5)+","+(t-op-.5)+"h3v"+(2*op+1)+"h-3Z"}function ght(e,t){return"M"+(t-op-.5)+","+(e.t-.5)+"v-3h"+(2*op+1)+"v3ZM"+(t-op-.5)+","+(e.b+.5)+"v3h"+(2*op+1)+"v-3Z"}function NP(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,op)/2);return"M"+(e.l-3.5)+","+(e.t-.5+t)+"h3v"+-t+"h"+t+"v-3h-"+(t+3)+"ZM"+(e.r+3.5)+","+(e.t-.5+t)+"h-3v"+-t+"h"+-t+"v-3h"+(t+3)+"ZM"+(e.r+3.5)+","+(e.b+.5-t)+"h-3v"+t+"h"+-t+"v3h"+(t+3)+"ZM"+(e.l-3.5)+","+(e.b+.5-t)+"h3v"+t+"h"+t+"v3h-"+(t+3)+"Z"}function hhe(e,t,r,n,i){for(var a=!1,o={},s={},l,u,c,f,h=(i||{}).xaHash,v=(i||{}).yaHash,d=0;d{"use strict";var mht=ba(),UP=Nc(),yht=yv(),_ht=Sg(),Lg=XN().makeDragBox,fd=sd().DRAGGERSIZE;VP.initInteractions=function(t){var r=t._fullLayout;if(t._context.staticPlot){mht.select(t).selectAll(".drag").remove();return}if(!(!r._has("cartesian")&&!r._has("splom"))){var n=Object.keys(r._plots||{}).sort(function(a,o){if((r._plots[a].mainplot&&!0)===(r._plots[o].mainplot&&!0)){var s=a.split("y"),l=o.split("y");return s[0]===l[0]?Number(s[1]||1)-Number(l[1]||1):Number(s[0]||1)-Number(l[0]||1)}return r._plots[a].mainplot?1:-1});n.forEach(function(a){var o=r._plots[a],s=o.xaxis,l=o.yaxis;if(!o.mainplot){var u=Lg(t,o,s._offset,l._offset,s._length,l._length,"ns","ew");u.onmousemove=function(h){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===a&&t._fullLayout._plots[a]&&UP.hover(t,h,a)},UP.hover(t,h,a),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=a},u.onmouseout=function(h){t._dragging||(t._fullLayout._hoversubplot=null,yht.unhover(t,h))},t._context.showAxisDragHandles&&(Lg(t,o,s._offset-fd,l._offset-fd,fd,fd,"n","w"),Lg(t,o,s._offset+s._length,l._offset-fd,fd,fd,"n","e"),Lg(t,o,s._offset-fd,l._offset+l._length,fd,fd,"s","w"),Lg(t,o,s._offset+s._length,l._offset+l._length,fd,fd,"s","e"))}if(t._context.showAxisDragHandles){if(a===s._mainSubplot){var c=s._mainLinePosition;s.side==="top"&&(c-=fd),Lg(t,o,s._offset+s._length*.1,c,s._length*.8,fd,"","ew"),Lg(t,o,s._offset,c,s._length*.1,fd,"","w"),Lg(t,o,s._offset+s._length*.9,c,s._length*.1,fd,"","e")}if(a===l._mainSubplot){var f=l._mainLinePosition;l.side!=="right"&&(f-=fd),Lg(t,o,f,l._offset+l._length*.1,fd,l._length*.8,"ns",""),Lg(t,o,f,l._offset+l._length*.9,fd,l._length*.1,"s",""),Lg(t,o,f,l._offset,fd,l._length*.1,"n","")}}});var i=r._hoverlayer.node();i.onmousemove=function(a){a.target=t._fullLayout._lasthover,UP.hover(t,a,r._hoversubplot)},i.onclick=function(a){a.target=t._fullLayout._lasthover,UP.click(t,a)},i.onmousedown=function(a){t._fullLayout._lasthover.onmousedown(a)},VP.updateFx(t)}};VP.updateFx=function(e){var t=e._fullLayout,r=t.dragmode==="pan"?"move":"crosshair";_ht(t._draggers,r)}});var Ehe=ye((Knr,Mhe)=>{"use strict";var She=ya();Mhe.exports=function(t){for(var r=She.layoutArrayContainers,n=She.layoutArrayRegexes,i=t.split("[")[0],a,o,s=0;s{"use strict";var xht=yy(),KN=R6(),XM=Z1(),bht=Z6().sorterAsc,JN=ya();YM.containerArrayMatch=Ehe();var wht=YM.isAddVal=function(t){return t==="add"||xht(t)},khe=YM.isRemoveVal=function(t){return t===null||t==="remove"};YM.applyContainerArrayChanges=function(t,r,n,i,a){var o=r.astr,s=JN.getComponentMethod(o,"supplyLayoutDefaults"),l=JN.getComponentMethod(o,"draw"),u=JN.getComponentMethod(o,"drawOne"),c=i.replot||i.recalc||s===KN||l===KN,f=t.layout,h=t._fullLayout;if(n[""]){Object.keys(n).length>1&&XM.warn("Full array edits are incompatible with other edits",o);var v=n[""][""];if(khe(v))r.set(null);else if(Array.isArray(v))r.set(v);else return XM.warn("Unrecognized full array edit value",o,v),!0;return c?!1:(s(f,h),l(t),!0)}var d=Object.keys(n).map(Number).sort(bht),_=r.get(),b=_||[],p=a(h,o).get(),E=[],k=-1,S=b.length,L,x,C,M,g,P,T,F;for(L=0;Lb.length-(T?0:1)){XM.warn("index out of range",o,C);continue}if(P!==void 0)g.length>1&&XM.warn("Insertion & removal are incompatible with edits to the same index.",o,C),khe(P)?E.push(C):T?(P==="add"&&(P={}),b.splice(C,0,P),p&&p.splice(C,0,{})):XM.warn("Unrecognized full object edit value",o,C,P),k===-1&&(k=C);else for(x=0;x=0;L--)b.splice(E[L],1),p&&p.splice(E[L],1);if(b.length?_||r.set(b):r.set(null),c)return!1;if(s(f,h),u!==KN){var q;if(k===-1)q=d;else{for(S=Math.max(b.length,S),q=[],L=0;L=k));L++)q.push(C);for(L=k;L{"use strict";var Dhe=uo(),$nr=Gq(),Rhe=ya(),sp=Ar(),KM=Nu(),zhe=af(),Fhe=va(),JM=zhe.cleanId,Tht=zhe.getFromTrace,$N=Rhe.traceIs;Pg.clearPromiseQueue=function(e){Array.isArray(e._promises)&&e._promises.length>0&&sp.log("Clearing previous rejected promises from queue."),e._promises=[]};Pg.cleanLayout=function(e){var t,r;e||(e={}),e.xaxis1&&(e.xaxis||(e.xaxis=e.xaxis1),delete e.xaxis1),e.yaxis1&&(e.yaxis||(e.yaxis=e.yaxis1),delete e.yaxis1),e.scene1&&(e.scene||(e.scene=e.scene1),delete e.scene1);var n=(KM.subplotsRegistry.cartesian||{}).attrRegex,i=(KM.subplotsRegistry.polar||{}).attrRegex,a=(KM.subplotsRegistry.ternary||{}).attrRegex,o=(KM.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(e);for(t=0;t3?(b.x=1.02,b.xanchor="left"):b.x<-2&&(b.x=-.02,b.xanchor="right"),b.y>3?(b.y=1.02,b.yanchor="bottom"):b.y<-2&&(b.y=-.02,b.yanchor="top")),e.dragmode==="rotate"&&(e.dragmode="orbit"),Fhe.clean(e),e.template&&e.template.layout&&Pg.cleanLayout(e.template.layout),e};function aT(e,t){var r=e[t],n=t.charAt(0);r&&r!=="paper"&&(e[t]=JM(r,n,!0))}Pg.cleanData=function(e){for(var t=0;t0)return e.substr(0,t)}Pg.hasParent=function(e,t){for(var r=Ihe(t);r;){if(r in e)return!0;r=Ihe(r)}return!1};var Mht=["x","y","z"];Pg.clearAxisTypes=function(e,t,r){for(var n=0;n{"use strict";var WP=ba(),Eht=uo(),kht=fO(),la=Ar(),Vu=la.nestedProperty,tU=C3(),lp=xne(),D0=ya(),QP=r_(),Oo=Nu(),Vv=Xa(),Cht=EB(),Lht=Ld(),QN=ao(),Pht=va(),Iht=YN().initInteractions,Dht=Kp(),Rht=wf().clearOutline,Vhe=yb().dfltConfig,GP=Che(),xh=qhe(),Jl=LM(),b_=Bu(),zht=sd().AX_NAME_PATTERN,eU=0,Ohe=5;function Fht(e,t,r,n){var i;if(e=la.getGraphDiv(e),tU.init(e),la.isPlainObject(t)){var a=t;t=a.data,r=a.layout,n=a.config,i=a.frames}var o=tU.triggerHandler(e,"plotly_beforeplot",[t,r,n]);if(o===!1)return Promise.reject();!t&&!r&&!la.isPlotDiv(e)&&la.warn("Calling _doPlot as if redrawing but this container doesn't yet have a plot.",e);function s(){if(i)return pl.addFrames(e,i)}Ghe(e,n),r||(r={}),WP.select(e).classed("js-plotly-plot",!0),QN.makeTester(),Array.isArray(e._promises)||(e._promises=[]);var l=(e.data||[]).length===0&&Array.isArray(t);Array.isArray(t)&&(xh.cleanData(t),l?e.data=t:e.data.push.apply(e.data,t),e.empty=!1),(!e.layout||l)&&(e.layout=xh.cleanLayout(r)),Oo.supplyDefaults(e);var u=e._fullLayout,c=u._has("cartesian");u._replotting=!0,(l||u._shouldCreateBgLayer)&&(ndt(e),u._shouldCreateBgLayer&&delete u._shouldCreateBgLayer),QN.initGradients(e),QN.initPatterns(e),l&&Vv.saveShowSpikeInitial(e);var f=!e.calcdata||e.calcdata.length!==(e._fullData||[]).length;f&&Oo.doCalcdata(e);for(var h=0;h=e.data.length||i<-e.data.length)throw new Error(r+" must be valid indices for gd.data.");if(t.indexOf(i,n+1)>-1||i>=0&&t.indexOf(-e.data.length+i)>-1||i<0&&t.indexOf(e.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function jhe(e,t,r){if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t=="undefined")throw new Error("currentIndices is a required argument.");if(Array.isArray(t)||(t=[t]),XP(e,t,"currentIndices"),typeof r!="undefined"&&!Array.isArray(r)&&(r=[r]),typeof r!="undefined"&&XP(e,r,"newIndices"),typeof r!="undefined"&&t.length!==r.length)throw new Error("current and new indices must be of equal length.")}function Uht(e,t,r){var n,i;if(!Array.isArray(e.data))throw new Error("gd.data must be an array.");if(typeof t=="undefined")throw new Error("traces must be defined.");for(Array.isArray(t)||(t=[t]),n=0;n=0&&c=0&&c0&&typeof M.parts[T]!="string";)T--;var F=M.parts[T],q=M.parts[T-1]+"."+F,V=M.parts.slice(0,T).join("."),H=Vu(e.layout,V).get(),X=Vu(n,V).get(),G=M.get();if(g!==void 0){p[C]=g,E[C]=F==="reverse"?g:Iy(G);var N=QP.getLayoutValObject(n,M.parts);if(N&&N.impliedEdits&&g!==null)for(var W in N.impliedEdits)k(la.relativeAttr(C,W),N.impliedEdits[W]);if(["width","height"].indexOf(C)!==-1)if(g){k("autosize",null);var re=C==="height"?"width":"height";k(re,n[re])}else n[C]=e._initialAutoSize[C];else if(C==="autosize")k("width",g?null:n.width),k("height",g?null:n.height);else if(q.match(ede))x(q),Vu(n,V+"._inputRange").set(null);else if(q.match(tde)){x(q),Vu(n,V+"._inputRange").set(null);var ae=Vu(n,V).get();ae._inputDomain&&(ae._input.domain=ae._inputDomain.slice())}else q.match(rde)&&Vu(n,V+"._inputDomain").set(null);if(F==="type"){L=H;var _e=X.type==="linear"&&g==="log",Me=X.type==="log"&&g==="linear";if(_e||Me){if(!L||!L.range)k(V+".autorange",!0);else if(X.autorange)_e&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var ke=L.range[0],ge=L.range[1];_e?(ke<=0&&ge<=0&&k(V+".autorange",!0),ke<=0?ke=ge/1e6:ge<=0&&(ge=ke/1e6),k(V+".range[0]",Math.log(ke)/Math.LN10),k(V+".range[1]",Math.log(ge)/Math.LN10)):(k(V+".range[0]",Math.pow(10,ke)),k(V+".range[1]",Math.pow(10,ge)))}Array.isArray(n._subplots.polar)&&n._subplots.polar.length&&n[M.parts[0]]&&M.parts[1]==="radialaxis"&&delete n[M.parts[0]]._subplot.viewInitial["radialaxis.range"],D0.getComponentMethod("annotations","convertCoords")(e,X,g,k),D0.getComponentMethod("images","convertCoords")(e,X,g,k)}else k(V+".autorange",!0),k(V+".range",null);Vu(n,V+"._inputRange").set(null)}else if(F.match(zht)){var ie=Vu(n,C).get(),Te=(g||{}).type;(!Te||Te==="-")&&(Te="linear"),D0.getComponentMethod("annotations","convertCoords")(e,ie,Te,k),D0.getComponentMethod("images","convertCoords")(e,ie,Te,k)}var Ee=GP.containerArrayMatch(C);if(Ee){c=Ee.array,f=Ee.index;var Ae=Ee.property,ze=N||{editType:"calc"};f!==""&&Ae===""&&(GP.isAddVal(g)?E[C]=null:GP.isRemoveVal(g)?E[C]=(Vu(r,c).get()||[])[f]:la.warn("unrecognized full object value",t)),b_.update(b,ze),u[c]||(u[c]={});var Ce=u[c][f];Ce||(Ce=u[c][f]={}),Ce[Ae]=g,delete t[C]}else F==="reverse"?(H.range?H.range.reverse():(k(V+".autorange",!0),H.range=[1,0]),X.autorange?b.calc=!0:b.plot=!0):(C==="dragmode"&&(g===!1&&G!==!1||g!==!1&&G===!1)||n._has("scatter-like")&&n._has("regl")&&C==="dragmode"&&(g==="lasso"||g==="select")&&!(G==="lasso"||G==="select")?b.plot=!0:N?b_.update(b,N):b.calc=!0,M.set(g))}}for(c in u){var me=GP.applyContainerArrayChanges(e,a(r,c),u[c],b,a);me||(b.plot=!0)}for(var De in S){L=Vv.getFromId(e,De);var ce=L&&L._constraintGroup;if(ce){b.calc=!0;for(var Ge in ce)S[Ge]||(Vv.getFromId(e,Ge)._constraintShrinkable=!0)}}(nde(e)||t.height||t.width)&&(b.plot=!0);var nt=n.shapes;for(f=0;f1;)if(n.pop(),r=Vu(t,n.join(".")+".uirevision").get(),r!==void 0)return r;return t.uirevision}function Zht(e,t){for(var r=0;r=i.length?i[0]:i[u]:i}function s(u){return Array.isArray(a)?u>=a.length?a[0]:a[u]:a}function l(u,c){var f=0;return function(){if(u&&++f===c)return u()}}return new Promise(function(u,c){function f(){if(n._frameQueue.length!==0){for(;n._frameQueue.length;){var F=n._frameQueue.pop();F.onInterrupt&&F.onInterrupt()}e.emit("plotly_animationinterrupted",[])}}function h(F){if(F.length!==0){for(var q=0;qn._timeToNext&&d()};F()}var b=0;function p(F){return Array.isArray(i)?b>=i.length?F.transitionOpts=i[b]:F.transitionOpts=i[0]:F.transitionOpts=i,b++,F}var E,k,S=[],L=t==null,x=Array.isArray(t),C=!L&&!x&&la.isPlainObject(t);if(C)S.push({type:"object",data:p(la.extendFlat({},t))});else if(L||["string","number"].indexOf(typeof t)!==-1)for(E=0;E0&&PP)&&T.push(k);S=T}}S.length>0?h(S):(e.emit("plotly_animated"),u())})}function edt(e,t,r){if(e=la.getGraphDiv(e),t==null)return Promise.resolve();if(!la.isPlotDiv(e))throw new Error("This element is not a Plotly plot: "+e+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var n,i,a,o,s=e._transitionData._frames,l=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+t);var u=s.length+t.length*2,c=[],f={};for(n=t.length-1;n>=0;n--)if(la.isPlainObject(t[n])){var h=t[n].name,v=(l[h]||f[h]||{}).name,d=t[n].name,_=l[v]||f[v];v&&d&&typeof d=="number"&&_&&eUM.index?-1:C.index=0;n--){if(i=c[n].frame,typeof i.name=="number"&&la.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;l[i.name="frame "+e._transitionData._counter++];);if(l[i.name]){for(a=0;a=0;r--)n=t[r],a.push({type:"delete",index:n}),o.unshift({type:"insert",index:n,value:i[n]});var s=Oo.modifyFrames,l=Oo.modifyFrames,u=[e,o],c=[e,a];return lp&&lp.add(e,s,u,l,c),Oo.modifyFrames(e,a)}function rdt(e){e=la.getGraphDiv(e);var t=e._fullLayout||{},r=e._fullData||[];return Oo.cleanPlot([],{},r,t),Oo.purge(e),tU.purge(e),t._container&&t._container.remove(),delete e._context,e}function idt(e){var t=e._fullLayout,r=e.getBoundingClientRect();if(!la.equalDomRects(r,t._lastBBox)){var n=t._invTransform=la.inverseTransformMatrix(la.getFullTransformMatrix(e));t._invScaleX=Math.sqrt(n[0][0]*n[0][0]+n[0][1]*n[0][1]+n[0][2]*n[0][2]),t._invScaleY=Math.sqrt(n[1][0]*n[1][0]+n[1][1]*n[1][1]+n[1][2]*n[1][2]),t._lastBBox=r}}function ndt(e){var t=WP.select(e),r=e._fullLayout;if(r._calcInverseTransform=idt,r._calcInverseTransform(e),r._container=t.selectAll(".plot-container").data([0]),r._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0),r._paperdiv=r._container.selectAll(".svg-container").data([0]),r._paperdiv.enter().append("div").classed("user-select-none",!0).classed("svg-container",!0).style("position","relative"),r._glcontainer=r._paperdiv.selectAll(".gl-container").data([{}]),r._glcontainer.enter().append("div").classed("gl-container",!0),r._paperdiv.selectAll(".main-svg").remove(),r._paperdiv.select(".modebar-container").remove(),r._paper=r._paperdiv.insert("svg",":first-child").classed("main-svg",!0),r._toppaper=r._paperdiv.append("svg").classed("main-svg",!0),r._modebardiv=r._paperdiv.append("div"),delete r._modeBar,r._hoverpaper=r._paperdiv.append("svg").classed("main-svg",!0),!r._uid){var n={};WP.selectAll("defs").each(function(){this.id&&(n[this.id.split("-")[1]]=1)}),r._uid=la.randstr(n)}r._paperdiv.selectAll(".main-svg").attr(Dht.svgAttrs),r._defs=r._paper.append("defs").attr("id","defs-"+r._uid),r._clips=r._defs.append("g").classed("clips",!0),r._topdefs=r._toppaper.append("defs").attr("id","topdefs-"+r._uid),r._topclips=r._topdefs.append("g").classed("clips",!0),r._bgLayer=r._paper.append("g").classed("bglayer",!0),r._draggers=r._paper.append("g").classed("draglayer",!0);var i=r._paper.append("g").classed("layer-below",!0);r._imageLowerLayer=i.append("g").classed("imagelayer",!0),r._shapeLowerLayer=i.append("g").classed("shapelayer",!0),r._cartesianlayer=r._paper.append("g").classed("cartesianlayer",!0),r._polarlayer=r._paper.append("g").classed("polarlayer",!0),r._smithlayer=r._paper.append("g").classed("smithlayer",!0),r._ternarylayer=r._paper.append("g").classed("ternarylayer",!0),r._geolayer=r._paper.append("g").classed("geolayer",!0),r._funnelarealayer=r._paper.append("g").classed("funnelarealayer",!0),r._pielayer=r._paper.append("g").classed("pielayer",!0),r._iciclelayer=r._paper.append("g").classed("iciclelayer",!0),r._treemaplayer=r._paper.append("g").classed("treemaplayer",!0),r._sunburstlayer=r._paper.append("g").classed("sunburstlayer",!0),r._indicatorlayer=r._toppaper.append("g").classed("indicatorlayer",!0),r._glimages=r._paper.append("g").classed("glimages",!0);var a=r._toppaper.append("g").classed("layer-above",!0);r._imageUpperLayer=a.append("g").classed("imagelayer",!0),r._shapeUpperLayer=a.append("g").classed("shapelayer",!0),r._selectionLayer=r._toppaper.append("g").classed("selectionlayer",!0),r._infolayer=r._toppaper.append("g").classed("infolayer",!0),r._menulayer=r._toppaper.append("g").classed("menulayer",!0),r._zoomlayer=r._toppaper.append("g").classed("zoomlayer",!0),r._hoverlayer=r._hoverpaper.append("g").classed("hoverlayer",!0),r._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),e.emit("plotly_framework")}pl.animate=Qht;pl.addFrames=edt;pl.deleteFrames=tdt;pl.addTraces=Khe;pl.deleteTraces=Jhe;pl.extendTraces=Xhe;pl.moveTraces=rU;pl.prependTraces=Yhe;pl.newPlot=Nht;pl._doPlot=Fht;pl.purge=rdt;pl.react=Kht;pl.redraw=Bht;pl.relayout=$M;pl.restyle=YP;pl.setPlotConfig=qht;pl.update=JP;pl._guiRelayout=nU($M);pl._guiRestyle=nU(YP);pl._guiUpdate=nU(JP);pl._storeDirectGUIEdit=Ght});var Dy=ye(Ig=>{"use strict";var adt=ya();Ig.getDelay=function(e){return e._has&&(e._has("gl3d")||e._has("mapbox")||e._has("map"))?500:0};Ig.getRedrawFunc=function(e){return function(){adt.getComponentMethod("colorbar","draw")(e)}};Ig.encodeSVG=function(e){return"data:image/svg+xml,"+encodeURIComponent(e)};Ig.encodeJSON=function(e){return"data:application/json,"+encodeURIComponent(e)};var ade=window.URL||window.webkitURL;Ig.createObjectURL=function(e){return ade.createObjectURL(e)};Ig.revokeObjectURL=function(e){return ade.revokeObjectURL(e)};Ig.createBlob=function(e,t){if(t==="svg")return new window.Blob([e],{type:"image/svg+xml;charset=utf-8"});if(t==="full-json")return new window.Blob([e],{type:"application/json;charset=utf-8"});var r=odt(window.atob(e));return new window.Blob([r],{type:"image/"+t})};Ig.octetStream=function(e){document.location.href="data:application/octet-stream"+e};function odt(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;i{"use strict";var oU=ba(),sdt=Ar(),ldt=ao(),udt=va(),rI=Kp(),aU=/"/g,e4="TOBESTRIPPED",cdt=new RegExp('("'+e4+")|("+e4+'")',"g");function fdt(e){var t=oU.select("body").append("div").style({display:"none"}).html(""),r=e.replace(/(&[^;]*;)/gi,function(n){return n==="<"?"<":n==="&rt;"?">":n.indexOf("<")!==-1||n.indexOf(">")!==-1?"":t.html(n).text()});return t.remove(),r}function hdt(e){return e.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")}ode.exports=function(t,r,n){var i=t._fullLayout,a=i._paper,o=i._toppaper,s=i.width,l=i.height,u;a.insert("rect",":first-child").call(ldt.setRect,0,0,s,l).call(udt.fill,i.paper_bgcolor);var c=i._basePlotModules||[];for(u=0;u{"use strict";var sde=Ar(),ddt=Tb().EventEmitter,oT=Dy();function vdt(e){var t=e.emitter||new ddt,r=new Promise(function(n,i){var a=window.Image,o=e.svg,s=e.format||"png";if(sde.isIE()&&s!=="svg"){var l=new Error(oT.MSG_IE_BAD_FORMAT);return i(l),e.promise?r:t.emit("error",l)}var u=e.canvas,c=e.scale||1,f=e.width||300,h=e.height||150,v=c*f,d=c*h,_=u.getContext("2d",{willReadFrequently:!0}),b=new a,p,E;s==="svg"||sde.isSafari()?E=oT.encodeSVG(o):(p=oT.createBlob(o,"svg"),E=oT.createObjectURL(p)),u.width=v,u.height=d,b.onload=function(){var k;switch(p=null,oT.revokeObjectURL(E),s!=="svg"&&_.drawImage(b,0,0,v,d),s){case"jpeg":k=u.toDataURL("image/jpeg");break;case"png":k=u.toDataURL("image/png");break;case"webp":k=u.toDataURL("image/webp");break;case"svg":k=E;break;default:var S="Image format is not jpeg, png, svg or webp.";if(i(new Error(S)),!e.promise)return t.emit("error",S)}n(k),e.promise||t.emit("success",k)},b.onerror=function(k){if(p=null,oT.revokeObjectURL(E),i(k),!e.promise)return t.emit("error",k)},b.src=E});return e.promise?r:t}lde.exports=vdt});var lU=ye((nar,fde)=>{"use strict";var ude=uo(),cde=tI(),pdt=Nu(),Cm=Ar(),t4=Dy(),gdt=iI(),mdt=nI(),ydt=y6().version,sU={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};function _dt(e,t){t=t||{};var r,n,i,a;Cm.isPlainObject(e)?(r=e.data||[],n=e.layout||{},i=e.config||{},a={}):(e=Cm.getGraphDiv(e),r=Cm.extendDeep([],e.data),n=Cm.extendDeep({},e.layout),i=e._context,a=e._fullLayout||{});function o(x){return!(x in t)||Cm.validate(t[x],sU[x])}if(!o("width")&&t.width!==null||!o("height")&&t.height!==null)throw new Error("Height and width should be pixel values.");if(!o("format"))throw new Error("Export format is not "+Cm.join2(sU.format.values,", "," or ")+".");var s={};function l(x,C){return Cm.coerce(t,s,sU,x,C)}var u=l("format"),c=l("width"),f=l("height"),h=l("scale"),v=l("setBackground"),d=l("imageDataOnly"),_=document.createElement("div");_.style.position="absolute",_.style.left="-5000px",document.body.appendChild(_);var b=Cm.extendFlat({},n);c?b.width=c:t.width===null&&ude(a.width)&&(b.width=a.width),f?b.height=f:t.height===null&&ude(a.height)&&(b.height=a.height);var p=Cm.extendFlat({},i,{_exportedPlot:!0,staticPlot:!0,setBackground:v}),E=t4.getRedrawFunc(_);function k(){return new Promise(function(x){setTimeout(x,t4.getDelay(_._fullLayout))})}function S(){return new Promise(function(x,C){var M=gdt(_,u,h),g=_._fullLayout.width,P=_._fullLayout.height;function T(){cde.purge(_),document.body.removeChild(_)}if(u==="full-json"){var F=pdt.graphJson(_,!1,"keepdata","object",!0,!0);return F.version=ydt,F=JSON.stringify(F),T(),x(d?F:t4.encodeJSON(F))}if(T(),u==="svg")return x(d?M:t4.encodeSVG(M));var q=document.createElement("canvas");q.id=Cm.randstr(),mdt({format:u,width:g,height:P,scale:h,canvas:q,svg:M,promise:!0}).then(x).catch(C)})}function L(x){return d?x.replace(t4.IMAGE_URL_PREFIX,""):x}return new Promise(function(x,C){cde.newPlot(_,r,b,p).then(E).then(k).then(S).then(function(M){x(L(M))}).catch(function(M){C(M)})})}fde.exports=_dt});var pde=ye((aar,vde)=>{"use strict";var z0=Ar(),xdt=Nu(),bdt=r_(),wdt=yb().dfltConfig,R0=z0.isPlainObject,w_=Array.isArray,hde=z0.isArrayOrTypedArray;vde.exports=function(t,r){t===void 0&&(t=[]),r===void 0&&(r={});var n=bdt.get(),i=[],a={_context:z0.extendFlat({},wdt)},o,s;w_(t)?(a.data=z0.extendDeep([],t),o=t):(a.data=[],o=[],i.push(bh("array","data"))),R0(r)?(a.layout=z0.extendDeep({},r),s=r):(a.layout={},s={},arguments.length>1&&i.push(bh("object","layout"))),xdt.supplyDefaults(a);for(var l=a._fullData,u=o.length,c=0;cf.length&&n.push(bh("unused",i,u.concat(f.length)));var p=f.length,E=Array.isArray(b);E&&(p=Math.min(p,b.length));var k,S,L,x,C;if(h.dimensions===2)for(S=0;Sf[S].length&&n.push(bh("unused",i,u.concat(S,f[S].length)));var M=f[S].length;for(k=0;k<(E?Math.min(M,b[S].length):M);k++)L=E?b[S][k]:b,x=c[S][k],C=f[S][k],z0.validate(x,L)?C!==x&&C!==+x&&n.push(bh("dynamic",i,u.concat(S,k),x,C)):n.push(bh("value",i,u.concat(S,k),x))}else n.push(bh("array",i,u.concat(S),c[S]));else for(S=0;S{"use strict";var gde=Ar(),i4=Dy();function Cdt(e,t,r){var n=document.createElement("a"),i="download"in n,a=new Promise(function(o,s){var l,u;if(gde.isIE())return l=i4.createBlob(e,"svg"),window.navigator.msSaveBlob(l,t),l=null,o(t);if(i)return l=i4.createBlob(e,r),u=i4.createObjectURL(l),n.href=u,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n),i4.revokeObjectURL(u),l=null,o(t);if(gde.isSafari()){var c=r==="svg"?",":";base64,";return i4.octetStream(c+encodeURIComponent(e)),o(t)}s(new Error("download error"))});return a}mde.exports=Cdt});var cU=ye((sar,_de)=>{"use strict";var uU=Ar(),Ldt=lU(),Pdt=yde(),Idt=Dy();function Ddt(e,t){var r;return uU.isPlainObject(e)||(r=uU.getGraphDiv(e)),t=t||{},t.format=t.format||"png",t.width=t.width||null,t.height=t.height||null,t.imageDataOnly=!0,new Promise(function(n,i){r&&r._snapshotInProgress&&i(new Error("Snapshotting already in progress.")),uU.isIE()&&t.format!=="svg"&&i(new Error(Idt.MSG_IE_BAD_FORMAT)),r&&(r._snapshotInProgress=!0);var a=Ldt(e,t),o=t.filename||e.fn||"newplot";o+="."+t.format.replace("-","."),a.then(function(s){return r&&(r._snapshotInProgress=!1),Pdt(s,o,t.format)}).then(function(s){n(s)}).catch(function(s){r&&(r._snapshotInProgress=!1),i(s)})})}_de.exports=Ddt});var Ade=ye(fU=>{"use strict";var Ip=Ar(),Dp=Ip.isPlainObject,xde=r_(),bde=Nu(),Rdt=vl(),wde=Vs(),Tde=yb().dfltConfig;fU.makeTemplate=function(e){e=Ip.isPlainObject(e)?e:Ip.getGraphDiv(e),e=Ip.extendDeep({_context:Tde},{data:e.data,layout:e.layout}),bde.supplyDefaults(e);var t=e.data||[],r=e.layout||{};r._basePlotModules=e._fullLayout._basePlotModules,r._modules=e._fullLayout._modules;var n={data:{},layout:{}};t.forEach(function(v){var d={};n4(v,d,Fdt.bind(null,v));var _=Ip.coerce(v,{},Rdt,"type"),b=n.data[_];b||(b=n.data[_]=[]),b.push(d)}),n4(r,n.layout,zdt.bind(null,r)),delete n.layout.template;var i=r.template;if(Dp(i)){var a=i.layout,o,s,l,u,c,f;Dp(a)&&aI(a,n.layout);var h=i.data;if(Dp(h)){for(s in n.data)if(l=h[s],Array.isArray(l)){for(c=n.data[s],f=c.length,u=l.length,o=0;op?o.push({code:"unused",traceType:v,templateCount:b,dataCount:p}):p>b&&o.push({code:"reused",traceType:v,templateCount:b,dataCount:p})}}function E(k,S){for(var L in k)if(L.charAt(0)!=="_"){var x=k[L],C=F0(k,L,S);Dp(x)?(Array.isArray(k)&&x._template===!1&&x.templateitemname&&o.push({code:"missing",path:C,templateitemname:x.templateitemname}),E(x,C)):Array.isArray(x)&&qdt(x)&&E(x,C)}}if(E({data:l,layout:s},""),o.length)return o.map(Odt)};function qdt(e){for(var t=0;t{"use strict";var jh=tI();Sc._doPlot=jh._doPlot;Sc.newPlot=jh.newPlot;Sc.restyle=jh.restyle;Sc.relayout=jh.relayout;Sc.redraw=jh.redraw;Sc.update=jh.update;Sc._guiRestyle=jh._guiRestyle;Sc._guiRelayout=jh._guiRelayout;Sc._guiUpdate=jh._guiUpdate;Sc._storeDirectGUIEdit=jh._storeDirectGUIEdit;Sc.react=jh.react;Sc.extendTraces=jh.extendTraces;Sc.prependTraces=jh.prependTraces;Sc.addTraces=jh.addTraces;Sc.deleteTraces=jh.deleteTraces;Sc.moveTraces=jh.moveTraces;Sc.purge=jh.purge;Sc.addFrames=jh.addFrames;Sc.deleteFrames=jh.deleteFrames;Sc.animate=jh.animate;Sc.setPlotConfig=jh.setPlotConfig;var Bdt=WS().getGraphDiv,Ndt=bP().eraseActiveShape;Sc.deleteActiveShape=function(e){return Ndt(Bdt(e))};Sc.toImage=lU();Sc.validate=pde();Sc.downloadImage=cU();var Sde=Ade();Sc.makeTemplate=Sde.makeTemplate;Sc.validateTemplate=Sde.validateTemplate});var sT=ye((car,Ede)=>{"use strict";var hU=Ar(),Udt=ya();Ede.exports=function(t,r,n,i){var a=i("x"),o=i("y"),s,l=Udt.getComponentMethod("calendars","handleTraceDefaults");if(l(t,r,["x","y"],n),a){var u=hU.minRowLength(a);o?s=Math.min(u,hU.minRowLength(o)):(s=u,i("y0"),i("dy"))}else{if(!o)return 0;s=hU.minRowLength(o),i("x0"),i("dx")}return r._length=s,s}});var Dg=ye((far,Lde)=>{"use strict";var kde=Ar().dateTick0,Vdt=Yo(),Hdt=Vdt.ONEWEEK;function Cde(e,t){return e%Hdt===0?kde(t,1):kde(t,0)}Lde.exports=function(t,r,n,i,a){if(a||(a={x:!0,y:!0}),a.x){var o=i("xperiod");o&&(i("xperiod0",Cde(o,r.xcalendar)),i("xperiodalignment"))}if(a.y){var s=i("yperiod");s&&(i("yperiod0",Cde(s,r.ycalendar)),i("yperiodalignment"))}}});var Dde=ye((har,Ide)=>{"use strict";var Pde=["orientation","groupnorm","stackgaps"];Ide.exports=function(t,r,n,i){var a=n._scatterStackOpts,o=i("stackgroup");if(o){var s=r.xaxis+r.yaxis,l=a[s];l||(l=a[s]={});var u=l[o],c=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},c=!0);for(var f={orientation:r.x&&!r.y?"h":"v"},h=0;h{"use strict";var Rde=va(),zde=Fv().hasColorscale,Fde=Hh(),Gdt=lu();qde.exports=function(t,r,n,i,a,o){var s=Gdt.isBubble(t),l=(t.line||{}).color,u;if(o=o||{},l&&(n=l),a("marker.symbol"),a("marker.opacity",s?.7:1),a("marker.size"),o.noAngle||(a("marker.angle"),o.noAngleRef||a("marker.angleref"),o.noStandOff||a("marker.standoff")),a("marker.color",n),zde(t,"marker")&&Fde(t,r,i,a,{prefix:"marker.",cLetter:"c"}),o.noSelect||(a("selected.marker.color"),a("unselected.marker.color"),a("selected.marker.size"),a("unselected.marker.size")),o.noLine||(l&&!Array.isArray(l)&&r.marker.color!==l?u=l:s?u=Rde.background:u=Rde.defaultLine,a("marker.line.color",u),zde(t,"marker.line")&&Fde(t,r,i,a,{prefix:"marker.line.",cLetter:"c"}),a("marker.line.width",s?1:0)),s&&(a("marker.sizeref"),a("marker.sizemin"),a("marker.sizemode")),o.gradient){var c=a("marker.gradient.type");c!=="none"&&a("marker.gradient.color")}}});var q0=ye((par,Ode)=>{"use strict";var jdt=Ar().isArrayOrTypedArray,Wdt=Fv().hasColorscale,Zdt=Hh();Ode.exports=function(t,r,n,i,a,o){o||(o={});var s=(t.marker||{}).color;if(s&&s._inputArray&&(s=s._inputArray),a("line.color",n),Wdt(t,"line"))Zdt(t,r,i,a,{prefix:"line.",cLetter:"c"});else{var l=(jdt(s)?!1:s)||n;a("line.color",l)}a("line.width"),o.noDash||a("line.dash"),o.backoff&&a("line.backoff")}});var lT=ye((gar,Bde)=>{"use strict";Bde.exports=function(t,r,n){var i=n("line.shape");i==="spline"&&n("line.smoothing")}});var O0=ye((mar,Nde)=>{"use strict";var Xdt=Ar();Nde.exports=function(e,t,r,n,i){i=i||{},n("textposition"),Xdt.coerceFont(n,"textfont",i.font||r.font,i),i.noSelect||(n("selected.textfont.color"),n("unselected.textfont.color"))}});var Rg=ye((yar,Vde)=>{"use strict";var sI=va(),Ude=Ar().isArrayOrTypedArray;function Ydt(e){for(var t=sI.interpolate(e[0][1],e[1][1],.5),r=2;r{"use strict";var Hde=Ar(),Kdt=ya(),Jdt=Uc(),$dt=km(),uT=lu(),Qdt=sT(),evt=Dg(),tvt=Dde(),rvt=t0(),ivt=q0(),Gde=lT(),nvt=O0(),avt=Rg(),ovt=Ar().coercePattern;jde.exports=function(t,r,n,i){function a(v,d){return Hde.coerce(t,r,Jdt,v,d)}var o=Qdt(t,r,i,a);if(o||(r.visible=!1),!!r.visible){evt(t,r,i,a),a("xhoverformat"),a("yhoverformat"),a("zorder");var s=tvt(t,r,i,a);i.scattermode==="group"&&r.orientation===void 0&&a("orientation","v");var l=!s&&o<$dt.PTS_LINESONLY?"lines+markers":"lines";a("text"),a("hovertext"),a("mode",l),uT.hasMarkers(r)&&rvt(t,r,n,i,a,{gradient:!0}),uT.hasLines(r)&&(ivt(t,r,n,i,a,{backoff:!0}),Gde(t,r,a),a("connectgaps"),a("line.simplify")),uT.hasText(r)&&(a("texttemplate"),nvt(t,r,i,a));var u=[];(uT.hasMarkers(r)||uT.hasText(r))&&(a("cliponaxis"),a("marker.maxdisplayed"),u.push("points")),a("fill",s?s.fillDflt:"none"),r.fill!=="none"&&(avt(t,r,n,a,{moduleHasFillgradient:!0}),uT.hasLines(r)||Gde(t,r,a),ovt(a,"fillpattern",r.fillcolor,!1));var c=(r.line||{}).color,f=(r.marker||{}).color;(r.fill==="tonext"||r.fill==="toself")&&u.push("fills"),a("hoveron",u.join("+")||"points"),r.hoveron!=="fills"&&a("hovertemplate");var h=Kdt.getComponentMethod("errorbars","supplyDefaults");h(t,r,c||f||n,{axis:"y"}),h(t,r,c||f||n,{axis:"x",inherit:"y"}),Hde.coerceSelectionMarkerOpacity(r,a)}}});var $b=ye((xar,Zde)=>{"use strict";var svt=Yb().getAxisGroup;Zde.exports=function(t,r,n,i){var a=r.orientation,o=r[{v:"x",h:"y"}[a]+"axis"],s=svt(n,o)+a,l=n._alignmentOpts||{},u=i("alignmentgroup"),c=l[s];c||(c=l[s]={});var f=c[u];f?f.traces.push(r):f=c[u]={traces:[r],alignmentIndex:Object.keys(c).length,offsetGroups:{}};var h=i("offsetgroup"),v=f.offsetGroups,d=v[h];h&&(d||(d=v[h]={offsetIndex:Object.keys(v).length}),r._offsetIndex=d.offsetIndex)}});var dU=ye((bar,Xde)=>{"use strict";var lvt=Ar(),uvt=$b(),cvt=Uc();Xde.exports=function(t,r){var n,i,a;function o(f){return lvt.coerce(i._input,i,cvt,f)}if(r.scattermode==="group")for(a=0;a=0;u--){var c=t[u];if(c.type==="scatter"&&c.xaxis===s.xaxis&&c.yaxis===s.yaxis){c.opacity=void 0;break}}}}}});var Kde=ye((war,Yde)=>{"use strict";var fvt=Ar(),hvt=aL();Yde.exports=function(e,t){function r(i,a){return fvt.coerce(e,t,hvt,i,a)}var n=t.barmode==="group";t.scattermode==="group"&&r("scattergap",n?t.bargap:.2)}});var zg=ye((Tar,$de)=>{"use strict";var dvt=uo(),Jde=Ar(),vvt=Jde.dateTime2ms,lI=Jde.incrementMonth,pvt=Yo(),gvt=pvt.ONEAVGMONTH;$de.exports=function(t,r,n,i){if(r.type!=="date")return{vals:i};var a=t[n+"periodalignment"];if(!a)return{vals:i};var o=t[n+"period"],s;if(dvt(o)){if(o=+o,o<=0)return{vals:i}}else if(typeof o=="string"&&o.charAt(0)==="M"){var l=+o.substring(1);if(l>0&&Math.round(l)===l)s=l;else return{vals:i}}for(var u=r.calendar,c=a==="start",f=a==="end",h=t[n+"period0"],v=vvt(h,u)||0,d=[],_=[],b=[],p=i.length,E=0;Ek;)x=lI(x,-s,u);for(;x<=k;)x=lI(x,s,u);L=lI(x,-s,u)}else{for(S=Math.round((k-v)/o),x=v+S*o;x>k;)x-=o;for(;x<=k;)x+=o;L=x-o}d[E]=c?L:f?x:(L+x)/2,_[E]=L,b[E]=x}return{vals:d,starts:_,ends:b}}});var B0=ye((Aar,eve)=>{"use strict";var vU=Fv().hasColorscale,pU=qv(),Qde=lu();eve.exports=function(t,r){Qde.hasLines(r)&&vU(r,"line")&&pU(t,r,{vals:r.line.color,containerStr:"line",cLetter:"c"}),Qde.hasMarkers(r)&&(vU(r,"marker")&&pU(t,r,{vals:r.marker.color,containerStr:"marker",cLetter:"c"}),vU(r,"marker.line")&&pU(t,r,{vals:r.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}});var Lm=ye((Sar,tve)=>{"use strict";var Rf=Ar();tve.exports=function(t,r){for(var n=0;n{"use strict";var rve=Ar();ive.exports=function(t,r){rve.isArrayOrTypedArray(r.selectedpoints)&&rve.tagSelected(t,r)}});var U0=ye((Ear,cve)=>{"use strict";var nve=uo(),mU=Ar(),a4=Xa(),ave=zg(),gU=Yo().BADNUM,yU=lu(),mvt=B0(),yvt=Lm(),_vt=N0();function xvt(e,t){var r=e._fullLayout,n=t._xA=a4.getFromId(e,t.xaxis||"x","x"),i=t._yA=a4.getFromId(e,t.yaxis||"y","y"),a=n.makeCalcdata(t,"x"),o=i.makeCalcdata(t,"y"),s=ave(t,n,"x",a),l=ave(t,i,"y",o),u=s.vals,c=l.vals,f=t._length,h=new Array(f),v=t.ids,d=_U(t,r,n,i),_=!1,b,p,E,k,S,L;lve(r,t);var x="x",C="y",M;if(d)mU.pushUnique(d.traceIndices,t._expandedIndex),b=d.orientation==="v",b?(C="s",M="x"):(x="s",M="y"),S=d.stackgaps==="interpolate";else{var g=sve(t,f);ove(e,t,n,i,u,c,g)}var P=!!t.xperiodalignment,T=!!t.yperiodalignment;for(p=0;pp&&h[k].gap;)k--;for(L=h[k].s,E=h.length-1;E>k;E--)h[E].s=L;for(;p{"use strict";fve.exports=uI;var bvt=Ar().distinctVals;function uI(e,t){this.traces=e,this.sepNegVal=t.sepNegVal,this.overlapNoMerge=t.overlapNoMerge;for(var r=1/0,n=t.posAxis._id.charAt(0),i=[],a=0;a{"use strict";var V0=uo(),T_=Ar().isArrayOrTypedArray,cT=Yo().BADNUM,wvt=ya(),o4=Xa(),Tvt=Yb().getAxisGroup,cI=hve();function Avt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;ul+o||!V0(s))}for(var c=0;c{"use strict";var xve=U0(),bve=Qb().setGroupPositions;function zvt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;ug[c]&&c{"use strict";var qvt=ao(),Eve=Yo(),s4=Eve.BADNUM,kve=Eve.LOG_CLIP,Ave=kve+.5,Sve=kve-.5,fI=Ar(),Ovt=fI.segmentsIntersect,Mve=fI.constrain,AU=km();Cve.exports=function(t,r){var n=r.trace||{},i=r.xaxis,a=r.yaxis,o=i.type==="log",s=a.type==="log",l=i._length,u=a._length,c=r.backoff,f=n.marker,h=r.connectGaps,v=r.baseTolerance,d=r.shape,_=d==="linear",b=n.fill&&n.fill!=="none",p=[],E=AU.minTolerance,k=t.length,S=new Array(k),L=0,x,C,M,g,P,T,F,q,V,H,X,G,N,W,re,ae;function _e(ut){var Ne=t[ut];if(!Ne)return!1;var Ye=r.linearized?i.l2p(Ne.x):i.c2p(Ne.x),Ve=r.linearized?a.l2p(Ne.y):a.c2p(Ne.y);if(Ye===s4){if(o&&(Ye=i.c2p(Ne.x,!0)),Ye===s4)return!1;s&&Ve===s4&&(Ye*=Math.abs(i._m*u*(i._m>0?Ave:Sve)/(a._m*l*(a._m>0?Ave:Sve)))),Ye*=1e3}if(Ve===s4){if(s&&(Ve=a.c2p(Ne.y,!0)),Ve===s4)return!1;Ve*=1e3}return[Ye,Ve]}function Me(ut,Ne,Ye,Ve){var Xe=Ye-ut,ht=Ve-Ne,Le=.5-ut,xe=.5-Ne,Se=Xe*Xe+ht*ht,lt=Xe*Le+ht*xe;if(lt>0&<1||Math.abs(Le.y-Ye[0][1])>1)&&(Le=[Le.x,Le.y],Ve&&Te(Le,ut)ze||ut[1]me)return[Mve(ut[0],Ae,ze),Mve(ut[1],Ce,me)]}function kt(ut,Ne){if(ut[0]===Ne[0]&&(ut[0]===Ae||ut[0]===ze)||ut[1]===Ne[1]&&(ut[1]===Ce||ut[1]===me))return!0}function Ct(ut,Ne){var Ye=[],Ve=It(ut),Xe=It(Ne);return Ve&&Xe&&kt(Ve,Xe)||(Ve&&Ye.push(Ve),Xe&&Ye.push(Xe)),Ye}function Yt(ut,Ne,Ye){return function(Ve,Xe){var ht=It(Ve),Le=It(Xe),xe=[];if(ht&&Le&&kt(ht,Le))return xe;ht&&xe.push(ht),Le&&xe.push(Le);var Se=2*fI.constrain((Ve[ut]+Xe[ut])/2,Ne,Ye)-((ht||Ve)[ut]+(Le||Xe)[ut]);if(Se){var lt;ht&&Le?lt=Se>0==ht[ut]>Le[ut]?ht:Le:lt=ht||Le,lt[ut]+=Se}return xe}}var mr;d==="linear"||d==="spline"?mr=ot:d==="hv"||d==="vh"?mr=Ct:d==="hvh"?mr=Yt(0,Ae,ze):d==="vhv"&&(mr=Yt(1,Ce,me));function er(ut,Ne){var Ye=Ne[0]-ut[0],Ve=(Ne[1]-ut[1])/Ye,Xe=(ut[1]*Ne[0]-Ne[1]*ut[0])/Ye;return Xe>0?[Ve>0?Ae:ze,me]:[Ve>0?ze:Ae,Ce]}function Ke(ut){var Ne=ut[0],Ye=ut[1],Ve=Ne===S[L-1][0],Xe=Ye===S[L-1][1];if(!(Ve&&Xe))if(L>1){var ht=Ne===S[L-2][0],Le=Ye===S[L-2][1];Ve&&(Ne===Ae||Ne===ze)&&ht?Le?L--:S[L-1]=ut:Xe&&(Ye===Ce||Ye===me)&&Le?ht?L--:S[L-1]=ut:S[L++]=ut}else S[L++]=ut}function bt(ut){S[L-1][0]!==ut[0]&&S[L-1][1]!==ut[1]&&Ke([nt,ct]),Ke(ut),qt=null,nt=ct=0}var xt=fI.isArrayOrTypedArray(f);function Lt(ut){if(ut&&c&&(ut.i=x,ut.d=t,ut.trace=n,ut.marker=xt?f[ut.i]:f,ut.backoff=c),ke=ut[0]/l,ge=ut[1]/u,ce=ut[0]ze?ze:0,Ge=ut[1]me?me:0,ce||Ge){if(!L)S[L++]=[ce||ut[0],Ge||ut[1]];else if(qt){var Ne=mr(qt,ut);Ne.length>1&&(bt(Ne[0]),S[L++]=Ne[1])}else rt=mr(S[L-1],ut)[0],S[L++]=rt;var Ye=S[L-1];ce&&Ge&&(Ye[0]!==ce||Ye[1]!==Ge)?(qt&&(nt!==ce&&ct!==Ge?Ke(nt&&ct?er(qt,ut):[nt||ce,ct||Ge]):nt&&ct&&Ke([nt,ct])),Ke([ce,Ge])):nt-ce&&ct-Ge&&Ke([ce||nt,Ge||ct]),qt=ut,nt=ce,ct=Ge}else qt&&bt(mr(qt,ut)[0]),S[L++]=ut}for(x=0;xie(T,St))break;M=T,N=V[0]*q[0]+V[1]*q[1],N>X?(X=N,g=T,F=!1):N=t.length||!T)break;Lt(T),C=T}}qt&&Ke([nt||qt[0],ct||qt[1]]),p.push(S.slice(0,L))}var Et=d.slice(d.length-1);if(c&&Et!=="h"&&Et!=="v"){for(var dt=!1,Ht=-1,$t=[],fr=0;fr{"use strict";var Lve={tonextx:1,tonexty:1,tonext:1};Pve.exports=function(t,r,n){var i,a,o,s,l,u={},c=!1,f=-1,h=0,v=-1;for(a=0;a=0?l=v:(l=v=h,h++),l{"use strict";var Fg=ba(),Bvt=ya(),l4=Ar(),hT=l4.ensureSingle,Dve=l4.identity,zf=ao(),dT=lu(),Nvt=SU(),Uvt=MU(),hI=FM().tester;Rve.exports=function(t,r,n,i,a,o){var s,l,u=!a,c=!!a&&a.duration>0,f=Uvt(t,r,n);if(s=i.selectAll("g.trace").data(f,function(v){return v[0].trace.uid}),s.enter().append("g").attr("class",function(v){return"trace scatter trace"+v[0].trace.uid}).style("stroke-miterlimit",2),s.order(),Vvt(t,s,r),c){o&&(l=o());var h=Fg.transition().duration(a.duration).ease(a.easing).each("end",function(){l&&l()}).each("interrupt",function(){l&&l()});h.each(function(){i.selectAll("g.trace").each(function(v,d){Ive(t,d,r,v,f,this,a)})})}else s.each(function(v,d){Ive(t,d,r,v,f,this,a)});u&&s.exit().remove(),i.selectAll("path:not([d])").remove()};function Vvt(e,t,r){t.each(function(n){var i=hT(Fg.select(this),"g","fills");zf.setClipUrl(i,r.layerClipId,e);var a=n[0].trace,o=[];a._ownfill&&o.push("_ownFill"),a._nexttrace&&o.push("_nextFill");var s=i.selectAll("g").data(o,Dve);s.enter().append("g"),s.exit().each(function(l){a[l]=null}).remove(),s.order().each(function(l){a[l]=hT(Fg.select(this),"path","js-fill")})})}function Ive(e,t,r,n,i,a,o){var s=e._context.staticPlot,l;Hvt(e,t,r,n,i);var u=!!o&&o.duration>0;function c(Yt){return u?Yt.transition():Yt}var f=r.xaxis,h=r.yaxis,v=n[0].trace,d=v.line,_=Fg.select(a),b=hT(_,"g","errorbars"),p=hT(_,"g","lines"),E=hT(_,"g","points"),k=hT(_,"g","text");if(Bvt.getComponentMethod("errorbars","plot")(e,b,r,o),v.visible!==!0)return;c(_).style("opacity",v.opacity);var S,L,x=v.fill.charAt(v.fill.length-1);x!=="x"&&x!=="y"&&(x="");var C,M;x==="y"?(C=1,M=h.c2p(0,!0)):x==="x"&&(C=0,M=f.c2p(0,!0)),n[0][r.isRangePlot?"nodeRangePlot3":"node3"]=_;var g="",P=[],T=v._prevtrace,F=null,q=null;T&&(g=T._prevRevpath||"",L=T._nextFill,P=T._ownPolygons,F=T._fillsegments,q=T._fillElement);var V,H,X="",G="",N,W,re,ae,_e,Me,ke=[];v._polygons=[];var ge=[],ie=[],Te=l4.noop;if(S=v._ownFill,dT.hasLines(v)||v.fill!=="none"){L&&L.datum(n),["hv","vh","hvh","vhv"].indexOf(d.shape)!==-1?(N=zf.steps(d.shape),W=zf.steps(d.shape.split("").reverse().join(""))):d.shape==="spline"?N=W=function(Yt){var mr=Yt[Yt.length-1];return Yt.length>1&&Yt[0][0]===mr[0]&&Yt[0][1]===mr[1]?zf.smoothclosed(Yt.slice(1),d.smoothing):zf.smoothopen(Yt,d.smoothing)}:N=W=function(Yt){return"M"+Yt.join("L")},re=function(Yt){return W(Yt.reverse())},ie=Nvt(n,{xaxis:f,yaxis:h,trace:v,connectGaps:v.connectgaps,baseTolerance:Math.max(d.width||1,3)/4,shape:d.shape,backoff:d.backoff,simplify:d.simplify,fill:v.fill}),ge=new Array(ie.length);var Ee=0;for(l=0;l=s[0]&&_.x<=s[1]&&_.y>=l[0]&&_.y<=l[1]}),h=Math.ceil(f.length/c),v=0;i.forEach(function(_,b){var p=_[0].trace;dT.hasMarkers(p)&&p.marker.maxdisplayed>0&&b{"use strict";zve.exports={container:"marker",min:"cmin",max:"cmax"}});var vI=ye((zar,Fve)=>{"use strict";var dI=Xa();Fve.exports=function(t,r,n){var i={},a={_fullLayout:n},o=dI.getFromTrace(a,r,"x"),s=dI.getFromTrace(a,r,"y"),l=t.orig_x;l===void 0&&(l=t.x);var u=t.orig_y;return u===void 0&&(u=t.y),i.xLabel=dI.tickText(o,o.c2l(l),!0).text,i.yLabel=dI.tickText(s,s.c2l(u),!0).text,i}});var up=ye((Far,qve)=>{"use strict";var EU=ba(),pT=ao(),Gvt=ya();function jvt(e){var t=EU.select(e).selectAll("g.trace.scatter");t.style("opacity",function(r){return r[0].trace.opacity}),t.selectAll("g.points").each(function(r){var n=EU.select(this),i=r.trace||r[0].trace;kU(n,i,e)}),t.selectAll("g.text").each(function(r){var n=EU.select(this),i=r.trace||r[0].trace;CU(n,i,e)}),t.selectAll("g.trace path.js-line").call(pT.lineGroupStyle),t.selectAll("g.trace path.js-fill").call(pT.fillGroupStyle,e,!1),Gvt.getComponentMethod("errorbars","style")(t)}function kU(e,t,r){pT.pointStyle(e.selectAll("path.point"),t,r)}function CU(e,t,r){pT.textPointStyle(e.selectAll("text"),t,r)}function Wvt(e,t,r){var n=t[0].trace;n.selectedpoints?(pT.selectedPointStyle(r.selectAll("path.point"),n),pT.selectedTextStyle(r.selectAll("text"),n)):(kU(r,n,e),CU(r,n,e))}qve.exports={style:jvt,stylePoints:kU,styleText:CU,styleOnSelect:Wvt}});var mT=ye((qar,Ove)=>{"use strict";var gT=va(),Zvt=lu();Ove.exports=function(t,r){var n,i;if(t.mode==="lines")return n=t.line.color,n&&gT.opacity(n)?n:t.fillcolor;if(t.mode==="none")return t.fill?t.fillcolor:"";var a=r.mcc||(t.marker||{}).color,o=r.mlcc||((t.marker||{}).line||{}).color;return i=a&&gT.opacity(a)?a:o&&gT.opacity(o)&&(r.mlw||((t.marker||{}).line||{}).width)?o:"",i?gT.opacity(i)<.3?gT.addOpacity(i,.3):i:(n=(t.line||{}).color,n&&gT.opacity(n)&&Zvt.hasLines(t)&&t.line.width?n:t.fillcolor)}});var yT=ye((Oar,Nve)=>{"use strict";var pI=Ar(),Bve=Nc(),Xvt=ya(),Yvt=mT(),LU=va(),Kvt=pI.fillText;Nve.exports=function(t,r,n,i){var a=t.cd,o=a[0].trace,s=t.xa,l=t.ya,u=s.c2p(r),c=l.c2p(n),f=[u,c],h=o.hoveron||"",v=o.mode.indexOf("markers")!==-1?3:.5,d=!!o.xperiodalignment,_=!!o.yperiodalignment;if(h.indexOf("points")!==-1){var b=function(G){if(d){var N=s.c2p(G.xStart),W=s.c2p(G.xEnd);return u>=Math.min(N,W)&&u<=Math.max(N,W)?0:1/0}var re=Math.max(3,G.mrc||0),ae=1-1/re,_e=Math.abs(s.c2p(G.x)-u);return _e=Math.min(N,W)&&c<=Math.max(N,W)?0:1/0}var re=Math.max(3,G.mrc||0),ae=1-1/re,_e=Math.abs(l.c2p(G.y)-c);return _eke!=me>=ke&&(Ae=Te[ie-1][0],ze=Te[ie][0],me-Ce&&(Ee=Ae+(ze-Ae)*(ke-Ce)/(me-Ce),re=Math.min(re,Ee),ae=Math.max(ae,Ee)));return re=Math.max(re,0),ae=Math.min(ae,s._length),{x0:re,x1:ae,y0:ke,y1:ke}}if(h.indexOf("fills")!==-1&&o._fillElement){var V=F(o._fillElement)&&!F(o._fillExclusionElement);if(V){var H=q(o._polygons);H===null&&(H={x0:f[0],x1:f[0],y0:f[1],y1:f[1]});var X=LU.defaultLine;return LU.opacity(o.fillcolor)?X=o.fillcolor:LU.opacity((o.line||{}).color)&&(X=o.line.color),pI.extendFlat(t,{distance:t.maxHoverDistance,x0:H.x0,x1:H.x1,y0:H.y0,y1:H.y1,color:X,hovertemplate:!1}),delete t.index,o.text&&!pI.isArrayOrTypedArray(o.text)?t.text=String(o.text):t.text=o.name,[t]}}}});var _T=ye((Bar,Vve)=>{"use strict";var Uve=lu();Vve.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h=!Uve.hasMarkers(s)&&!Uve.hasText(s);if(h)return[];if(r===!1)for(l=0;l{"use strict";Hve.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}});var IU=ye((Uar,Zve)=>{"use strict";var u4=ya().traceIs,PU=U3();Zve.exports=function(t,r,n,i){n("autotypenumbers",i.autotypenumbersDflt);var a=n("type",(i.splomStash||{}).type);a==="-"&&(Jvt(r,i.data),r.type==="-"?r.type="linear":t.type=r.type)};function Jvt(e,t){if(e.type==="-"){var r=e._id,n=r.charAt(0),i;r.indexOf("scene")!==-1&&(r=n);var a=$vt(t,r,n);if(a){if(a.type==="histogram"&&n==={v:"y",h:"x"}[a.orientation||"v"]){e.type="linear";return}var o=n+"calendar",s=a[o],l={noMultiCategory:!u4(a,"cartesian")||u4(a,"noMultiCategory")};if(a.type==="box"&&a._hasPreCompStats&&n==={h:"x",v:"y"}[a.orientation||"v"]&&(l.noMultiCategory=!0),l.autotypenumbers=e.autotypenumbers,Wve(a,n)){var u=jve(a),c=[];for(i=0;i0&&(i["_"+r+"axes"]||{})[t])return i;if((i[r+"axis"]||r)===t){if(Wve(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}function jve(e){return{v:"x",h:"y"}[e.orientation||"v"]}function Wve(e,t){var r=jve(e),n=u4(e,"box-violin"),i=u4(e._fullInput||{},"candlestick");return n&&!i&&t===r&&e[r]===void 0&&e[r+"0"]===void 0}});var gI=ye((Var,Xve)=>{"use strict";var Qvt=pv().isTypedArraySpec;function ept(e,t){var r=t.dataAttr||e._id.charAt(0),n={},i,a,o;if(t.axData)i=t.axData;else for(i=[],a=0;a0||Qvt(a),s;o&&(s="array");var l=n("categoryorder",s),u;l==="array"&&(u=n("categoryarray")),!o&&l==="array"&&(l=r.categoryorder="trace"),l==="trace"?r._initialCategories=[]:l==="array"?r._initialCategories=u.slice():(u=ept(r,i).sort(),l==="category ascending"?r._initialCategories=u:l==="category descending"&&(r._initialCategories=u.reverse()))}}});var c4=ye((Har,Kve)=>{"use strict";var Yve=ad().mix,tpt=ph(),rpt=Ar();Kve.exports=function(t,r,n,i){i=i||{};var a=i.dfltColor;function o(C,M){return rpt.coerce2(t,r,i.attributes,C,M)}var s=o("linecolor",a),l=o("linewidth"),u=n("showline",i.showLine||!!s||!!l);u||(delete r.linecolor,delete r.linewidth);var c=Yve(a,i.bgColor,i.blend||tpt.lightFraction).toRgbString(),f=o("gridcolor",c),h=o("gridwidth"),v=o("griddash"),d=n("showgrid",i.showGrid||!!f||!!h||!!v);if(d||(delete r.gridcolor,delete r.gridwidth,delete r.griddash),i.hasMinor){var _=Yve(r.gridcolor,i.bgColor,67).toRgbString(),b=o("minor.gridcolor",_),p=o("minor.gridwidth",r.gridwidth||1),E=o("minor.griddash",r.griddash||"solid"),k=n("minor.showgrid",!!b||!!p||!!E);k||(delete r.minor.gridcolor,delete r.minor.gridwidth,delete r.minor.griddash)}if(!i.noZeroLine){var S=o("zerolinecolor",a),L=o("zerolinewidth"),x=n("zeroline",i.showGrid||!!S||!!L);x||(delete r.zerolinecolor,delete r.zerolinewidth)}}});var h4=ye((Gar,rpe)=>{"use strict";var Jve=uo(),ipt=ya(),f4=Ar(),npt=Vs(),apt=Xd(),DU=Ld(),$ve=Lb(),Qve=R3(),opt=a_(),spt=o_(),lpt=gI(),upt=c4(),cpt=EB(),epe=bm(),mI=sd().WEEKDAY_PATTERN,fpt=sd().HOUR_PATTERN;rpe.exports=function(t,r,n,i,a){var o=i.letter,s=i.font||{},l=i.splomStash||{},u=n("visible",!i.visibleDflt),c=r._template||{},f=r.type||c.type||"-",h;if(f==="date"){var v=ipt.getComponentMethod("calendars","handleDefaults");v(t,r,"calendar",i.calendar),i.noTicklabelmode||(h=n("ticklabelmode"))}!i.noTicklabelindex&&(f==="date"||f==="linear")&&n("ticklabelindex");var d="";(!i.noTicklabelposition||f==="multicategory")&&(d=f4.coerce(t,r,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:h==="period"?["outside","inside"]:o==="x"?["outside","inside","outside left","inside left","outside right","inside right"]:["outside","inside","outside top","inside top","outside bottom","inside bottom"]}},"ticklabelposition")),i.noTicklabeloverflow||n("ticklabeloverflow",d.indexOf("inside")!==-1?"hide past domain":f==="category"||f==="multicategory"?"allow":"hide past div"),epe(r,a),cpt(t,r,n,i),lpt(t,r,n,i),f!=="category"&&!i.noHover&&n("hoverformat");var _=n("color"),b=_!==DU.color.dflt?_:s.color,p=l.label||a._dfltTitle[o];if(spt(t,r,n,f,i),!u)return r;n("title.text",p),f4.coerceFont(n,"title.font",s,{overrideDflt:{size:f4.bigFont(s.size),color:b}}),$ve(t,r,n,f);var E=i.hasMinor;if(E&&(npt.newContainer(r,"minor"),$ve(t,r,n,f,{isMinor:!0})),opt(t,r,n,f,i),Qve(t,r,n,i),E){var k=i.isMinor;i.isMinor=!0,Qve(t,r,n,i),i.isMinor=k}upt(t,r,n,{dfltColor:_,bgColor:i.bgColor,showGrid:i.showGrid,hasMinor:E,attributes:DU}),E&&!r.minor.ticks&&!r.minor.showgrid&&delete r.minor,(r.showline||r.ticks)&&n("mirror");var S=f==="multicategory";if(!i.noTickson&&(f==="category"||S)&&(r.ticks||r.showgrid)){var L;S&&(L="boundaries");var x=n("tickson",L);x==="boundaries"&&delete r.ticklabelposition}if(S){var C=n("showdividers");C&&(n("dividercolor"),n("dividerwidth"))}if(f==="date")if(apt(t,r,{name:"rangebreaks",inclusionAttr:"enabled",handleItemDefaults:hpt}),!r.rangebreaks.length)delete r.rangebreaks;else{for(var M=0;M=2){var o="",s,l;if(a.length===2){for(s=0;s<2;s++)if(l=tpe(a[s]),l){o=mI;break}}var u=n("pattern",o);if(u===mI)for(s=0;s<2;s++)l=tpe(a[s]),l&&(t.bounds[s]=a[s]=l-1);if(u)for(s=0;s<2;s++)switch(l=a[s],u){case mI:if(!Jve(l)){t.enabled=!1;return}if(l=+l,l!==Math.floor(l)||l<0||l>=7){t.enabled=!1;return}t.bounds[s]=a[s]=l;break;case fpt:if(!Jve(l)){t.enabled=!1;return}if(l=+l,l<0||l>24){t.enabled=!1;return}t.bounds[s]=a[s]=l;break}if(r.autorange===!1){var c=r.range;if(c[0]c[1]){t.enabled=!1;return}}else if(a[0]>c[0]&&a[1]{"use strict";var vpt=uo(),yI=Ar();ipe.exports=function(t,r,n,i){var a=i.counterAxes||[],o=i.overlayableAxes||[],s=i.letter,l=i.grid,u=i.overlayingDomain,c,f,h,v,d,_;l&&(f=l._domains[s][l._axisMap[r._id]],c=l._anchors[r._id],f&&(h=l[s+"side"].split(" ")[0],v=l.domain[s][h==="right"||h==="top"?1:0])),f=f||[0,1],c=c||(vpt(t.position)?"free":a[0]||"free"),h=h||(s==="x"?"bottom":"left"),v=v||0,d=0,_=!1;var b=yI.coerce(t,r,{anchor:{valType:"enumerated",values:["free"].concat(a),dflt:c}},"anchor"),p=yI.coerce(t,r,{side:{valType:"enumerated",values:s==="x"?["bottom","top"]:["left","right"],dflt:h}},"side");if(b==="free"){if(s==="y"){var E=n("autoshift");E&&(v=p==="left"?u[0]:u[1],_=r.automargin?r.automargin:!0,d=p==="left"?-3:3),n("shift",d)}n("position",v)}n("automargin",_);var k=!1;if(o.length&&(k=yI.coerce(t,r,{overlaying:{valType:"enumerated",values:[!1].concat(o),dflt:!1}},"overlaying")),!k){var S=n("domain",f);S[0]>S[1]-1/4096&&(r.domain=f),yI.noneOrAll(t.domain,r.domain,f),r.tickmode==="sync"&&(r.tickmode="auto")}return n("layer"),r}});var hpe=ye((War,fpe)=>{"use strict";var e2=Ar(),npe=va(),ppt=np().isUnifiedHover,gpt=$B(),ape=Vs(),mpt=x3(),ope=Ld(),ypt=IU(),spe=h4(),_pt=Yb(),lpe=_I(),zU=af(),Pm=zU.id2name,upe=zU.name2id,xpt=sd().AX_ID_PATTERN,cpe=ya(),xI=cpe.traceIs,RU=cpe.getComponentMethod;function bI(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}fpe.exports=function(t,r,n){var i=r.autotypenumbers,a={},o={},s={},l={},u={},c={},f={},h={},v={},d={},_,b;for(_=0;_{"use strict";var bpt=ba(),dpe=ya(),wI=Ar(),r0=ao(),TI=Xa();vpe.exports=function(t,r,n,i){var a=t._fullLayout;if(r.length===0){TI.redrawComponents(t);return}function o(b){var p=b.xaxis,E=b.yaxis;a._defs.select("#"+b.clipId+"> rect").call(r0.setTranslate,0,0).call(r0.setScale,1,1),b.plot.call(r0.setTranslate,p._offset,E._offset).call(r0.setScale,1,1);var k=b.plot.selectAll(".scatterlayer .trace");k.selectAll(".point").call(r0.setPointGroupScale,1,1),k.selectAll(".textpoint").call(r0.setTextPointsScale,1,1),k.call(r0.hideOutsideRangePoints,b)}function s(b,p){var E=b.plotinfo,k=E.xaxis,S=E.yaxis,L=k._length,x=S._length,C=!!b.xr1,M=!!b.yr1,g=[];if(C){var P=wI.simpleMap(b.xr0,k.r2l),T=wI.simpleMap(b.xr1,k.r2l),F=P[1]-P[0],q=T[1]-T[0];g[0]=(P[0]*(1-p)+p*T[0]-P[0])/(P[1]-P[0])*L,g[2]=L*(1-p+p*q/F),k.range[0]=k.l2r(P[0]*(1-p)+p*T[0]),k.range[1]=k.l2r(P[1]*(1-p)+p*T[1])}else g[0]=0,g[2]=L;if(M){var V=wI.simpleMap(b.yr0,S.r2l),H=wI.simpleMap(b.yr1,S.r2l),X=V[1]-V[0],G=H[1]-H[0];g[1]=(V[1]*(1-p)+p*H[1]-V[1])/(V[0]-V[1])*x,g[3]=x*(1-p+p*G/X),S.range[0]=k.l2r(V[0]*(1-p)+p*H[0]),S.range[1]=S.l2r(V[1]*(1-p)+p*H[1])}else g[1]=0,g[3]=x;TI.drawOne(t,k,{skipTitle:!0}),TI.drawOne(t,S,{skipTitle:!0}),TI.redrawComponents(t,[k._id,S._id]);var N=C?L/g[2]:1,W=M?x/g[3]:1,re=C?g[0]:0,ae=M?g[1]:0,_e=C?g[0]/g[2]*L:0,Me=M?g[1]/g[3]*x:0,ke=k._offset-_e,ge=S._offset-Me;E.clipRect.call(r0.setTranslate,re,ae).call(r0.setScale,1/N,1/W),E.plot.call(r0.setTranslate,ke,ge).call(r0.setScale,N,W),r0.setPointGroupScale(E.zoomScalePts,1/N,1/W),r0.setTextPointsScale(E.zoomScaleTxt,1/N,1/W)}var l;i&&(l=i());function u(){for(var b={},p=0;pn.duration?(u(),v=window.cancelAnimationFrame(_)):v=window.requestAnimationFrame(_)}return f=Date.now(),v=window.requestAnimationFrame(_),Promise.resolve()}});var Qf=ye(xv=>{"use strict";var SI=ba(),gpe=ya(),t2=Ar(),wpt=Nu(),Tpt=ao(),mpe=Cd().getModuleCalcData,A_=af(),qg=sd(),Apt=Kp(),Fl=t2.ensureSingle;function AI(e,t,r){return t2.ensureSingle(e,t,r,function(n){n.datum(r)})}var r2=qg.zindexSeparator;xv.name="cartesian";xv.attr=["xaxis","yaxis"];xv.idRoot=["x","y"];xv.idRegex=qg.idRegex;xv.attrRegex=qg.attrRegex;xv.attributes=Gve();xv.layoutAttributes=Ld();xv.supplyLayoutDefaults=hpe();xv.transitionAxes=ppe();xv.finalizeSubplots=function(e,t){var r=t._subplots,n=r.xaxis,i=r.yaxis,a=r.cartesian,o=a,s={},l={},u,c,f;for(u=0;u0){var v=h.id;if(v.indexOf(r2)!==-1)continue;v+=r2+(u+1),h=t2.extendFlat({},h,{id:v,plot:i._cartesianlayer.selectAll(".subplot").select("."+v)})}for(var d=[],_,b=0;b1&&(L+=r2+S),k.push(s+L),o=0;o1,f=t.mainplotinfo;if(!t.mainplot||c)if(u)t.xlines=Fl(n,"path","xlines-above"),t.ylines=Fl(n,"path","ylines-above"),t.xaxislayer=Fl(n,"g","xaxislayer-above"),t.yaxislayer=Fl(n,"g","yaxislayer-above");else{if(!o){var h=Fl(n,"g","layer-subplot");t.shapelayer=Fl(h,"g","shapelayer"),t.imagelayer=Fl(h,"g","imagelayer"),f&&c?(t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer):(t.minorGridlayer=Fl(n,"g","minor-gridlayer"),t.gridlayer=Fl(n,"g","gridlayer"),t.zerolinelayer=Fl(n,"g","zerolinelayer"));var v=Fl(n,"g","layer-between");t.shapelayerBetween=Fl(v,"g","shapelayer"),t.imagelayerBetween=Fl(v,"g","imagelayer"),Fl(n,"path","xlines-below"),Fl(n,"path","ylines-below"),t.overlinesBelow=Fl(n,"g","overlines-below"),Fl(n,"g","xaxislayer-below"),Fl(n,"g","yaxislayer-below"),t.overaxesBelow=Fl(n,"g","overaxes-below")}t.overplot=Fl(n,"g","overplot"),t.plot=Fl(t.overplot,"g",i),o||(t.xlines=Fl(n,"path","xlines-above"),t.ylines=Fl(n,"path","ylines-above"),t.overlinesAbove=Fl(n,"g","overlines-above"),Fl(n,"g","xaxislayer-above"),Fl(n,"g","yaxislayer-above"),t.overaxesAbove=Fl(n,"g","overaxes-above"),t.xlines=n.select(".xlines-"+s),t.ylines=n.select(".ylines-"+l),t.xaxislayer=n.select(".xaxislayer-"+s),t.yaxislayer=n.select(".yaxislayer-"+l))}else{var d=f.plotgroup,_=i+"-x",b=i+"-y";t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer,Fl(f.overlinesBelow,"path",_),Fl(f.overlinesBelow,"path",b),Fl(f.overaxesBelow,"g",_),Fl(f.overaxesBelow,"g",b),t.plot=Fl(f.overplot,"g",i),Fl(f.overlinesAbove,"path",_),Fl(f.overlinesAbove,"path",b),Fl(f.overaxesAbove,"g",_),Fl(f.overaxesAbove,"g",b),t.xlines=d.select(".overlines-"+s).select("."+_),t.ylines=d.select(".overlines-"+l).select("."+b),t.xaxislayer=d.select(".overaxes-"+s).select("."+_),t.yaxislayer=d.select(".overaxes-"+l).select("."+b)}o||(u||(AI(t.minorGridlayer,"g",t.xaxis._id),AI(t.minorGridlayer,"g",t.yaxis._id),t.minorGridlayer.selectAll("g").map(function(p){return p[0]}).sort(A_.idSort),AI(t.gridlayer,"g",t.xaxis._id),AI(t.gridlayer,"g",t.yaxis._id),t.gridlayer.selectAll("g").map(function(p){return p[0]}).sort(A_.idSort)),t.xlines.style("fill","none").classed("crisp",!0),t.ylines.style("fill","none").classed("crisp",!0))}function xpe(e,t){if(e){var r={};e.each(function(l){var u=l[0],c=SI.select(this);c.remove(),bpe(u,t),r[u]=!0});for(var n in t._plots)for(var i=t._plots[n],a=i.overlays||[],o=0;o{"use strict";var MI=lu();wpe.exports={hasLines:MI.hasLines,hasMarkers:MI.hasMarkers,hasText:MI.hasText,isBubble:MI.isBubble,attributes:Uc(),layoutAttributes:aL(),supplyDefaults:Wde(),crossTraceDefaults:dU(),supplyLayoutDefaults:Kde(),calc:U0().calc,crossTraceCalc:Tve(),arraysToCalcdata:Lm(),plot:vT(),colorbar:Jd(),formatLabels:vI(),style:up().style,styleOnSelect:up().styleOnSelect,hoverPoints:yT(),selectPoints:_T(),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:Qf(),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}});var Mpe=ye((Kar,Spe)=>{"use strict";var Mpt=ba(),Ept=va(),Ape=NN(),FU=Ar(),kpt=FU.strScale,Cpt=FU.strRotate,Lpt=FU.strTranslate;Spe.exports=function(t,r,n){var i=t.node(),a=Ape[n.arrowhead||0],o=Ape[n.startarrowhead||0],s=(n.arrowwidth||1)*(n.arrowsize||1),l=(n.arrowwidth||1)*(n.startarrowsize||1),u=r.indexOf("start")>=0,c=r.indexOf("end")>=0,f=a.backoff*s+n.standoff,h=o.backoff*l+n.startstandoff,v,d,_,b;if(i.nodeName==="line"){v={x:+t.attr("x1"),y:+t.attr("y1")},d={x:+t.attr("x2"),y:+t.attr("y2")};var p=v.x-d.x,E=v.y-d.y;if(_=Math.atan2(E,p),b=_+Math.PI,f&&h&&f+h>Math.sqrt(p*p+E*E)){V();return}if(f){if(f*f>p*p+E*E){V();return}var k=f*Math.cos(_),S=f*Math.sin(_);d.x+=k,d.y+=S,t.attr({x2:d.x,y2:d.y})}if(h){if(h*h>p*p+E*E){V();return}var L=h*Math.cos(_),x=h*Math.sin(_);v.x-=L,v.y-=x,t.attr({x1:v.x,y1:v.y})}}else if(i.nodeName==="path"){var C=i.getTotalLength(),M="";if(C{"use strict";var Epe=ba(),qU=ya(),Ppt=Nu(),M_=Ar(),OU=M_.strTranslate,v4=Xa(),i2=va(),Ry=ao(),kpe=Nc(),BU=Ll(),NU=Sg(),d4=yv(),Ipt=Vs().arrayEditor,Dpt=Mpe();Ppe.exports={draw:Rpt,drawOne:Cpe,drawRaw:Lpe};function Rpt(e){var t=e._fullLayout;t._infolayer.selectAll(".annotation").remove();for(var r=0;r2/3?Xe="right":Xe="center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[Xe]}for(var Ce=!1,me=["x","y"],De=0;De1)&&(nt===Ge?(St=ct.r2fraction(t["a"+ce]),(St<0||St>1)&&(Ce=!0)):Ce=!0),mr=ct._offset+ct.r2p(t[ce]),bt=.5}else{var Et=Lt==="domain";ce==="x"?(Ke=t[ce],mr=Et?ct._offset+ct._length*Ke:mr=s.l+s.w*Ke):(Ke=1-t[ce],mr=Et?ct._offset+ct._length*Ke:mr=s.t+s.h*Ke),bt=t.showarrow?.5:Ke}if(t.showarrow){Yt.head=mr;var dt=t["a"+ce];if(xt=rt*ze(.5,t.xanchor)-ot*ze(.5,t.yanchor),nt===Ge){var Ht=v4.getRefType(nt);Ht==="domain"?(ce==="y"&&(dt=1-dt),Yt.tail=ct._offset+ct._length*dt):Ht==="paper"?ce==="y"?(dt=1-dt,Yt.tail=s.t+s.h*dt):Yt.tail=s.l+s.w*dt:Yt.tail=ct._offset+ct.r2p(dt),er=xt}else Yt.tail=mr+dt,er=xt+dt;Yt.text=Yt.tail+xt;var $t=o[ce==="x"?"width":"height"];if(Ge==="paper"&&(Yt.head=M_.constrain(Yt.head,1,$t-1)),nt==="pixel"){var fr=-Math.max(Yt.tail-3,Yt.text),xr=Math.min(Yt.tail+3,Yt.text)-$t;fr>0?(Yt.tail+=fr,Yt.text+=fr):xr>0&&(Yt.tail-=xr,Yt.text-=xr)}Yt.tail+=Ct,Yt.head+=Ct}else xt=It*ze(bt,kt),er=xt,Yt.text=mr+xt;Yt.text+=Ct,xt+=Ct,er+=Ct,t["_"+ce+"padplus"]=It/2+er,t["_"+ce+"padminus"]=It/2-er,t["_"+ce+"size"]=It,t["_"+ce+"shift"]=xt}if(Ce){C.remove();return}var Br=0,Or=0;if(t.align!=="left"&&(Br=(ie-ke)*(t.align==="center"?.5:1)),t.valign!=="top"&&(Or=(Te-ge)*(t.valign==="middle"?.5:1)),_e)ae.select("svg").attr({x:P+Br-1,y:P+Or}).call(Ry.setClipUrl,F?_:null,e);else{var Nr=P+Or-Me.top,ut=P+Br-Me.left;X.call(BU.positionText,ut,Nr).call(Ry.setClipUrl,F?_:null,e)}q.select("rect").call(Ry.setRect,P,P,ie,Te),T.call(Ry.setRect,M/2,M/2,Ee-M,Ae-M),C.call(Ry.setTranslate,Math.round(b.x.text-Ee/2),Math.round(b.y.text-Ae/2)),k.attr({transform:"rotate("+p+","+b.x.text+","+b.y.text+")"});var Ne=function(Ve,Xe){E.selectAll(".annotation-arrow-g").remove();var ht=b.x.head,Le=b.y.head,xe=b.x.tail+Ve,Se=b.y.tail+Xe,lt=b.x.text+Ve,Gt=b.y.text+Xe,Vt=M_.rotationXYMatrix(p,lt,Gt),ar=M_.apply2DTransform(Vt),Qr=M_.apply2DTransform2(Vt),ai=+T.attr("width"),jr=+T.attr("height"),ri=lt-.5*ai,bi=ri+ai,nn=Gt-.5*jr,Wi=nn+jr,Ni=[[ri,nn,ri,Wi],[ri,Wi,bi,Wi],[bi,Wi,bi,nn],[bi,nn,ri,nn]].map(Qr);if(!Ni.reduce(function(Vr,gi){return Vr^!!M_.segmentsIntersect(ht,Le,ht+1e6,Le+1e6,gi[0],gi[1],gi[2],gi[3])},!1)){Ni.forEach(function(Vr){var gi=M_.segmentsIntersect(xe,Se,ht,Le,Vr[0],Vr[1],Vr[2],Vr[3]);gi&&(xe=gi.x,Se=gi.y)});var _n=t.arrowwidth,$i=t.arrowcolor,zn=t.arrowside,Wn=E.append("g").style({opacity:i2.opacity($i)}).classed("annotation-arrow-g",!0),Dt=Wn.append("path").attr("d","M"+xe+","+Se+"L"+ht+","+Le).style("stroke-width",_n+"px").call(i2.stroke,i2.rgb($i));if(Dpt(Dt,zn,t),l.annotationPosition&&Dt.node().parentNode&&!n){var ft=ht,jt=Le;if(t.standoff){var Zt=Math.sqrt(Math.pow(ht-xe,2)+Math.pow(Le-Se,2));ft+=t.standoff*(xe-ht)/Zt,jt+=t.standoff*(Se-Le)/Zt}var _r=Wn.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(xe-ft)+","+(Se-jt),transform:OU(ft,jt)}).style("stroke-width",_n+6+"px").call(i2.stroke,"rgba(0,0,0,0)").call(i2.fill,"rgba(0,0,0,0)"),Fr,Zr;d4.init({element:_r.node(),gd:e,prepFn:function(){var Vr=Ry.getTranslate(C);Fr=Vr.x,Zr=Vr.y,i&&i.autorange&&h(i._name+".autorange",!0),a&&a.autorange&&h(a._name+".autorange",!0)},moveFn:function(Vr,gi){var Si=ar(Fr,Zr),Mi=Si[0]+Vr,Pi=Si[1]+gi;C.call(Ry.setTranslate,Mi,Pi),v("x",S_(i,Vr,"x",s,t)),v("y",S_(a,gi,"y",s,t)),t.axref===t.xref&&v("ax",S_(i,Vr,"ax",s,t)),t.ayref===t.yref&&v("ay",S_(a,gi,"ay",s,t)),Wn.attr("transform",OU(Vr,gi)),k.attr({transform:"rotate("+p+","+Mi+","+Pi+")"})},doneFn:function(){qU.call("_guiRelayout",e,d());var Vr=document.querySelector(".js-notes-box-panel");Vr&&Vr.redraw(Vr.selectedObj)}})}}};if(t.showarrow&&Ne(0,0),S){var Ye;d4.init({element:C.node(),gd:e,prepFn:function(){Ye=k.attr("transform")},moveFn:function(Ve,Xe){var ht="pointer";if(t.showarrow)t.axref===t.xref?v("ax",S_(i,Ve,"ax",s,t)):v("ax",t.ax+Ve),t.ayref===t.yref?v("ay",S_(a,Xe,"ay",s.w,t)):v("ay",t.ay+Xe),Ne(Ve,Xe);else{if(n)return;var Le,xe;if(i)Le=S_(i,Ve,"x",s,t);else{var Se=t._xsize/s.w,lt=t.x+(t._xshift-t.xshift)/s.w-Se/2;Le=d4.align(lt+Ve/s.w,Se,0,1,t.xanchor)}if(a)xe=S_(a,Xe,"y",s,t);else{var Gt=t._ysize/s.h,Vt=t.y-(t._yshift+t.yshift)/s.h-Gt/2;xe=d4.align(Vt-Xe/s.h,Gt,0,1,t.yanchor)}v("x",Le),v("y",xe),(!i||!a)&&(ht=d4.getCursor(i?.5:Le,a?.5:xe,t.xanchor,t.yanchor))}k.attr({transform:OU(Ve,Xe)+Ye}),NU(C,ht)},clickFn:function(Ve,Xe){t.captureevents&&e.emit("plotly_clickannotation",x(Xe))},doneFn:function(){NU(C),qU.call("_guiRelayout",e,d());var Ve=document.querySelector(".js-notes-box-panel");Ve&&Ve.redraw(Ve.selectedObj)}})}}l.annotationText?X.call(BU.makeEditable,{delegate:C,gd:e}).call(G).on("edit",function(W){t.text=W,this.call(G),v("text",W),i&&i.autorange&&h(i._name+".autorange",!0),a&&a.autorange&&h(a._name+".autorange",!0),qU.call("_guiRelayout",e,d())}):X.call(G)}});var qpe=ye(($ar,Fpe)=>{"use strict";var Ipe=Ar(),zpt=ya(),Dpe=Vs().arrayEditor;Fpe.exports={hasClickToShow:Fpt,onClick:qpt};function Fpt(e,t){var r=zpe(e,t);return r.on.length>0||r.explicitOff.length>0}function qpt(e,t){var r=zpe(e,t),n=r.on,i=r.off.concat(r.explicitOff),a={},o=e._fullLayout.annotations,s,l;if(n.length||i.length){for(s=0;s{"use strict";var UU=Ar(),xT=va();Ope.exports=function(t,r,n,i){i("opacity");var a=i("bgcolor"),o=i("bordercolor"),s=xT.opacity(o);i("borderpad");var l=i("borderwidth"),u=i("showarrow");i("text",u?" ":n._dfltTitle.annotation),i("textangle"),UU.coerceFont(i,"font",n.font),i("width"),i("align");var c=i("height");if(c&&i("valign"),u){var f=i("arrowside"),h,v;f.indexOf("end")!==-1&&(h=i("arrowhead"),v=i("arrowsize")),f.indexOf("start")!==-1&&(i("startarrowhead",h),i("startarrowsize",v)),i("arrowcolor",s?r.bordercolor:xT.defaultLine),i("arrowwidth",(s&&l||1)*2),i("standoff"),i("startstandoff")}var d=i("hovertext"),_=n.hoverlabel||{};if(d){var b=i("hoverlabel.bgcolor",_.bgcolor||(xT.opacity(a)?xT.rgb(a):xT.defaultLine)),p=i("hoverlabel.bordercolor",_.bordercolor||xT.contrast(b)),E=UU.extendFlat({},_.font);E.color||(E.color=p),UU.coerceFont(i,"hoverlabel.font",E)}i("captureevents",!!d)}});var Npe=ye((eor,Bpe)=>{"use strict";var HU=Ar(),n2=Xa(),Opt=Xd(),Bpt=VU(),Npt=Kb();Bpe.exports=function(t,r){Opt(t,r,{name:"annotations",handleItemDefaults:Upt})};function Upt(e,t,r){function n(k,S){return HU.coerce(e,t,Npt,k,S)}var i=n("visible"),a=n("clicktoshow");if(i||a){Bpt(e,t,r,n);for(var o=t.showarrow,s=["x","y"],l=[-10,-30],u={_fullLayout:r},c=0;c<2;c++){var f=s[c],h=n2.coerceRef(e,t,u,f,"","paper");if(h!=="paper"){var v=n2.getFromId(u,h);v._annIndices.push(t._index)}if(n2.coercePosition(t,u,n,h,f,.5),o){var d="a"+f,_=n2.coerceRef(e,t,u,d,"pixel",["pixel","paper"]);_!=="pixel"&&_!==h&&(_=t[d]="pixel");var b=_==="pixel"?l[c]:.4;n2.coercePosition(t,u,n,_,d,b)}n(f+"anchor"),n(f+"shift")}if(HU.noneOrAll(e,t,["x","y"]),o&&HU.noneOrAll(e,t,["ax","ay"]),a){var p=n("xclick"),E=n("yclick");t._xclick=p===void 0?t.x:n2.cleanPosition(p,u,t.xref),t._yclick=E===void 0?t.y:n2.cleanPosition(E,u,t.yref)}}}});var Hpe=ye((tor,Vpe)=>{"use strict";var GU=Ar(),a2=Xa(),Vpt=EI().draw;Vpe.exports=function(t){var r=t._fullLayout,n=GU.filterVisible(r.annotations);if(n.length&&t._fullData.length)return GU.syncOrAsync([Vpt,Hpt],t)};function Hpt(e){var t=e._fullLayout;GU.filterVisible(t.annotations).forEach(function(r){var n=a2.getFromId(e,r.xref),i=a2.getFromId(e,r.yref),a=a2.getRefType(r.xref),o=a2.getRefType(r.yref);r._extremes={},a==="range"&&Upe(r,n),o==="range"&&Upe(r,i)})}function Upe(e,t){var r=t._id,n=r.charAt(0),i=e[n],a=e["a"+n],o=e[n+"ref"],s=e["a"+n+"ref"],l=e["_"+n+"padplus"],u=e["_"+n+"padminus"],c={x:1,y:-1}[n]*e[n+"shift"],f=3*e.arrowsize*e.arrowwidth||0,h=f+c,v=f-c,d=3*e.startarrowsize*e.arrowwidth||0,_=d+c,b=d-c,p;if(s===o){var E=a2.findExtremes(t,[t.r2c(i)],{ppadplus:h,ppadminus:v}),k=a2.findExtremes(t,[t.r2c(a)],{ppadplus:Math.max(l,_),ppadminus:Math.max(u,b)});p={min:[E.min[0],k.min[0]],max:[E.max[0],k.max[0]]}}else _=a?_+a:_,b=a?b-a:b,p=a2.findExtremes(t,[t.r2c(i)],{ppadplus:Math.max(l,h,_),ppadminus:Math.max(u,v,b)});e._extremes[r]=p}});var jpe=ye((ror,Gpe)=>{"use strict";var Gpt=uo(),jpt=E6();Gpe.exports=function(t,r,n,i){r=r||{};var a=n==="log"&&r.type==="linear",o=n==="linear"&&r.type==="log";if(!(a||o))return;var s=t._fullLayout.annotations,l=r._id.charAt(0),u,c;function f(v){var d=u[v],_=null;a?_=jpt(d,r.range):_=Math.pow(10,d),Gpt(_)||(_=null),i(c+v,_)}for(var h=0;h{"use strict";var jU=EI(),Wpe=qpe();Zpe.exports={moduleType:"component",name:"annotations",layoutAttributes:Kb(),supplyLayoutDefaults:Npe(),includeBasePlot:WM()("annotations"),calcAutorange:Hpe(),draw:jU.draw,drawOne:jU.drawOne,drawRaw:jU.drawRaw,hasClickToShow:Wpe.hasClickToShow,onClick:Wpe.onClick,convertCoords:jpe()}});var kI=ye((nor,Ype)=>{"use strict";var Ku=Kb(),Wpt=Bu().overrideAll,Zpt=Vs().templatedArray;Ype.exports=Wpt(Zpt("annotation",{visible:Ku.visible,x:{valType:"any"},y:{valType:"any"},z:{valType:"any"},ax:{valType:"number"},ay:{valType:"number"},xanchor:Ku.xanchor,xshift:Ku.xshift,yanchor:Ku.yanchor,yshift:Ku.yshift,text:Ku.text,textangle:Ku.textangle,font:Ku.font,width:Ku.width,height:Ku.height,opacity:Ku.opacity,align:Ku.align,valign:Ku.valign,bgcolor:Ku.bgcolor,bordercolor:Ku.bordercolor,borderpad:Ku.borderpad,borderwidth:Ku.borderwidth,showarrow:Ku.showarrow,arrowcolor:Ku.arrowcolor,arrowhead:Ku.arrowhead,startarrowhead:Ku.startarrowhead,arrowside:Ku.arrowside,arrowsize:Ku.arrowsize,startarrowsize:Ku.startarrowsize,arrowwidth:Ku.arrowwidth,standoff:Ku.standoff,startstandoff:Ku.startstandoff,hovertext:Ku.hovertext,hoverlabel:Ku.hoverlabel,captureevents:Ku.captureevents}),"calc","from-root")});var Jpe=ye((aor,Kpe)=>{"use strict";var WU=Ar(),Xpt=Xa(),Ypt=Xd(),Kpt=VU(),Jpt=kI();Kpe.exports=function(t,r,n){Ypt(t,r,{name:"annotations",handleItemDefaults:$pt,fullLayout:n.fullLayout})};function $pt(e,t,r,n){function i(s,l){return WU.coerce(e,t,Jpt,s,l)}function a(s){var l=s+"axis",u={_fullLayout:{}};return u._fullLayout[l]=r[l],Xpt.coercePosition(t,u,i,s,s,.5)}var o=i("visible");o&&(Kpt(e,t,n.fullLayout,i),a("x"),a("y"),a("z"),WU.noneOrAll(e,t,["x","y","z"]),t.xref="x",t.yref="y",t.zref="z",i("xanchor"),i("yanchor"),i("xshift"),i("yshift"),t.showarrow&&(t.axref="pixel",t.ayref="pixel",i("ax",-10),i("ay",-30),WU.noneOrAll(e,t,["ax","ay"])))}});var t0e=ye((oor,e0e)=>{"use strict";var $pe=Ar(),Qpe=Xa();e0e.exports=function(t){for(var r=t.fullSceneLayout,n=r.annotations,i=0;i{"use strict";function ZU(e,t){var r=[0,0,0,0],n,i;for(n=0;n<4;++n)for(i=0;i<4;++i)r[i]+=e[4*n+i]*t[n];return r}function e0t(e,t){var r=ZU(e.projection,ZU(e.view,ZU(e.model,[t[0],t[1],t[2],1])));return r}r0e.exports=e0t});var n0e=ye((lor,i0e)=>{"use strict";var t0t=EI().drawRaw,r0t=XU(),i0t=["x","y","z"];i0e.exports=function(t){for(var r=t.fullSceneLayout,n=t.dataScale,i=r.annotations,a=0;a1){s=!0;break}}s?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+a+'"]').remove():(o._pdata=r0t(t.glplot.cameraParams,[r.xaxis.r2l(o.x)*n[0],r.yaxis.r2l(o.y)*n[1],r.zaxis.r2l(o.z)*n[2]]),t0t(t.graphDiv,o,a,t.id,o._xa,o._ya))}}});var s0e=ye((uor,o0e)=>{"use strict";var n0t=ya(),a0e=Ar();o0e.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:kI()}}},layoutAttributes:kI(),handleDefaults:Jpe(),includeBasePlot:a0t,convert:t0e(),draw:n0e()};function a0t(e,t){var r=n0t.subplotsRegistry.gl3d;if(r)for(var n=r.attrRegex,i=Object.keys(e),a=0;a{"use strict";var l0e=Kb(),u0e=Su(),c0e=Uc().line,o0t=kd().dash,Og=no().extendFlat,s0t=Vs().templatedArray,cor=jM(),bT=vl(),l0t=Wo().shapeTexttemplateAttrs,u0t=B6();f0e.exports=s0t("shape",{visible:Og({},bT.visible,{editType:"calc+arraydraw"}),showlegend:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},legend:Og({},bT.legend,{editType:"calc+arraydraw"}),legendgroup:Og({},bT.legendgroup,{editType:"calc+arraydraw"}),legendgrouptitle:{text:Og({},bT.legendgrouptitle.text,{editType:"calc+arraydraw"}),font:u0e({editType:"calc+arraydraw"}),editType:"calc+arraydraw"},legendrank:Og({},bT.legendrank,{editType:"calc+arraydraw"}),legendwidth:Og({},bT.legendwidth,{editType:"calc+arraydraw"}),type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above",editType:"arraydraw"},xref:Og({},l0e.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},x0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},x1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},yref:Og({},l0e.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},y0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},y1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:Og({},c0e.color,{editType:"arraydraw"}),width:Og({},c0e.width,{editType:"calc+arraydraw"}),dash:Og({},o0t,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},label:{text:{valType:"string",dflt:"",editType:"arraydraw"},texttemplate:l0t({},{keys:Object.keys(u0t)}),font:u0e({editType:"calc+arraydraw",colorEditType:"arraydraw"}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"],editType:"arraydraw"},textangle:{valType:"angle",dflt:"auto",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],editType:"calc+arraydraw"},padding:{valType:"number",dflt:3,min:0,editType:"arraydraw"},editType:"arraydraw"},editType:"arraydraw"})});var v0e=ye((dor,d0e)=>{"use strict";var p4=Ar(),wT=Xa(),c0t=Xd(),f0t=YU(),h0e=y_();d0e.exports=function(t,r){c0t(t,r,{name:"shapes",handleItemDefaults:d0t})};function h0t(e,t){return e?"bottom":t.indexOf("top")!==-1?"top":t.indexOf("bottom")!==-1?"bottom":"middle"}function d0t(e,t,r){function n(W,re){return p4.coerce(e,t,f0t,W,re)}t._isShape=!0;var i=n("visible");if(i){var a=n("showlegend");a&&(n("legend"),n("legendwidth"),n("legendgroup"),n("legendgrouptitle.text"),p4.coerceFont(n,"legendgrouptitle.font"),n("legendrank"));var o=n("path"),s=o?"path":"rect",l=n("type",s),u=l!=="path";u&&delete t.path,n("editable"),n("layer"),n("opacity"),n("fillcolor"),n("fillrule");var c=n("line.width");c&&(n("line.color"),n("line.dash"));for(var f=n("xsizemode"),h=n("ysizemode"),v=["x","y"],d=0;d<2;d++){var _=v[d],b=_+"anchor",p=_==="x"?f:h,E={_fullLayout:r},k,S,L,x=wT.coerceRef(e,t,E,_,void 0,"paper"),C=wT.getRefType(x);if(C==="range"?(k=wT.getFromId(E,x),k._shapeIndices.push(t._index),L=h0e.rangeToShapePosition(k),S=h0e.shapePositionToRange(k),(k.type==="category"||k.type==="multicategory")&&(n(_+"0shift"),n(_+"1shift"))):S=L=p4.identity,u){var M=.25,g=.75,P=_+"0",T=_+"1",F=e[P],q=e[T];e[P]=S(e[P],!0),e[T]=S(e[T],!0),p==="pixel"?(n(P,0),n(T,10)):(wT.coercePosition(t,E,n,x,P,M),wT.coercePosition(t,E,n,x,T,g)),t[P]=L(t[P]),t[T]=L(t[T]),e[P]=F,e[T]=q}if(p==="pixel"){var V=e[b];e[b]=S(e[b],!0),wT.coercePosition(t,E,n,x,b,.25),t[b]=L(t[b]),e[b]=V}}u&&p4.noneOrAll(e,t,["x0","x1","y0","y1"]);var H=l==="line",X,G;if(u&&(X=n("label.texttemplate")),X||(G=n("label.text")),G||X){n("label.textangle");var N=n("label.textposition",H?"middle":"middle center");n("label.xanchor"),n("label.yanchor",h0t(H,N)),n("label.padding"),p4.coerceFont(n,"label.font",r.font)}}}});var m0e=ye((vor,g0e)=>{"use strict";var v0t=va(),p0e=Ar();function p0t(e,t){return e?"bottom":t.indexOf("top")!==-1?"top":t.indexOf("bottom")!==-1?"bottom":"middle"}g0e.exports=function(t,r,n){n("newshape.visible"),n("newshape.name"),n("newshape.showlegend"),n("newshape.legend"),n("newshape.legendwidth"),n("newshape.legendgroup"),n("newshape.legendgrouptitle.text"),p0e.coerceFont(n,"newshape.legendgrouptitle.font"),n("newshape.legendrank"),n("newshape.drawdirection"),n("newshape.layer"),n("newshape.fillcolor"),n("newshape.fillrule"),n("newshape.opacity");var i=n("newshape.line.width");if(i){var a=(t||{}).plot_bgcolor||"#FFF";n("newshape.line.color",v0t.contrast(a)),n("newshape.line.dash")}var o=t.dragmode==="drawline",s=n("newshape.label.text"),l=n("newshape.label.texttemplate");if(s||l){n("newshape.label.textangle");var u=n("newshape.label.textposition",o?"middle":"middle center");n("newshape.label.xanchor"),n("newshape.label.yanchor",p0t(o,u)),n("newshape.label.padding"),p0e.coerceFont(n,"newshape.label.font",r.font)}n("activeshape.fillcolor"),n("activeshape.opacity")}});var w0e=ye((por,b0e)=>{"use strict";var KU=Ar(),TT=Xa(),AT=AM(),_0e=y_();b0e.exports=function(t){var r=t._fullLayout,n=KU.filterVisible(r.shapes);if(!(!n.length||!t._fullData.length))for(var i=0;i0?u+o:o;return{ppad:o,ppadplus:s?f:h,ppadminus:s?h:f}}else return{ppad:o}}function y0e(e,t,r){var n=e._id.charAt(0)==="x"?"x":"y",i=e.type==="category"||e.type==="multicategory",a,o,s=0,l=0,u=i?e.r2c:e.d2c,c=t[n+"sizemode"]==="scaled";if(c?(a=t[n+"0"],o=t[n+"1"],i&&(s=t[n+"0shift"],l=t[n+"1shift"])):(a=t[n+"anchor"],o=t[n+"anchor"]),a!==void 0)return[u(a)+s,u(o)+l];if(t.path){var f=1/0,h=-1/0,v=t.path.match(AT.segmentRE),d,_,b,p,E;for(e.type==="date"&&(u=_0e.decodeDate(u)),d=0;dh&&(h=E)));if(h>=f)return[f,h]}}});var S0e=ye((gor,A0e)=>{"use strict";var T0e=bP();A0e.exports={moduleType:"component",name:"shapes",layoutAttributes:YU(),supplyLayoutDefaults:v0e(),supplyDrawNewShapeDefaults:m0e(),includeBasePlot:WM()("shapes"),calcAutorange:w0e(),draw:T0e.draw,drawOne:T0e.drawOne}});var JU=ye((yor,E0e)=>{"use strict";var M0e=sd(),y0t=Vs().templatedArray,mor=jM();E0e.exports=y0t("image",{visible:{valType:"boolean",dflt:!0,editType:"arraydraw"},source:{valType:"string",editType:"arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},sizex:{valType:"number",dflt:0,editType:"arraydraw"},sizey:{valType:"number",dflt:0,editType:"arraydraw"},sizing:{valType:"enumerated",values:["fill","contain","stretch"],dflt:"contain",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},x:{valType:"any",dflt:0,editType:"arraydraw"},y:{valType:"any",dflt:0,editType:"arraydraw"},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",editType:"arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"top",editType:"arraydraw"},xref:{valType:"enumerated",values:["paper",M0e.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",M0e.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})});var C0e=ye((_or,k0e)=>{"use strict";var _0t=Ar(),$U=Xa(),x0t=Xd(),b0t=JU(),w0t="images";k0e.exports=function(t,r){var n={name:w0t,handleItemDefaults:T0t};x0t(t,r,n)};function T0t(e,t,r){function n(h,v){return _0t.coerce(e,t,b0t,h,v)}var i=n("source"),a=n("visible",!!i);if(!a)return t;n("layer"),n("xanchor"),n("yanchor"),n("sizex"),n("sizey"),n("sizing"),n("opacity");for(var o={_fullLayout:r},s=["x","y"],l=0;l<2;l++){var u=s[l],c=$U.coerceRef(e,t,o,u,"paper",void 0);if(c!=="paper"){var f=$U.getFromId(o,c);f._imgIndices.push(t._index)}$U.coercePosition(t,o,n,c,u,0)}return t}});var D0e=ye((xor,I0e)=>{"use strict";var L0e=ba(),A0t=ao(),ST=Xa(),P0e=af(),S0t=Kp();I0e.exports=function(t){var r=t._fullLayout,n=[],i={},a=[],o,s;for(s=0;s{"use strict";var R0e=uo(),M0t=E6();z0e.exports=function(t,r,n,i){r=r||{};var a=n==="log"&&r.type==="linear",o=n==="linear"&&r.type==="log";if(a||o){for(var s=t._fullLayout.images,l=r._id.charAt(0),u,c,f=0;f{"use strict";q0e.exports={moduleType:"component",name:"images",layoutAttributes:JU(),supplyLayoutDefaults:C0e(),includeBasePlot:WM()("images"),draw:D0e(),convertCoords:F0e()}});var CI=ye((Tor,B0e)=>{"use strict";B0e.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25C4",right:"\u25BA",up:"\u25B2",down:"\u25BC"}}});var QU=ye((Aor,U0e)=>{"use strict";var E0t=Su(),k0t=ph(),C0t=no().extendFlat,L0t=Bu().overrideAll,P0t=N6(),N0e=Vs().templatedArray,I0t=N0e("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});U0e.exports=L0t(N0e("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:I0t,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:C0t(P0t({editType:"arraydraw"}),{}),font:E0t({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:k0t.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")});var j0e=ye((Sor,G0e)=>{"use strict";var LI=Ar(),V0e=Xd(),H0e=QU(),D0t=CI(),R0t=D0t.name,z0t=H0e.buttons;G0e.exports=function(t,r){var n={name:R0t,handleItemDefaults:F0t};V0e(t,r,n)};function F0t(e,t,r){function n(o,s){return LI.coerce(e,t,H0e,o,s)}var i=V0e(e,t,{name:"buttons",handleItemDefaults:q0t}),a=n("visible",i.length>0);a&&(n("active"),n("direction"),n("type"),n("showactive"),n("x"),n("y"),LI.noneOrAll(e,t,["x","y"]),n("xanchor"),n("yanchor"),n("pad.t"),n("pad.r"),n("pad.b"),n("pad.l"),LI.coerceFont(n,"font",r.font),n("bgcolor",r.paper_bgcolor),n("bordercolor"),n("borderwidth"))}function q0t(e,t){function r(i,a){return LI.coerce(e,t,z0t,i,a)}var n=r("visible",e.method==="skip"||Array.isArray(e.args));n&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}});var X0e=ye((Mor,Z0e)=>{"use strict";Z0e.exports=of;var Bg=ba(),W0e=va(),MT=ao(),PI=Ar();function of(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}of.barWidth=2;of.barLength=20;of.barRadius=2;of.barPad=1;of.barColor="#808BA4";of.prototype.enable=function(t,r,n){var i=this.gd._fullLayout,a=i.width,o=i.height;this.position=t;var s=this.position.l,l=this.position.w,u=this.position.t,c=this.position.h,f=this.position.direction,h=f==="down",v=f==="left",d=f==="right",_=f==="up",b=l,p=c,E,k,S,L;!h&&!v&&!d&&!_&&(this.position.direction="down",h=!0);var x=h||_;x?(E=s,k=E+b,h?(S=u,L=Math.min(S+p,o),p=L-S):(L=u+p,S=Math.max(L-p,0),p=L-S)):(S=u,L=S+p,v?(k=s+b,E=Math.max(k-b,0),b=k-E):(E=s,k=Math.min(E+b,a),b=k-E)),this._box={l:E,t:S,w:b,h:p};var C=l>b,M=of.barLength+2*of.barPad,g=of.barWidth+2*of.barPad,P=s,T=u+c;T+g>o&&(T=o-g);var F=this.container.selectAll("rect.scrollbar-horizontal").data(C?[0]:[]);F.exit().on(".drag",null).remove(),F.enter().append("rect").classed("scrollbar-horizontal",!0).call(W0e.fill,of.barColor),C?(this.hbar=F.attr({rx:of.barRadius,ry:of.barRadius,x:P,y:T,width:M,height:g}),this._hbarXMin=P+M/2,this._hbarTranslateMax=b-M):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var q=c>p,V=of.barWidth+2*of.barPad,H=of.barLength+2*of.barPad,X=s+l,G=u;X+V>a&&(X=a-V);var N=this.container.selectAll("rect.scrollbar-vertical").data(q?[0]:[]);N.exit().on(".drag",null).remove(),N.enter().append("rect").classed("scrollbar-vertical",!0).call(W0e.fill,of.barColor),q?(this.vbar=N.attr({rx:of.barRadius,ry:of.barRadius,x:X,y:G,width:V,height:H}),this._vbarYMin=G+H/2,this._vbarTranslateMax=p-H):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var W=this.id,re=E-.5,ae=q?k+V+.5:k+.5,_e=S-.5,Me=C?L+g+.5:L+.5,ke=i._topdefs.selectAll("#"+W).data(C||q?[0]:[]);if(ke.exit().remove(),ke.enter().append("clipPath").attr("id",W).append("rect"),C||q?(this._clipRect=ke.select("rect").attr({x:Math.floor(re),y:Math.floor(_e),width:Math.ceil(ae)-Math.floor(re),height:Math.ceil(Me)-Math.floor(_e)}),this.container.call(MT.setClipUrl,W,this.gd),this.bg.attr({x:s,y:u,width:l,height:c})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(MT.setClipUrl,null),delete this._clipRect),C||q){var ge=Bg.behavior.drag().on("dragstart",function(){Bg.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(ge);var ie=Bg.behavior.drag().on("dragstart",function(){Bg.event.sourceEvent.preventDefault(),Bg.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));C&&this.hbar.on(".drag",null).call(ie),q&&this.vbar.on(".drag",null).call(ie)}this.setTranslate(r,n)};of.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(MT.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)};of.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=Bg.event.dx),this.vbar&&(r-=Bg.event.dy),this.setTranslate(t,r)};of.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=Bg.event.deltaY),this.vbar&&(r+=Bg.event.deltaY),this.setTranslate(t,r)};of.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var n=t+this._hbarXMin,i=n+this._hbarTranslateMax,a=PI.constrain(Bg.event.x,n,i),o=(a-n)/(i-n),s=this.position.w-this._box.w;t=o*s}if(this.vbar){var l=r+this._vbarYMin,u=l+this._vbarTranslateMax,c=PI.constrain(Bg.event.y,l,u),f=(c-l)/(u-l),h=this.position.h-this._box.h;r=f*h}this.setTranslate(t,r)};of.prototype.setTranslate=function(t,r){var n=this.position.w-this._box.w,i=this.position.h-this._box.h;if(t=PI.constrain(t||0,0,n),r=PI.constrain(r||0,0,i),this.translateX=t,this.translateY=r,this.container.call(MT.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-r),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+r-.5)}),this.hbar){var a=t/n;this.hbar.call(MT.setTranslate,t+a*this._hbarTranslateMax,r)}if(this.vbar){var o=r/i;this.vbar.call(MT.setTranslate,t,r+o*this._vbarTranslateMax)}}});var nge=ye((Eor,ige)=>{"use strict";var ET=ba(),g4=Nu(),m4=va(),kT=ao(),i0=Ar(),II=Ll(),O0t=Vs().arrayEditor,K0e=Vh().LINE_SPACING,Go=CI(),B0t=X0e();ige.exports=function(t){var r=t._fullLayout,n=i0.filterVisible(r[Go.name]);function i(h){g4.autoMargin(t,tge(h))}var a=r._menulayer.selectAll("g."+Go.containerClassName).data(n.length>0?[0]:[]);if(a.enter().append("g").classed(Go.containerClassName,!0).style("cursor","pointer"),a.exit().each(function(){ET.select(this).selectAll("g."+Go.headerGroupClassName).each(i)}).remove(),n.length!==0){var o=a.selectAll("g."+Go.headerGroupClassName).data(n,N0t);o.enter().append("g").classed(Go.headerGroupClassName,!0);for(var s=i0.ensureSingle(a,"g",Go.dropdownButtonGroupClassName,function(h){h.style("pointer-events","all")}),l=0;l{"use strict";var Z0t=CI();age.exports={moduleType:"component",name:Z0t.name,layoutAttributes:QU(),supplyLayoutDefaults:j0e(),draw:nge()}});var _4=ye((Cor,sge)=>{"use strict";sge.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}});var iV=ye((Lor,cge)=>{"use strict";var lge=Su(),X0t=N6(),Y0t=no().extendDeepAll,K0t=Bu().overrideAll,J0t=ZS(),uge=Vs().templatedArray,o2=_4(),$0t=uge("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});cge.exports=K0t(uge("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:$0t,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:Y0t(X0t({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:J0t.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:lge({})},font:lge({}),activebgcolor:{valType:"color",dflt:o2.gripBgActiveColor},bgcolor:{valType:"color",dflt:o2.railBgColor},bordercolor:{valType:"color",dflt:o2.railBorderColor},borderwidth:{valType:"number",min:0,dflt:o2.railBorderWidth},ticklen:{valType:"number",min:0,dflt:o2.tickLength},tickcolor:{valType:"color",dflt:o2.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:o2.minorTickLength}}),"arraydraw","from-root")});var vge=ye((Por,dge)=>{"use strict";var CT=Ar(),fge=Xd(),hge=iV(),Q0t=_4(),egt=Q0t.name,tgt=hge.steps;dge.exports=function(t,r){fge(t,r,{name:egt,handleItemDefaults:rgt})};function rgt(e,t,r){function n(f,h){return CT.coerce(e,t,hge,f,h)}for(var i=fge(e,t,{name:"steps",handleItemDefaults:igt}),a=0,o=0;o{"use strict";var Ng=ba(),DI=Nu(),E_=va(),Ug=ao(),n0=Ar(),ngt=n0.strTranslate,x4=Ll(),agt=Vs().arrayEditor,ms=_4(),oV=Vh(),mge=oV.LINE_SPACING,nV=oV.FROM_TL,aV=oV.FROM_BR;Tge.exports=function(t){var r=t._context.staticPlot,n=t._fullLayout,i=ogt(n,t),a=n._infolayer.selectAll("g."+ms.containerClassName).data(i.length>0?[0]:[]);a.enter().append("g").classed(ms.containerClassName,!0).style("cursor",r?null:"ew-resize");function o(c){c._commandObserver&&(c._commandObserver.remove(),delete c._commandObserver),DI.autoMargin(t,yge(c))}if(a.exit().each(function(){Ng.select(this).selectAll("g."+ms.groupClassName).each(o)}).remove(),i.length!==0){var s=a.selectAll("g."+ms.groupClassName).data(i,sgt);s.enter().append("g").classed(ms.groupClassName,!0),s.exit().each(o).remove();for(var l=0;l0&&(s=s.transition().duration(t.transition.duration).ease(t.transition.easing)),s.attr("transform",ngt(o-ms.gripWidth*.5,t._dims.currentValueTotalHeight))}}function sV(e,t){var r=e._dims;return r.inputAreaStart+ms.stepInset+(r.inputAreaLength-2*ms.stepInset)*Math.min(1,Math.max(0,t))}function gge(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-ms.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*ms.stepInset-2*r.inputAreaStart)))}function vgt(e,t,r){var n=r._dims,i=n0.ensureSingle(e,"rect",ms.railTouchRectClass,function(a){a.call(bge,t,e,r).style("pointer-events","all")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,ms.tickOffset+r.ticklen+n.labelHeight)}).call(E_.fill,r.bgcolor).attr("opacity",0),Ug.setTranslate(i,0,n.currentValueTotalHeight)}function pgt(e,t){var r=t._dims,n=r.inputAreaLength-ms.railInset*2,i=n0.ensureSingle(e,"rect",ms.railRectClass);i.attr({width:n,height:ms.railWidth,rx:ms.railRadius,ry:ms.railRadius,"shape-rendering":"crispEdges"}).call(E_.stroke,t.bordercolor).call(E_.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px"),Ug.setTranslate(i,ms.railInset,(r.inputAreaWidth-ms.railWidth)*.5+r.currentValueTotalHeight)}});var Mge=ye((Dor,Sge)=>{"use strict";var ggt=_4();Sge.exports={moduleType:"component",name:ggt.name,layoutAttributes:iV(),supplyLayoutDefaults:vge(),draw:Age()}});var zI=ye((Ror,kge)=>{"use strict";var Ege=ph();kge.exports={bgcolor:{valType:"color",dflt:Ege.background,editType:"plot"},bordercolor:{valType:"color",dflt:Ege.defaultLine,editType:"plot"},borderwidth:{valType:"integer",dflt:0,min:0,editType:"plot"},autorange:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},range:{valType:"info_array",items:[{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}}],editType:"calc",impliedEdits:{autorange:!1}},thickness:{valType:"number",dflt:.15,min:0,max:1,editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"}});var lV=ye((zor,Cge)=>{"use strict";Cge.exports={_isSubplotObj:!0,rangemode:{valType:"enumerated",values:["auto","fixed","match"],dflt:"match",editType:"calc"},range:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},editType:"calc"}});var FI=ye((For,Lge)=>{"use strict";Lge.exports={name:"rangeslider",containerClassName:"rangeslider-container",bgClassName:"rangeslider-bg",rangePlotClassName:"rangeslider-rangeplot",maskMinClassName:"rangeslider-mask-min",maskMaxClassName:"rangeslider-mask-max",slideBoxClassName:"rangeslider-slidebox",grabberMinClassName:"rangeslider-grabber-min",grabAreaMinClassName:"rangeslider-grabarea-min",handleMinClassName:"rangeslider-handle-min",grabberMaxClassName:"rangeslider-grabber-max",grabAreaMaxClassName:"rangeslider-grabarea-max",handleMaxClassName:"rangeslider-handle-max",maskMinOppAxisClassName:"rangeslider-mask-min-opp-axis",maskMaxOppAxisClassName:"rangeslider-mask-max-opp-axis",maskColor:"rgba(0,0,0,0.4)",maskOppAxisColor:"rgba(0,0,0,0.2)",slideBoxFill:"transparent",slideBoxCursor:"ew-resize",grabAreaFill:"transparent",grabAreaCursor:"col-resize",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}});var Dge=ye(OI=>{"use strict";var mgt=af(),ygt=Ll(),Pge=FI(),_gt=Vh().LINE_SPACING,qI=Pge.name;function Ige(e){var t=e&&e[qI];return t&&t.visible}OI.isVisible=Ige;OI.makeData=function(e){for(var t=mgt.list({_fullLayout:e},"x",!0),r=e.margin,n=[],i=0;i{"use strict";var BI=Ar(),Rge=Vs(),zge=af(),xgt=zI(),bgt=lV();Fge.exports=function(t,r,n){var i=t[n],a=r[n];if(!(i.rangeslider||r._requestRangeslider[a._id]))return;BI.isPlainObject(i.rangeslider)||(i.rangeslider={});var o=i.rangeslider,s=Rge.newContainer(a,"rangeslider");function l(L,x){return BI.coerce(o,s,xgt,L,x)}var u,c;function f(L,x){return BI.coerce(u,c,bgt,L,x)}var h=l("visible");if(h){l("bgcolor",r.plot_bgcolor),l("bordercolor"),l("borderwidth"),l("thickness"),l("autorange",!a.isValidRange(o.range)),l("range");var v=r._subplots;if(v)for(var d=v.cartesian.filter(function(L){return L.substr(0,L.indexOf("y"))===zge.name2id(n)}).map(function(L){return L.substr(L.indexOf("y"),L.length)}),_=BI.simpleMap(d,zge.id2name),b=0;b<_.length;b++){var p=_[b];u=o[p]||{},c=Rge.newContainer(s,p,"yaxis");var E=r[p],k;u.range&&E.isValidRange(u.range)&&(k="fixed");var S=f("rangemode",k);S!=="match"&&f("range",E.range.slice())}s._input=o}}});var Bge=ye((Bor,Oge)=>{"use strict";var wgt=af().list,Tgt=Ag().getAutoRange,Agt=FI();Oge.exports=function(t){for(var r=wgt(t,"x",!0),n=0;n{"use strict";var NI=ba(),Sgt=ya(),Mgt=Nu(),Ff=Ar(),UI=Ff.strTranslate,Uge=ao(),k_=va(),Egt=Fb(),kgt=Qf(),uV=af(),Cgt=yv(),Lgt=Sg(),Bs=FI();Vge.exports=function(e){for(var t=e._fullLayout,r=t._rangeSliderData,n=0;n=N.max)X=T[G+1];else if(H=N.pmax)X=T[G+1];else if(H0?e.touches[0].clientX:0}function Pgt(e,t,r,n){if(t._context.staticPlot)return;var i=e.select("rect."+Bs.slideBoxClassName).node(),a=e.select("rect."+Bs.grabAreaMinClassName).node(),o=e.select("rect."+Bs.grabAreaMaxClassName).node();function s(){var l=NI.event,u=l.target,c=Nge(l),f=c-e.node().getBoundingClientRect().left,h=n.d2p(r._rl[0]),v=n.d2p(r._rl[1]),d=Cgt.coverSlip();this.addEventListener("touchmove",_),this.addEventListener("touchend",b),d.addEventListener("mousemove",_),d.addEventListener("mouseup",b);function _(p){var E=Nge(p),k=+E-c,S,L,x;switch(u){case i:if(x="ew-resize",h+k>r._length||v+k<0)return;S=h+k,L=v+k;break;case a:if(x="col-resize",h+k>r._length)return;S=h+k,L=v;break;case o:if(x="col-resize",v+k<0)return;S=h,L=v+k;break;default:x="ew-resize",S=f,L=f+k;break}if(L{"use strict";var Ugt=Ar(),Vgt=zI(),Hgt=lV(),cV=Dge();Gge.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:Ugt.extendFlat({},Vgt,{yaxis:Hgt})}}},layoutAttributes:zI(),handleDefaults:qge(),calcAutorange:Bge(),draw:Hge(),isVisible:cV.isVisible,makeData:cV.makeData,autoMarginOpts:cV.autoMarginOpts}});var VI=ye((Vor,Zge)=>{"use strict";var Ggt=Su(),Wge=ph(),jgt=Vs().templatedArray,Wgt=jgt("button",{visible:{valType:"boolean",dflt:!0,editType:"plot"},step:{valType:"enumerated",values:["month","year","day","hour","minute","second","all"],dflt:"month",editType:"plot"},stepmode:{valType:"enumerated",values:["backward","todate"],dflt:"backward",editType:"plot"},count:{valType:"number",min:0,dflt:1,editType:"plot"},label:{valType:"string",editType:"plot"},editType:"plot"});Zge.exports={visible:{valType:"boolean",editType:"plot"},buttons:Wgt,x:{valType:"number",min:-2,max:3,editType:"plot"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"plot"},y:{valType:"number",min:-2,max:3,editType:"plot"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"bottom",editType:"plot"},font:Ggt({editType:"plot"}),bgcolor:{valType:"color",dflt:Wge.lightLine,editType:"plot"},activecolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:Wge.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"}});var fV=ye((Hor,Xge)=>{"use strict";Xge.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}});var Jge=ye((Gor,Kge)=>{"use strict";var HI=Ar(),Zgt=va(),Xgt=Vs(),Ygt=Xd(),Yge=VI(),hV=fV();Kge.exports=function(t,r,n,i,a){var o=t.rangeselector||{},s=Xgt.newContainer(r,"rangeselector");function l(v,d){return HI.coerce(o,s,Yge,v,d)}var u=Ygt(o,s,{name:"buttons",handleItemDefaults:Kgt,calendar:a}),c=l("visible",u.length>0);if(c){var f=Jgt(r,n,i);l("x",f[0]),l("y",f[1]),HI.noneOrAll(t,r,["x","y"]),l("xanchor"),l("yanchor"),HI.coerceFont(l,"font",n.font);var h=l("bgcolor");l("activecolor",Zgt.contrast(h,hV.lightAmount,hV.darkAmount)),l("bordercolor"),l("borderwidth")}};function Kgt(e,t,r,n){var i=n.calendar;function a(l,u){return HI.coerce(e,t,Yge.buttons,l,u)}var o=a("visible");if(o){var s=a("step");s!=="all"&&(i&&i!=="gregorian"&&(s==="month"||s==="year")?t.stepmode="backward":a("stepmode"),a("count")),a("label")}}function Jgt(e,t,r){for(var n=r.filter(function(s){return t[s].anchor===e._id}),i=0,a=0;a{"use strict";var $gt=Eq(),Qgt=Ar().titleCase;$ge.exports=function(t,r){var n=t._name,i={};if(r.step==="all")i[n+".autorange"]=!0;else{var a=emt(t,r);i[n+".range[0]"]=a[0],i[n+".range[1]"]=a[1]}return i};function emt(e,t){var r=e.range,n=new Date(e.r2l(r[1])),i=t.step,a=$gt["utc"+Qgt(i)],o=t.count,s;switch(t.stepmode){case"backward":s=e.l2r(+a.offset(n,-o));break;case"todate":var l=a.offset(n,-o);s=e.l2r(+a.ceil(l));break}var u=r[1];return[s,u]}});var sme=ye((Wor,ome)=>{"use strict";var jI=ba(),tmt=ya(),rmt=Nu(),eme=va(),ame=ao(),zy=Ar(),tme=zy.strTranslate,GI=Ll(),imt=af(),pV=Vh(),rme=pV.LINE_SPACING,ime=pV.FROM_TL,nme=pV.FROM_BR,vV=fV(),nmt=Qge();ome.exports=function(t){var r=t._fullLayout,n=r._infolayer.selectAll(".rangeselector").data(amt(t),omt);n.enter().append("g").classed("rangeselector",!0),n.exit().remove(),n.style({cursor:"pointer","pointer-events":"all"}),n.each(function(i){var a=jI.select(this),o=i,s=o.rangeselector,l=a.selectAll("g.button").data(zy.filterVisible(s.buttons));l.enter().append("g").classed("button",!0),l.exit().remove(),l.each(function(u){var c=jI.select(this),f=nmt(o,u);u._isActive=smt(o,u,f),c.call(dV,s,u),c.call(umt,s,u,t),c.on("click",function(){t._dragged||tmt.call("_guiRelayout",t,f)}),c.on("mouseover",function(){u._isHovered=!0,c.call(dV,s,u)}),c.on("mouseout",function(){u._isHovered=!1,c.call(dV,s,u)})}),fmt(t,l,s,o._name,a)})};function amt(e){for(var t=imt.list(e,"x",!0),r=[],n=0;n{"use strict";lme.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:VI()}}},layoutAttributes:VI(),handleDefaults:Jge(),draw:sme()}});var Ju=ye(gV=>{"use strict";var cme=no().extendFlat;gV.attributes=function(e,t){e=e||{},t=t||{};var r={valType:"info_array",editType:e.editType,items:[{valType:"number",min:0,max:1,editType:e.editType},{valType:"number",min:0,max:1,editType:e.editType}],dflt:[0,1]},n=e.name?e.name+" ":"",i=e.trace?"trace ":"subplot ",a=t.description?" "+t.description:"",o={x:cme({},r,{}),y:cme({},r,{}),editType:e.editType};return e.noGridCell||(o.row={valType:"integer",min:0,dflt:0,editType:e.editType},o.column={valType:"integer",min:0,dflt:0,editType:e.editType}),o};gV.defaults=function(e,t,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=t.grid;if(o){var s=r("domain.column");s!==void 0&&(s{"use strict";var hmt=Ar(),dmt=m3().counter,vmt=Ju().attributes,fme=sd().idRegex,pmt=Vs(),mV={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[dmt("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[fme.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[fme.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:vmt({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function WI(e,t,r){var n=t[r+"axes"],i=Object.keys((e._splomAxes||{})[r]||{});if(Array.isArray(n))return n;if(i.length)return i}function gmt(e,t){var r=e.grid||{},n=WI(t,r,"x"),i=WI(t,r,"y");if(!e.grid&&!n&&!i)return;var a=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(n),s=Array.isArray(i),l=o&&n!==r.xaxes&&s&&i!==r.yaxes,u,c;a?(u=r.subplots.length,c=r.subplots[0].length):(s&&(u=i.length),o&&(c=n.length));var f=pmt.newContainer(t,"grid");function h(x,C){return hmt.coerce(r,f,mV,x,C)}var v=h("rows",u),d=h("columns",c);if(!(v*d>1)){delete t.grid;return}if(!a&&!o&&!s){var _=h("pattern")==="independent";_&&(a=!0)}f._hasSubplotGrid=a;var b=h("roworder"),p=b==="top to bottom",E=a?.2:.1,k=a?.3:.1,S,L;l&&t._splomGridDflt&&(S=t._splomGridDflt.xside,L=t._splomGridDflt.yside),f._domains={x:hme("x",h,E,S,d),y:hme("y",h,k,L,v,p)}}function hme(e,t,r,n,i,a){var o=t(e+"gap",r),s=t("domain."+e);t(e+"side",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h{"use strict";pme.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc"}});var yme=ye((Jor,mme)=>{"use strict";var gme=uo(),ymt=ya(),_mt=Ar(),xmt=Vs(),bmt=_V();mme.exports=function(e,t,r,n){var i="error_"+n.axis,a=xmt.newContainer(t,i),o=e[i]||{};function s(d,_){return _mt.coerce(o,a,bmt,d,_)}var l=o.array!==void 0||o.value!==void 0||o.type==="sqrt",u=s("visible",l);if(u!==!1){var c=s("type","array"in o?"data":"percent"),f=!0;c!=="sqrt"&&(f=s("symmetric",!((c==="data"?"arrayminus":"valueminus")in o))),c==="data"?(s("array"),s("traceref"),f||(s("arrayminus"),s("tracerefminus"))):(c==="percent"||c==="constant")&&(s("value"),f||s("valueminus"));var h="copy_"+n.inherit+"style";if(n.inherit){var v=t["error_"+n.inherit];(v||{}).visible&&s(h,!(o.color||gme(o.thickness)||gme(o.width)))}(!n.inherit||!a[h])&&(s("color",r),s("thickness"),s("width",ymt.traceIs(t,"gl3d")?0:4))}}});var xV=ye(($or,xme)=>{"use strict";xme.exports=function(t){var r=t.type,n=t.symmetric;if(r==="data"){var i=t.array||[];if(n)return function(u,c){var f=+i[c];return[f,f]};var a=t.arrayminus||[];return function(u,c){var f=+i[c],h=+a[c];return!isNaN(f)||!isNaN(h)?[h||0,f||0]:[NaN,NaN]}}else{var o=_me(r,t.value),s=_me(r,t.valueminus);return n||t.valueminus===void 0?function(u){var c=o(u);return[c,c]}:function(u){return[s(u),o(u)]}}};function _me(e,t){if(e==="percent")return function(r){return Math.abs(r*t/100)};if(e==="constant")return function(){return Math.abs(t)};if(e==="sqrt")return function(r){return Math.sqrt(Math.abs(r))}}});var Tme=ye((Qor,wme)=>{"use strict";var bV=uo(),wmt=ya(),wV=Xa(),Tmt=Ar(),Amt=xV();wme.exports=function(t){for(var r=t.calcdata,n=0;n{"use strict";var Ame=ba(),C_=uo(),Smt=ao(),Mmt=lu();Sme.exports=function(t,r,n,i){var a,o=n.xaxis,s=n.yaxis,l=i&&i.duration>0,u=t._context.staticPlot;r.each(function(c){var f=c[0].trace,h=f.error_x||{},v=f.error_y||{},d;f.ids&&(d=function(E){return E.id});var _=Mmt.hasMarkers(f)&&f.marker.maxdisplayed>0;!v.visible&&!h.visible&&(c=[]);var b=Ame.select(this).selectAll("g.errorbar").data(c,d);if(b.exit().remove(),!!c.length){h.visible||b.selectAll("path.xerror").remove(),v.visible||b.selectAll("path.yerror").remove(),b.style("opacity",1);var p=b.enter().append("g").classed("errorbar",!0);l&&p.style("opacity",0).transition().duration(i.duration).style("opacity",1),Smt.setClipUrl(b,n.layerClipId,t),b.each(function(E){var k=Ame.select(this),S=Emt(E,o,s);if(!(_&&!E.vis)){var L,x=k.select("path.yerror");if(v.visible&&C_(S.x)&&C_(S.yh)&&C_(S.ys)){var C=v.width;L="M"+(S.x-C)+","+S.yh+"h"+2*C+"m-"+C+",0V"+S.ys,S.noYS||(L+="m-"+C+",0h"+2*C),a=!x.size(),a?x=k.append("path").style("vector-effect",u?"none":"non-scaling-stroke").classed("yerror",!0):l&&(x=x.transition().duration(i.duration).ease(i.easing)),x.attr("d",L)}else x.remove();var M=k.select("path.xerror");if(h.visible&&C_(S.y)&&C_(S.xh)&&C_(S.xs)){var g=(h.copy_ystyle?v:h).width;L="M"+S.xh+","+(S.y-g)+"v"+2*g+"m0,-"+g+"H"+S.xs,S.noXS||(L+="m0,-"+g+"v"+2*g),a=!M.size(),a?M=k.append("path").style("vector-effect",u?"none":"non-scaling-stroke").classed("xerror",!0):l&&(M=M.transition().duration(i.duration).ease(i.easing)),M.attr("d",L)}else M.remove()}})}})};function Emt(e,t,r){var n={x:t.c2p(e.x),y:r.c2p(e.y)};return e.yh!==void 0&&(n.yh=r.c2p(e.yh),n.ys=r.c2p(e.ys),C_(n.ys)||(n.noYS=!0,n.ys=r.c2p(e.ys,!0))),e.xh!==void 0&&(n.xh=t.c2p(e.xh),n.xs=t.c2p(e.xs),C_(n.xs)||(n.noXS=!0,n.xs=t.c2p(e.xs,!0))),n}});var Cme=ye((tsr,kme)=>{"use strict";var kmt=ba(),Eme=va();kme.exports=function(t){t.each(function(r){var n=r[0].trace,i=n.error_y||{},a=n.error_x||{},o=kmt.select(this);o.selectAll("path.yerror").style("stroke-width",i.thickness+"px").call(Eme.stroke,i.color),a.copy_ystyle&&(a=i),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(Eme.stroke,a.color)})}});var Ime=ye((rsr,Pme)=>{"use strict";var b4=Ar(),Lme=Bu().overrideAll,w4=_V(),s2={error_x:b4.extendFlat({},w4),error_y:b4.extendFlat({},w4)};delete s2.error_x.copy_zstyle;delete s2.error_y.copy_zstyle;delete s2.error_y.copy_ystyle;var T4={error_x:b4.extendFlat({},w4),error_y:b4.extendFlat({},w4),error_z:b4.extendFlat({},w4)};delete T4.error_x.copy_ystyle;delete T4.error_y.copy_ystyle;delete T4.error_z.copy_ystyle;delete T4.error_z.copy_zstyle;Pme.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:s2,bar:s2,histogram:s2,scatter3d:Lme(T4,"calc","nested"),scattergl:Lme(s2,"calc","nested")}},supplyDefaults:yme(),calc:Tme(),makeComputeError:xV(),plot:Mme(),style:Cme(),hoverInfo:Cmt};function Cmt(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}});var Rme=ye((isr,Dme)=>{"use strict";Dme.exports={cn:{colorbar:"colorbar",cbbg:"cbbg",cbfill:"cbfill",cbfills:"cbfills",cbline:"cbline",cblines:"cblines",cbaxis:"cbaxis",cbtitleunshift:"cbtitleunshift",cbtitle:"cbtitle",cboutline:"cboutline",crisp:"crisp",jsPlaceholder:"js-placeholder"}}});var Ume=ye((nsr,Nme)=>{"use strict";var L_=ba(),TV=ad(),XI=Nu(),zme=ya(),Fy=Xa(),ZI=yv(),H0=Ar(),Hg=H0.strTranslate,Bme=no().extendFlat,AV=Sg(),Vg=ao(),SV=va(),Lmt=Fb(),Pmt=Ll(),Imt=Fv().flipScale,Dmt=h4(),Rmt=_I(),zmt=Ld(),MV=Vh(),Fme=MV.LINE_SPACING,qme=MV.FROM_TL,Ome=MV.FROM_BR,Vc=Rme().cn;function Fmt(e){var t=e._fullLayout,r=t._infolayer.selectAll("g."+Vc.colorbar).data(qmt(e),function(n){return n._id});r.enter().append("g").attr("class",function(n){return n._id}).classed(Vc.colorbar,!0),r.each(function(n){var i=L_.select(this);H0.ensureSingle(i,"rect",Vc.cbbg),H0.ensureSingle(i,"g",Vc.cbfills),H0.ensureSingle(i,"g",Vc.cblines),H0.ensureSingle(i,"g",Vc.cbaxis,function(o){o.classed(Vc.crisp,!0)}),H0.ensureSingle(i,"g",Vc.cbtitleunshift,function(o){o.append("g").classed(Vc.cbtitle,!0)}),H0.ensureSingle(i,"rect",Vc.cboutline);var a=Omt(i,n,e);a&&a.then&&(e._promises||[]).push(a),e._context.edits.colorbarPosition&&Bmt(i,n,e)}),r.exit().each(function(n){XI.autoMargin(e,n._id)}).remove(),r.order()}function qmt(e){var t=e._fullLayout,r=e.calcdata,n=[],i,a,o,s;function l(k){return Bme(k,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function u(){typeof s.calc=="function"?s.calc(e,o,i):(i._fillgradient=a.reversescale?Imt(a.colorscale):a.colorscale,i._zrange=[a[s.min],a[s.max]])}for(var c=0;c1){var De=Math.pow(10,Math.floor(Math.log(me)/Math.LN10));ze*=De*H0.roundUp(me/De,[2,5,10]),(Math.abs(F.start)/F.size+1e-6)%1<2e-6&&(Ee.tick0=0)}Ee.dtick=ze}Ee.domain=n?[ie+d/S.h,ie+W-d/S.h]:[ie+v/S.w,ie+W-v/S.w],Ee.setScale(),e.attr("transform",Hg(Math.round(S.l),Math.round(S.t)));var ce=e.select("."+Vc.cbtitleunshift).attr("transform",Hg(-Math.round(S.l),-Math.round(S.t))),Ge=Ee.ticklabelposition,nt=Ee.title.font.size,ct=e.select("."+Vc.cbaxis),qt,rt=0,ot=0;function It(er,Ke){var bt={propContainer:Ee,propName:t._propPrefix+"title",traceIndex:t._traceIndex,_meta:t._meta,placeholder:k._dfltTitle.colorbar,containerGroup:e.select("."+Vc.cbtitle)},xt=er.charAt(0)==="h"?er.substr(1):"h"+er;e.selectAll("."+xt+",."+xt+"-math-group").remove(),Lmt.draw(r,er,Bme(bt,Ke||{}))}function kt(){if(n&&Ae||!n&&!Ae){var er,Ke;M==="top"&&(er=v+S.l+re*_,Ke=d+S.t+ae*(1-ie-W)+3+nt*.75),M==="bottom"&&(er=v+S.l+re*_,Ke=d+S.t+ae*(1-ie)-3-nt*.25),M==="right"&&(Ke=d+S.t+ae*b+3+nt*.75,er=v+S.l+re*ie),It(Ee._id+"title",{attributes:{x:er,y:Ke,"text-anchor":n?"start":"middle"}})}}function Ct(){if(n&&!Ae||!n&&Ae){var er=Ee.position||0,Ke=Ee._offset+Ee._length/2,bt,xt;if(M==="right")xt=Ke,bt=S.l+re*er+10+nt*(Ee.showticklabels?1:.5);else if(bt=Ke,M==="bottom"&&(xt=S.t+ae*er+10+(Ge.indexOf("inside")===-1?Ee.tickfont.size:0)+(Ee.ticks!=="intside"&&t.ticklen||0)),M==="top"){var Lt=C.text.split("
").length;xt=S.t+ae*er+10-X-Fme*nt*Lt}It((n?"h":"v")+Ee._id+"title",{avoid:{selection:L_.select(r).selectAll("g."+Ee._id+"tick"),side:M,offsetTop:n?0:S.t,offsetLeft:n?S.l:0,maxShift:n?k.width:k.height},attributes:{x:bt,y:xt,"text-anchor":"middle"},transform:{rotate:n?-90:0,offset:0}})}}function Yt(){if(!n&&!Ae||n&&Ae){var er=e.select("."+Vc.cbtitle),Ke=er.select("text"),bt=[-l/2,l/2],xt=er.select(".h"+Ee._id+"title-math-group").node(),Lt=15.6;Ke.node()&&(Lt=parseInt(Ke.node().style.fontSize,10)*Fme);var St;if(xt?(St=Vg.bBox(xt),ot=St.width,rt=St.height,rt>Lt&&(bt[1]-=(rt-Lt)/2)):Ke.node()&&!Ke.classed(Vc.jsPlaceholder)&&(St=Vg.bBox(Ke.node()),ot=St.width,rt=St.height),n){if(rt){if(rt+=5,M==="top")Ee.domain[1]-=rt/S.h,bt[1]*=-1;else{Ee.domain[0]+=rt/S.h;var Et=Pmt.lineCount(Ke);bt[1]+=(1-Et)*Lt}er.attr("transform",Hg(bt[0],bt[1])),Ee.setScale()}}else ot&&(M==="right"&&(Ee.domain[0]+=(ot+nt/2)/S.w),er.attr("transform",Hg(bt[0],bt[1])),Ee.setScale())}e.selectAll("."+Vc.cbfills+",."+Vc.cblines).attr("transform",n?Hg(0,Math.round(S.h*(1-Ee.domain[1]))):Hg(Math.round(S.w*Ee.domain[0]),0)),ct.attr("transform",n?Hg(0,Math.round(-S.t)):Hg(Math.round(-S.l),0));var dt=e.select("."+Vc.cbfills).selectAll("rect."+Vc.cbfill).attr("style","").data(V);dt.enter().append("rect").classed(Vc.cbfill,!0).attr("style",""),dt.exit().remove();var Ht=g.map(Ee.c2p).map(Math.round).sort(function(Or,Nr){return Or-Nr});dt.each(function(Or,Nr){var ut=[Nr===0?g[0]:(V[Nr]+V[Nr-1])/2,Nr===V.length-1?g[1]:(V[Nr]+V[Nr+1])/2].map(Ee.c2p).map(Math.round);n&&(ut[1]=H0.constrain(ut[1]+(ut[1]>ut[0])?1:-1,Ht[0],Ht[1]));var Ne=L_.select(this).attr(n?"x":"y",_e).attr(n?"y":"x",L_.min(ut)).attr(n?"width":"height",Math.max(X,2)).attr(n?"height":"width",Math.max(L_.max(ut)-L_.min(ut),2));if(t._fillgradient)Vg.gradient(Ne,r,t._id,n?"vertical":"horizontalreversed",t._fillgradient,"fill");else{var Ye=T(Or).replace("e-","");Ne.attr("fill",TV(Ye).toHexString())}});var $t=e.select("."+Vc.cblines).selectAll("path."+Vc.cbline).data(x.color&&x.width?H:[]);$t.enter().append("path").classed(Vc.cbline,!0),$t.exit().remove(),$t.each(function(Or){var Nr=_e,ut=Math.round(Ee.c2p(Or))+x.width/2%1;L_.select(this).attr("d","M"+(n?Nr+","+ut:ut+","+Nr)+(n?"h":"v")+X).call(Vg.lineGroupStyle,x.width,P(Or),x.dash)}),ct.selectAll("g."+Ee._id+"tick,path").remove();var fr=_e+X+(l||0)/2-(t.ticks==="outside"?1:0),xr=Fy.calcTicks(Ee),Br=Fy.getTickSigns(Ee)[2];return Fy.drawTicks(r,Ee,{vals:Ee.ticks==="inside"?Fy.clipEnds(Ee,xr):xr,layer:ct,path:Fy.makeTickPath(Ee,fr,Br),transFn:Fy.makeTransTickFn(Ee)}),Fy.drawLabels(r,Ee,{vals:xr,layer:ct,transFn:Fy.makeTransTickLabelFn(Ee),labelFns:Fy.makeLabelFns(Ee,fr)})}function mr(){var er,Ke=X+l/2;Ge.indexOf("inside")===-1&&(er=Vg.bBox(ct.node()),Ke+=n?er.width:er.height),qt=ce.select("text");var bt=0,xt=n&&M==="top",Lt=!n&&M==="right",St=0;if(qt.node()&&!qt.classed(Vc.jsPlaceholder)){var Et,dt=ce.select(".h"+Ee._id+"title-math-group").node();dt&&(n&&Ae||!n&&!Ae)?(er=Vg.bBox(dt),bt=er.width,Et=er.height):(er=Vg.bBox(ce.node()),bt=er.right-S.l-(n?_e:Te),Et=er.bottom-S.t-(n?Te:_e),!n&&M==="top"&&(Ke+=er.height,St=er.height)),Lt&&(qt.attr("transform",Hg(bt/2+nt/2,0)),bt*=2),Ke=Math.max(Ke,n?bt:Et)}var Ht=(n?v:d)*2+Ke+u+l/2,$t=0;!n&&C.text&&h==="bottom"&&b<=0&&($t=Ht/2,Ht+=$t,St+=$t),k._hColorbarMoveTitle=$t,k._hColorbarMoveCBTitle=St;var fr=u+l,xr=(n?_e:Te)-fr/2-(n?v:0),Br=(n?Te:_e)-(n?N:d+St-$t);e.select("."+Vc.cbbg).attr("x",xr).attr("y",Br).attr(n?"width":"height",Math.max(Ht-$t,2)).attr(n?"height":"width",Math.max(N+fr,2)).call(SV.fill,c).call(SV.stroke,t.bordercolor).style("stroke-width",u);var Or=Lt?Math.max(bt-10,0):0;e.selectAll("."+Vc.cboutline).attr("x",(n?_e:Te+v)+Or).attr("y",(n?Te+d-N:_e)+(xt?rt:0)).attr(n?"width":"height",Math.max(X,2)).attr(n?"height":"width",Math.max(N-(n?2*d+rt:2*v+Or),2)).call(SV.stroke,t.outlinecolor).style({fill:"none","stroke-width":l});var Nr=n?Me*Ht:0,ut=n?0:(1-ke)*Ht-St;if(Nr=E?S.l-Nr:-Nr,ut=p?S.t-ut:-ut,e.attr("transform",Hg(Nr,ut)),!n&&(u||TV(c).getAlpha()&&!TV.equals(k.paper_bgcolor,c))){var Ne=ct.selectAll("text"),Ye=Ne[0].length,Ve=e.select("."+Vc.cbbg).node(),Xe=Vg.bBox(Ve),ht=Vg.getTranslate(e),Le=2;Ne.each(function(ri,bi){var nn=0,Wi=Ye-1;if(bi===nn||bi===Wi){var Ni=Vg.bBox(this),_n=Vg.getTranslate(this),$i;if(bi===Wi){var zn=Ni.right+_n.x,Wn=Xe.right+ht.x+Te-u-Le+_;$i=Wn-zn,$i>0&&($i=0)}else if(bi===nn){var Dt=Ni.left+_n.x,ft=Xe.left+ht.x+Te+u+Le;$i=ft-Dt,$i<0&&($i=0)}$i&&(Ye<3?this.setAttribute("transform","translate("+$i+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}})}var xe={},Se=qme[f],lt=Ome[f],Gt=qme[h],Vt=Ome[h],ar=Ht-X;n?(a==="pixels"?(xe.y=b,xe.t=N*Gt,xe.b=N*Vt):(xe.t=xe.b=0,xe.yt=b+i*Gt,xe.yb=b-i*Vt),s==="pixels"?(xe.x=_,xe.l=Ht*Se,xe.r=Ht*lt):(xe.l=ar*Se,xe.r=ar*lt,xe.xl=_-o*Se,xe.xr=_+o*lt)):(a==="pixels"?(xe.x=_,xe.l=N*Se,xe.r=N*lt):(xe.l=xe.r=0,xe.xl=_+i*Se,xe.xr=_-i*lt),s==="pixels"?(xe.y=1-b,xe.t=Ht*Gt,xe.b=Ht*Vt):(xe.t=ar*Gt,xe.b=ar*Vt,xe.yt=b-o*Gt,xe.yb=b+o*Vt));var Qr=t.y<.5?"b":"t",ai=t.x<.5?"l":"r";r._fullLayout._reservedMargin[t._id]={};var jr={r:k.width-xr-Nr,l:xr+xe.r,b:k.height-Br-ut,t:Br+xe.b};E&&p?XI.autoMargin(r,t._id,xe):E?r._fullLayout._reservedMargin[t._id][Qr]=jr[Qr]:p||n?r._fullLayout._reservedMargin[t._id][ai]=jr[ai]:r._fullLayout._reservedMargin[t._id][Qr]=jr[Qr]}return H0.syncOrAsync([XI.previousPromises,kt,Yt,Ct,XI.previousPromises,mr],r)}function Bmt(e,t,r){var n=t.orientation==="v",i=r._fullLayout,a=i._size,o,s,l;ZI.init({element:e.node(),gd:r,prepFn:function(){o=e.attr("transform"),AV(e)},moveFn:function(u,c){e.attr("transform",o+Hg(u,c)),s=ZI.align((n?t._uFrac:t._vFrac)+u/a.w,n?t._thickFrac:t._lenFrac,0,1,t.xanchor),l=ZI.align((n?t._vFrac:1-t._uFrac)-c/a.h,n?t._lenFrac:t._thickFrac,0,1,t.yanchor);var f=ZI.getCursor(s,l,t.xanchor,t.yanchor);AV(e,f)},doneFn:function(){if(AV(e),s!==void 0&&l!==void 0){var u={};u[t._propPrefix+"x"]=s,u[t._propPrefix+"y"]=l,t._traceIndex!==void 0?zme.call("_guiRestyle",r,u,t._traceIndex):zme.call("_guiRelayout",r,u)}}})}function Nmt(e,t,r){var n=t._levels,i=[],a=[],o,s,l=n.end+n.size/100,u=n.size,c=1.001*r[0]-.001*r[1],f=1.001*r[1]-.001*r[0];for(s=0;s<1e5&&(o=n.start+s*u,!(u>0?o>=l:o<=l));s++)o>c&&o0?o>=l:o<=l));s++)o>r[0]&&o{"use strict";Vme.exports={moduleType:"component",name:"colorbar",attributes:vL(),supplyDefaults:BO(),draw:Ume().draw,hasColorbar:IO()}});var jme=ye((osr,Gme)=>{"use strict";Gme.exports={moduleType:"component",name:"legend",layoutAttributes:DB(),supplyLayoutDefaults:FB(),draw:ZB(),style:HB()}});var Zme=ye((ssr,Wme)=>{"use strict";Wme.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}});var Yme=ye((lsr,Xme)=>{"use strict";Xme.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}});var kV=ye((usr,Qme)=>{"use strict";var Vmt=ya(),$me=Ar(),EV=$me.extendFlat,Kme=$me.extendDeep;function Jme(e){var t;switch(e){case"themes__thumb":t={autosize:!0,width:150,height:150,title:{text:""},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":t={title:{text:""},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}function Hmt(e){var t=["xaxis","yaxis","zaxis"];return t.indexOf(e.slice(0,5))>-1}Qme.exports=function(t,r){var n,i=t.data,a=t.layout,o=Kme([],i),s=Kme({},a,Jme(r.tileClass)),l=t._context||{};if(r.width&&(s.width=r.width),r.height&&(s.height=r.height),r.tileClass==="thumbnail"||r.tileClass==="themes__thumb"){s.annotations=[];var u=Object.keys(s);for(n=0;n{"use strict";var Gmt=Tb().EventEmitter,jmt=ya(),Wmt=Ar(),eye=Dy(),Zmt=kV(),Xmt=iI(),Ymt=nI();function Kmt(e,t){var r=new Gmt,n=Zmt(e,{format:"png"}),i=n.gd;i.style.position="absolute",i.style.left="-5000px",document.body.appendChild(i);function a(){var s=eye.getDelay(i._fullLayout);setTimeout(function(){var l=Xmt(i),u=document.createElement("canvas");u.id=Wmt.randstr(),r=Ymt({format:t.format,width:i._fullLayout.width,height:i._fullLayout.height,canvas:u,emitter:r,svg:l}),r.clean=function(){i&&document.body.removeChild(i)}},s)}var o=eye.getRedrawFunc(i);return jmt.call("_doPlot",i,n.data,n.layout,n.config).then(o).then(a).catch(function(s){r.emit("error",s)}),r}tye.exports=Kmt});var aye=ye((fsr,nye)=>{"use strict";var iye=Dy(),Jmt={getDelay:iye.getDelay,getRedrawFunc:iye.getRedrawFunc,clone:kV(),toSVG:iI(),svgToImg:nI(),toImage:rye(),downloadImage:cU()};nye.exports=Jmt});var sye=ye(qy=>{"use strict";qy.version=y6().version;pee();nne();var $mt=ya(),A4=qy.register=$mt.register,LV=Mde(),oye=Object.keys(LV);for(YI=0;YI{"use strict";lye.exports=sye()});var l2=ye((vsr,cye)=>{"use strict";cye.exports={TEXTPAD:3,eventDataKeys:["value","label"]}});var Im=ye((psr,vye)=>{"use strict";var Tf=Uc(),fye=Oc().axisHoverFormat,Qmt=Wo().hovertemplateAttrs,eyt=Wo().texttemplateAttrs,dye=Kl(),tyt=Su(),hye=l2(),ryt=kd().pattern,u2=no().extendFlat,PV=tyt({editType:"calc",arrayOk:!0,colorEditType:"style"}),iyt=Tf.marker,nyt=iyt.line,ayt=u2({},nyt.width,{dflt:0}),oyt=u2({width:ayt,editType:"calc"},dye("marker.line")),syt=u2({line:oyt,editType:"calc"},dye("marker"),{opacity:{valType:"number",arrayOk:!0,dflt:1,min:0,max:1,editType:"style"},pattern:ryt,cornerradius:{valType:"any",editType:"calc"}});vye.exports={x:Tf.x,x0:Tf.x0,dx:Tf.dx,y:Tf.y,y0:Tf.y0,dy:Tf.dy,xperiod:Tf.xperiod,yperiod:Tf.yperiod,xperiod0:Tf.xperiod0,yperiod0:Tf.yperiod0,xperiodalignment:Tf.xperiodalignment,yperiodalignment:Tf.yperiodalignment,xhoverformat:fye("x"),yhoverformat:fye("y"),text:Tf.text,texttemplate:eyt({editType:"plot"},{keys:hye.eventDataKeys}),hovertext:Tf.hovertext,hovertemplate:Qmt({},{keys:hye.eventDataKeys}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"calc"},insidetextanchor:{valType:"enumerated",values:["end","middle","start"],dflt:"end",editType:"plot"},textangle:{valType:"angle",dflt:"auto",editType:"plot"},textfont:u2({},PV,{}),insidetextfont:u2({},PV,{}),outsidetextfont:u2({},PV,{}),constraintext:{valType:"enumerated",values:["inside","outside","both","none"],dflt:"both",editType:"calc"},cliponaxis:u2({},Tf.cliponaxis,{}),orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},base:{valType:"any",dflt:null,arrayOk:!0,editType:"calc"},offset:{valType:"number",dflt:null,arrayOk:!0,editType:"calc"},width:{valType:"number",dflt:null,min:0,arrayOk:!0,editType:"calc"},marker:syt,offsetgroup:Tf.offsetgroup,alignmentgroup:Tf.alignmentgroup,selected:{marker:{opacity:Tf.selected.marker.opacity,color:Tf.selected.marker.color,editType:"style"},textfont:Tf.selected.textfont,editType:"style"},unselected:{marker:{opacity:Tf.unselected.marker.opacity,color:Tf.unselected.marker.color,editType:"style"},textfont:Tf.unselected.textfont,editType:"style"},zorder:Tf.zorder}});var JI=ye((gsr,pye)=>{"use strict";pye.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},barcornerradius:{valType:"any",editType:"calc"}}});var $I=ye((msr,yye)=>{"use strict";var lyt=va(),gye=Fv().hasColorscale,mye=Hh(),uyt=Ar().coercePattern;yye.exports=function(t,r,n,i,a){var o=n("marker.color",i),s=gye(t,"marker");s&&mye(t,r,a,n,{prefix:"marker.",cLetter:"c"}),n("marker.line.color",lyt.defaultLine),gye(t,"marker.line")&&mye(t,r,a,n,{prefix:"marker.line.",cLetter:"c"}),n("marker.line.width"),n("marker.opacity"),uyt(n,"marker.pattern",o,s),n("selected.marker.color"),n("unselected.marker.color")}});var a0=ye((ysr,Aye)=>{"use strict";var _ye=uo(),PT=Ar(),xye=va(),cyt=ya(),fyt=sT(),hyt=Dg(),dyt=$I(),vyt=$b(),bye=Im(),QI=PT.coerceFont;function pyt(e,t,r,n){function i(u,c){return PT.coerce(e,t,bye,u,c)}var a=fyt(e,t,n,i);if(!a){t.visible=!1;return}hyt(e,t,n,i),i("xhoverformat"),i("yhoverformat"),i("zorder"),i("orientation",t.x&&!t.y?"h":"v"),i("base"),i("offset"),i("width"),i("text"),i("hovertext"),i("hovertemplate");var o=i("textposition");Tye(e,t,n,i,o,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),dyt(e,t,i,r,n);var s=(t.marker.line||{}).color,l=cyt.getComponentMethod("errorbars","supplyDefaults");l(e,t,s||xye.defaultLine,{axis:"y"}),l(e,t,s||xye.defaultLine,{axis:"x",inherit:"y"}),PT.coerceSelectionMarkerOpacity(t,i)}function gyt(e,t){var r,n;function i(s,l){return PT.coerce(n._input,n,bye,s,l)}for(var a=0;a=0)return e}else if(typeof e=="string"&&(e=e.trim(),e.slice(-1)==="%"&&_ye(e.slice(0,-1))&&(e=+e.slice(0,-1),e>=0)))return e+"%"}function Tye(e,t,r,n,i,a){a=a||{};var o=a.moduleHasSelected!==!1,s=a.moduleHasUnselected!==!1,l=a.moduleHasConstrain!==!1,u=a.moduleHasCliponaxis!==!1,c=a.moduleHasTextangle!==!1,f=a.moduleHasInsideanchor!==!1,h=!!a.hasPathbar,v=Array.isArray(i)||i==="auto",d=v||i==="inside",_=v||i==="outside";if(d||_){var b=QI(n,"textfont",r.font),p=PT.extendFlat({},b),E=e.textfont&&e.textfont.color,k=!E;if(k&&delete p.color,QI(n,"insidetextfont",p),h){var S=PT.extendFlat({},b);k&&delete S.color,QI(n,"pathbar.textfont",S)}_&&QI(n,"outsidetextfont",b),o&&n("selected.textfont.color"),s&&n("unselected.textfont.color"),l&&n("constraintext"),u&&n("cliponaxis"),c&&n("textangle"),n("texttemplate")}d&&f&&n("insidetextanchor")}Aye.exports={supplyDefaults:pyt,crossTraceDefaults:gyt,handleText:Tye,validateCornerradius:wye}});var IV=ye((_sr,Sye)=>{"use strict";var myt=ya(),yyt=Xa(),_yt=Ar(),xyt=JI(),byt=a0().validateCornerradius;Sye.exports=function(e,t,r){function n(d,_){return _yt.coerce(e,t,xyt,d,_)}for(var i=!1,a=!1,o=!1,s={},l=n("barmode"),u=0;u{"use strict";var IT=Ar();Mye.exports=function(t,r){for(var n=0;n{"use strict";var Eye=Xa(),kye=zg(),Cye=Fv().hasColorscale,Lye=qv(),wyt=S4(),Tyt=N0();Pye.exports=function(t,r){var n=Eye.getFromId(t,r.xaxis||"x"),i=Eye.getFromId(t,r.yaxis||"y"),a,o,s,l,u,c,f={msUTC:!!(r.base||r.base===0)};r.orientation==="h"?(a=n.makeCalcdata(r,"x",f),s=i.makeCalcdata(r,"y"),l=kye(r,i,"y",s),u=!!r.yperiodalignment,c="y"):(a=i.makeCalcdata(r,"y",f),s=n.makeCalcdata(r,"x"),l=kye(r,n,"x",s),u=!!r.xperiodalignment,c="x"),o=l.vals;for(var h=Math.min(o.length,a.length),v=new Array(h),d=0;d{"use strict";var Ayt=ba(),Syt=Ar();function Myt(e,t,r){var n=e._fullLayout,i=n["_"+r+"Text_minsize"];if(i){var a=n.uniformtext.mode==="hide",o;switch(r){case"funnelarea":case"pie":case"sunburst":o="g.slice";break;case"treemap":case"icicle":o="g.slice, g.pathbar";break;default:o="g.points > g.point"}t.selectAll(o).each(function(s){var l=s.transform;if(l){l.scale=a&&l.hide?0:i/l.fontSize;var u=Ayt.select(this).select("text");Syt.setTransormAndDisplay(u,l)}})}}function Eyt(e,t,r){if(r.uniformtext.mode){var n=Dye(e),i=r.uniformtext.minsize,a=t.scale*t.fontSize;t.hide=a{"use strict";var Cyt=uo(),Lyt=ad(),zye=Ar().isArrayOrTypedArray;c2.coerceString=function(e,t,r){if(typeof t=="string"){if(t||!e.noBlank)return t}else if((typeof t=="number"||t===!0)&&!e.strict)return String(t);return r!==void 0?r:e.dflt};c2.coerceNumber=function(e,t,r){if(Cyt(t)){t=+t;var n=e.min,i=e.max,a=n!==void 0&&ti;if(!a)return t}return r!==void 0?r:e.dflt};c2.coerceColor=function(e,t,r){return Lyt(t).isValid()?t:r!==void 0?r:e.dflt};c2.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),e.values.indexOf(t)!==-1?t:r!==void 0?r:e.dflt};c2.getValue=function(e,t){var r;return zye(e)?t{"use strict";var M4=ba(),Pyt=va(),E4=ao(),Fye=Ar(),qye=ya(),Oye=bv().resizeText,DV=Im(),Iyt=DV.textfont,Dyt=DV.insidetextfont,Ryt=DV.outsidetextfont,$d=e8();function zyt(e){var t=M4.select(e).selectAll('g[class^="barlayer"]').selectAll("g.trace");Oye(e,t,"bar");var r=t.size(),n=e._fullLayout;t.style("opacity",function(i){return i[0].trace.opacity}).each(function(i){(n.barmode==="stack"&&r>1||n.bargap===0&&n.bargroupgap===0&&!i[0].trace.marker.line.width)&&M4.select(this).attr("shape-rendering","crispEdges")}),t.selectAll("g.points").each(function(i){var a=M4.select(this),o=i[0].trace;Bye(a,o,e)}),qye.getComponentMethod("errorbars","style")(t)}function Bye(e,t,r){E4.pointStyle(e.selectAll("path"),t,r),Nye(e,t,r)}function Nye(e,t,r){e.selectAll("text").each(function(n){var i=M4.select(this),a=Fye.ensureUniformFontSize(r,Uye(i,n,t,r));E4.font(i,a)})}function Fyt(e,t,r){var n=t[0].trace;n.selectedpoints?qyt(r,n,e):(Bye(r,n,e),qye.getComponentMethod("errorbars","style")(r))}function qyt(e,t,r){E4.selectedPointStyle(e.selectAll("path"),t),Oyt(e.selectAll("text"),t,r)}function Oyt(e,t,r){e.each(function(n){var i=M4.select(this),a;if(n.selected){a=Fye.ensureUniformFontSize(r,Uye(i,n,t,r));var o=t.selected.textfont&&t.selected.textfont.color;o&&(a.color=o),E4.font(i,a)}else E4.selectedTextStyle(i,t)})}function Uye(e,t,r,n){var i=n._fullLayout.font,a=r.textfont;if(e.classed("bartext-inside")){var o=jye(t,r);a=Hye(r,t.i,i,o)}else e.classed("bartext-outside")&&(a=Gye(r,t.i,i));return a}function Vye(e,t,r){return RV(Iyt,e.textfont,t,r)}function Hye(e,t,r,n){var i=Vye(e,t,r),a=e._input.textfont===void 0||e._input.textfont.color===void 0||Array.isArray(e.textfont.color)&&e.textfont.color[t]===void 0;return a&&(i={color:Pyt.contrast(n),family:i.family,size:i.size,weight:i.weight,style:i.style,variant:i.variant,textcase:i.textcase,lineposition:i.lineposition,shadow:i.shadow}),RV(Dyt,e.insidetextfont,t,i)}function Gye(e,t,r){var n=Vye(e,t,r);return RV(Ryt,e.outsidetextfont,t,n)}function RV(e,t,r,n){t=t||{};var i=$d.getValue(t.family,r),a=$d.getValue(t.size,r),o=$d.getValue(t.color,r),s=$d.getValue(t.weight,r),l=$d.getValue(t.style,r),u=$d.getValue(t.variant,r),c=$d.getValue(t.textcase,r),f=$d.getValue(t.lineposition,r),h=$d.getValue(t.shadow,r);return{family:$d.coerceString(e.family,i,n.family),size:$d.coerceNumber(e.size,a,n.size),color:$d.coerceColor(e.color,o,n.color),weight:$d.coerceString(e.weight,s,n.weight),style:$d.coerceString(e.style,l,n.style),variant:$d.coerceString(e.variant,u,n.variant),textcase:$d.coerceString(e.variant,c,n.textcase),lineposition:$d.coerceString(e.variant,f,n.lineposition),shadow:$d.coerceString(e.variant,h,n.shadow)}}function jye(e,t){return t.type==="waterfall"?t[e.dir].marker.color:e.mcc||e.mc||t.marker.color}Wye.exports={style:zyt,styleTextPoints:Nye,styleOnSelect:Fyt,getInsideTextFont:Hye,getOutsideTextFont:Gye,getBarColor:jye,resizeText:Oye}});var h2=ye((Ssr,e1e)=>{"use strict";var t8=ba(),r8=uo(),Id=Ar(),Byt=Ll(),Nyt=va(),P_=ao(),Uyt=ya(),i8=Xa().tickText,Zye=bv(),Vyt=Zye.recordMinTextSize,Hyt=Zye.clearMinTextSize,zV=G0(),DT=e8(),Gyt=l2(),Xye=Im(),jyt=Xye.text,Wyt=Xye.textposition,Zyt=np().appendArrayPointValue,Hv=Gyt.TEXTPAD;function Xyt(e){return e.id}function Yyt(e){if(e.ids)return Xyt}function FV(e){return(e>0)-(e<0)}function Dm(e,t){return e0}function Jyt(e,t,r,n,i,a){var o=t.xaxis,s=t.yaxis,l=e._fullLayout,u=e._context.staticPlot;i||(i={mode:l.barmode,norm:l.barmode,gap:l.bargap,groupgap:l.bargroupgap},Hyt("bar",l));var c=Id.makeTraceGroups(n,r,"trace bars").each(function(f){var h=t8.select(this),v=f[0].trace,d=f[0].t,_=v.type==="waterfall",b=v.type==="funnel",p=v.type==="histogram",E=v.type==="bar",k=E||b,S=0;_&&v.connector.visible&&v.connector.mode==="between"&&(S=v.connector.line.width/2);var L=v.orientation==="h",x=Kye(i),C=Id.ensureSingle(h,"g","points"),M=Yyt(v),g=C.selectAll("g.point").data(Id.identity,M);g.enter().append("g").classed("point",!0),g.exit().remove(),g.each(function(T,F){var q=t8.select(this),V=Kyt(T,o,s,L),H=V[0][0],X=V[0][1],G=V[1][0],N=V[1][1],W=(L?X-H:N-G)===0;W&&k&&DT.getLineWidth(v,T)&&(W=!1),W||(W=!r8(H)||!r8(X)||!r8(G)||!r8(N)),T.isBlank=W,W&&(L?X=H:N=G),S&&!W&&(L?(H-=Dm(H,X)*S,X+=Dm(H,X)*S):(G-=Dm(G,N)*S,N+=Dm(G,N)*S));var re,ae;if(v.type==="waterfall"){if(!W){var _e=v[T.dir].marker;re=_e.line.width,ae=_e.color}}else re=DT.getLineWidth(v,T),ae=T.mc||v.marker.color;function Me(Ke){var bt=t8.round(re/2%1,2);return i.gap===0&&i.groupgap===0?t8.round(Math.round(Ke)-bt,2):Ke}function ke(Ke,bt,xt){return xt&&Ke===bt?Ke:Math.abs(Ke-bt)>=2?Me(Ke):Ke>bt?Math.ceil(Ke):Math.floor(Ke)}var ge=Nyt.opacity(ae),ie=ge<1||re>.01?Me:ke;e._context.staticPlot||(H=ie(H,X,L),X=ie(X,H,L),G=ie(G,N,!L),N=ie(N,G,!L));var Te=L?o.c2p:s.c2p,Ee;T.s0>0?Ee=T._sMax:T.s0<0?Ee=T._sMin:Ee=T.s1>0?T._sMax:T._sMin;function Ae(Ke,bt){if(!Ke)return 0;var xt=Math.abs(L?N-G:X-H),Lt=Math.abs(L?X-H:N-G),St=ie(Math.abs(Te(Ee,!0)-Te(0,!0))),Et=T.hasB?Math.min(xt/2,Lt/2):Math.min(xt/2,St),dt;if(bt==="%"){var Ht=Math.min(50,Ke);dt=xt*(Ht/100)}else dt=Ke;return ie(Math.max(Math.min(dt,Et),0))}var ze=E||p?Ae(d.cornerradiusvalue,d.cornerradiusform):0,Ce,me,De="M"+H+","+G+"V"+N+"H"+X+"V"+G+"Z",ce=0;if(ze&&T.s){var Ge=FV(T.s0)===0||FV(T.s)===FV(T.s0)?T.s1:T.s0;if(ce=ie(T.hasB?0:Math.abs(Te(Ee,!0)-Te(Ge,!0))),ce0?Math.sqrt(ce*(2*ze-ce)):0,It=nt>0?Math.max:Math.min;Ce="M"+H+","+G+"V"+(N-rt*ct)+"H"+It(X-(ze-ce)*nt,H)+"A "+ze+","+ze+" 0 0 "+qt+" "+X+","+(N-ze*ct-ot)+"V"+(G+ze*ct+ot)+"A "+ze+","+ze+" 0 0 "+qt+" "+It(X-(ze-ce)*nt,H)+","+(G+rt*ct)+"Z"}else if(T.hasB)Ce="M"+(H+ze*nt)+","+G+"A "+ze+","+ze+" 0 0 "+qt+" "+H+","+(G+ze*ct)+"V"+(N-ze*ct)+"A "+ze+","+ze+" 0 0 "+qt+" "+(H+ze*nt)+","+N+"H"+(X-ze*nt)+"A "+ze+","+ze+" 0 0 "+qt+" "+X+","+(N-ze*ct)+"V"+(G+ze*ct)+"A "+ze+","+ze+" 0 0 "+qt+" "+(X-ze*nt)+","+G+"Z";else{me=Math.abs(N-G)+ce;var kt=me0?Math.sqrt(ce*(2*ze-ce)):0,Yt=ct>0?Math.max:Math.min;Ce="M"+(H+kt*nt)+","+G+"V"+Yt(N-(ze-ce)*ct,G)+"A "+ze+","+ze+" 0 0 "+qt+" "+(H+ze*nt-Ct)+","+N+"H"+(X-ze*nt+Ct)+"A "+ze+","+ze+" 0 0 "+qt+" "+(X-kt*nt)+","+Yt(N-(ze-ce)*ct,G)+"V"+G+"Z"}}else Ce=De}else Ce=De;var mr=Yye(Id.ensureSingle(q,"path"),l,i,a);if(mr.style("vector-effect",u?"none":"non-scaling-stroke").attr("d",isNaN((X-H)*(N-G))||W&&e._context.staticPlot?"M0,0Z":Ce).call(P_.setClipUrl,t.layerClipId,e),!l.uniformtext.mode&&x){var er=P_.makePointStyleFns(v);P_.singlePointStyle(T,mr,v,er,e)}$yt(e,t,q,f,F,H,X,G,N,ze,ce,i,a),t.layerClipId&&P_.hideOutsideRangePoint(T,q.select("text"),o,s,v.xcalendar,v.ycalendar)});var P=v.cliponaxis===!1;P_.setClipUrl(h,P?null:t.layerClipId,e)});Uyt.getComponentMethod("errorbars","plot")(e,c,t,i)}function $yt(e,t,r,n,i,a,o,s,l,u,c,f,h){var v=t.xaxis,d=t.yaxis,_=e._fullLayout,b;function p(me,De,ce){var Ge=Id.ensureSingle(me,"text").text(De).attr({class:"bartext bartext-"+b,"text-anchor":"middle","data-notex":1}).call(P_.font,ce).call(Byt.convertToTspans,e);return Ge}var E=n[0].trace,k=E.orientation==="h",S=t1t(_,n,i,v,d);b=r1t(E,i);var L=f.mode==="stack"||f.mode==="relative",x=n[i],C=!L||x._outmost,M=x.hasB,g=u&&u-c>Hv;if(!S||b==="none"||(x.isBlank||a===o||s===l)&&(b==="auto"||b==="inside")){r.select("text").remove();return}var P=_.font,T=zV.getBarColor(n[i],E),F=zV.getInsideTextFont(E,i,P,T),q=zV.getOutsideTextFont(E,i,P),V=E.insidetextanchor||"end",H=r.datum();k?v.type==="log"&&H.s0<=0&&(v.range[0]0&&Me>0,ie;g?M?ie=f2(N-2*u,W,_e,Me,k)||f2(N,W-2*u,_e,Me,k):k?ie=f2(N-(u-c),W,_e,Me,k)||f2(N,W-2*(u-c),_e,Me,k):ie=f2(N,W-(u-c),_e,Me,k)||f2(N-2*(u-c),W,_e,Me,k):ie=f2(N,W,_e,Me,k),ge&&ie?b="inside":(b="outside",re.remove(),re=null)}else b="inside";if(!re){ke=Id.ensureUniformFontSize(e,b==="outside"?q:F),re=p(r,S,ke);var Te=re.attr("transform");if(re.attr("transform",""),ae=P_.bBox(re.node()),_e=ae.width,Me=ae.height,re.attr("transform",Te),_e<=0||Me<=0){re.remove();return}}var Ee=E.textangle,Ae,ze;b==="outside"?(ze=E.constraintext==="both"||E.constraintext==="outside",Ae=e1t(a,o,s,l,ae,{isHorizontal:k,constrained:ze,angle:Ee})):(ze=E.constraintext==="both"||E.constraintext==="inside",Ae=Qye(a,o,s,l,ae,{isHorizontal:k,constrained:ze,angle:Ee,anchor:V,hasB:M,r:u,overhead:c})),Ae.fontSize=ke.size,Vyt(E.type==="histogram"?"bar":E.type,Ae,_),x.transform=Ae;var Ce=Yye(re,_,f,h);Id.setTransormAndDisplay(Ce,Ae)}function f2(e,t,r,n,i){if(e<0||t<0)return!1;var a=r<=e&&n<=t,o=r<=t&&n<=e,s=i?e>=r*(t/n):t>=n*(e/r);return a||o||s}function Jye(e){return e==="auto"?0:e}function $ye(e,t){var r=Math.PI/180*t,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:e.width*i+e.height*n,y:e.width*n+e.height*i}}function Qye(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor,c=u==="end",f=u==="start",h=a.leftToRight||0,v=(h+1)/2,d=1-v,_=a.hasB,b=a.r,p=a.overhead,E=i.width,k=i.height,S=Math.abs(t-e),L=Math.abs(n-r),x=S>2*Hv&&L>2*Hv?Hv:0;S-=2*x,L-=2*x;var C=Jye(l);l==="auto"&&!(E<=S&&k<=L)&&(E>S||k>L)&&(!(E>L||k>S)||EHv){var T=Qyt(e,t,r,n,M,b,p,o,_);g=T.scale,P=T.pad}else g=1,s&&(g=Math.min(1,S/M.x,L/M.y)),P=0;var F=i.left*d+i.right*v,q=(i.top+i.bottom)/2,V=(e+Hv)*d+(t-Hv)*v,H=(r+n)/2,X=0,G=0;if(f||c){var N=(o?M.x:M.y)/2;b&&(c||_)&&(x+=P);var W=o?Dm(e,t):Dm(r,n);o?f?(V=e+W*x,X=-W*N):(V=t-W*x,X=W*N):f?(H=r+W*x,G=-W*N):(H=n-W*x,G=W*N)}return{textX:F,textY:q,targetX:V,targetY:H,anchorX:X,anchorY:G,scale:g,rotate:C}}function Qyt(e,t,r,n,i,a,o,s,l){var u=Math.max(0,Math.abs(t-e)-2*Hv),c=Math.max(0,Math.abs(n-r)-2*Hv),f=a-Hv,h=o?f-Math.sqrt(f*f-(f-o)*(f-o)):f,v=l?f*2:s?f-o:2*h,d=l?f*2:s?2*h:f-o,_,b,p,E,k;return i.y/i.x>=c/(u-v)?E=c/i.y:i.y/i.x<=(c-d)/u?E=u/i.x:!l&&s?(_=i.x*i.x+i.y*i.y/4,b=-2*i.x*(u-f)-i.y*(c/2-f),p=(u-f)*(u-f)+(c/2-f)*(c/2-f)-f*f,E=(-b+Math.sqrt(b*b-4*_*p))/(2*_)):l?(_=(i.x*i.x+i.y*i.y)/4,b=-i.x*(u/2-f)-i.y*(c/2-f),p=(u/2-f)*(u/2-f)+(c/2-f)*(c/2-f)-f*f,E=(-b+Math.sqrt(b*b-4*_*p))/(2*_)):(_=i.x*i.x/4+i.y*i.y,b=-i.x*(u/2-f)-2*i.y*(c-f),p=(u/2-f)*(u/2-f)+(c-f)*(c-f)-f*f,E=(-b+Math.sqrt(b*b-4*_*p))/(2*_)),E=Math.min(1,E),s?k=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(c-i.y*E)/2)*(f-(c-i.y*E)/2)))-o):k=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(u-i.x*E)/2)*(f-(u-i.x*E)/2)))-o),{scale:E,pad:k}}function e1t(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=i.width,c=i.height,f=Math.abs(t-e),h=Math.abs(n-r),v;o?v=h>2*Hv?Hv:0:v=f>2*Hv?Hv:0;var d=1;s&&(d=o?Math.min(1,h/c):Math.min(1,f/u));var _=Jye(l),b=$ye(i,_),p=(o?b.x:b.y)/2,E=(i.left+i.right)/2,k=(i.top+i.bottom)/2,S=(e+t)/2,L=(r+n)/2,x=0,C=0,M=o?Dm(t,e):Dm(r,n);return o?(S=t-M*v,x=M*p):(L=n+M*v,C=-M*p),{textX:E,textY:k,targetX:S,targetY:L,anchorX:x,anchorY:C,scale:d,rotate:_}}function t1t(e,t,r,n,i){var a=t[0].trace,o=a.texttemplate,s;return o?s=i1t(e,t,r,n,i):a.textinfo?s=n1t(t,r,n,i):s=DT.getValue(a.text,r),DT.coerceString(jyt,s)}function r1t(e,t){var r=DT.getValue(e.textposition,t);return DT.coerceEnumerated(Wyt,r)}function i1t(e,t,r,n,i){var a=t[0].trace,o=Id.castOption(a,r,"texttemplate");if(!o)return"";var s=a.type==="histogram",l=a.type==="waterfall",u=a.type==="funnel",c=a.orientation==="h",f,h,v,d;c?(f="y",h=i,v="x",d=n):(f="x",h=n,v="y",d=i);function _(x){return i8(h,h.c2l(x),!0).text}function b(x){return i8(d,d.c2l(x),!0).text}var p=t[r],E={};E.label=p.p,E.labelLabel=E[f+"Label"]=_(p.p);var k=Id.castOption(a,p.i,"text");(k===0||k)&&(E.text=k),E.value=p.s,E.valueLabel=E[v+"Label"]=b(p.s);var S={};Zyt(S,a,p.i),(s||S.x===void 0)&&(S.x=c?E.value:E.label),(s||S.y===void 0)&&(S.y=c?E.label:E.value),(s||S.xLabel===void 0)&&(S.xLabel=c?E.valueLabel:E.labelLabel),(s||S.yLabel===void 0)&&(S.yLabel=c?E.labelLabel:E.valueLabel),l&&(E.delta=+p.rawS||p.s,E.deltaLabel=b(E.delta),E.final=p.v,E.finalLabel=b(E.final),E.initial=E.final-E.delta,E.initialLabel=b(E.initial)),u&&(E.value=p.s,E.valueLabel=b(E.value),E.percentInitial=p.begR,E.percentInitialLabel=Id.formatPercent(p.begR),E.percentPrevious=p.difR,E.percentPreviousLabel=Id.formatPercent(p.difR),E.percentTotal=p.sumR,E.percenTotalLabel=Id.formatPercent(p.sumR));var L=Id.castOption(a,p.i,"customdata");return L&&(E.customdata=L),Id.texttemplateString(o,E,e._d3locale,S,E,a._meta||{})}function n1t(e,t,r,n){var i=e[0].trace,a=i.orientation==="h",o=i.type==="waterfall",s=i.type==="funnel";function l(L){var x=a?n:r;return i8(x,L,!0).text}function u(L){var x=a?r:n;return i8(x,+L,!0).text}var c=i.textinfo,f=e[t],h=c.split("+"),v=[],d,_=function(L){return h.indexOf(L)!==-1};if(_("label")&&v.push(l(e[t].p)),_("text")&&(d=Id.castOption(i,f.i,"text"),(d===0||d)&&v.push(d)),o){var b=+f.rawS||f.s,p=f.v,E=p-b;_("initial")&&v.push(u(E)),_("delta")&&v.push(u(b)),_("final")&&v.push(u(p))}if(s){_("value")&&v.push(u(f.s));var k=0;_("percent initial")&&k++,_("percent previous")&&k++,_("percent total")&&k++;var S=k>1;_("percent initial")&&(d=Id.formatPercent(f.begR),S&&(d+=" of initial"),v.push(d)),_("percent previous")&&(d=Id.formatPercent(f.difR),S&&(d+=" of previous"),v.push(d)),_("percent total")&&(d=Id.formatPercent(f.sumR),S&&(d+=" of total"),v.push(d))}return v.join("
")}e1e.exports={plot:Jyt,toMoveInsideBar:Qye}});var RT=ye((Msr,n1e)=>{"use strict";var k4=Nc(),a1t=ya(),t1e=va(),o1t=Ar().fillText,s1t=e8().getLineWidth,qV=Xa().hoverLabelText,l1t=Yo().BADNUM;function u1t(e,t,r,n,i){var a=r1e(e,t,r,n,i);if(a){var o=a.cd,s=o[0].trace,l=o[a.index];return a.color=i1e(s,l),a1t.getComponentMethod("errorbars","hoverInfo")(l,s,a),[a]}}function r1e(e,t,r,n,i){var a=e.cd,o=a[0].trace,s=a[0].t,l=n==="closest",u=o.type==="waterfall",c=e.maxHoverDistance,f=e.maxSpikeDistance,h,v,d,_,b,p,E;o.orientation==="h"?(h=r,v=t,d="y",_="x",b=H,p=F):(h=t,v=r,d="x",_="y",p=H,b=F);var k=o[d+"period"],S=l||k;function L(ie){return C(ie,-1)}function x(ie){return C(ie,1)}function C(ie,Te){var Ee=ie.w;return ie[d]+Te*Ee/2}function M(ie){return ie[d+"End"]-ie[d+"Start"]}var g=l?L:k?function(ie){return ie.p-M(ie)/2}:function(ie){return Math.min(L(ie),ie.p-s.bardelta/2)},P=l?x:k?function(ie){return ie.p+M(ie)/2}:function(ie){return Math.max(x(ie),ie.p+s.bardelta/2)};function T(ie,Te,Ee){return i.finiteRange&&(Ee=0),k4.inbox(ie-h,Te-h,Ee+Math.min(1,Math.abs(Te-ie)/E)-1)}function F(ie){return T(g(ie),P(ie),c)}function q(ie){return T(L(ie),x(ie),f)}function V(ie){var Te=ie[_];if(u){var Ee=Math.abs(ie.rawS)||0;v>0?Te+=Ee:v<0&&(Te-=Ee)}return Te}function H(ie){var Te=v,Ee=ie.b,Ae=V(ie);return k4.inbox(Ee-Te,Ae-Te,c+(Ae-Te)/(Ae-Ee)-1)}function X(ie){var Te=v,Ee=ie.b,Ae=V(ie);return k4.inbox(Ee-Te,Ae-Te,f+(Ae-Te)/(Ae-Ee)-1)}var G=e[d+"a"],N=e[_+"a"];E=Math.abs(G.r2c(G.range[1])-G.r2c(G.range[0]));function W(ie){return(b(ie)+p(ie))/2}var re=k4.getDistanceFunction(n,b,p,W);if(k4.getClosest(a,re,e),e.index!==!1&&a[e.index].p!==l1t){S||(g=function(ie){return Math.min(L(ie),ie.p-s.bargroupwidth/2)},P=function(ie){return Math.max(x(ie),ie.p+s.bargroupwidth/2)});var ae=e.index,_e=a[ae],Me=o.base?_e.b+_e.s:_e.s;e[_+"0"]=e[_+"1"]=N.c2p(_e[_],!0),e[_+"LabelVal"]=Me;var ke=s.extents[s.extents.round(_e.p)];e[d+"0"]=G.c2p(l?g(_e):ke[0],!0),e[d+"1"]=G.c2p(l?P(_e):ke[1],!0);var ge=_e.orig_p!==void 0;return e[d+"LabelVal"]=ge?_e.orig_p:_e.p,e.labelLabel=qV(G,e[d+"LabelVal"],o[d+"hoverformat"]),e.valueLabel=qV(N,e[_+"LabelVal"],o[_+"hoverformat"]),e.baseLabel=qV(N,_e.b,o[_+"hoverformat"]),e.spikeDistance=(X(_e)+q(_e))/2,e[d+"Spike"]=G.c2p(_e.p,!0),o1t(_e,o,e),e.hovertemplate=o.hovertemplate,e}}function i1e(e,t){var r=t.mcc||e.marker.color,n=t.mlcc||e.marker.line.color,i=s1t(e,t);if(t1e.opacity(r))return r;if(t1e.opacity(n)&&i)return n}n1e.exports={hoverPoints:u1t,hoverOnBars:r1e,getTraceColor:i1e}});var o1e=ye((Esr,a1e)=>{"use strict";a1e.exports=function(t,r,n){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),n.orientation==="h"?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}});var zT=ye((ksr,s1e)=>{"use strict";s1e.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=n[0].trace,s=o.type==="funnel",l=o.orientation==="h",u=[],c;if(r===!1)for(c=0;c{"use strict";l1e.exports={attributes:Im(),layoutAttributes:JI(),supplyDefaults:a0().supplyDefaults,crossTraceDefaults:a0().crossTraceDefaults,supplyLayoutDefaults:IV(),calc:Iye(),crossTraceCalc:Qb().crossTraceCalc,colorbar:Jd(),arraysToCalcdata:S4(),plot:h2().plot,style:G0().style,styleOnSelect:G0().styleOnSelect,hoverPoints:RT().hoverPoints,eventData:o1e(),selectPoints:zT(),moduleType:"trace",name:"bar",basePlotModule:Qf(),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}});var f1e=ye((Lsr,c1e)=>{"use strict";c1e.exports=u1e()});var C4=ye((Psr,p1e)=>{"use strict";var f1t=Cg(),j0=Uc(),h1e=Im(),h1t=ph(),d1e=Oc().axisHoverFormat,d1t=Wo().hovertemplateAttrs,Oy=no().extendFlat,FT=j0.marker,v1e=FT.line;p1e.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:j0.xperiod,yperiod:j0.yperiod,xperiod0:j0.xperiod0,yperiod0:j0.yperiod0,xperiodalignment:j0.xperiodalignment,yperiodalignment:j0.yperiodalignment,xhoverformat:d1e("x"),yhoverformat:d1e("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},sdmultiple:{valType:"number",min:0,editType:"calc",dflt:1},sizemode:{valType:"enumerated",values:["quartiles","sd"],editType:"calc",dflt:"quartiles"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:Oy({},FT.symbol,{arrayOk:!1,editType:"plot"}),opacity:Oy({},FT.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:Oy({},FT.angle,{arrayOk:!1,editType:"calc"}),size:Oy({},FT.size,{arrayOk:!1,editType:"calc"}),color:Oy({},FT.color,{arrayOk:!1,editType:"style"}),line:{color:Oy({},v1e.color,{arrayOk:!1,dflt:h1t.defaultLine,editType:"style"}),width:Oy({},v1e.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:f1t(),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},showwhiskers:{valType:"boolean",editType:"calc"},offsetgroup:h1e.offsetgroup,alignmentgroup:h1e.alignmentgroup,selected:{marker:j0.selected.marker,editType:"style"},unselected:{marker:j0.unselected.marker,editType:"style"},text:Oy({},j0.text,{}),hovertext:Oy({},j0.hovertext,{}),hovertemplate:d1t({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"},zorder:j0.zorder}});var L4=ye((Isr,g1e)=>{"use strict";g1e.exports={boxmode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},boxgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"},boxgroupgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"}}});var I4=ye((Dsr,x1e)=>{"use strict";var W0=Ar(),v1t=ya(),p1t=va(),g1t=Dg(),m1t=$b(),m1e=U3(),P4=C4();function y1t(e,t,r,n){function i(d,_){return W0.coerce(e,t,P4,d,_)}if(y1e(e,t,i,n),t.visible!==!1){g1t(e,t,n,i),i("xhoverformat"),i("yhoverformat");var a=t._hasPreCompStats;a&&(i("lowerfence"),i("upperfence")),i("line.color",(e.marker||{}).color||r),i("line.width"),i("fillcolor",p1t.addOpacity(t.line.color,.5));var o=!1;if(a){var s=i("mean"),l=i("sd");s&&s.length&&(o=!0,l&&l.length&&(o="sd"))}i("whiskerwidth");var u=i("sizemode"),c;u==="quartiles"&&(c=i("boxmean",o)),i("showwhiskers",u==="quartiles"),(u==="sd"||c==="sd")&&i("sdmultiple"),i("width"),i("quartilemethod");var f=!1;if(a){var h=i("notchspan");h&&h.length&&(f=!0)}else W0.validate(e.notchwidth,P4.notchwidth)&&(f=!0);var v=i("notched",f);v&&i("notchwidth"),_1e(e,t,i,{prefix:"box"}),i("zorder")}}function y1e(e,t,r,n){function i(P){var T=0;return P&&P.length&&(T+=1,W0.isArrayOrTypedArray(P[0])&&P[0].length&&(T+=1)),T}function a(P){return W0.validate(e[P],P4[P])}var o=r("y"),s=r("x"),l;if(t.type==="box"){var u=r("q1"),c=r("median"),f=r("q3");t._hasPreCompStats=u&&u.length&&c&&c.length&&f&&f.length,l=Math.min(W0.minRowLength(u),W0.minRowLength(c),W0.minRowLength(f))}var h=i(o),v=i(s),d=h&&W0.minRowLength(o),_=v&&W0.minRowLength(s),b=n.calendar,p={autotypenumbers:n.autotypenumbers},E,k;if(t._hasPreCompStats)switch(String(v)+String(h)){case"00":var S=a("x0")||a("dx"),L=a("y0")||a("dy");L&&!S?E="h":E="v",k=l;break;case"10":E="v",k=Math.min(l,_);break;case"20":E="h",k=Math.min(l,s.length);break;case"01":E="h",k=Math.min(l,d);break;case"02":E="v",k=Math.min(l,o.length);break;case"12":E="v",k=Math.min(l,_,o.length);break;case"21":E="h",k=Math.min(l,s.length,d);break;case"11":k=0;break;case"22":var x=!1,C;for(C=0;C0?(E="v",v>0?k=Math.min(_,d):k=Math.min(d)):v>0?(E="h",k=Math.min(_)):k=0;if(!k){t.visible=!1;return}t._length=k;var M=r("orientation",E);t._hasPreCompStats?M==="v"&&v===0?(r("x0",0),r("dx",1)):M==="h"&&h===0&&(r("y0",0),r("dy",1)):M==="v"&&v===0?r("x0"):M==="h"&&h===0&&r("y0");var g=v1t.getComponentMethod("calendars","handleTraceDefaults");g(e,t,["x","y"],n)}function _1e(e,t,r,n){var i=n.prefix,a=W0.coerce2(e,t,P4,"marker.outliercolor"),o=r("marker.line.outliercolor"),s="outliers";t._hasPreCompStats?s="all":(a||o)&&(s="suspectedoutliers");var l=r(i+"points",s);l?(r("jitter",l==="all"?.3:0),r("pointpos",l==="all"?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.angle"),r("marker.color",t.line.color),r("marker.line.color"),r("marker.line.width"),l==="suspectedoutliers"&&(r("marker.line.outliercolor",t.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete t.marker;var u=r("hoveron");(u==="all"||u.indexOf("points")!==-1)&&r("hovertemplate"),W0.coerceSelectionMarkerOpacity(t,r)}function _1t(e,t){var r,n;function i(s){return W0.coerce(n._input,n,P4,s)}for(var a=0;a{"use strict";var x1t=ya(),b1t=Ar(),w1t=L4();function b1e(e,t,r,n,i){for(var a=i+"Layout",o=!1,s=0;s{"use strict";var BV=uo(),a8=Xa(),A1t=zg(),eh=Ar(),o0=Yo().BADNUM,By=eh._;P1e.exports=function(t,r){var n=t._fullLayout,i=a8.getFromId(t,r.xaxis||"x"),a=a8.getFromId(t,r.yaxis||"y"),o=[],s=r.type==="violin"?"_numViolins":"_numBoxes",l,u,c,f,h,v,d;r.orientation==="h"?(c=i,f="x",h=a,v="y",d=!!r.yperiodalignment):(c=a,f="y",h=i,v="x",d=!!r.xperiodalignment);var _=S1t(r,v,h,n[s]),b=_[0],p=_[1],E=eh.distinctVals(b,h),k=E.vals,S=E.minDiff/2,L,x,C,M,g,P,T=(r.boxpoints||r.points)==="all"?eh.identity:function(qt){return qt.vL.uf};if(r._hasPreCompStats){var F=r[f],q=function(qt){return c.d2c((r[qt]||[])[l])},V=1/0,H=-1/0;for(l=0;l=L.q1&&L.q3>=L.med){var G=q("lowerfence");L.lf=G!==o0&&G<=L.q1?G:M1e(L,C,M);var N=q("upperfence");L.uf=N!==o0&&N>=L.q3?N:E1e(L,C,M);var W=q("mean");L.mean=W!==o0?W:M?eh.mean(C,M):(L.q1+L.q3)/2;var re=q("sd");L.sd=W!==o0&&re>=0?re:M?eh.stdev(C,M,L.mean):L.q3-L.q1,L.lo=k1e(L),L.uo=C1e(L);var ae=q("notchspan");ae=ae!==o0&&ae>0?ae:L1e(L,M),L.ln=L.med-ae,L.un=L.med+ae;var _e=L.lf,Me=L.uf;r.boxpoints&&C.length&&(_e=Math.min(_e,C[0]),Me=Math.max(Me,C[M-1])),r.notched&&(_e=Math.min(_e,L.ln),Me=Math.max(Me,L.un)),L.min=_e,L.max=Me}else{eh.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+L.q1,"median = "+L.med,"q3 = "+L.q3].join(` +`));var ke;L.med!==o0?ke=L.med:L.q1!==o0?L.q3!==o0?ke=(L.q1+L.q3)/2:ke=L.q1:L.q3!==o0?ke=L.q3:ke=0,L.med=ke,L.q1=L.q3=ke,L.lf=L.uf=ke,L.mean=L.sd=ke,L.ln=L.un=ke,L.min=L.max=ke}V=Math.min(V,L.min),H=Math.max(H,L.max),L.pts2=x.filter(T),o.push(L)}}r._extremes[c._id]=a8.findExtremes(c,[V,H],{padded:!0})}else{var ge=c.makeCalcdata(r,f),ie=M1t(k,S),Te=k.length,Ee=E1t(Te);for(l=0;l=0&&Ae0){if(L={},L.pos=L[v]=k[l],x=L.pts=Ee[l].sort(A1e),C=L[f]=x.map(S1e),M=C.length,L.min=C[0],L.max=C[M-1],L.mean=eh.mean(C,M),L.sd=eh.stdev(C,M,L.mean)*r.sdmultiple,L.med=eh.interp(C,.5),M%2&&(De||ce)){var Ge,nt;De?(Ge=C.slice(0,M/2),nt=C.slice(M/2+1)):ce&&(Ge=C.slice(0,M/2+1),nt=C.slice(M/2)),L.q1=eh.interp(Ge,.5),L.q3=eh.interp(nt,.5)}else L.q1=eh.interp(C,.25),L.q3=eh.interp(C,.75);L.lf=M1e(L,C,M),L.uf=E1e(L,C,M),L.lo=k1e(L),L.uo=C1e(L);var ct=L1e(L,M);L.ln=L.med-ct,L.un=L.med+ct,ze=Math.min(ze,L.ln),Ce=Math.max(Ce,L.un),L.pts2=x.filter(T),o.push(L)}r.notched&&eh.isTypedArray(ge)&&(ge=Array.from(ge)),r._extremes[c._id]=a8.findExtremes(c,r.notched?ge.concat([ze,Ce]):ge,{padded:!0})}return k1t(o,r),o.length>0?(o[0].t={num:n[s],dPos:S,posLetter:v,valLetter:f,labels:{med:By(t,"median:"),min:By(t,"min:"),q1:By(t,"q1:"),q3:By(t,"q3:"),max:By(t,"max:"),mean:r.boxmean==="sd"||r.sizemode==="sd"?By(t,"mean \xB1 \u03C3:").replace("\u03C3",r.sdmultiple===1?"\u03C3":r.sdmultiple+"\u03C3"):By(t,"mean:"),lf:By(t,"lower fence:"),uf:By(t,"upper fence:")}},n[s]++,o):[{t:{empty:!0}}]};function S1t(e,t,r,n){var i=t in e,a=t+"0"in e,o="d"+t in e;if(i||a&&o){var s=r.makeCalcdata(e,t),l=A1t(e,r,t,s).vals;return[l,s]}var u;a?u=e[t+"0"]:"name"in e&&(r.type==="category"||BV(e.name)&&["linear","log"].indexOf(r.type)!==-1||eh.isDateTime(e.name)&&r.type==="date")?u=e.name:u=n;for(var c=r.type==="multicategory"?r.r2c_just_indices(u):r.d2c(u,0,e[t+"calendar"]),f=e._length,h=new Array(f),v=0;v{"use strict";var I1e=Xa(),C1t=Ar(),L1t=Yb().getAxisGroup,D1e=["v","h"];function P1t(e,t){for(var r=e.calcdata,n=t.xaxis,i=t.yaxis,a=0;a1,E=1-a[e+"gap"],k=1-a[e+"groupgap"];for(l=0;l0;if(C==="positive"?(N=M*(x?1:.5),ae=re,W=ae=P):C==="negative"?(N=ae=P,W=M*(x?1:.5),_e=re):(N=W=M,ae=_e=re),Ee){var Ae=S.pointpos,ze=S.jitter,Ce=S.marker.size/2,me=0;Ae+ze>=0&&(me=re*(Ae+ze),me>N?(Te=!0,ge=Ce,Me=me):me>ae&&(ge=Ce,Me=N)),me<=N&&(Me=N);var De=0;Ae-ze<=0&&(De=-re*(Ae-ze),De>W?(Te=!0,ie=Ce,ke=De):De>_e&&(ie=Ce,ke=W)),De<=W&&(ke=W)}else Me=N,ke=W;var ce=new Array(c.length);for(u=0;u{"use strict";var qT=ba(),d2=Ar(),I1t=ao(),F1e=5,D1t=.01;function R1t(e,t,r,n){var i=e._context.staticPlot,a=t.xaxis,o=t.yaxis;d2.makeTraceGroups(n,r,"trace boxes").each(function(s){var l=qT.select(this),u=s[0],c=u.t,f=u.trace;if(c.wdPos=c.bdPos*f.whiskerwidth,f.visible!==!0||c.empty){l.remove();return}var h,v;f.orientation==="h"?(h=o,v=a):(h=a,v=o),q1e(l,{pos:h,val:v},f,c,i),O1e(l,{x:a,y:o},f,c),B1e(l,{pos:h,val:v},f,c)})}function q1e(e,t,r,n,i){var a=r.orientation==="h",o=t.val,s=t.pos,l=!!s.rangebreaks,u=n.bPos,c=n.wdPos||0,f=n.bPosPxOffset||0,h=r.whiskerwidth||0,v=r.showwhiskers!==!1,d=r.notched||!1,_=d?1-2*r.notchwidth:1,b,p;Array.isArray(n.bdPos)?(b=n.bdPos[0],p=n.bdPos[1]):(b=n.bdPos,p=n.bdPos);var E=e.selectAll("path.box").data(r.type!=="violin"||r.box.visible?d2.identity:[]);E.enter().append("path").style("vector-effect",i?"none":"non-scaling-stroke").attr("class","box"),E.exit().remove(),E.each(function(k){if(k.empty)return qT.select(this).attr("d","M0,0Z");var S=s.c2l(k.pos+u,!0),L=s.l2p(S-b)+f,x=s.l2p(S+p)+f,C=l?(L+x)/2:s.l2p(S)+f,M=r.whiskerwidth,g=l?L*M+(1-M)*C:s.l2p(S-c)+f,P=l?x*M+(1-M)*C:s.l2p(S+c)+f,T=s.l2p(S-b*_)+f,F=s.l2p(S+p*_)+f,q=r.sizemode==="sd",V=o.c2p(q?k.mean-k.sd:k.q1,!0),H=q?o.c2p(k.mean+k.sd,!0):o.c2p(k.q3,!0),X=d2.constrain(q?o.c2p(k.mean,!0):o.c2p(k.med,!0),Math.min(V,H)+1,Math.max(V,H)-1),G=k.lf===void 0||r.boxpoints===!1||q,N=o.c2p(G?k.min:k.lf,!0),W=o.c2p(G?k.max:k.uf,!0),re=o.c2p(k.ln,!0),ae=o.c2p(k.un,!0);a?qT.select(this).attr("d","M"+X+","+T+"V"+F+"M"+V+","+L+"V"+x+(d?"H"+re+"L"+X+","+F+"L"+ae+","+x:"")+"H"+H+"V"+L+(d?"H"+ae+"L"+X+","+T+"L"+re+","+L:"")+"Z"+(v?"M"+V+","+C+"H"+N+"M"+H+","+C+"H"+W+(h===0?"":"M"+N+","+g+"V"+P+"M"+W+","+g+"V"+P):"")):qT.select(this).attr("d","M"+T+","+X+"H"+F+"M"+L+","+V+"H"+x+(d?"V"+re+"L"+F+","+X+"L"+x+","+ae:"")+"V"+H+"H"+L+(d?"V"+ae+"L"+T+","+X+"L"+L+","+re:"")+"Z"+(v?"M"+C+","+V+"V"+N+"M"+C+","+H+"V"+W+(h===0?"":"M"+g+","+N+"H"+P+"M"+g+","+W+"H"+P):""))})}function O1e(e,t,r,n){var i=t.x,a=t.y,o=n.bdPos,s=n.bPos,l=r.boxpoints||r.points;d2.seedPseudoRandom();var u=function(h){return h.forEach(function(v){v.t=n,v.trace=r}),h},c=e.selectAll("g.points").data(l?u:[]);c.enter().append("g").attr("class","points"),c.exit().remove();var f=c.selectAll("path").data(function(h){var v,d=h.pts2,_=Math.max((h.max-h.min)/10,h.q3-h.q1),b=_*1e-9,p=_*D1t,E=[],k=0,S;if(r.jitter){if(_===0)for(k=1,E=new Array(d.length),v=0;vh.lo&&(P.so=!0)}return d});f.enter().append("path").classed("point",!0),f.exit().remove(),f.call(I1t.translatePoints,i,a)}function B1e(e,t,r,n){var i=t.val,a=t.pos,o=!!a.rangebreaks,s=n.bPos,l=n.bPosPxOffset||0,u=r.boxmean||(r.meanline||{}).visible,c,f;Array.isArray(n.bdPos)?(c=n.bdPos[0],f=n.bdPos[1]):(c=n.bdPos,f=n.bdPos);var h=e.selectAll("path.mean").data(r.type==="box"&&r.boxmean||r.type==="violin"&&r.box.visible&&r.meanline.visible?d2.identity:[]);h.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),h.exit().remove(),h.each(function(v){var d=a.c2l(v.pos+s,!0),_=a.l2p(d-c)+l,b=a.l2p(d+f)+l,p=o?(_+b)/2:a.l2p(d)+l,E=i.c2p(v.mean,!0),k=i.c2p(v.mean-v.sd,!0),S=i.c2p(v.mean+v.sd,!0);r.orientation==="h"?qT.select(this).attr("d","M"+E+","+_+"V"+b+(u==="sd"?"m0,0L"+k+","+p+"L"+E+","+_+"L"+S+","+p+"Z":"")):qT.select(this).attr("d","M"+_+","+E+"H"+b+(u==="sd"?"m0,0L"+p+","+k+"L"+_+","+E+"L"+p+","+S+"Z":""))})}N1e.exports={plot:R1t,plotBoxAndWhiskers:q1e,plotPoints:O1e,plotBoxMean:B1e}});var l8=ye((Osr,U1e)=>{"use strict";var UV=ba(),VV=va(),HV=ao();function z1t(e,t,r){var n=r||UV.select(e).selectAll("g.trace.boxes");n.style("opacity",function(i){return i[0].trace.opacity}),n.each(function(i){var a=UV.select(this),o=i[0].trace,s=o.line.width;function l(f,h,v,d){f.style("stroke-width",h+"px").call(VV.stroke,v).call(VV.fill,d)}var u=a.selectAll("path.box");if(o.type==="candlestick")u.each(function(f){if(!f.empty){var h=UV.select(this),v=o[f.dir];l(h,v.line.width,v.line.color,v.fillcolor),h.style("opacity",o.selectedpoints&&!f.selected?.3:1)}});else{l(u,s,o.line.color,o.fillcolor),a.selectAll("path.mean").style({"stroke-width":s,"stroke-dasharray":2*s+"px,"+s+"px"}).call(VV.stroke,o.line.color);var c=a.selectAll("path.point");HV.pointStyle(c,o,e)}})}function F1t(e,t,r){var n=t[0].trace,i=r.selectAll("path.point");n.selectedpoints?HV.selectedPointStyle(i,n):HV.pointStyle(i,n,e)}U1e.exports={style:z1t,styleOnSelect:F1t}});var jV=ye((Bsr,j1e)=>{"use strict";var q1t=Xa(),GV=Ar(),I_=Nc(),V1e=va(),O1t=GV.fillText;function B1t(e,t,r,n){var i=e.cd,a=i[0].trace,o=a.hoveron,s=[],l;return o.indexOf("boxes")!==-1&&(s=s.concat(H1e(e,t,r,n))),o.indexOf("points")!==-1&&(l=G1e(e,t,r)),n==="closest"?l?[l]:s:(l&&s.push(l),s)}function H1e(e,t,r,n){var i=e.cd,a=e.xa,o=e.ya,s=i[0].trace,l=i[0].t,u=s.type==="violin",c,f,h,v,d,_,b,p,E,k,S,L=l.bdPos,x,C,M=l.wHover,g=function(Ce){return h.c2l(Ce.pos)+l.bPos-h.c2l(_)};u&&s.side!=="both"?(s.side==="positive"&&(E=function(Ce){var me=g(Ce);return I_.inbox(me,me+M,k)},x=L,C=0),s.side==="negative"&&(E=function(Ce){var me=g(Ce);return I_.inbox(me-M,me,k)},x=0,C=L)):(E=function(Ce){var me=g(Ce);return I_.inbox(me-M,me+M,k)},x=C=L);var P;u?P=function(Ce){return I_.inbox(Ce.span[0]-d,Ce.span[1]-d,k)}:P=function(Ce){return I_.inbox(Ce.min-d,Ce.max-d,k)},s.orientation==="h"?(d=t,_=r,b=P,p=E,c="y",h=o,f="x",v=a):(d=r,_=t,b=E,p=P,c="x",h=a,f="y",v=o);var T=Math.min(1,L/Math.abs(h.r2c(h.range[1])-h.r2c(h.range[0])));k=e.maxHoverDistance-T,S=e.maxSpikeDistance-T;function F(Ce){return(b(Ce)+p(Ce))/2}var q=I_.getDistanceFunction(n,b,p,F);if(I_.getClosest(i,q,e),e.index===!1)return[];var V=i[e.index],H=s.line.color,X=(s.marker||{}).color;V1e.opacity(H)&&s.line.width?e.color=H:V1e.opacity(X)&&s.boxpoints?e.color=X:e.color=s.fillcolor,e[c+"0"]=h.c2p(V.pos+l.bPos-C,!0),e[c+"1"]=h.c2p(V.pos+l.bPos+x,!0),e[c+"LabelVal"]=V.orig_p!==void 0?V.orig_p:V.pos;var G=c+"Spike";e.spikeDistance=F(V)*S/k,e[G]=h.c2p(V.pos,!0);var N=s.boxmean||s.sizemode==="sd"||(s.meanline||{}).visible,W=s.boxpoints||s.points,re=W&&N?["max","uf","q3","med","mean","q1","lf","min"]:W&&!N?["max","uf","q3","med","q1","lf","min"]:!W&&N?["max","q3","med","mean","q1","min"]:["max","q3","med","q1","min"],ae=v.range[1]{"use strict";W1e.exports=function(t,r){return r.hoverOnBox&&(t.hoverOnBox=r.hoverOnBox),"xVal"in r&&(t.x=r.xVal),"yVal"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var WV=ye((Usr,X1e)=>{"use strict";X1e.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l;if(r===!1)for(s=0;s{"use strict";Y1e.exports={attributes:C4(),layoutAttributes:L4(),supplyDefaults:I4().supplyDefaults,crossTraceDefaults:I4().crossTraceDefaults,supplyLayoutDefaults:n8().supplyLayoutDefaults,calc:NV(),crossTraceCalc:o8().crossTraceCalc,plot:s8().plot,style:l8().style,styleOnSelect:l8().styleOnSelect,hoverPoints:jV().hoverPoints,eventData:Z1e(),selectPoints:WV(),moduleType:"trace",name:"box",basePlotModule:Qf(),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],meta:{}}});var $1e=ye((Hsr,J1e)=>{"use strict";J1e.exports=K1e()});var OT=ye((Gsr,Q1e)=>{"use strict";var s0=Uc(),N1t=vl(),U1t=Su(),ZV=Oc().axisHoverFormat,V1t=Wo().hovertemplateAttrs,H1t=Wo().texttemplateAttrs,G1t=Kl(),Rp=no().extendFlat;Q1e.exports=Rp({z:{valType:"data_array",editType:"calc"},x:Rp({},s0.x,{impliedEdits:{xtype:"array"}}),x0:Rp({},s0.x0,{impliedEdits:{xtype:"scaled"}}),dx:Rp({},s0.dx,{impliedEdits:{xtype:"scaled"}}),y:Rp({},s0.y,{impliedEdits:{ytype:"array"}}),y0:Rp({},s0.y0,{impliedEdits:{ytype:"scaled"}}),dy:Rp({},s0.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:Rp({},s0.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:Rp({},s0.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:Rp({},s0.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:Rp({},s0.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:Rp({},s0.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:Rp({},s0.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:ZV("x"),yhoverformat:ZV("y"),zhoverformat:ZV("z",1),hovertemplate:V1t(),texttemplate:H1t({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),textfont:U1t({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style"}),showlegend:Rp({},N1t.showlegend,{dflt:!1}),zorder:s0.zorder},{transforms:void 0},G1t("",{cLetter:"z",autoColorDflt:!1}))});var c8=ye((jsr,t_e)=>{"use strict";var j1t=uo(),u8=Ar(),W1t=ya();t_e.exports=function(t,r,n,i,a,o){var s=n("z");a=a||"x",o=o||"y";var l,u;if(s===void 0||!s.length)return 0;if(u8.isArray1D(s)){l=n(a),u=n(o);var c=u8.minRowLength(l),f=u8.minRowLength(u);if(c===0||f===0)return 0;r._length=Math.min(c,f,s.length)}else{if(l=e_e(a,n),u=e_e(o,n),!Z1t(s))return 0;n("transpose"),r._length=null}var h=W1t.getComponentMethod("calendars","handleTraceDefaults");return h(t,r,[a,o],i),!0};function e_e(e,t){var r=t(e),n=r?t(e+"type","array"):"scaled";return n==="scaled"&&(t(e+"0"),t("d"+e)),r}function Z1t(e){for(var t=!0,r=!1,n=!1,i,a=0;a0&&(r=!0);for(var o=0;o{"use strict";var r_e=Ar();i_e.exports=function(t,r){t("texttemplate");var n=r_e.extendFlat({},r.font,{color:"auto",size:"auto"});r_e.coerceFont(t,"textfont",n)}});var XV=ye((Zsr,n_e)=>{"use strict";n_e.exports=function(t,r,n){var i=n("zsmooth");i===!1&&(n("xgap"),n("ygap")),n("zhoverformat")}});var s_e=ye((Xsr,o_e)=>{"use strict";var a_e=Ar(),X1t=c8(),Y1t=D4(),K1t=Dg(),J1t=XV(),$1t=Hh(),Q1t=OT();o_e.exports=function(t,r,n,i){function a(s,l){return a_e.coerce(t,r,Q1t,s,l)}var o=X1t(t,r,a,i);if(!o){r.visible=!1;return}K1t(t,r,i,a),a("xhoverformat"),a("yhoverformat"),a("text"),a("hovertext"),a("hovertemplate"),Y1t(a,i),J1t(t,r,a,i),a("hoverongaps"),a("connectgaps",a_e.isArray1D(r.z)&&r.zsmooth!==!1),$1t(t,r,i,a,{prefix:"",cLetter:"z"}),a("zorder")}});var YV=ye((Ysr,l_e)=>{"use strict";var BT=uo();l_e.exports={count:function(e,t,r){return r[e]++,1},sum:function(e,t,r,n){var i=n[t];return BT(i)?(i=Number(i),r[e]+=i,i):0},avg:function(e,t,r,n,i){var a=n[t];return BT(a)&&(a=Number(a),r[e]+=a,i[e]++),0},min:function(e,t,r,n){var i=n[t];if(BT(i))if(i=Number(i),BT(r[e])){if(r[e]>i){var a=i-r[e];return r[e]=i,a}}else return r[e]=i,i;return 0},max:function(e,t,r,n){var i=n[t];if(BT(i))if(i=Number(i),BT(r[e])){if(r[e]{"use strict";u_e.exports={percent:function(e,t){for(var r=e.length,n=100/t,i=0;i{"use strict";c_e.exports=function(t,r){for(var n=t.length,i=0,a=0;a{"use strict";var NT=Yo(),v2=NT.ONEAVGYEAR,f_e=NT.ONEAVGMONTH,h8=NT.ONEDAY,h_e=NT.ONEHOUR,d_e=NT.ONEMIN,v_e=NT.ONESEC,p_e=Xa().tickIncrement;y_e.exports=function(t,r,n,i,a){var o=-1.1*r,s=-.1*r,l=t-s,u=n[0],c=n[1],f=Math.min(f8(u+s,u+l,i,a),f8(c+s,c+l,i,a)),h=Math.min(f8(u+o,u+s,i,a),f8(c+o,c+s,i,a)),v,d;if(f>h&&hh8){var _=v===v2?1:6,b=v===v2?"M12":"M1";return function(p,E){var k=i.c2d(p,v2,a),S=k.indexOf("-",_);S>0&&(k=k.substr(0,S));var L=i.d2c(k,0,a);if(Lv_e?e>h8?e>v2*1.1?v2:e>f_e*1.1?f_e:h8:e>h_e?h_e:e>d_e?d_e:v_e:Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function e_t(e,t,r,n,i,a){if(n&&e>h8){var o=m_e(t,i,a),s=m_e(r,i,a),l=e===v2?0:1;return o[l]!==s[l]}return Math.floor(r/e)-Math.floor(t/e)>.1}function m_e(e,t,r){var n=t.c2d(e,v2,r).split("-");return n[0]===""&&(n.unshift(),n[0]="-"+n[0]),n}});var tH=ye((Qsr,b_e)=>{"use strict";var QV=uo(),Gv=Ar(),__e=ya(),Z0=Xa(),t_t=S4(),x_e=YV(),r_t=KV(),i_t=JV(),n_t=$V();function a_t(e,t){var r=[],n=[],i=t.orientation==="h",a=Z0.getFromId(e,i?t.yaxis:t.xaxis),o=i?"y":"x",s={x:"y",y:"x"}[o],l=t[o+"calendar"],u=t.cumulative,c,f=eH(e,t,a,o),h=f[0],v=f[1],d=typeof h.size=="string",_=[],b=d?_:h,p=[],E=[],k=[],S=0,L=t.histnorm,x=t.histfunc,C=L.indexOf("density")!==-1,M,g,P;u.enabled&&C&&(L=L.replace(/ ?density$/,""),C=!1);var T=x==="max"||x==="min",F=T?null:0,q=x_e.count,V=r_t[L],H=!1,X=function(me){return a.r2c(me,0,l)},G;for(Gv.isArrayOrTypedArray(t[s])&&x!=="count"&&(G=t[s],H=x==="avg",q=x_e[x]),c=X(h.start),g=X(h.end)+(c-Z0.tickIncrement(c,h.size,!1,l))/1e6;c=0&&P=Ae;c--)if(n[c]){ze=c;break}for(c=Ae;c<=ze;c++)if(QV(r[c])&&QV(n[c])){var Ce={p:r[c],s:n[c],b:0};u.enabled||(Ce.pts=k[c],ae?Ce.ph0=Ce.ph1=k[c].length?v[k[c][0]]:r[c]:(t._computePh=!0,Ce.ph0=ie(_[c]),Ce.ph1=ie(_[c+1],!0))),Ee.push(Ce)}return Ee.length===1&&(Ee[0].width1=Z0.tickIncrement(Ee[0].p,h.size,!1,l)-Ee[0].p),t_t(Ee,t),Gv.isArrayOrTypedArray(t.selectedpoints)&&Gv.tagSelected(Ee,t,ke),Ee}function eH(e,t,r,n,i){var a=n+"bins",o=e._fullLayout,s=t["_"+n+"bingroup"],l=o._histogramBinOpts[s],u=o.barmode==="overlay",c,f,h,v,d,_,b,p=function(ge){return r.r2c(ge,0,v)},E=function(ge){return r.c2r(ge,0,v)},k=r.type==="date"?function(ge){return ge||ge===0?Gv.cleanDate(ge,null,v):null}:function(ge){return QV(ge)?Number(ge):null};function S(ge,ie,Te){ie[ge+"Found"]?(ie[ge]=k(ie[ge]),ie[ge]===null&&(ie[ge]=Te[ge])):(_[ge]=ie[ge]=Te[ge],Gv.nestedProperty(f[0],a+"."+ge).set(Te[ge]))}if(t["_"+n+"autoBinFinished"])delete t["_"+n+"autoBinFinished"];else{f=l.traces;var L=[],x=!0,C=!1,M=!1;for(c=0;cr.r2l(G)&&(W=Z0.tickIncrement(W,l.size,!0,v)),q.start=r.l2r(W),X||Gv.nestedProperty(t,a+".start").set(q.start)}var re=l.end,ae=r.r2l(F.end),_e=ae!==void 0;if((l.endFound||_e)&&ae!==r.r2l(re)){var Me=_e?ae:Gv.aggNums(Math.max,null,d);q.end=r.l2r(Me),_e||Gv.nestedProperty(t,a+".start").set(q.end)}var ke="autobin"+n;return t._input[ke]===!1&&(t._input[a]=Gv.extendFlat({},t[a]||{}),delete t._input[ke],delete t[ke]),[q,d]}function o_t(e,t,r,n,i){var a=e._fullLayout,o=s_t(e,t),s=!1,l=1/0,u=[t],c,f,h;for(c=0;c=0;n--)s(n);else if(t==="increasing"){for(n=1;n=0;n--)e[n]+=e[n+1];r==="exclude"&&(e.push(0),e.shift())}}b_e.exports={calc:a_t,calcAllAutoBins:eH}});var C_e=ye((elr,k_e)=>{"use strict";var w_e=Ar(),UT=Xa(),T_e=YV(),u_t=KV(),c_t=JV(),f_t=$V(),A_e=tH().calcAllAutoBins;k_e.exports=function(t,r){var n=UT.getFromId(t,r.xaxis),i=UT.getFromId(t,r.yaxis),a=r.xcalendar,o=r.ycalendar,s=function(Et){return n.r2c(Et,0,a)},l=function(Et){return i.r2c(Et,0,o)},u=function(Et){return n.c2r(Et,0,a)},c=function(Et){return i.c2r(Et,0,o)},f,h,v,d,_=A_e(t,r,n,"x"),b=_[0],p=_[1],E=A_e(t,r,i,"y"),k=E[0],S=E[1],L=r._length;p.length>L&&p.splice(L,p.length-L),S.length>L&&S.splice(L,S.length-L);var x=[],C=[],M=[],g=typeof b.size=="string",P=typeof k.size=="string",T=[],F=[],q=g?T:b,V=P?F:k,H=0,X=[],G=[],N=r.histnorm,W=r.histfunc,re=N.indexOf("density")!==-1,ae=W==="max"||W==="min",_e=ae?null:0,Me=T_e.count,ke=u_t[N],ge=!1,ie=[],Te=[],Ee="z"in r?r.z:"marker"in r&&Array.isArray(r.marker.color)?r.marker.color:"";Ee&&W!=="count"&&(ge=W==="avg",Me=T_e[W]);var Ae=b.size,ze=s(b.start),Ce=s(b.end)+(ze-UT.tickIncrement(ze,Ae,!1,a))/1e6;for(f=ze;f=0&&v=0&&d{"use strict";var Rm=Ar(),L_e=Yo().BADNUM,P_e=zg();I_e.exports=function(t,r,n,i,a,o){var s=t._length,l=r.makeCalcdata(t,i),u=n.makeCalcdata(t,a);l=P_e(t,r,i,l).vals,u=P_e(t,n,a,u).vals;var c=t.text,f=c!==void 0&&Rm.isArray1D(c),h=t.hovertext,v=h!==void 0&&Rm.isArray1D(h),d,_,b=Rm.distinctVals(l),p=b.vals,E=Rm.distinctVals(u),k=E.vals,S=[],L,x,C=k.length,M=p.length;for(d=0;d{"use strict";var h_t=uo(),d_t=Ar(),v8=Yo().BADNUM;D_e.exports=function(t,r,n,i){var a,o,s,l,u,c;function f(p){if(h_t(p))return+p}if(r&&r.transpose){for(a=0,u=0;u{"use strict";var v_t=Ar(),R_e=.01,p_t=[[-1,0],[1,0],[0,-1],[0,1]];function g_t(e){return .5-.25*Math.min(1,e*.5)}F_e.exports=function(t,r){var n=1,i;for(z_e(t,r),i=0;iR_e;i++)n=z_e(t,r,g_t(n));return n>R_e&&v_t.log("interp2d didn't converge quickly",n),t};function z_e(e,t,r){var n=0,i,a,o,s,l,u,c,f,h,v,d,_,b;for(s=0;s_&&(n=Math.max(n,Math.abs(e[a][o]-d)/(b-_))))}return n}});var m8=ye((nlr,q_e)=>{"use strict";var m_t=Ar().maxRowLength;q_e.exports=function(t){var r=[],n={},i=[],a=t[0],o=[],s=[0,0,0],l=m_t(t),u,c,f,h,v,d,_,b;for(c=0;c=0;v--)h=i[v],c=h[0],f=h[1],d=((n[[c-1,f]]||s)[2]+(n[[c+1,f]]||s)[2]+(n[[c,f-1]]||s)[2]+(n[[c,f+1]]||s)[2])/20,d&&(_[h]=[c,f,d],i.splice(v,1),b=!0);if(!b)throw"findEmpties iterated with no new neighbors";for(h in _)n[h]=_[h],r.push(_[h])}return r.sort(function(p,E){return E[2]-p[2]})}});var rH=ye((alr,N_e)=>{"use strict";var O_e=ya(),B_e=Ar().isArrayOrTypedArray;N_e.exports=function(t,r,n,i,a,o){var s=[],l=O_e.traceIs(t,"contour"),u=O_e.traceIs(t,"histogram"),c,f,h,v=B_e(r)&&r.length>1;if(v&&!u&&o.type!=="category"){var d=r.length;if(d<=a){if(l)s=Array.from(r).slice(0,a);else if(a===1)o.type==="log"?s=[.5*r[0],2*r[0]]:s=[r[0]-.5,r[0]+.5];else if(o.type==="log"){for(s=[Math.pow(r[0],1.5)/Math.pow(r[1],.5)],h=1;h{"use strict";var U_e=ya(),iH=Ar(),y8=Xa(),V_e=zg(),y_t=C_e(),__t=qv(),x_t=d8(),b_t=p8(),w_t=g8(),T_t=m8(),_8=rH(),nH=Yo().BADNUM;G_e.exports=function(t,r){var n=y8.getFromId(t,r.xaxis||"x"),i=y8.getFromId(t,r.yaxis||"y"),a=U_e.traceIs(r,"contour"),o=U_e.traceIs(r,"histogram"),s=a?"best":r.zsmooth,l,u,c,f,h,v,d,_,b,p,E;if(n._minDtick=0,i._minDtick=0,o)E=y_t(t,r),f=E.orig_x,l=E.x,u=E.x0,c=E.dx,_=E.orig_y,h=E.y,v=E.y0,d=E.dy,b=E.z;else{var k=r.z;iH.isArray1D(k)?(x_t(r,n,i,"x","y",["z"]),l=r._x,h=r._y,k=r._z):(f=r.x?n.makeCalcdata(r,"x"):[],_=r.y?i.makeCalcdata(r,"y"):[],l=V_e(r,n,"x",f).vals,h=V_e(r,i,"y",_).vals,r._x=l,r._y=h),u=r.x0,c=r.dx,v=r.y0,d=r.dy,b=b_t(k,r,n,i)}(n.rangebreaks||i.rangebreaks)&&(b=A_t(l,h,b),o||(l=H_e(l),h=H_e(h),r._x=l,r._y=h)),!o&&(a||r.connectgaps)&&(r._emptypoints=T_t(b),w_t(b,r._emptypoints));function S(q){s=r._input.zsmooth=r.zsmooth=!1,iH.warn('cannot use zsmooth: "fast": '+q)}function L(q){if(q.length>1){var V=(q[q.length-1]-q[0])/(q.length-1),H=Math.abs(V/100);for(p=0;pH)return!1}return!0}r._islinear=!1,n.type==="log"||i.type==="log"?s==="fast"&&S("log axis found"):L(l)?L(h)?r._islinear=!0:s==="fast"&&S("y scale is not linear"):s==="fast"&&S("x scale is not linear");var x=iH.maxRowLength(b),C=r.xtype==="scaled"?"":l,M=_8(r,C,u,c,x,n),g=r.ytype==="scaled"?"":h,P=_8(r,g,v,d,b.length,i);r._extremes[n._id]=y8.findExtremes(n,M),r._extremes[i._id]=y8.findExtremes(i,P);var T={x:M,y:P,z:b,text:r._text||r.text,hovertext:r._hovertext||r.hovertext};if(r.xperiodalignment&&f&&(T.orig_x=f),r.yperiodalignment&&_&&(T.orig_y=_),C&&C.length===M.length-1&&(T.xCenter=C),g&&g.length===P.length-1&&(T.yCenter=g),o&&(T.xRanges=E.xRanges,T.yRanges=E.yRanges,T.pts=E.pts),a||__t(t,r,{vals:b,cLetter:"z"}),a&&r.contours&&r.contours.coloring==="heatmap"){var F={type:r.type==="contour"?"heatmap":"histogram2d",xcalendar:r.xcalendar,ycalendar:r.ycalendar};T.xfill=_8(F,C,u,c,x,n),T.yfill=_8(F,g,v,d,b.length,i)}return[T]};function H_e(e){for(var t=[],r=e.length,n=0;n{"use strict";b8.CSS_DECLARATIONS=[["image-rendering","optimizeSpeed"],["image-rendering","-moz-crisp-edges"],["image-rendering","-o-crisp-edges"],["image-rendering","-webkit-optimize-contrast"],["image-rendering","optimize-contrast"],["image-rendering","crisp-edges"],["image-rendering","pixelated"]];b8.STYLE=b8.CSS_DECLARATIONS.map(function(e){return e.join(": ")+"; "}).join("")});var oH=ye((llr,W_e)=>{"use strict";var j_e=w8(),S_t=ao(),aH=Ar(),VT=null;function M_t(){if(VT!==null)return VT;VT=!1;var e=aH.isIE()||aH.isSafari()||aH.isIOS();if(window.navigator.userAgent&&!e){var t=Array.from(j_e.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if(typeof r=="function")VT=t.some(function(o){return r.apply(null,o)});else{var n=S_t.tester.append("image").attr("style",j_e.STYLE),i=window.getComputedStyle(n.node()),a=i.imageRendering;VT=t.some(function(o){var s=o[1];return a===s||a===s.toLowerCase()}),n.remove()}}return VT}W_e.exports=M_t});var T8=ye((ulr,txe)=>{"use strict";var Z_e=ba(),E_t=ad(),k_t=ya(),C_t=ao(),L_t=Xa(),X0=Ar(),X_e=Ll(),P_t=vI(),I_t=va(),D_t=Mu().extractOpts,R_t=Mu().makeColorScaleFuncFromTrace,z_t=Kp(),F_t=Vh(),sH=F_t.LINE_SPACING,q_t=oH(),O_t=w8().STYLE,Q_e="heatmap-label";function exe(e){return e.selectAll("g."+Q_e)}function Y_e(e){exe(e).remove()}txe.exports=function(e,t,r,n){var i=t.xaxis,a=t.yaxis;X0.makeTraceGroups(n,r,"hm").each(function(o){var s=Z_e.select(this),l=o[0],u=l.trace,c=u.xgap||0,f=u.ygap||0,h=l.z,v=l.x,d=l.y,_=l.xCenter,b=l.yCenter,p=k_t.traceIs(u,"contour"),E=p?"best":u.zsmooth,k=h.length,S=X0.maxRowLength(h),L=!1,x=!1,C,M,g,P,T,F,q,V;for(F=0;C===void 0&&F0;)M=i.c2p(v[F]),F--;for(M0;)T=a.c2p(d[F]),F--;T=i._length||M<=0||P>=a._length||T<=0;if(W){var re=s.selectAll("image").data([]);re.exit().remove(),Y_e(s);return}var ae,_e;H==="fast"?(ae=S,_e=k):(ae=G,_e=N);var Me=document.createElement("canvas");Me.width=ae,Me.height=_e;var ke=Me.getContext("2d",{willReadFrequently:!0}),ge=R_t(u,{noNumericCheck:!0,returnArray:!0}),ie,Te;H==="fast"?(ie=L?function(Pi){return S-1-Pi}:X0.identity,Te=x?function(Pi){return k-1-Pi}:X0.identity):(ie=function(Pi){return X0.constrain(Math.round(i.c2p(v[Pi])-C),0,G)},Te=function(Pi){return X0.constrain(Math.round(a.c2p(d[Pi])-P),0,N)});var Ee=Te(0),Ae=[Ee,Ee],ze=L?0:1,Ce=x?0:1,me=0,De=0,ce=0,Ge=0,nt,ct,qt,rt,ot;function It(Pi,Gi){if(Pi!==void 0){var Ki=ge(Pi);return Ki[0]=Math.round(Ki[0]),Ki[1]=Math.round(Ki[1]),Ki[2]=Math.round(Ki[2]),me+=Gi,De+=Ki[0]*Gi,ce+=Ki[1]*Gi,Ge+=Ki[2]*Gi,Ki}return[0,0,0,0]}function kt(Pi,Gi,Ki,Ca){var jn=Pi[Ki.bin0];if(jn===void 0)return It(void 0,1);var ua=Pi[Ki.bin1],Fa=Gi[Ki.bin0],Da=Gi[Ki.bin1],jo=ua-jn||0,sa=Fa-jn||0,Sn;return ua===void 0?Da===void 0?Sn=0:Fa===void 0?Sn=2*(Da-jn):Sn=(2*Da-Fa-jn)*2/3:Da===void 0?Fa===void 0?Sn=0:Sn=(2*jn-ua-Fa)*2/3:Fa===void 0?Sn=(2*Da-ua-jn)*2/3:Sn=Da+jn-ua-Fa,It(jn+Ki.frac*jo+Ca.frac*(sa+Ki.frac*Sn))}if(H!=="default"){var Ct=0,Yt;try{Yt=new Uint8Array(ae*_e*4)}catch(Pi){Yt=new Array(ae*_e*4)}if(H==="smooth"){var mr=_||v,er=b||d,Ke=new Array(mr.length),bt=new Array(er.length),xt=new Array(G),Lt=_?J_e:K_e,St=b?J_e:K_e,Et,dt,Ht;for(F=0;Far||ar>a._length))for(q=Se;qai||ai>i._length)){var jr=P_t({x:Qr,y:Vt},u,e._fullLayout);jr.x=Qr,jr.y=Vt;var ri=l.z[F][q];ri===void 0?(jr.z="",jr.zLabel=""):(jr.z=ri,jr.zLabel=L_t.tickText(Ve,ri,"hover").text);var bi=l.text&&l.text[F]&&l.text[F][q];(bi===void 0||bi===!1)&&(bi=""),jr.text=bi;var nn=X0.texttemplateString(Ne,jr,e._fullLayout._d3locale,jr,u._meta||{});if(nn){var Wi=nn.split("
"),Ni=Wi.length,_n=0;for(V=0;V{"use strict";rxe.exports={min:"zmin",max:"zmax"}});var A8=ye((flr,ixe)=>{"use strict";var B_t=ba();ixe.exports=function(t){B_t.select(t).selectAll(".hm image").style("opacity",function(r){return r.trace.opacity})}});var M8=ye((hlr,axe)=>{"use strict";var nxe=Nc(),R4=Ar(),S8=R4.isArrayOrTypedArray,N_t=Xa(),U_t=Mu().extractOpts;axe.exports=function(t,r,n,i,a){a||(a={});var o=a.isContour,s=t.cd[0],l=s.trace,u=t.xa,c=t.ya,f=s.x,h=s.y,v=s.z,d=s.xCenter,_=s.yCenter,b=s.zmask,p=l.zhoverformat,E=f,k=h,S,L,x,C;if(t.index!==!1){try{x=Math.round(t.index[1]),C=Math.round(t.index[0])}catch(re){R4.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index);return}if(x<0||x>=v[0].length||C<0||C>v.length)return}else{if(nxe.inbox(r-f[0],r-f[f.length-1],0)>0||nxe.inbox(n-h[0],n-h[h.length-1],0)>0)return;if(o){var M;for(E=[2*f[0]-f[1]],M=1;M{"use strict";oxe.exports={attributes:OT(),supplyDefaults:s_e(),calc:x8(),plot:T8(),colorbar:D_(),style:A8(),hoverPoints:M8(),moduleType:"trace",name:"heatmap",basePlotModule:Qf(),categories:["cartesian","svg","2dMap","showLegend"],meta:{}}});var uxe=ye((vlr,lxe)=>{"use strict";lxe.exports=sxe()});var lH=ye((plr,cxe)=>{"use strict";cxe.exports=function(t,r){return{start:{valType:"any",editType:"calc"},end:{valType:"any",editType:"calc"},size:{valType:"any",editType:"calc"},editType:"calc"}}});var hxe=ye((glr,fxe)=>{"use strict";fxe.exports={eventDataKeys:["binNumber"]}});var E8=ye((mlr,pxe)=>{"use strict";var zp=Im(),dxe=Oc().axisHoverFormat,V_t=Wo().hovertemplateAttrs,H_t=Wo().texttemplateAttrs,uH=Su(),vxe=lH(),G_t=hxe(),cH=no().extendFlat;pxe.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},xhoverformat:dxe("x"),yhoverformat:dxe("y"),text:cH({},zp.text,{}),hovertext:cH({},zp.hovertext,{}),orientation:zp.orientation,histfunc:{valType:"enumerated",values:["count","sum","avg","min","max"],dflt:"count",editType:"calc"},histnorm:{valType:"enumerated",values:["","percent","probability","density","probability density"],dflt:"",editType:"calc"},cumulative:{enabled:{valType:"boolean",dflt:!1,editType:"calc"},direction:{valType:"enumerated",values:["increasing","decreasing"],dflt:"increasing",editType:"calc"},currentbin:{valType:"enumerated",values:["include","exclude","half"],dflt:"include",editType:"calc"},editType:"calc"},nbinsx:{valType:"integer",min:0,dflt:0,editType:"calc"},xbins:vxe("x",!0),nbinsy:{valType:"integer",min:0,dflt:0,editType:"calc"},ybins:vxe("y",!0),autobinx:{valType:"boolean",dflt:null,editType:"calc"},autobiny:{valType:"boolean",dflt:null,editType:"calc"},bingroup:{valType:"string",dflt:"",editType:"calc"},hovertemplate:V_t({},{keys:G_t.eventDataKeys}),texttemplate:H_t({arrayOk:!1,editType:"plot"},{keys:["label","value"]}),textposition:cH({},zp.textposition,{arrayOk:!1}),textfont:uH({arrayOk:!1,editType:"plot",colorEditType:"style"}),outsidetextfont:uH({arrayOk:!1,editType:"plot",colorEditType:"style"}),insidetextfont:uH({arrayOk:!1,editType:"plot",colorEditType:"style"}),insidetextanchor:zp.insidetextanchor,textangle:zp.textangle,cliponaxis:zp.cliponaxis,constraintext:zp.constraintext,marker:zp.marker,offsetgroup:zp.offsetgroup,alignmentgroup:zp.alignmentgroup,selected:zp.selected,unselected:zp.unselected,zorder:zp.zorder}});var _xe=ye((ylr,yxe)=>{"use strict";var gxe=ya(),z4=Ar(),mxe=va(),j_t=a0().handleText,W_t=$I(),Z_t=E8();yxe.exports=function(t,r,n,i){function a(E,k){return z4.coerce(t,r,Z_t,E,k)}var o=a("x"),s=a("y"),l=a("cumulative.enabled");l&&(a("cumulative.direction"),a("cumulative.currentbin")),a("text");var u=a("textposition");j_t(t,r,i,a,u,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),a("hovertext"),a("hovertemplate"),a("xhoverformat"),a("yhoverformat");var c=a("orientation",s&&!o?"h":"v"),f=c==="v"?"x":"y",h=c==="v"?"y":"x",v=o&&s?Math.min(z4.minRowLength(o)&&z4.minRowLength(s)):z4.minRowLength(r[f]||[]);if(!v){r.visible=!1;return}r._length=v;var d=gxe.getComponentMethod("calendars","handleTraceDefaults");d(t,r,["x","y"],i);var _=r[h];_&&a("histfunc"),a("histnorm"),a("autobin"+f),W_t(t,r,a,n,i),z4.coerceSelectionMarkerOpacity(r,a);var b=(r.marker.line||{}).color,p=gxe.getComponentMethod("errorbars","supplyDefaults");p(t,r,b||mxe.defaultLine,{axis:"y"}),p(t,r,b||mxe.defaultLine,{axis:"x",inherit:"y"}),a("zorder")}});var C8=ye((_lr,wxe)=>{"use strict";var F4=Ar(),X_t=af(),k8=ya().traceIs,Y_t=$b(),K_t=a0().validateCornerradius,xxe=F4.nestedProperty,fH=Yb().getAxisGroup,bxe=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],J_t=["x","y"];wxe.exports=function(t,r){var n=r._histogramBinOpts={},i=[],a={},o=[],s,l,u,c,f,h,v;function d(H,X){return F4.coerce(s._input,s,s._module.attributes,H,X)}function _(H){return H.orientation==="v"?"x":"y"}function b(H,X){var G=X_t.getFromTrace({_fullLayout:r},H,X);return G.type}function p(H,X,G){var N=H.uid+"__"+G;X||(X=N);var W=b(H,G),re=H[G+"calendar"]||"",ae=n[X],_e=!0;ae&&(W===ae.axType&&re===ae.calendar?(_e=!1,ae.traces.push(H),ae.dirs.push(G)):(X=N,W!==ae.axType&&F4.warn(["Attempted to group the bins of trace",H.index,"set on a","type:"+W,"axis","with bins on","type:"+ae.axType,"axis."].join(" ")),re!==ae.calendar&&F4.warn(["Attempted to group the bins of trace",H.index,"set with a",re,"calendar","with bins",ae.calendar?"on a "+ae.calendar+" calendar":"w/o a set calendar"].join(" ")))),_e&&(n[X]={traces:[H],dirs:[G],axType:W,calendar:H[G+"calendar"]||""}),H["_"+G+"bingroup"]=X}for(f=0;f{"use strict";var $_t=RT().hoverPoints,Q_t=Xa().hoverLabelText;Txe.exports=function(t,r,n,i,a){var o=$_t(t,r,n,i,a);if(o){t=o[0];var s=t.cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var u=l.orientation==="h"?"y":"x";t[u+"Label"]=Q_t(t[u+"a"],[s.ph0,s.ph1],l[u+"hoverformat"])}return o}}});var hH=ye((blr,Sxe)=>{"use strict";Sxe.exports=function(t,r,n,i,a){if(t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,"zLabelVal"in r&&(t.z=r.zLabelVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),!(n.cumulative||{}).enabled){var o=Array.isArray(a)?i[0].pts[a[0]][a[1]]:i[a].pts;t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex;var s;if(n._indexToPoints){s=[];for(var l=0;l{"use strict";Mxe.exports={attributes:E8(),layoutAttributes:JI(),supplyDefaults:_xe(),crossTraceDefaults:C8(),supplyLayoutDefaults:IV(),calc:tH().calc,crossTraceCalc:Qb().crossTraceCalc,plot:h2().plot,layerName:"barlayer",style:G0().style,styleOnSelect:G0().styleOnSelect,colorbar:Jd(),hoverPoints:Axe(),selectPoints:zT(),eventData:hH(),moduleType:"trace",name:"histogram",basePlotModule:Qf(),categories:["bar-like","cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],meta:{}}});var Cxe=ye((Tlr,kxe)=>{"use strict";kxe.exports=Exe()});var P8=ye((Alr,Pxe)=>{"use strict";var Gg=E8(),Lxe=lH(),L8=OT(),ext=vl(),dH=Oc().axisHoverFormat,txt=Wo().hovertemplateAttrs,rxt=Wo().texttemplateAttrs,ixt=Kl(),q4=no().extendFlat;Pxe.exports=q4({x:Gg.x,y:Gg.y,z:{valType:"data_array",editType:"calc"},marker:{color:{valType:"data_array",editType:"calc"},editType:"calc"},histnorm:Gg.histnorm,histfunc:Gg.histfunc,nbinsx:Gg.nbinsx,xbins:Lxe("x"),nbinsy:Gg.nbinsy,ybins:Lxe("y"),autobinx:Gg.autobinx,autobiny:Gg.autobiny,bingroup:q4({},Gg.bingroup,{}),xbingroup:q4({},Gg.bingroup,{}),ybingroup:q4({},Gg.bingroup,{}),xgap:L8.xgap,ygap:L8.ygap,zsmooth:L8.zsmooth,xhoverformat:dH("x"),yhoverformat:dH("y"),zhoverformat:dH("z",1),hovertemplate:txt({},{keys:"z"}),texttemplate:rxt({arrayOk:!1,editType:"plot"},{keys:"z"}),textfont:L8.textfont,showlegend:q4({},ext.showlegend,{dflt:!1})},ixt("",{cLetter:"z",autoColorDflt:!1}))});var vH=ye((Slr,Dxe)=>{"use strict";var nxt=ya(),Ixe=Ar();Dxe.exports=function(t,r,n,i){var a=n("x"),o=n("y"),s=Ixe.minRowLength(a),l=Ixe.minRowLength(o);if(!s||!l){r.visible=!1;return}r._length=Math.min(s,l);var u=nxt.getComponentMethod("calendars","handleTraceDefaults");u(t,r,["x","y"],i);var c=n("z")||n("marker.color");c&&n("histfunc"),n("histnorm"),n("autobinx"),n("autobiny")}});var zxe=ye((Mlr,Rxe)=>{"use strict";var axt=Ar(),oxt=vH(),sxt=XV(),lxt=Hh(),uxt=D4(),cxt=P8();Rxe.exports=function(t,r,n,i){function a(o,s){return axt.coerce(t,r,cxt,o,s)}oxt(t,r,a,i),r.visible!==!1&&(sxt(t,r,a,i),lxt(t,r,i,a,{prefix:"",cLetter:"z"}),a("hovertemplate"),uxt(a,i),a("xhoverformat"),a("yhoverformat"))}});var Oxe=ye((Elr,qxe)=>{"use strict";var fxt=M8(),Fxe=Xa().hoverLabelText;qxe.exports=function(t,r,n,i,a){var o=fxt(t,r,n,i,a);if(o){t=o[0];var s=t.index,l=s[0],u=s[1],c=t.cd[0],f=c.trace,h=c.xRanges[u],v=c.yRanges[l];return t.xLabel=Fxe(t.xa,[h[0],h[1]],f.xhoverformat),t.yLabel=Fxe(t.ya,[v[0],v[1]],f.yhoverformat),o}}});var Nxe=ye((klr,Bxe)=>{"use strict";Bxe.exports={attributes:P8(),supplyDefaults:zxe(),crossTraceDefaults:C8(),calc:x8(),plot:T8(),layerName:"heatmaplayer",colorbar:D_(),style:A8(),hoverPoints:Oxe(),eventData:hH(),moduleType:"trace",name:"histogram2d",basePlotModule:Qf(),categories:["cartesian","svg","2dMap","histogram","showLegend"],meta:{}}});var Vxe=ye((Clr,Uxe)=>{"use strict";Uxe.exports=Nxe()});var O4=ye((Llr,Hxe)=>{"use strict";Hxe.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}});var B4=ye((Plr,Zxe)=>{"use strict";var Wh=OT(),I8=Uc(),jxe=Oc(),pH=jxe.axisHoverFormat,hxt=jxe.descriptionOnlyNumbers,dxt=Kl(),vxt=kd().dash,pxt=Su(),HT=no().extendFlat,Wxe=O4(),gxt=Wxe.COMPARISON_OPS2,mxt=Wxe.INTERVAL_OPS,Gxe=I8.line;Zxe.exports=HT({z:Wh.z,x:Wh.x,x0:Wh.x0,dx:Wh.dx,y:Wh.y,y0:Wh.y0,dy:Wh.dy,xperiod:Wh.xperiod,yperiod:Wh.yperiod,xperiod0:I8.xperiod0,yperiod0:I8.yperiod0,xperiodalignment:Wh.xperiodalignment,yperiodalignment:Wh.yperiodalignment,text:Wh.text,hovertext:Wh.hovertext,transpose:Wh.transpose,xtype:Wh.xtype,ytype:Wh.ytype,xhoverformat:pH("x"),yhoverformat:pH("y"),zhoverformat:pH("z",1),hovertemplate:Wh.hovertemplate,texttemplate:HT({},Wh.texttemplate,{}),textfont:HT({},Wh.textfont,{}),hoverongaps:Wh.hoverongaps,connectgaps:HT({},Wh.connectgaps,{}),fillcolor:{valType:"color",editType:"calc"},autocontour:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"contours.start":void 0,"contours.end":void 0,"contours.size":void 0}},ncontours:{valType:"integer",dflt:15,min:1,editType:"calc"},contours:{type:{valType:"enumerated",values:["levels","constraint"],dflt:"levels",editType:"calc"},start:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},end:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},size:{valType:"number",dflt:null,min:0,editType:"plot",impliedEdits:{"^autocontour":!1}},coloring:{valType:"enumerated",values:["fill","heatmap","lines","none"],dflt:"fill",editType:"calc"},showlines:{valType:"boolean",dflt:!0,editType:"plot"},showlabels:{valType:"boolean",dflt:!1,editType:"plot"},labelfont:pxt({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot",description:hxt("contour label")},operation:{valType:"enumerated",values:[].concat(gxt).concat(mxt),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:HT({},Gxe.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:vxt,smoothing:HT({},Gxe.smoothing,{}),editType:"plot"},zorder:I8.zorder},dxt("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))});var mH=ye((Ilr,Yxe)=>{"use strict";var jv=P8(),Ny=B4(),yxt=Kl(),gH=Oc().axisHoverFormat,Xxe=no().extendFlat;Yxe.exports=Xxe({x:jv.x,y:jv.y,z:jv.z,marker:jv.marker,histnorm:jv.histnorm,histfunc:jv.histfunc,nbinsx:jv.nbinsx,xbins:jv.xbins,nbinsy:jv.nbinsy,ybins:jv.ybins,autobinx:jv.autobinx,autobiny:jv.autobiny,bingroup:jv.bingroup,xbingroup:jv.xbingroup,ybingroup:jv.ybingroup,autocontour:Ny.autocontour,ncontours:Ny.ncontours,contours:Ny.contours,line:{color:Ny.line.color,width:Xxe({},Ny.line.width,{dflt:.5}),dash:Ny.line.dash,smoothing:Ny.line.smoothing,editType:"plot"},xhoverformat:gH("x"),yhoverformat:gH("y"),zhoverformat:gH("z",1),hovertemplate:jv.hovertemplate,texttemplate:Ny.texttemplate,textfont:Ny.textfont},yxt("",{cLetter:"z",editTypeOverride:"calc"}))});var D8=ye((Dlr,Kxe)=>{"use strict";Kxe.exports=function(t,r,n,i){var a=i("contours.start"),o=i("contours.end"),s=a===!1||o===!1,l=n("contours.size"),u;s?u=r.autocontour=!0:u=n("autocontour",!1),(u||!l)&&n("ncontours")}});var yH=ye((Rlr,Jxe)=>{"use strict";var _xt=Ar();Jxe.exports=function(t,r,n,i){i||(i={});var a=t("contours.showlabels");if(a){var o=r.font;_xt.coerceFont(t,"contours.labelfont",o,{overrideDflt:{color:n}}),t("contours.labelformat")}i.hasHover!==!1&&t("zhoverformat")}});var R8=ye((zlr,$xe)=>{"use strict";var xxt=Hh(),bxt=yH();$xe.exports=function(t,r,n,i,a){var o=n("contours.coloring"),s,l="";o==="fill"&&(s=n("contours.showlines")),s!==!1&&(o!=="lines"&&(l=n("line.color","#000")),n("line.width",.5),n("line.dash")),o!=="none"&&(t.showlegend!==!0&&(r.showlegend=!1),r._dfltShowLegend=!1,xxt(t,r,i,n,{prefix:"",cLetter:"z"})),n("line.smoothing"),bxt(n,i,l,a)}});var rbe=ye((Flr,tbe)=>{"use strict";var Qxe=Ar(),wxt=vH(),Txt=D8(),Axt=R8(),Sxt=D4(),ebe=mH();tbe.exports=function(t,r,n,i){function a(s,l){return Qxe.coerce(t,r,ebe,s,l)}function o(s){return Qxe.coerce2(t,r,ebe,s)}wxt(t,r,a,i),r.visible!==!1&&(Txt(t,r,a,o),Axt(t,r,a,i),a("xhoverformat"),a("yhoverformat"),a("hovertemplate"),r.contours&&r.contours.coloring==="heatmap"&&Sxt(a,i))}});var bH=ye((qlr,nbe)=>{"use strict";var xH=Xa(),_H=Ar();nbe.exports=function(t,r){var n=t.contours;if(t.autocontour){var i=t.zmin,a=t.zmax;(t.zauto||i===void 0)&&(i=_H.aggNums(Math.min,null,r)),(t.zauto||a===void 0)&&(a=_H.aggNums(Math.max,null,r));var o=ibe(i,a,t.ncontours);n.size=o.dtick,n.start=xH.tickFirst(o),o.range.reverse(),n.end=xH.tickFirst(o),n.start===i&&(n.start+=n.size),n.end===a&&(n.end-=n.size),n.start>n.end&&(n.start=n.end=(n.start+n.end)/2),t._input.contours||(t._input.contours={}),_H.extendFlat(t._input.contours,{start:n.start,end:n.end,size:n.size}),t._input.autocontour=!0}else if(n.type!=="constraint"){var s=n.start,l=n.end,u=t._input.contours;if(s>l&&(n.start=u.start=l,l=n.end=u.end=s,s=n.start),!(n.size>0)){var c;s===l?c=1:c=ibe(s,l,t.ncontours).dtick,u.size=n.size=c}}};function ibe(e,t,r){var n={type:"linear",range:[e,t]};return xH.autoTicks(n,(t-e)/(r||15)),n}});var N4=ye((Olr,abe)=>{"use strict";abe.exports=function(t){return t.end+t.size/1e6}});var wH=ye((Blr,sbe)=>{"use strict";var obe=Mu(),Mxt=x8(),Ext=bH(),kxt=N4();sbe.exports=function(t,r){var n=Mxt(t,r),i=n[0].z;Ext(r,i);var a=r.contours,o=obe.extractOpts(r),s;if(a.coloring==="heatmap"&&o.auto&&r.autocontour===!1){var l=a.start,u=kxt(a),c=a.size||1,f=Math.floor((u-l)/c)+1;isFinite(c)||(c=1,f=1);var h=l-c/2,v=h+f*c;s=[h,v]}else s=i;return obe.calc(t,r,{vals:s,cLetter:"z"}),n}});var U4=ye((Nlr,lbe)=>{"use strict";lbe.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}});var TH=ye((Ulr,ube)=>{"use strict";var z8=U4();ube.exports=function(t){var r=t[0].z,n=r.length,i=r[0].length,a=n===2||i===2,o,s,l,u,c,f,h,v,d;for(s=0;se?0:1)+(t[0][1]>e?0:2)+(t[1][1]>e?0:4)+(t[1][0]>e?0:8);if(r===5||r===10){var n=(t[0][0]+t[0][1]+t[1][0]+t[1][1])/4;return e>n?r===5?713:1114:r===5?104:208}return r===15?0:r}});var AH=ye((Vlr,hbe)=>{"use strict";var F8=Ar(),GT=U4();hbe.exports=function(t,r,n){var i,a,o,s,l;for(r=r||.01,n=n||.01,o=0;o20?(o=GT.CHOOSESADDLE[o][(s[0]||s[1])<0?0:1],e.crossings[a]=GT.SADDLEREMAINDER[o]):delete e.crossings[a],s=GT.NEWDELTA[o],!s){F8.log("Found bad marching index:",o,t,e.level);break}l.push(fbe(e,t,s)),t[0]+=s[0],t[1]+=s[1],a=t.join(","),V4(l[l.length-1],l[l.length-2],n,i)&&l.pop();var d=s[0]&&(t[0]<0||t[0]>c-2)||s[1]&&(t[1]<0||t[1]>u-2),_=t[0]===f[0]&&t[1]===f[1]&&s[0]===h[0]&&s[1]===h[1];if(_||r&&d)break;o=e.crossings[a]}v===1e4&&F8.log("Infinite loop in contour?");var b=V4(l[0],l[l.length-1],n,i),p=0,E=.2*e.smoothing,k=[],S=0,L,x,C,M,g,P,T,F,q,V,H;for(v=1;v=S;v--)if(L=k[v],L=S&&L+k[x]F&&q--,e.edgepaths[q]=H.concat(l,V));break}W||(e.edgepaths[F]=l.concat(V))}for(F=0;F20&&t?e===208||e===1114?n=r[0]===0?1:-1:i=r[1]===0?1:-1:GT.BOTTOMSTART.indexOf(e)!==-1?i=1:GT.LEFTSTART.indexOf(e)!==-1?n=1:GT.TOPSTART.indexOf(e)!==-1?i=-1:n=-1,[n,i]}function fbe(e,t,r){var n=t[0]+Math.max(r[0],0),i=t[1]+Math.max(r[1],0),a=e.z[i][n],o=e.xaxis,s=e.yaxis;if(r[1]){var l=(e.level-a)/(e.z[i][n+1]-a),u=(l!==1?(1-l)*o.c2l(e.x[n]):0)+(l!==0?l*o.c2l(e.x[n+1]):0);return[o.c2p(o.l2c(u),!0),s.c2p(e.y[i],!0),n+l,i]}else{var c=(e.level-a)/(e.z[i+1][n]-a),f=(c!==1?(1-c)*s.c2l(e.y[i]):0)+(c!==0?c*s.c2l(e.y[i+1]):0);return[o.c2p(e.x[n],!0),s.c2p(s.l2c(f),!0),n,i+c]}}});var gbe=ye((Hlr,pbe)=>{"use strict";var SH=O4(),Ixt=uo();pbe.exports={"[]":dbe("[]"),"][":dbe("]["),">":MH(">"),"<":MH("<"),"=":MH("=")};function vbe(e,t){var r=Array.isArray(t),n;function i(a){return Ixt(a)?+a:null}return SH.COMPARISON_OPS2.indexOf(e)!==-1?n=i(r?t[0]:t):SH.INTERVAL_OPS.indexOf(e)!==-1?n=r?[i(t[0]),i(t[1])]:[i(t),i(t)]:SH.SET_OPS.indexOf(e)!==-1&&(n=r?t.map(i):[i(t)]),n}function dbe(e){return function(t){t=vbe(e,t);var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]);return{start:r,end:n,size:n-r}}}function MH(e){return function(t){return t=vbe(e,t),{start:t,end:1/0,size:1/0}}}});var EH=ye((Glr,ybe)=>{"use strict";var mbe=Ar(),Dxt=gbe(),Rxt=N4();ybe.exports=function(t,r,n){for(var i=t.type==="constraint"?Dxt[t._operation](t.value):t,a=i.size,o=[],s=Rxt(i),l=n.trace._carpetTrace,u=l?{xaxis:l.aaxis,yaxis:l.baxis,x:n.a,y:n.b}:{xaxis:r.xaxis,yaxis:r.yaxis,x:n.x,y:n.y},c=i.start;c1e3){mbe.warn("Too many contours, clipping at 1000",t);break}return o}});var kH=ye((jlr,xbe)=>{"use strict";var jT=Ar();xbe.exports=function(e,t){var r,n,i,a=function(l){return l.reverse()},o=function(l){return l};switch(t){case"=":case"<":return e;case">":for(e.length!==1&&jT.warn("Contour data invalid for the specified inequality operation."),n=e[0],r=0;r{"use strict";bbe.exports=function(e,t){var r=e[0],n=r.z,i;switch(t.type){case"levels":var a=Math.min(n[0][0],n[0][1]);for(i=0;io.level||o.starts.length&&a===o.level)}break;case"constraint":if(r.prefixBoundary=!1,r.edgepaths.length)return;var s=r.x.length,l=r.y.length,u=-1/0,c=1/0;for(i=0;i":f>u&&(r.prefixBoundary=!0);break;case"<":(fu||r.starts.length&&v===c)&&(r.prefixBoundary=!0);break;case"][":h=Math.min(f[0],f[1]),v=Math.max(f[0],f[1]),hu&&(r.prefixBoundary=!0);break}break}}});var q8=ye(Wv=>{"use strict";var G4=ba(),Dd=Ar(),Uy=ao(),zxt=Mu(),Abe=Ll(),wbe=Xa(),Tbe=bm(),Fxt=T8(),Sbe=TH(),Mbe=AH(),qxt=EH(),Oxt=kH(),Ebe=CH(),H4=U4(),zm=H4.LABELOPTIMIZER;Wv.plot=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;Dd.makeTraceGroups(i,n,"contour").each(function(s){var l=G4.select(this),u=s[0],c=u.trace,f=u.x,h=u.y,v=c.contours,d=qxt(v,r,u),_=Dd.ensureSingle(l,"g","heatmapcoloring"),b=[];v.coloring==="heatmap"&&(b=[s]),Fxt(t,r,b,_),Sbe(d),Mbe(d);var p=a.c2p(f[0],!0),E=a.c2p(f[f.length-1],!0),k=o.c2p(h[0],!0),S=o.c2p(h[h.length-1],!0),L=[[p,S],[E,S],[E,k],[p,k]],x=d;v.type==="constraint"&&(x=Oxt(d,v._operation)),Bxt(l,L,v),Nxt(l,x,L,v),Uxt(l,d,t,u,v),Hxt(l,r,t,u,L)})};function Bxt(e,t,r){var n=Dd.ensureSingle(e,"g","contourbg"),i=n.selectAll("path").data(r.coloring==="fill"?[0]:[]);i.enter().append("path"),i.exit().remove(),i.attr("d","M"+t.join("L")+"Z").style("stroke","none")}function Nxt(e,t,r,n){var i=n.coloring==="fill"||n.type==="constraint"&&n._operation!=="=",a="M"+r.join("L")+"Z";i&&Ebe(t,n);var o=Dd.ensureSingle(e,"g","contourfill"),s=o.selectAll("path").data(i?t:[]);s.enter().append("path"),s.exit().remove(),s.each(function(l){var u=(l.prefixBoundary?a:"")+kbe(l,r);u?G4.select(this).attr("d",u).style("stroke","none"):G4.select(this).remove()})}function kbe(e,t){var r="",n=0,i=e.edgepaths.map(function(p,E){return E}),a=!0,o,s,l,u,c,f;function h(p){return Math.abs(p[1]-t[0][1])<.01}function v(p){return Math.abs(p[1]-t[2][1])<.01}function d(p){return Math.abs(p[0]-t[0][0])<.01}function _(p){return Math.abs(p[0]-t[2][0])<.01}for(;i.length;){for(f=Uy.smoothopen(e.edgepaths[n],e.smoothing),r+=a?f:f.replace(/^M/,"L"),i.splice(i.indexOf(n),1),o=e.edgepaths[n][e.edgepaths[n].length-1],u=-1,l=0;l<4;l++){if(!o){Dd.log("Missing end?",n,e);break}for(h(o)&&!_(o)?s=t[1]:d(o)?s=t[0]:v(o)?s=t[3]:_(o)&&(s=t[2]),c=0;c=0&&(s=b,u=c):Math.abs(o[1]-s[1])<.01?Math.abs(o[1]-b[1])<.01&&(b[0]-o[0])*(s[0]-b[0])>=0&&(s=b,u=c):Dd.log("endpt to newendpt is not vert. or horz.",o,s,b)}if(o=s,u>=0)break;r+="L"+s}if(u===e.edgepaths.length){Dd.log("unclosed perimeter path");break}n=u,a=i.indexOf(n)===-1,a&&(n=i[0],r+="Z")}for(n=0;nzm.MAXCOST*2)break;h&&(s/=2),o=u-s/2,l=o+s*1.5}if(f<=zm.MAXCOST)return c};function Vxt(e,t,r,n){var i=t.width/2,a=t.height/2,o=e.x,s=e.y,l=e.theta,u=Math.cos(l)*i,c=Math.sin(l)*i,f=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*a)),h=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(c)+Math.cos(l)*a);if(f<1||h<1)return 1/0;var v=zm.EDGECOST*(1/(f-1)+1/(h-1));v+=zm.ANGLECOST*l*l;for(var d=o-u,_=s-c,b=o+u,p=s+c,E=0;E{"use strict";var jxt=ba(),LH=Mu(),Wxt=N4();Cbe.exports=function(t){var r=t.contours,n=r.start,i=Wxt(r),a=r.size||1,o=Math.floor((i-n)/a)+1,s=r.coloring==="lines"?0:1,l=LH.extractOpts(t);isFinite(a)||(a=1,o=1);var u=l.reversescale?LH.flipScale(l.colorscale):l.colorscale,c=u.length,f=new Array(c),h=new Array(c),v,d,_=l.min,b=l.max;if(r.coloring==="heatmap"){for(d=0;d=b)&&(n<=_&&(n=_),i>=b&&(i=b),o=Math.floor((i-n)/a)+1,s=0),d=0;d_&&(f.unshift(_),h.unshift(h[0])),f[f.length-1]{"use strict";var O8=ba(),Lbe=ao(),Zxt=A8(),Xxt=PH();Pbe.exports=function(t){var r=O8.select(t).selectAll("g.contour");r.style("opacity",function(n){return n[0].trace.opacity}),r.each(function(n){var i=O8.select(this),a=n[0].trace,o=a.contours,s=a.line,l=o.size||1,u=o.start,c=o.type==="constraint",f=!c&&o.coloring==="lines",h=!c&&o.coloring==="fill",v=f||h?Xxt(a):null;i.selectAll("g.contourlevel").each(function(b){O8.select(this).selectAll("path").call(Lbe.lineGroupStyle,s.width,f?v(b.level):s.color,s.dash)});var d=o.labelfont;if(i.selectAll("g.contourlabels text").each(function(b){Lbe.font(O8.select(this),{weight:d.weight,style:d.style,variant:d.variant,textcase:d.textcase,lineposition:d.lineposition,shadow:d.shadow,family:d.family,size:d.size,color:d.color||(f?v(b.level):s.color)})}),c)i.selectAll("g.contourfill path").style("fill",a.fillcolor);else if(h){var _;i.selectAll("g.contourfill path").style("fill",function(b){return _===void 0&&(_=b.level),v(b.level+.5*l)}),_===void 0&&(_=u),i.selectAll("g.contourbg path").style("fill",v(_-.5*l))}}),Zxt(t)}});var N8=ye((Klr,Dbe)=>{"use strict";var Ibe=Mu(),Yxt=PH(),Kxt=N4();function Jxt(e,t,r){var n=t.contours,i=t.line,a=n.size||1,o=n.coloring,s=Yxt(t,{isColorbar:!0});if(o==="heatmap"){var l=Ibe.extractOpts(t);r._fillgradient=l.reversescale?Ibe.flipScale(l.colorscale):l.colorscale,r._zrange=[l.min,l.max]}else o==="fill"&&(r._fillcolor=s);r._line={color:o==="lines"?s:i.color,width:n.showlines!==!1?i.width:0,dash:i.dash},r._levels={start:n.start,end:Kxt(n),size:a}}Dbe.exports={min:"zmin",max:"zmax",calc:Jxt}});var IH=ye((Jlr,Rbe)=>{"use strict";var U8=va(),$xt=M8();Rbe.exports=function(t,r,n,i,a){a||(a={}),a.isContour=!0;var o=$xt(t,r,n,i,a);return o&&o.forEach(function(s){var l=s.trace;l.contours.type==="constraint"&&(l.fillcolor&&U8.opacity(l.fillcolor)?s.color=U8.addOpacity(l.fillcolor,1):l.contours.showlines&&U8.opacity(l.line.color)&&(s.color=U8.addOpacity(l.line.color,1)))}),o}});var Fbe=ye(($lr,zbe)=>{"use strict";zbe.exports={attributes:mH(),supplyDefaults:rbe(),crossTraceDefaults:C8(),calc:wH(),plot:q8().plot,layerName:"contourlayer",style:B8(),colorbar:N8(),hoverPoints:IH(),moduleType:"trace",name:"histogram2dcontour",basePlotModule:Qf(),categories:["cartesian","svg","2dMap","contour","histogram","showLegend"],meta:{}}});var Obe=ye((Qlr,qbe)=>{"use strict";qbe.exports=Fbe()});var DH=ye((eur,Gbe)=>{"use strict";var Bbe=uo(),Qxt=yH(),Vbe=va(),Nbe=Vbe.addOpacity,ebt=Vbe.opacity,Hbe=O4(),Ube=Ar().isArrayOrTypedArray,tbt=Hbe.CONSTRAINT_REDUCTION,rbt=Hbe.COMPARISON_OPS2;Gbe.exports=function(t,r,n,i,a,o){var s=r.contours,l,u,c,f=n("contours.operation");if(s._operation=tbt[f],ibt(n,s),f==="="?l=s.showlines=!0:(l=n("contours.showlines"),c=n("fillcolor",Nbe((t.line||{}).color||a,.5))),l){var h=c&&ebt(c)?Nbe(r.fillcolor,1):a;u=n("line.color",h),n("line.width",2),n("line.dash")}n("line.smoothing"),Qxt(n,i,u,o)};function ibt(e,t){var r;rbt.indexOf(t.operation)===-1?(e("contours.value",[0,1]),Ube(t.value)?t.value.length>2?t.value=t.value.slice(2):t.length===0?t.value=[0,1]:t.length<2?(r=parseFloat(t.value[0]),t.value=[r,r+1]):t.value=[parseFloat(t.value[0]),parseFloat(t.value[1])]:Bbe(t.value)&&(r=parseFloat(t.value),t.value=[r,r+1])):(e("contours.value",0),Bbe(t.value)||(Ube(t.value)?t.value=parseFloat(t.value[0]):t.value=0))}});var Zbe=ye((tur,Wbe)=>{"use strict";var RH=Ar(),nbt=c8(),abt=Dg(),obt=DH(),sbt=D8(),lbt=R8(),ubt=D4(),jbe=B4();Wbe.exports=function(t,r,n,i){function a(u,c){return RH.coerce(t,r,jbe,u,c)}function o(u){return RH.coerce2(t,r,jbe,u)}var s=nbt(t,r,a,i);if(!s){r.visible=!1;return}abt(t,r,i,a),a("xhoverformat"),a("yhoverformat"),a("text"),a("hovertext"),a("hoverongaps"),a("hovertemplate");var l=a("contours.type")==="constraint";a("connectgaps",RH.isArray1D(r.z)),l?obt(t,r,a,i,n):(sbt(t,r,a,o),lbt(t,r,a,i)),r.contours&&r.contours.coloring==="heatmap"&&ubt(a,i),a("zorder")}});var Ybe=ye((rur,Xbe)=>{"use strict";Xbe.exports={attributes:B4(),supplyDefaults:Zbe(),calc:wH(),plot:q8().plot,style:B8(),colorbar:N8(),hoverPoints:IH(),moduleType:"trace",name:"contour",basePlotModule:Qf(),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}});var Jbe=ye((iur,Kbe)=>{"use strict";Kbe.exports=Ybe()});var zH=ye((nur,Qbe)=>{"use strict";var cbt=Wo().hovertemplateAttrs,fbt=Wo().texttemplateAttrs,hbt=Cg(),l0=Uc(),dbt=vl(),$be=Kl(),vbt=kd().dash,R_=no().extendFlat,Y0=l0.marker,j4=l0.line,pbt=Y0.line;Qbe.exports={a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},c:{valType:"data_array",editType:"calc"},sum:{valType:"number",dflt:0,min:0,editType:"calc"},mode:R_({},l0.mode,{dflt:"markers"}),text:R_({},l0.text,{}),texttemplate:fbt({editType:"plot"},{keys:["a","b","c","text"]}),hovertext:R_({},l0.hovertext,{}),line:{color:j4.color,width:j4.width,dash:vbt,backoff:j4.backoff,shape:R_({},j4.shape,{values:["linear","spline"]}),smoothing:j4.smoothing,editType:"calc"},connectgaps:l0.connectgaps,cliponaxis:l0.cliponaxis,fill:R_({},l0.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:hbt(),marker:R_({symbol:Y0.symbol,opacity:Y0.opacity,angle:Y0.angle,angleref:Y0.angleref,standoff:Y0.standoff,maxdisplayed:Y0.maxdisplayed,size:Y0.size,sizeref:Y0.sizeref,sizemin:Y0.sizemin,sizemode:Y0.sizemode,line:R_({width:pbt.width,editType:"calc"},$be("marker.line")),gradient:Y0.gradient,editType:"calc"},$be("marker")),textfont:l0.textfont,textposition:l0.textposition,selected:l0.selected,unselected:l0.unselected,hoverinfo:R_({},dbt.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:l0.hoveron,hovertemplate:cbt()}});var i2e=ye((aur,r2e)=>{"use strict";var e2e=Ar(),gbt=km(),WT=lu(),mbt=t0(),ybt=q0(),t2e=lT(),_bt=O0(),xbt=Rg(),bbt=zH();r2e.exports=function(t,r,n,i){function a(h,v){return e2e.coerce(t,r,bbt,h,v)}var o=a("a"),s=a("b"),l=a("c"),u;if(o?(u=o.length,s?(u=Math.min(u,s.length),l&&(u=Math.min(u,l.length))):l?u=Math.min(u,l.length):u=0):s&&l&&(u=Math.min(s.length,l.length)),!u){r.visible=!1;return}r._length=u,a("sum"),a("text"),a("hovertext"),r.hoveron!=="fills"&&a("hovertemplate");var c=u{"use strict";var FH=Xa();n2e.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.aLabel=FH.tickText(a.aaxis,t.a,!0).text,i.bLabel=FH.tickText(a.baxis,t.b,!0).text,i.cLabel=FH.tickText(a.caxis,t.c,!0).text,i}});var u2e=ye((sur,l2e)=>{"use strict";var qH=uo(),wbt=B0(),Tbt=Lm(),Abt=N0(),Sbt=U0().calcMarkerSize,o2e=["a","b","c"],s2e={a:["b","c"],b:["a","c"],c:["a","b"]};l2e.exports=function(t,r){var n=t._fullLayout[r.subplot],i=n.sum,a=r.sum||i,o={a:r.a,b:r.b,c:r.c},s=r.ids,l,u,c,f,h,v;for(l=0;l{"use strict";var Mbt=vT();c2e.exports=function(t,r,n){var i=r.plotContainer;i.select(".scatterlayer").selectAll("*").remove();for(var a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:r._hasClipOnAxisFalse?r.clipIdRelative:null},l=r.layers.frontplot.select("g.scatterlayer"),u=0;u{"use strict";var Ebt=yT();h2e.exports=function(t,r,n,i){var a=Ebt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index],h=o.trace,v=o.subplot;o.a=f.a,o.b=f.b,o.c=f.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var d={};d[h.subplot]={_subplot:v};var _=h._module.formatLabels(f,h,d);o.aLabel=_.aLabel,o.bLabel=_.bLabel,o.cLabel=_.cLabel;var b=f.hi||h.hoverinfo,p=[];function E(S,L){p.push(S._hovertitle+": "+L)}if(!h.hovertemplate){var k=b.split("+");k.indexOf("all")!==-1&&(k=["a","b","c"]),k.indexOf("a")!==-1&&E(v.aaxis,o.aLabel),k.indexOf("b")!==-1&&E(v.baxis,o.bLabel),k.indexOf("c")!==-1&&E(v.caxis,o.cLabel)}return o.extraText=p.join("
"),o.hovertemplate=h.hovertemplate,a}});var p2e=ye((cur,v2e)=>{"use strict";v2e.exports=function(t,r,n,i,a){if(r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),i[a]){var o=i[a];t.a=o.a,t.b=o.b,t.c=o.c}else t.a=r.a,t.b=r.b,t.c=r.c;return t}});var M2e=ye((fur,S2e)=>{"use strict";var b2e=ba(),kbt=ad(),OH=ya(),Vy=Ar(),Fm=Vy.strTranslate,V8=Vy._,XT=va(),H8=ao(),W4=bm(),BH=no().extendFlat,Cbt=Nu(),z_=Xa(),g2e=yv(),m2e=Nc(),w2e=Eg(),y2e=w2e.freeMode,Lbt=w2e.rectMode,NH=Fb(),Pbt=wf().prepSelect,Ibt=wf().selectOnClick,Dbt=wf().clearOutline,Rbt=wf().clearSelectionsCache,T2e=sd();function A2e(e,t){this.id=e.id,this.graphDiv=e.graphDiv,this.init(t),this.makeFramework(t),this.updateFx(t),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}S2e.exports=A2e;var qm=A2e.prototype;qm.init=function(e){this.container=e._ternarylayer,this.defs=e._defs,this.layoutId=e._uid,this.traceHash={},this.layers={}};qm.plot=function(e,t){var r=this,n=t[r.id],i=t._size;r._hasClipOnAxisFalse=!1;for(var a=0;aZT*u?(p=u,b=p*ZT):(b=l,p=b/ZT),E=o*b/l,k=s*p/u,d=t.l+t.w*i-b/2,_=t.t+t.h*(1-a)-p/2,r.x0=d,r.y0=_,r.w=b,r.h=p,r.sum=c,r.xaxis={type:"linear",range:[f+2*v-c,c-f-2*h],domain:[i-E/2,i+E/2],_id:"x"},W4(r.xaxis,r.graphDiv._fullLayout),r.xaxis.setScale(),r.xaxis.isPtWithinRange=function(V){return V.a>=r.aaxis.range[0]&&V.a<=r.aaxis.range[1]&&V.b>=r.baxis.range[1]&&V.b<=r.baxis.range[0]&&V.c>=r.caxis.range[1]&&V.c<=r.caxis.range[0]},r.yaxis={type:"linear",range:[f,c-h-v],domain:[a-k/2,a+k/2],_id:"y"},W4(r.yaxis,r.graphDiv._fullLayout),r.yaxis.setScale(),r.yaxis.isPtWithinRange=function(){return!0};var S=r.yaxis.domain[0],L=r.aaxis=BH({},e.aaxis,{range:[f,c-h-v],side:"left",tickangle:(+e.aaxis.tickangle||0)-30,domain:[S,S+k*ZT],anchor:"free",position:0,_id:"y",_length:b});W4(L,r.graphDiv._fullLayout),L.setScale();var x=r.baxis=BH({},e.baxis,{range:[c-f-v,h],side:"bottom",domain:r.xaxis.domain,anchor:"free",position:0,_id:"x",_length:b});W4(x,r.graphDiv._fullLayout),x.setScale();var C=r.caxis=BH({},e.caxis,{range:[c-f-h,v],side:"right",tickangle:(+e.caxis.tickangle||0)+30,domain:[S,S+k*ZT],anchor:"free",position:0,_id:"y",_length:b});W4(C,r.graphDiv._fullLayout),C.setScale();var M="M"+d+","+(_+p)+"h"+b+"l-"+b/2+",-"+p+"Z";r.clipDef.select("path").attr("d",M),r.layers.plotbg.select("path").attr("d",M);var g="M0,"+p+"h"+b+"l-"+b/2+",-"+p+"Z";r.clipDefRelative.select("path").attr("d",g);var P=Fm(d,_);r.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),r.clipDefRelative.select("path").attr("transform",null);var T=Fm(d-x._offset,_+p);r.layers.baxis.attr("transform",T),r.layers.bgrid.attr("transform",T);var F=Fm(d+b/2,_)+"rotate(30)"+Fm(0,-L._offset);r.layers.aaxis.attr("transform",F),r.layers.agrid.attr("transform",F);var q=Fm(d+b/2,_)+"rotate(-30)"+Fm(0,-C._offset);r.layers.caxis.attr("transform",q),r.layers.cgrid.attr("transform",q),r.drawAxes(!0),r.layers.aline.select("path").attr("d",L.showline?"M"+d+","+(_+p)+"l"+b/2+",-"+p:"M0,0").call(XT.stroke,L.linecolor||"#000").style("stroke-width",(L.linewidth||0)+"px"),r.layers.bline.select("path").attr("d",x.showline?"M"+d+","+(_+p)+"h"+b:"M0,0").call(XT.stroke,x.linecolor||"#000").style("stroke-width",(x.linewidth||0)+"px"),r.layers.cline.select("path").attr("d",C.showline?"M"+(d+b/2)+","+_+"l"+b/2+","+p:"M0,0").call(XT.stroke,C.linecolor||"#000").style("stroke-width",(C.linewidth||0)+"px"),r.graphDiv._context.staticPlot||r.initInteractions(),H8.setClipUrl(r.layers.frontplot,r._hasClipOnAxisFalse?null:r.clipId,r.graphDiv)};qm.drawAxes=function(e){var t=this,r=t.graphDiv,n=t.id.substr(7)+"title",i=t.layers,a=t.aaxis,o=t.baxis,s=t.caxis;if(t.drawAx(a),t.drawAx(o),t.drawAx(s),e){var l=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?s.tickfont.size*.75:0)+(s.ticks==="outside"?s.ticklen*.87:0)),u=(o.showticklabels?o.tickfont.size:0)+(o.ticks==="outside"?o.ticklen:0)+3;i["a-title"]=NH.draw(r,"a"+n,{propContainer:a,propName:t.id+".aaxis.title",placeholder:V8(r,"Click to enter Component A title"),attributes:{x:t.x0+t.w/2,y:t.y0-a.title.font.size/3-l,"text-anchor":"middle"}}),i["b-title"]=NH.draw(r,"b"+n,{propContainer:o,propName:t.id+".baxis.title",placeholder:V8(r,"Click to enter Component B title"),attributes:{x:t.x0-u,y:t.y0+t.h+o.title.font.size*.83+u,"text-anchor":"middle"}}),i["c-title"]=NH.draw(r,"c"+n,{propContainer:s,propName:t.id+".caxis.title",placeholder:V8(r,"Click to enter Component C title"),attributes:{x:t.x0+t.w+u,y:t.y0+t.h+s.title.font.size*.83+u,"text-anchor":"middle"}})}};qm.drawAx=function(e){var t=this,r=t.graphDiv,n=e._name,i=n.charAt(0),a=e._id,o=t.layers[n],s=30,l=i+"tickLayout",u=zbt(e);t[l]!==u&&(o.selectAll("."+a+"tick").remove(),t[l]=u),e.setScale();var c=z_.calcTicks(e),f=z_.clipEnds(e,c),h=z_.makeTransTickFn(e),v=z_.getTickSigns(e)[2],d=Vy.deg2rad(s),_=v*(e.linewidth||1)/2,b=v*e.ticklen,p=t.w,E=t.h,k=i==="b"?"M0,"+_+"l"+Math.sin(d)*b+","+Math.cos(d)*b:"M"+_+",0l"+Math.cos(d)*b+","+-Math.sin(d)*b,S={a:"M0,0l"+E+",-"+p/2,b:"M0,0l-"+p/2+",-"+E,c:"M0,0l-"+E+","+p/2}[i];z_.drawTicks(r,e,{vals:e.ticks==="inside"?f:c,layer:o,path:k,transFn:h,crisp:!1}),z_.drawGrid(r,e,{vals:f,layer:t.layers[i+"grid"],path:S,transFn:h,crisp:!1}),z_.drawLabels(r,e,{vals:c,layer:o,transFn:h,labelFns:z_.makeLabelFns(e,0,s)})};function zbt(e){return e.ticks+String(e.ticklen)+String(e.showticklabels)}var hd=T2e.MINZOOM/2+.87,Fbt="m-0.87,.5h"+hd+"v3h-"+(hd+5.2)+"l"+(hd/2+2.6)+",-"+(hd*.87+4.5)+"l2.6,1.5l-"+hd/2+","+hd*.87+"Z",qbt="m0.87,.5h-"+hd+"v3h"+(hd+5.2)+"l-"+(hd/2+2.6)+",-"+(hd*.87+4.5)+"l-2.6,1.5l"+hd/2+","+hd*.87+"Z",Obt="m0,1l"+hd/2+","+hd*.87+"l2.6,-1.5l-"+(hd/2+2.6)+",-"+(hd*.87+4.5)+"l-"+(hd/2+2.6)+","+(hd*.87+4.5)+"l2.6,1.5l"+hd/2+",-"+hd*.87+"Z",Bbt="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",_2e=!0;qm.clearOutline=function(){Rbt(this.dragOptions),Dbt(this.dragOptions.gd)};qm.initInteractions=function(){var e=this,t=e.layers.plotbg.select("path").node(),r=e.graphDiv,n=r._fullLayout._zoomlayer,i,a;this.dragOptions={element:t,gd:r,plotinfo:{id:e.id,domain:r._fullLayout[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis},subplot:e.id,prepFn:function(T,F,q){e.dragOptions.xaxes=[e.xaxis],e.dragOptions.yaxes=[e.yaxis],i=r._fullLayout._invScaleX,a=r._fullLayout._invScaleY;var V=e.dragOptions.dragmode=r._fullLayout.dragmode;y2e(V)?e.dragOptions.minDrag=1:e.dragOptions.minDrag=void 0,V==="zoom"?(e.dragOptions.moveFn=x,e.dragOptions.clickFn=p,e.dragOptions.doneFn=C,E(T,F,q)):V==="pan"?(e.dragOptions.moveFn=g,e.dragOptions.clickFn=p,e.dragOptions.doneFn=P,M(),e.clearOutline(r)):(Lbt(V)||y2e(V))&&Pbt(T,F,q,e.dragOptions,V)}};var o,s,l,u,c,f,h,v,d,_;function b(T){var F={};return F[e.id+".aaxis.min"]=T.a,F[e.id+".baxis.min"]=T.b,F[e.id+".caxis.min"]=T.c,F}function p(T,F){var q=r._fullLayout.clickmode;x2e(r),T===2&&(r.emit("plotly_doubleclick",null),OH.call("_guiRelayout",r,b({a:0,b:0,c:0}))),q.indexOf("select")>-1&&T===1&&Ibt(F,r,[e.xaxis],[e.yaxis],e.id,e.dragOptions),q.indexOf("event")>-1&&m2e.click(r,F,e.id)}function E(T,F,q){var V=t.getBoundingClientRect();o=F-V.left,s=q-V.top,r._fullLayout._calcInverseTransform(r);var H=r._fullLayout._invTransform,X=Vy.apply3DTransform(H)(o,s);o=X[0],s=X[1],l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l,u=e.aaxis.range[1]-l.a,f=kbt(e.graphDiv._fullLayout[e.id].bgcolor).getLuminance(),h="M0,"+e.h+"L"+e.w/2+", 0L"+e.w+","+e.h+"Z",v=!1,d=n.append("path").attr("class","zoombox").attr("transform",Fm(e.x0,e.y0)).style({fill:f>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",h),_=n.append("path").attr("class","zoombox-corners").attr("transform",Fm(e.x0,e.y0)).style({fill:XT.background,stroke:XT.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),e.clearOutline(r)}function k(T,F){return 1-F/e.h}function S(T,F){return 1-(T+(e.h-F)/Math.sqrt(3))/e.w}function L(T,F){return(T-(e.h-F)/Math.sqrt(3))/e.w}function x(T,F){var q=o+T*i,V=s+F*a,H=Math.max(0,Math.min(1,k(o,s),k(q,V))),X=Math.max(0,Math.min(1,S(o,s),S(q,V))),G=Math.max(0,Math.min(1,L(o,s),L(q,V))),N=(H/2+G)*e.w,W=(1-H/2-X)*e.w,re=(N+W)/2,ae=W-N,_e=(1-H)*e.h,Me=_e-ae/ZT;ae.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),_.transition().style("opacity",1).duration(200),v=!0),r.emit("plotly_relayouting",b(c))}function C(){x2e(r),c!==l&&(OH.call("_guiRelayout",r,b(c)),_2e&&r.data&&r._context.showTips&&(Vy.notifier(V8(r,"Double-click to zoom back out"),"long"),_2e=!1))}function M(){l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l}function g(T,F){var q=T/e.xaxis._m,V=F/e.yaxis._m;c={a:l.a-V,b:l.b+(q+V)/2,c:l.c-(q-V)/2};var H=[c.a,c.b,c.c].sort(Vy.sorterAsc),X={a:H.indexOf(c.a),b:H.indexOf(c.b),c:H.indexOf(c.c)};H[0]<0&&(H[1]+H[0]/2<0?(H[2]+=H[0]+H[1],H[0]=H[1]=0):(H[2]+=H[0]/2,H[1]+=H[0]/2,H[0]=0),c={a:H[X.a],b:H[X.b],c:H[X.c]},F=(l.a-c.a)*e.yaxis._m,T=(l.c-c.c-l.b+c.b)*e.xaxis._m);var G=Fm(e.x0+T,e.y0+F);e.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",G);var N=Fm(-T,-F);e.clipDefRelative.select("path").attr("transform",N),e.aaxis.range=[c.a,e.sum-c.b-c.c],e.baxis.range=[e.sum-c.a-c.c,c.b],e.caxis.range=[e.sum-c.a-c.b,c.c],e.drawAxes(!1),e._hasClipOnAxisFalse&&e.plotContainer.select(".scatterlayer").selectAll(".trace").call(H8.hideOutsideRangePoints,e),r.emit("plotly_relayouting",b(c))}function P(){OH.call("_guiRelayout",r,b(c))}t.onmousemove=function(T){m2e.hover(r,T,e.id),r._fullLayout._lasthover=t,r._fullLayout._hoversubplot=e.id},t.onmouseout=function(T){r._dragging||g2e.unhover(r,T)},g2e.init(this.dragOptions)};function x2e(e){b2e.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}});var HH=ye((hur,E2e)=>{"use strict";var Nbt=ph(),Ubt=Ju().attributes,ql=Ld(),Vbt=Bu().overrideAll,UH=no().extendFlat,VH={title:{text:ql.title.text,font:ql.title.font},color:ql.color,tickmode:ql.minor.tickmode,nticks:UH({},ql.nticks,{dflt:6,min:1}),tick0:ql.tick0,dtick:ql.dtick,tickvals:ql.tickvals,ticktext:ql.ticktext,ticks:ql.ticks,ticklen:ql.ticklen,tickwidth:ql.tickwidth,tickcolor:ql.tickcolor,ticklabelstep:ql.ticklabelstep,showticklabels:ql.showticklabels,labelalias:ql.labelalias,showtickprefix:ql.showtickprefix,tickprefix:ql.tickprefix,showticksuffix:ql.showticksuffix,ticksuffix:ql.ticksuffix,showexponent:ql.showexponent,exponentformat:ql.exponentformat,minexponent:ql.minexponent,separatethousands:ql.separatethousands,tickfont:ql.tickfont,tickangle:ql.tickangle,tickformat:ql.tickformat,tickformatstops:ql.tickformatstops,hoverformat:ql.hoverformat,showline:UH({},ql.showline,{dflt:!0}),linecolor:ql.linecolor,linewidth:ql.linewidth,showgrid:UH({},ql.showgrid,{dflt:!0}),gridcolor:ql.gridcolor,gridwidth:ql.gridwidth,griddash:ql.griddash,layer:ql.layer,min:{valType:"number",dflt:0,min:0}},G8=E2e.exports=Vbt({domain:Ubt({name:"ternary"}),bgcolor:{valType:"color",dflt:Nbt.background},sum:{valType:"number",dflt:1,min:0},aaxis:VH,baxis:VH,caxis:VH},"plot","from-root");G8.uirevision={valType:"any",editType:"none"};G8.aaxis.uirevision=G8.baxis.uirevision=G8.caxis.uirevision={valType:"any",editType:"none"}});var F_=ye((dur,k2e)=>{"use strict";var Hbt=Ar(),Gbt=Vs(),jbt=Ju().defaults;k2e.exports=function(t,r,n,i){var a=i.type,o=i.attributes,s=i.handleDefaults,l=i.partition||"x",u=r._subplots[a],c=u.length,f=c&&u[0].replace(/\d+$/,""),h,v;function d(E,k){return Hbt.coerce(h,v,o,E,k)}for(var _=0;_{"use strict";var Wbt=va(),Zbt=Vs(),j8=Ar(),Xbt=F_(),Ybt=a_(),Kbt=o_(),Jbt=R3(),$bt=Lb(),Qbt=c4(),L2e=HH(),C2e=["aaxis","baxis","caxis"];P2e.exports=function(t,r,n){Xbt(t,r,n,{type:"ternary",attributes:L2e,handleDefaults:e2t,font:r.font,paper_bgcolor:r.paper_bgcolor})};function e2t(e,t,r,n){var i=r("bgcolor"),a=r("sum");n.bgColor=Wbt.combine(i,n.paper_bgcolor);for(var o,s,l,u=0;u=a&&(c.min=0,f.min=0,h.min=0,e.aaxis&&delete e.aaxis.min,e.baxis&&delete e.baxis.min,e.caxis&&delete e.caxis.min)}function t2t(e,t,r,n){var i=L2e[t._name];function a(v,d){return j8.coerce(e,t,i,v,d)}a("uirevision",n.uirevision),t.type="linear";var o=a("color"),s=o!==i.color.dflt?o:r.font.color,l=t._name,u=l.charAt(0).toUpperCase(),c="Component "+u,f=a("title.text",c);t._hovertitle=f===c?f:u,j8.coerceFont(a,"title.font",r.font,{overrideDflt:{size:j8.bigFont(r.font.size),color:s}}),a("min"),$bt(e,t,a,"linear"),Kbt(e,t,a,"linear"),Ybt(e,t,a,"linear",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),Jbt(e,t,a,{outerTicks:!0});var h=a("showticklabels");h&&(j8.coerceFont(a,"tickfont",r.font,{overrideDflt:{color:s}}),a("tickangle"),a("tickformat")),Qbt(e,t,a,{dfltColor:o,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),a("hoverformat"),a("layer")}});var D2e=ye(K0=>{"use strict";var r2t=M2e(),i2t=Cd().getSubplotCalcData,n2t=Ar().counterRegex,YT="ternary";K0.name=YT;var a2t=K0.attr="subplot";K0.idRoot=YT;K0.idRegex=K0.attrRegex=n2t(YT);var o2t=K0.attributes={};o2t[a2t]={valType:"subplotid",dflt:"ternary",editType:"calc"};K0.layoutAttributes=HH();K0.supplyLayoutDefaults=I2e();K0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[YT],a=0;a{"use strict";R2e.exports={attributes:zH(),supplyDefaults:i2e(),colorbar:Jd(),formatLabels:a2e(),calc:u2e(),plot:f2e(),style:up().style,styleOnSelect:up().styleOnSelect,hoverPoints:d2e(),selectPoints:_T(),eventData:p2e(),moduleType:"trace",name:"scatterternary",basePlotModule:D2e(),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}});var q2e=ye((mur,F2e)=>{"use strict";F2e.exports=z2e()});var GH=ye((yur,B2e)=>{"use strict";var Zh=C4(),KT=no().extendFlat,O2e=Oc().axisHoverFormat;B2e.exports={y:Zh.y,x:Zh.x,x0:Zh.x0,y0:Zh.y0,xhoverformat:O2e("x"),yhoverformat:O2e("y"),name:KT({},Zh.name,{}),orientation:KT({},Zh.orientation,{}),bandwidth:{valType:"number",min:0,editType:"calc"},scalegroup:{valType:"string",dflt:"",editType:"calc"},scalemode:{valType:"enumerated",values:["width","count"],dflt:"width",editType:"calc"},spanmode:{valType:"enumerated",values:["soft","hard","manual"],dflt:"soft",editType:"calc"},span:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:Zh.fillcolor,points:KT({},Zh.boxpoints,{}),jitter:KT({},Zh.jitter,{}),pointpos:KT({},Zh.pointpos,{}),width:KT({},Zh.width,{}),marker:Zh.marker,text:Zh.text,hovertext:Zh.hovertext,hovertemplate:Zh.hovertemplate,quartilemethod:Zh.quartilemethod,box:{visible:{valType:"boolean",dflt:!1,editType:"plot"},width:{valType:"number",min:0,max:1,dflt:.25,editType:"plot"},fillcolor:{valType:"color",editType:"style"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"plot"},meanline:{visible:{valType:"boolean",dflt:!1,editType:"plot"},color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"plot"},side:{valType:"enumerated",values:["both","positive","negative"],dflt:"both",editType:"calc"},offsetgroup:Zh.offsetgroup,alignmentgroup:Zh.alignmentgroup,selected:Zh.selected,unselected:Zh.unselected,hoveron:{valType:"flaglist",flags:["violins","points","kde"],dflt:"violins+points+kde",extras:["all"],editType:"style"},zorder:Zh.zorder}});var ZH=ye((_ur,N2e)=>{"use strict";var jH=L4(),WH=Ar().extendFlat;N2e.exports={violinmode:WH({},jH.boxmode,{}),violingap:WH({},jH.boxgap,{}),violingroupgap:WH({},jH.boxgroupgap,{})}});var j2e=ye((xur,G2e)=>{"use strict";var U2e=Ar(),s2t=va(),V2e=I4(),H2e=GH();G2e.exports=function(t,r,n,i){function a(L,x){return U2e.coerce(t,r,H2e,L,x)}function o(L,x){return U2e.coerce2(t,r,H2e,L,x)}if(V2e.handleSampleDefaults(t,r,a,i),r.visible!==!1){a("bandwidth"),a("side");var s=a("width");s||(a("scalegroup",r.name),a("scalemode"));var l=a("span"),u;Array.isArray(l)&&(u="manual"),a("spanmode",u);var c=a("line.color",(t.marker||{}).color||n),f=a("line.width"),h=a("fillcolor",s2t.addOpacity(r.line.color,.5));V2e.handlePointsDefaults(t,r,a,{prefix:""});var v=o("box.width"),d=o("box.fillcolor",h),_=o("box.line.color",c),b=o("box.line.width",f),p=a("box.visible",!!(v||d||_||b));p||(r.box={visible:!1});var E=o("meanline.color",c),k=o("meanline.width",f),S=a("meanline.visible",!!(E||k));S||(r.meanline={visible:!1}),a("quartilemethod"),a("zorder")}}});var Z2e=ye((bur,W2e)=>{"use strict";var l2t=Ar(),u2t=ZH(),c2t=n8();W2e.exports=function(t,r,n){function i(a,o){return l2t.coerce(t,r,u2t,a,o)}c2t._supply(t,r,n,i,"violin")}});var W8=ye(p2=>{"use strict";var f2t=Ar(),h2t={gaussian:function(e){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*e*e)}};p2.makeKDE=function(e,t,r){var n=r.length,i=h2t.gaussian,a=e.bandwidth,o=1/(n*a);return function(s){for(var l=0,u=0;u{"use strict";var XH=Ar(),YH=Xa(),d2t=NV(),X2e=W8(),v2t=Yo().BADNUM;Y2e.exports=function(t,r){var n=d2t(t,r);if(n[0].t.empty)return n;for(var i=t._fullLayout,a=YH.getFromId(t,r[r.orientation==="h"?"xaxis":"yaxis"]),o=1/0,s=-1/0,l=0,u=0,c=0;c{"use strict";var y2t=o8().setPositionOffset,J2e=["v","h"];$2e.exports=function(t,r){for(var n=t.calcdata,i=r.xaxis,a=r.yaxis,o=0;o{"use strict";var KH=ba(),JH=Ar(),_2t=ao(),$H=s8(),x2t=SU(),b2t=W8();ewe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=t._fullLayout,s=r.xaxis,l=r.yaxis;function u(c,f){var h=x2t(c,{xaxis:s,yaxis:l,trace:f,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0,linearized:!0});return _2t.smoothopen(h[0],1)}JH.makeTraceGroups(i,n,"trace violins").each(function(c){var f=KH.select(this),h=c[0],v=h.t,d=h.trace;if(d.visible!==!0||v.empty){f.remove();return}var _=v.bPos,b=v.bdPos,p=r[v.valLetter+"axis"],E=r[v.posLetter+"axis"],k=d.side==="both",S=k||d.side==="positive",L=k||d.side==="negative",x=f.selectAll("path.violin").data(JH.identity);x.enter().append("path").style("vector-effect",a?"none":"non-scaling-stroke").attr("class","violin"),x.exit().remove(),x.each(function(V){var H=KH.select(this),X=V.density,G=X.length,N=E.c2l(V.pos+_,!0),W=E.l2p(N),re;if(d.width)re=v.maxKDE/b;else{var ae=o._violinScaleGroupStats[d.scalegroup];re=d.scalemode==="count"?ae.maxKDE/b*(ae.maxCount/V.pts.length):ae.maxKDE/b}var _e,Me,ke,ge,ie,Te,Ee;if(S){for(Te=new Array(G),ge=0;ge{"use strict";var rwe=ba(),JT=va(),w2t=up().stylePoints;iwe.exports=function(t){var r=rwe.select(t).selectAll("g.trace.violins");r.style("opacity",function(n){return n[0].trace.opacity}),r.each(function(n){var i=n[0].trace,a=rwe.select(this),o=i.box||{},s=o.line||{},l=i.meanline||{},u=l.width;a.selectAll("path.violin").style("stroke-width",i.line.width+"px").call(JT.stroke,i.line.color).call(JT.fill,i.fillcolor),a.selectAll("path.box").style("stroke-width",s.width+"px").call(JT.stroke,s.color).call(JT.fill,o.fillcolor);var c={"stroke-width":u+"px","stroke-dasharray":2*u+"px,"+u+"px"};a.selectAll("path.mean").style(c).call(JT.stroke,l.color),a.selectAll("path.meanline").style(c).call(JT.stroke,l.color),w2t(a,i,t)})}});var lwe=ye((Eur,swe)=>{"use strict";var T2t=va(),QH=Ar(),A2t=Xa(),awe=jV(),owe=W8();swe.exports=function(t,r,n,i,a){a||(a={});var o=a.hoverLayer,s=t.cd,l=s[0].trace,u=l.hoveron,c=u.indexOf("violins")!==-1,f=u.indexOf("kde")!==-1,h=[],v,d;if(c||f){var _=awe.hoverOnBoxes(t,r,n,i);if(f&&_.length>0){var b=t.xa,p=t.ya,E,k,S,L,x;l.orientation==="h"?(x=r,E="y",S=p,k="x",L=b):(x=n,E="x",S=b,k="y",L=p);var C=s[t.index];if(x>=C.span[0]&&x<=C.span[1]){var M=QH.extendFlat({},t),g=L.c2p(x,!0),P=owe.getKdeValue(C,l,x),T=owe.getPositionOnKdePath(C,l,g),F=S._offset,q=S._length;M[E+"0"]=T[0],M[E+"1"]=T[1],M[k+"0"]=M[k+"1"]=g,M[k+"Label"]=k+": "+A2t.hoverLabelText(L,x,l[k+"hoverformat"])+", "+s[0].t.labels.kde+" "+P.toFixed(3);for(var V=0,H=0;H<_.length;H++)if(_[H].attr==="med"){V=H;break}M.spikeDistance=_[V].spikeDistance;var X=E+"Spike";M[X]=_[V][X],_[V].spikeDistance=void 0,_[V][X]=void 0,M.hovertemplate=!1,h.push(M),d={},d[E+"1"]=QH.constrain(F+T[0],F,F+q),d[E+"2"]=QH.constrain(F+T[1],F,F+q),d[k+"1"]=d[k+"2"]=L._offset+g}}c&&(h=h.concat(_))}u.indexOf("points")!==-1&&(v=awe.hoverOnPoints(t,r,n));var G=o.selectAll(".violinline-"+l.uid).data(d?[0]:[]);return G.enter().append("line").classed("violinline-"+l.uid,!0).attr("stroke-width",1.5),G.exit().remove(),G.attr(d).call(T2t.stroke,t.color),i==="closest"?v?[v]:h:(v&&h.push(v),h)}});var cwe=ye((kur,uwe)=>{"use strict";uwe.exports={attributes:GH(),layoutAttributes:ZH(),supplyDefaults:j2e(),crossTraceDefaults:I4().crossTraceDefaults,supplyLayoutDefaults:Z2e(),calc:K2e(),crossTraceCalc:Q2e(),plot:twe(),style:nwe(),styleOnSelect:up().styleOnSelect,hoverPoints:lwe(),selectPoints:WV(),moduleType:"trace",name:"violin",basePlotModule:Qf(),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],meta:{}}});var hwe=ye((Cur,fwe)=>{"use strict";fwe.exports=cwe()});var vwe=ye((Lur,dwe)=>{"use strict";dwe.exports={eventDataKeys:["percentInitial","percentPrevious","percentTotal"]}});var tG=ye((Pur,mwe)=>{"use strict";var lc=Im(),eG=Uc().line,S2t=vl(),pwe=Oc().axisHoverFormat,M2t=Wo().hovertemplateAttrs,E2t=Wo().texttemplateAttrs,gwe=vwe(),Hy=no().extendFlat,k2t=va();mwe.exports={x:lc.x,x0:lc.x0,dx:lc.dx,y:lc.y,y0:lc.y0,dy:lc.dy,xperiod:lc.xperiod,yperiod:lc.yperiod,xperiod0:lc.xperiod0,yperiod0:lc.yperiod0,xperiodalignment:lc.xperiodalignment,yperiodalignment:lc.yperiodalignment,xhoverformat:pwe("x"),yhoverformat:pwe("y"),hovertext:lc.hovertext,hovertemplate:M2t({},{keys:gwe.eventDataKeys}),hoverinfo:Hy({},S2t.hoverinfo,{flags:["name","x","y","text","percent initial","percent previous","percent total"]}),textinfo:{valType:"flaglist",flags:["label","text","percent initial","percent previous","percent total","value"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:E2t({editType:"plot"},{keys:gwe.eventDataKeys.concat(["label","value"])}),text:lc.text,textposition:lc.textposition,insidetextanchor:Hy({},lc.insidetextanchor,{dflt:"middle"}),textangle:Hy({},lc.textangle,{dflt:0}),textfont:lc.textfont,insidetextfont:lc.insidetextfont,outsidetextfont:lc.outsidetextfont,constraintext:lc.constraintext,cliponaxis:lc.cliponaxis,orientation:Hy({},lc.orientation,{}),offset:Hy({},lc.offset,{arrayOk:!1}),width:Hy({},lc.width,{arrayOk:!1}),marker:C2t(),connector:{fillcolor:{valType:"color",editType:"style"},line:{color:Hy({},eG.color,{dflt:k2t.defaultLine}),width:Hy({},eG.width,{dflt:0,editType:"plot"}),dash:eG.dash,editType:"style"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:lc.offsetgroup,alignmentgroup:lc.alignmentgroup,zorder:lc.zorder};function C2t(){var e=Hy({},lc.marker);return delete e.pattern,delete e.cornerradius,e}});var rG=ye((Iur,ywe)=>{"use strict";ywe.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}});var nG=ye((Dur,xwe)=>{"use strict";var Z8=Ar(),L2t=$b(),P2t=a0().handleText,I2t=sT(),D2t=Dg(),_we=tG(),iG=va();function R2t(e,t,r,n){function i(f,h){return Z8.coerce(e,t,_we,f,h)}var a=I2t(e,t,n,i);if(!a){t.visible=!1;return}D2t(e,t,n,i),i("xhoverformat"),i("yhoverformat"),i("orientation",t.y&&!t.x?"v":"h"),i("offset"),i("width");var o=i("text");i("hovertext"),i("hovertemplate");var s=i("textposition");P2t(e,t,n,i,s,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!=="none"&&!t.texttemplate&&i("textinfo",Z8.isArrayOrTypedArray(o)?"text+value":"value");var l=i("marker.color",r);i("marker.line.color",iG.defaultLine),i("marker.line.width");var u=i("connector.visible");if(u){i("connector.fillcolor",z2t(l));var c=i("connector.line.width");c&&(i("connector.line.color"),i("connector.line.dash"))}i("zorder")}function z2t(e){var t=Z8.isArrayOrTypedArray(e)?"#000":e;return iG.addOpacity(t,.5*iG.opacity(t))}function F2t(e,t){var r,n;function i(o){return Z8.coerce(n._input,n,_we,o)}if(t.funnelmode==="group")for(var a=0;a{"use strict";var q2t=Ar(),O2t=rG();bwe.exports=function(e,t,r){var n=!1;function i(s,l){return q2t.coerce(e,t,O2t,s,l)}for(var a=0;a{"use strict";var $T=Ar();Twe.exports=function(t,r){for(var n=0;n{"use strict";var Swe=Xa(),Mwe=zg(),B2t=Awe(),N2t=N0(),Z4=Yo().BADNUM;Ewe.exports=function(t,r){var n=Swe.getFromId(t,r.xaxis||"x"),i=Swe.getFromId(t,r.yaxis||"y"),a,o,s,l,u,c,f,h;r.orientation==="h"?(a=n.makeCalcdata(r,"x"),s=i.makeCalcdata(r,"y"),l=Mwe(r,i,"y",s),u=!!r.yperiodalignment,c="y"):(a=i.makeCalcdata(r,"y"),s=n.makeCalcdata(r,"x"),l=Mwe(r,n,"x",s),u=!!r.xperiodalignment,c="x"),o=l.vals;var v=Math.min(o.length,a.length),d=new Array(v);for(r._base=[],f=0;f{"use strict";var Cwe=Qb().setGroupPositions;Lwe.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h{"use strict";var X8=ba(),O_=Ar(),Iwe=ao(),q_=Yo().BADNUM,U2t=h2(),V2t=bv().clearMinTextSize;Rwe.exports=function(t,r,n,i){var a=t._fullLayout;V2t("funnel",a),H2t(t,r,n,i),G2t(t,r,n,i),U2t.plot(t,r,n,i,{mode:a.funnelmode,norm:a.funnelmode,gap:a.funnelgap,groupgap:a.funnelgroupgap})};function H2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;O_.makeTraceGroups(n,r,"trace bars").each(function(o){var s=X8.select(this),l=o[0].trace,u=O_.ensureSingle(s,"g","regions");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation==="h",f=u.selectAll("g.region").data(O_.identity);f.enter().append("g").classed("region",!0),f.exit().remove();var h=f.size();f.each(function(v,d){if(!(d!==h-1&&!v.cNext)){var _=Dwe(v,i,a,c),b=_[0],p=_[1],E="";b[0]!==q_&&p[0]!==q_&&b[1]!==q_&&p[1]!==q_&&b[2]!==q_&&p[2]!==q_&&b[3]!==q_&&p[3]!==q_&&(c?E+="M"+b[0]+","+p[1]+"L"+b[2]+","+p[2]+"H"+b[3]+"L"+b[1]+","+p[1]+"Z":E+="M"+b[1]+","+p[1]+"L"+b[2]+","+p[3]+"V"+p[2]+"L"+b[1]+","+p[0]+"Z"),E===""&&(E="M0,0Z"),O_.ensureSingle(X8.select(this),"path").attr("d",E).call(Iwe.setClipUrl,t.layerClipId,e)}})})}function G2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;O_.makeTraceGroups(n,r,"trace bars").each(function(o){var s=X8.select(this),l=o[0].trace,u=O_.ensureSingle(s,"g","lines");if(!l.connector||!l.connector.visible||!l.connector.line.width){u.remove();return}var c=l.orientation==="h",f=u.selectAll("g.line").data(O_.identity);f.enter().append("g").classed("line",!0),f.exit().remove();var h=f.size();f.each(function(v,d){if(!(d!==h-1&&!v.cNext)){var _=Dwe(v,i,a,c),b=_[0],p=_[1],E="";b[3]!==void 0&&p[3]!==void 0&&(c?(E+="M"+b[0]+","+p[1]+"L"+b[2]+","+p[2],E+="M"+b[1]+","+p[1]+"L"+b[3]+","+p[2]):(E+="M"+b[1]+","+p[1]+"L"+b[2]+","+p[3],E+="M"+b[1]+","+p[0]+"L"+b[2]+","+p[2])),E===""&&(E="M0,0Z"),O_.ensureSingle(X8.select(this),"path").attr("d",E).call(Iwe.setClipUrl,t.layerClipId,e)}})})}function Dwe(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),i[3]=o.c2p(e.nextS1,!0),a[3]=s.c2p(e.nextP1,!0),n?[i,a]:[a,i]}});var Owe=ye((Bur,qwe)=>{"use strict";var X4=ba(),Fwe=ao(),oG=va(),j2t=G1().DESELECTDIM,W2t=G0(),Z2t=bv().resizeText,X2t=W2t.styleTextPoints;function Y2t(e,t,r){var n=r||X4.select(e).selectAll('g[class^="funnellayer"]').selectAll("g.trace");Z2t(e,n,"funnel"),n.style("opacity",function(i){return i[0].trace.opacity}),n.each(function(i){var a=X4.select(this),o=i[0].trace;a.selectAll(".point > path").each(function(s){if(!s.isBlank){var l=o.marker;X4.select(this).call(oG.fill,s.mc||l.color).call(oG.stroke,s.mlc||l.line.color).call(Fwe.dashLine,l.line.dash,s.mlw||l.line.width).style("opacity",o.selectedpoints&&!s.selected?j2t:1)}}),X2t(a,o,e),a.selectAll(".regions").each(function(){X4.select(this).selectAll("path").style("stroke-width",0).call(oG.fill,o.connector.fillcolor)}),a.selectAll(".lines").each(function(){var s=o.connector.line;Fwe.lineGroupStyle(X4.select(this).selectAll("path"),s.width,s.color,s.dash)})})}qwe.exports={style:Y2t}});var Uwe=ye((Nur,Nwe)=>{"use strict";var Bwe=va().opacity,K2t=RT().hoverOnBars,sG=Ar().formatPercent;Nwe.exports=function(t,r,n,i,a){var o=K2t(t,r,n,i,a);if(o){var s=o.cd,l=s[0].trace,u=l.orientation==="h",c=o.index,f=s[c],h=u?"x":"y";o[h+"LabelVal"]=f.s,o.percentInitial=f.begR,o.percentInitialLabel=sG(f.begR,1),o.percentPrevious=f.difR,o.percentPreviousLabel=sG(f.difR,1),o.percentTotal=f.sumR,o.percentTotalLabel=sG(f.sumR,1);var v=f.hi||l.hoverinfo,d=[];if(v&&v!=="none"&&v!=="skip"){var _=v==="all",b=v.split("+"),p=function(E){return _||b.indexOf(E)!==-1};p("percent initial")&&d.push(o.percentInitialLabel+" of initial"),p("percent previous")&&d.push(o.percentPreviousLabel+" of previous"),p("percent total")&&d.push(o.percentTotalLabel+" of total")}return o.extraText=d.join("
"),o.color=J2t(l,f),[o]}};function J2t(e,t){var r=e.marker,n=t.mc||r.color,i=t.mlc||r.line.color,a=t.mlw||r.line.width;if(Bwe(n))return n;if(Bwe(i)&&a)return i}});var Hwe=ye((Uur,Vwe)=>{"use strict";Vwe.exports=function(t,r){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,"percentInitial"in r&&(t.percentInitial=r.percentInitial),"percentPrevious"in r&&(t.percentPrevious=r.percentPrevious),"percentTotal"in r&&(t.percentTotal=r.percentTotal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var jwe=ye((Vur,Gwe)=>{"use strict";Gwe.exports={attributes:tG(),layoutAttributes:rG(),supplyDefaults:nG().supplyDefaults,crossTraceDefaults:nG().crossTraceDefaults,supplyLayoutDefaults:wwe(),calc:kwe(),crossTraceCalc:Pwe(),plot:zwe(),style:Owe().style,hoverPoints:Uwe(),eventData:Hwe(),selectPoints:zT(),moduleType:"trace",name:"funnel",basePlotModule:Qf(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}});var Zwe=ye((Hur,Wwe)=>{"use strict";Wwe.exports=jwe()});var Ywe=ye((Gur,Xwe)=>{"use strict";Xwe.exports={eventDataKeys:["initial","delta","final"]}});var cG=ye((jur,$we)=>{"use strict";var Hu=Im(),lG=Uc().line,$2t=vl(),Kwe=Oc().axisHoverFormat,Q2t=Wo().hovertemplateAttrs,ewt=Wo().texttemplateAttrs,Jwe=Ywe(),QT=no().extendFlat,twt=va();function uG(e){return{marker:{color:QT({},Hu.marker.color,{arrayOk:!1,editType:"style"}),line:{color:QT({},Hu.marker.line.color,{arrayOk:!1,editType:"style"}),width:QT({},Hu.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}$we.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:Hu.x,x0:Hu.x0,dx:Hu.dx,y:Hu.y,y0:Hu.y0,dy:Hu.dy,xperiod:Hu.xperiod,yperiod:Hu.yperiod,xperiod0:Hu.xperiod0,yperiod0:Hu.yperiod0,xperiodalignment:Hu.xperiodalignment,yperiodalignment:Hu.yperiodalignment,xhoverformat:Kwe("x"),yhoverformat:Kwe("y"),hovertext:Hu.hovertext,hovertemplate:Q2t({},{keys:Jwe.eventDataKeys}),hoverinfo:QT({},$2t.hoverinfo,{flags:["name","x","y","text","initial","delta","final"]}),textinfo:{valType:"flaglist",flags:["label","text","initial","delta","final"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:ewt({editType:"plot"},{keys:Jwe.eventDataKeys.concat(["label"])}),text:Hu.text,textposition:Hu.textposition,insidetextanchor:Hu.insidetextanchor,textangle:Hu.textangle,textfont:Hu.textfont,insidetextfont:Hu.insidetextfont,outsidetextfont:Hu.outsidetextfont,constraintext:Hu.constraintext,cliponaxis:Hu.cliponaxis,orientation:Hu.orientation,offset:Hu.offset,width:Hu.width,increasing:uG("increasing"),decreasing:uG("decreasing"),totals:uG("intermediate sums and total"),connector:{line:{color:QT({},lG.color,{dflt:twt.defaultLine}),width:QT({},lG.width,{editType:"plot"}),dash:lG.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:Hu.offsetgroup,alignmentgroup:Hu.alignmentgroup,zorder:Hu.zorder}});var fG=ye((Wur,Qwe)=>{"use strict";Qwe.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}});var e5=ye((Zur,e3e)=>{"use strict";e3e.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"\u25B2"},DECREASING:{COLOR:"#FF4136",SYMBOL:"\u25BC"}}});var dG=ye((Xur,n3e)=>{"use strict";var t3e=Ar(),rwt=$b(),iwt=a0().handleText,nwt=sT(),awt=Dg(),r3e=cG(),owt=va(),i3e=e5(),swt=i3e.INCREASING.COLOR,lwt=i3e.DECREASING.COLOR,uwt="#4499FF";function hG(e,t,r){e(t+".marker.color",r),e(t+".marker.line.color",owt.defaultLine),e(t+".marker.line.width")}function cwt(e,t,r,n){function i(u,c){return t3e.coerce(e,t,r3e,u,c)}var a=nwt(e,t,n,i);if(!a){t.visible=!1;return}awt(e,t,n,i),i("xhoverformat"),i("yhoverformat"),i("measure"),i("orientation",t.x&&!t.y?"h":"v"),i("base"),i("offset"),i("width"),i("text"),i("hovertext"),i("hovertemplate");var o=i("textposition");iwt(e,t,n,i,o,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!=="none"&&(i("texttemplate"),t.texttemplate||i("textinfo")),hG(i,"increasing",swt),hG(i,"decreasing",lwt),hG(i,"totals",uwt);var s=i("connector.visible");if(s){i("connector.mode");var l=i("connector.line.width");l&&(i("connector.line.color"),i("connector.line.dash"))}i("zorder")}function fwt(e,t){var r,n;function i(o){return t3e.coerce(n._input,n,r3e,o)}if(t.waterfallmode==="group")for(var a=0;a{"use strict";var hwt=Ar(),dwt=fG();a3e.exports=function(e,t,r){var n=!1;function i(s,l){return hwt.coerce(e,t,dwt,s,l)}for(var a=0;a{"use strict";var s3e=Xa(),l3e=zg(),u3e=Ar().mergeArray,vwt=N0(),c3e=Yo().BADNUM;function vG(e){return e==="a"||e==="absolute"}function pG(e){return e==="t"||e==="total"}f3e.exports=function(t,r){var n=s3e.getFromId(t,r.xaxis||"x"),i=s3e.getFromId(t,r.yaxis||"y"),a,o,s,l,u,c;r.orientation==="h"?(a=n.makeCalcdata(r,"x"),s=i.makeCalcdata(r,"y"),l=l3e(r,i,"y",s),u=!!r.yperiodalignment,c="y"):(a=i.makeCalcdata(r,"y"),s=n.makeCalcdata(r,"x"),l=l3e(r,n,"x",s),u=!!r.xperiodalignment,c="x"),o=l.vals;for(var f=Math.min(o.length,a.length),h=new Array(f),v=0,d,_=!1,b=0;b{"use strict";var d3e=Qb().setGroupPositions;v3e.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h{"use strict";var g3e=ba(),Y8=Ar(),pwt=ao(),t5=Yo().BADNUM,gwt=h2(),mwt=bv().clearMinTextSize;m3e.exports=function(t,r,n,i){var a=t._fullLayout;mwt("waterfall",a),gwt.plot(t,r,n,i,{mode:a.waterfallmode,norm:a.waterfallmode,gap:a.waterfallgap,groupgap:a.waterfallgroupgap}),ywt(t,r,n,i)};function ywt(e,t,r,n){var i=t.xaxis,a=t.yaxis;Y8.makeTraceGroups(n,r,"trace bars").each(function(o){var s=g3e.select(this),l=o[0].trace,u=Y8.ensureSingle(s,"g","lines");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation==="h",f=l.connector.mode,h=u.selectAll("g.line").data(Y8.identity);h.enter().append("g").classed("line",!0),h.exit().remove();var v=h.size();h.each(function(d,_){if(!(_!==v-1&&!d.cNext)){var b=_wt(d,i,a,c),p=b[0],E=b[1],k="";p[0]!==t5&&E[0]!==t5&&p[1]!==t5&&E[1]!==t5&&(f==="spanning"&&!d.isSum&&_>0&&(c?k+="M"+p[0]+","+E[1]+"V"+E[0]:k+="M"+p[1]+","+E[0]+"H"+p[0]),f!=="between"&&(d.isSum||_{"use strict";var K8=ba(),_3e=ao(),x3e=va(),xwt=G1().DESELECTDIM,bwt=G0(),wwt=bv().resizeText,Twt=bwt.styleTextPoints;function Awt(e,t,r){var n=r||K8.select(e).selectAll('g[class^="waterfalllayer"]').selectAll("g.trace");wwt(e,n,"waterfall"),n.style("opacity",function(i){return i[0].trace.opacity}),n.each(function(i){var a=K8.select(this),o=i[0].trace;a.selectAll(".point > path").each(function(s){if(!s.isBlank){var l=o[s.dir].marker;K8.select(this).call(x3e.fill,l.color).call(x3e.stroke,l.line.color).call(_3e.dashLine,l.line.dash,l.line.width).style("opacity",o.selectedpoints&&!s.selected?xwt:1)}}),Twt(a,o,e),a.selectAll(".lines").each(function(){var s=o.connector.line;_3e.lineGroupStyle(K8.select(this).selectAll("path"),s.width,s.color,s.dash)})})}b3e.exports={style:Awt}});var E3e=ye((ecr,M3e)=>{"use strict";var Swt=Xa().hoverLabelText,T3e=va().opacity,Mwt=RT().hoverOnBars,A3e=e5(),S3e={increasing:A3e.INCREASING.SYMBOL,decreasing:A3e.DECREASING.SYMBOL};M3e.exports=function(t,r,n,i,a){var o=Mwt(t,r,n,i,a);if(!o)return;var s=o.cd,l=s[0].trace,u=l.orientation==="h",c=u?"x":"y",f=u?t.xa:t.ya;function h(x){return Swt(f,x,l[c+"hoverformat"])}var v=o.index,d=s[v],_=d.isSum?d.b+d.s:d.rawS;o.initial=d.b+d.s-_,o.delta=_,o.final=o.initial+o.delta;var b=h(Math.abs(o.delta));o.deltaLabel=_<0?"("+b+")":b,o.finalLabel=h(o.final),o.initialLabel=h(o.initial);var p=d.hi||l.hoverinfo,E=[];if(p&&p!=="none"&&p!=="skip"){var k=p==="all",S=p.split("+"),L=function(x){return k||S.indexOf(x)!==-1};d.isSum||(L("final")&&(u?!L("x"):!L("y"))&&E.push(o.finalLabel),L("delta")&&(_<0?E.push(o.deltaLabel+" "+S3e.decreasing):E.push(o.deltaLabel+" "+S3e.increasing)),L("initial")&&E.push("Initial: "+o.initialLabel))}return E.length&&(o.extraText=E.join("
")),o.color=Ewt(l,d),[o]};function Ewt(e,t){var r=e[t.dir].marker,n=r.color,i=r.line.color,a=r.line.width;if(T3e(n))return n;if(T3e(i)&&a)return i}});var C3e=ye((tcr,k3e)=>{"use strict";k3e.exports=function(t,r){return t.x="xVal"in r?r.xVal:r.x,t.y="yVal"in r?r.yVal:r.y,"initial"in r&&(t.initial=r.initial),"delta"in r&&(t.delta=r.delta),"final"in r&&(t.final=r.final),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var P3e=ye((rcr,L3e)=>{"use strict";L3e.exports={attributes:cG(),layoutAttributes:fG(),supplyDefaults:dG().supplyDefaults,crossTraceDefaults:dG().crossTraceDefaults,supplyLayoutDefaults:o3e(),calc:h3e(),crossTraceCalc:p3e(),plot:y3e(),style:w3e().style,hoverPoints:E3e(),eventData:C3e(),selectPoints:zT(),moduleType:"trace",name:"waterfall",basePlotModule:Qf(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}});var D3e=ye((icr,I3e)=>{"use strict";I3e.exports=P3e()});var r5=ye((ncr,R3e)=>{"use strict";R3e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(e){return e.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:["","","",""]},rgba256:{colormodel:"rgba",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(e){var t=e.slice(0,3);return t[1]=t[1]+"%",t[2]=t[2]+"%",t},suffix:["\xB0","%","%"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(e){var t=e.slice(0,4);return t[1]=t[1]+"%",t[2]=t[2]+"%",t},suffix:["\xB0","%","%",""]}}}});var gG=ye((acr,F3e)=>{"use strict";var kwt=vl(),Cwt=Uc().zorder,Lwt=Wo().hovertemplateAttrs,z3e=no().extendFlat,Pwt=r5().colormodel,K4=["rgb","rgba","rgba256","hsl","hsla"],Iwt=[],Dwt=[];for(i5=0;i5{"use strict";var Rwt=Ar(),zwt=gG(),q3e=r5(),Fwt=Dy().IMAGE_URL_PREFIX;O3e.exports=function(t,r){function n(o,s){return Rwt.coerce(t,r,zwt,o,s)}n("source"),r.source&&!r.source.match(Fwt)&&delete r.source,r._hasSource=!!r.source;var i=n("z");if(r._hasZ=!(i===void 0||!i.length||!i[0]||!i[0].length),!r._hasZ&&!r._hasSource){r.visible=!1;return}n("x0"),n("y0"),n("dx"),n("dy");var a;r._hasZ?(n("colormodel","rgb"),a=q3e.colormodel[r.colormodel],n("zmin",a.zminDflt||a.min),n("zmax",a.zmaxDflt||a.max)):r._hasSource&&(r.colormodel="rgba256",a=q3e.colormodel[r.colormodel],r.zmin=a.zminDflt,r.zmax=a.zmaxDflt),n("zsmooth"),n("text"),n("hovertext"),n("hovertemplate"),r._length=null,n("zorder")}});var Gy=ye((scr,mG)=>{typeof Object.create=="function"?mG.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:mG.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}});var yG=ye((lcr,N3e)=>{N3e.exports=Tb().EventEmitter});var H3e=ye(J8=>{"use strict";J8.byteLength=Owt;J8.toByteArray=Nwt;J8.fromByteArray=Hwt;var Om=[],J0=[],qwt=typeof Uint8Array!="undefined"?Uint8Array:Array,_G="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(g2=0,U3e=_G.length;g20)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function Owt(e){var t=V3e(e),r=t[0],n=t[1];return(r+n)*3/4-n}function Bwt(e,t,r){return(t+r)*3/4-r}function Nwt(e){var t,r=V3e(e),n=r[0],i=r[1],a=new qwt(Bwt(e,n,i)),o=0,s=i>0?n-4:n,l;for(l=0;l>16&255,a[o++]=t>>8&255,a[o++]=t&255;return i===2&&(t=J0[e.charCodeAt(l)]<<2|J0[e.charCodeAt(l+1)]>>4,a[o++]=t&255),i===1&&(t=J0[e.charCodeAt(l)]<<10|J0[e.charCodeAt(l+1)]<<4|J0[e.charCodeAt(l+2)]>>2,a[o++]=t>>8&255,a[o++]=t&255),a}function Uwt(e){return Om[e>>18&63]+Om[e>>12&63]+Om[e>>6&63]+Om[e&63]}function Vwt(e,t,r){for(var n,i=[],a=t;as?s:o+a));return n===1?(t=e[r-1],i.push(Om[t>>2]+Om[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Om[t>>10]+Om[t>>4&63]+Om[t<<2&63]+"=")),i.join("")}});var G3e=ye(xG=>{xG.read=function(e,t,r,n,i){var a,o,s=i*8-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,v=e[t+f];for(f+=h,a=v&(1<<-c)-1,v>>=-c,c+=s;c>0;a=a*256+e[t+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=o*256+e[t+f],f+=h,c-=8);if(a===0)a=1-u;else{if(a===l)return o?NaN:(v?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-u}return(v?-1:1)*o*Math.pow(2,a-n)};xG.write=function(e,t,r,n,i,a){var o,s,l,u=a*8-i-1,c=(1<>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,v=n?0:a-1,d=n?1:-1,_=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+f>=1?t+=h/l:t+=h*Math.pow(2,1-f),t*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(t*l-1)*Math.pow(2,i),o=o+f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;e[r+v]=s&255,v+=d,s/=256,i-=8);for(o=o<0;e[r+v]=o&255,v+=d,o/=256,u-=8);e[r+v-d]|=_*128}});var y2=ye(s5=>{"use strict";var bG=H3e(),a5=G3e(),j3e=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;s5.Buffer=In;s5.SlowBuffer=Ywt;s5.INSPECT_MAX_BYTES=50;var $8=2147483647;s5.kMaxLength=$8;In.TYPED_ARRAY_SUPPORT=Gwt();!In.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Gwt(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch(e){return!1}}Object.defineProperty(In.prototype,"parent",{enumerable:!0,get:function(){if(In.isBuffer(this))return this.buffer}});Object.defineProperty(In.prototype,"offset",{enumerable:!0,get:function(){if(In.isBuffer(this))return this.byteOffset}});function jy(e){if(e>$8)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,In.prototype),t}function In(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return SG(e)}return Y3e(e,t,r)}In.poolSize=8192;function Y3e(e,t,r){if(typeof e=="string")return Wwt(e,t);if(ArrayBuffer.isView(e))return Zwt(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Bm(e,ArrayBuffer)||e&&Bm(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(Bm(e,SharedArrayBuffer)||e&&Bm(e.buffer,SharedArrayBuffer)))return TG(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return In.from(n,t,r);let i=Xwt(e);if(i)return i;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return In.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}In.from=function(e,t,r){return Y3e(e,t,r)};Object.setPrototypeOf(In.prototype,Uint8Array.prototype);Object.setPrototypeOf(In,Uint8Array);function K3e(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function jwt(e,t,r){return K3e(e),e<=0?jy(e):t!==void 0?typeof r=="string"?jy(e).fill(t,r):jy(e).fill(t):jy(e)}In.alloc=function(e,t,r){return jwt(e,t,r)};function SG(e){return K3e(e),jy(e<0?0:MG(e)|0)}In.allocUnsafe=function(e){return SG(e)};In.allocUnsafeSlow=function(e){return SG(e)};function Wwt(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!In.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=J3e(e,t)|0,n=jy(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function wG(e){let t=e.length<0?0:MG(e.length)|0,r=jy(t);for(let n=0;n=$8)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+$8.toString(16)+" bytes");return e|0}function Ywt(e){return+e!=e&&(e=0),In.alloc(+e)}In.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==In.prototype};In.compare=function(t,r){if(Bm(t,Uint8Array)&&(t=In.from(t,t.offset,t.byteLength)),Bm(r,Uint8Array)&&(r=In.from(r,r.offset,r.byteLength)),!In.isBuffer(t)||!In.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let a=0,o=Math.min(n,i);ai.length?(In.isBuffer(o)||(o=In.from(o)),o.copy(i,a)):Uint8Array.prototype.set.call(i,o,a);else if(In.isBuffer(o))o.copy(i,a);else throw new TypeError('"list" argument must be an Array of Buffers');a+=o.length}return i};function J3e(e,t){if(In.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Bm(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return AG(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return oTe(e).length;default:if(i)return n?-1:AG(e).length;t=(""+t).toLowerCase(),i=!0}}In.byteLength=J3e;function Kwt(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return o3t(this,t,r);case"utf8":case"utf-8":return Q3e(this,t,r);case"ascii":return n3t(this,t,r);case"latin1":case"binary":return a3t(this,t,r);case"base64":return r3t(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return s3t(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}In.prototype._isBuffer=!0;function m2(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}In.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(t+=" ... "),""};j3e&&(In.prototype[j3e]=In.prototype.inspect);In.prototype.compare=function(t,r,n,i,a){if(Bm(t,Uint8Array)&&(t=In.from(t,t.offset,t.byteLength)),!In.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError("out of range index");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;let o=a-i,s=n-r,l=Math.min(o,s),u=this.slice(i,a),c=t.slice(r,n);for(let f=0;f2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,kG(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=In.from(t,n)),In.isBuffer(t))return t.length===0?-1:W3e(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):W3e(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function W3e(e,t,r,n,i){let a=1,o=e.length,s=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function l(c,f){return a===1?c[f]:c.readUInt16BE(f*a)}let u;if(i){let c=-1;for(u=r;uo&&(r=o-s),u=r;u>=0;u--){let c=!0;for(let f=0;fi&&(n=i)):n=i;let a=t.length;n>a/2&&(n=a/2);let o;for(o=0;o>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let o=!1;for(;;)switch(i){case"hex":return Jwt(this,t,r,n);case"utf8":case"utf-8":return $wt(this,t,r,n);case"ascii":case"latin1":case"binary":return Qwt(this,t,r,n);case"base64":return e3t(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return t3t(this,t,r,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}};In.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function r3t(e,t,r){return t===0&&r===e.length?bG.fromByteArray(e):bG.fromByteArray(e.slice(t,r))}function Q3e(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:a>223?3:a>191?2:1;if(i+s<=r){let l,u,c,f;switch(s){case 1:a<128&&(o=a);break;case 2:l=e[i+1],(l&192)===128&&(f=(a&31)<<6|l&63,f>127&&(o=f));break;case 3:l=e[i+1],u=e[i+2],(l&192)===128&&(u&192)===128&&(f=(a&15)<<12|(l&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:l=e[i+1],u=e[i+2],c=e[i+3],(l&192)===128&&(u&192)===128&&(c&192)===128&&(f=(a&15)<<18|(l&63)<<12|(u&63)<<6|c&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=s}return i3t(n)}var Z3e=4096;function i3t(e){let t=e.length;if(t<=Z3e)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let a=t;an&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError("Trying to access beyond buffer length")}In.prototype.readUintLE=In.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||Qd(t,r,this.length);let i=this[t],a=1,o=0;for(;++o>>0,r=r>>>0,n||Qd(t,r,this.length);let i=this[t+--r],a=1;for(;r>0&&(a*=256);)i+=this[t+--r]*a;return i};In.prototype.readUint8=In.prototype.readUInt8=function(t,r){return t=t>>>0,r||Qd(t,1,this.length),this[t]};In.prototype.readUint16LE=In.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||Qd(t,2,this.length),this[t]|this[t+1]<<8};In.prototype.readUint16BE=In.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||Qd(t,2,this.length),this[t]<<8|this[t+1]};In.prototype.readUint32LE=In.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||Qd(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};In.prototype.readUint32BE=In.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||Qd(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};In.prototype.readBigUInt64LE=B_(function(t){t=t>>>0,o5(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&J4(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,a=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(a)<>>0,o5(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&J4(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],a=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<>>0,r=r>>>0,n||Qd(t,r,this.length);let i=this[t],a=1,o=0;for(;++o=a&&(i-=Math.pow(2,8*r)),i};In.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||Qd(t,r,this.length);let i=r,a=1,o=this[t+--i];for(;i>0&&(a*=256);)o+=this[t+--i]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o};In.prototype.readInt8=function(t,r){return t=t>>>0,r||Qd(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};In.prototype.readInt16LE=function(t,r){t=t>>>0,r||Qd(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};In.prototype.readInt16BE=function(t,r){t=t>>>0,r||Qd(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};In.prototype.readInt32LE=function(t,r){return t=t>>>0,r||Qd(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};In.prototype.readInt32BE=function(t,r){return t=t>>>0,r||Qd(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};In.prototype.readBigInt64LE=B_(function(t){t=t>>>0,o5(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&J4(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<>>0,o5(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&J4(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<>>0,r||Qd(t,4,this.length),a5.read(this,t,!0,23,4)};In.prototype.readFloatBE=function(t,r){return t=t>>>0,r||Qd(t,4,this.length),a5.read(this,t,!1,23,4)};In.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||Qd(t,8,this.length),a5.read(this,t,!0,52,8)};In.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||Qd(t,8,this.length),a5.read(this,t,!1,52,8)};function Fp(e,t,r,n,i,a){if(!In.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}In.prototype.writeUintLE=In.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Fp(this,t,r,n,s,0)}let a=1,o=0;for(this[r]=t&255;++o>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Fp(this,t,r,n,s,0)}let a=n-1,o=1;for(this[r+a]=t&255;--a>=0&&(o*=256);)this[r+a]=t/o&255;return r+n};In.prototype.writeUint8=In.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Fp(this,t,r,1,255,0),this[r]=t&255,r+1};In.prototype.writeUint16LE=In.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Fp(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};In.prototype.writeUint16BE=In.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Fp(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};In.prototype.writeUint32LE=In.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Fp(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};In.prototype.writeUint32BE=In.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Fp(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function eTe(e,t,r,n,i){aTe(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,r}function tTe(e,t,r,n,i){aTe(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a=a>>8,e[r+6]=a,a=a>>8,e[r+5]=a,a=a>>8,e[r+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o=o>>8,e[r+2]=o,o=o>>8,e[r+1]=o,o=o>>8,e[r]=o,r+8}In.prototype.writeBigUInt64LE=B_(function(t,r=0){return eTe(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});In.prototype.writeBigUInt64BE=B_(function(t,r=0){return tTe(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});In.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Fp(this,t,r,n,l-1,-l)}let a=0,o=1,s=0;for(this[r]=t&255;++a>0)-s&255;return r+n};In.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Fp(this,t,r,n,l-1,-l)}let a=n-1,o=1,s=0;for(this[r+a]=t&255;--a>=0&&(o*=256);)t<0&&s===0&&this[r+a+1]!==0&&(s=1),this[r+a]=(t/o>>0)-s&255;return r+n};In.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Fp(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};In.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Fp(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};In.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Fp(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};In.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Fp(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};In.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Fp(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};In.prototype.writeBigInt64LE=B_(function(t,r=0){return eTe(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});In.prototype.writeBigInt64BE=B_(function(t,r=0){return tTe(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function rTe(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function iTe(e,t,r,n,i){return t=+t,r=r>>>0,i||rTe(e,t,r,4,34028234663852886e22,-34028234663852886e22),a5.write(e,t,r,n,23,4),r+4}In.prototype.writeFloatLE=function(t,r,n){return iTe(this,t,r,!0,n)};In.prototype.writeFloatBE=function(t,r,n){return iTe(this,t,r,!1,n)};function nTe(e,t,r,n,i){return t=+t,r=r>>>0,i||rTe(e,t,r,8,17976931348623157e292,-17976931348623157e292),a5.write(e,t,r,n,52,8),r+8}In.prototype.writeDoubleLE=function(t,r,n){return nTe(this,t,r,!0,n)};In.prototype.writeDoubleBE=function(t,r,n){return nTe(this,t,r,!1,n)};In.prototype.copy=function(t,r,n,i){if(!In.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let a;if(typeof t=="number")for(a=r;a2**32?i=X3e(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=X3e(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function X3e(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function l3t(e,t,r){o5(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&J4(t,e.length-(r+1))}function aTe(e,t,r,n,i,a){if(e>r||e3?t===0||t===BigInt(0)?s=`>= 0${o} and < 2${o} ** ${(a+1)*8}${o}`:s=`>= -(2${o} ** ${(a+1)*8-1}${o}) and < 2 ** ${(a+1)*8-1}${o}`:s=`>= ${t}${o} and <= ${r}${o}`,new n5.ERR_OUT_OF_RANGE("value",s,e)}l3t(n,i,a)}function o5(e,t){if(typeof e!="number")throw new n5.ERR_INVALID_ARG_TYPE(t,"number",e)}function J4(e,t,r){throw Math.floor(e)!==e?(o5(e,r),new n5.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new n5.ERR_BUFFER_OUT_OF_BOUNDS:new n5.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var u3t=/[^+/0-9A-Za-z-_]/g;function c3t(e){if(e=e.split("=")[0],e=e.trim().replace(u3t,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function AG(e,t){t=t||1/0;let r,n=e.length,i=null,a=[];for(let o=0;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return a}function f3t(e){let t=[];for(let r=0;r>8,i=r%256,a.push(i),a.push(n);return a}function oTe(e){return bG.toByteArray(c3t(e))}function Q8(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Bm(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function kG(e){return e!==e}var d3t=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function B_(e){return typeof BigInt=="undefined"?v3t:e}function v3t(){throw new Error("BigInt not supported")}});var eD=ye((dcr,sTe)=>{"use strict";sTe.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var i=42;t[r]=i;for(r in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var a=Object.getOwnPropertySymbols(t);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var o=Object.getOwnPropertyDescriptor(t,r);if(o.value!==i||o.enumerable!==!0)return!1}return!0}});var $4=ye((vcr,lTe)=>{"use strict";var p3t=eD();lTe.exports=function(){return p3t()&&!!Symbol.toStringTag}});var cTe=ye((pcr,uTe)=>{"use strict";uTe.exports=Error});var hTe=ye((gcr,fTe)=>{"use strict";fTe.exports=EvalError});var vTe=ye((mcr,dTe)=>{"use strict";dTe.exports=RangeError});var gTe=ye((ycr,pTe)=>{"use strict";pTe.exports=ReferenceError});var CG=ye((_cr,mTe)=>{"use strict";mTe.exports=SyntaxError});var Q4=ye((xcr,yTe)=>{"use strict";yTe.exports=TypeError});var xTe=ye((bcr,_Te)=>{"use strict";_Te.exports=URIError});var TTe=ye((wcr,wTe)=>{"use strict";var bTe=typeof Symbol!="undefined"&&Symbol,g3t=eD();wTe.exports=function(){return typeof bTe!="function"||typeof Symbol!="function"||typeof bTe("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:g3t()}});var MTe=ye((Tcr,STe)=>{"use strict";var ATe={foo:{}},m3t=Object;STe.exports=function(){return{__proto__:ATe}.foo===ATe.foo&&!({__proto__:null}instanceof m3t)}});var CTe=ye((Acr,kTe)=>{"use strict";var y3t="Function.prototype.bind called on incompatible ",_3t=Object.prototype.toString,x3t=Math.max,b3t="[object Function]",ETe=function(t,r){for(var n=[],i=0;i{"use strict";var A3t=CTe();LTe.exports=Function.prototype.bind||A3t});var ITe=ye((Mcr,PTe)=>{"use strict";var S3t=Function.prototype.call,M3t=Object.prototype.hasOwnProperty,E3t=tD();PTe.exports=E3t.call(S3t,M3t)});var h5=ye((Ecr,qTe)=>{"use strict";var Gl,k3t=cTe(),C3t=hTe(),L3t=vTe(),P3t=gTe(),f5=CG(),c5=Q4(),I3t=xTe(),FTe=Function,LG=function(e){try{return FTe('"use strict"; return ('+e+").constructor;")()}catch(t){}},_2=Object.getOwnPropertyDescriptor;if(_2)try{_2({},"")}catch(e){_2=null}var PG=function(){throw new c5},D3t=_2?function(){try{return arguments.callee,PG}catch(e){try{return _2(arguments,"callee").get}catch(t){return PG}}}():PG,l5=TTe()(),R3t=MTe()(),ev=Object.getPrototypeOf||(R3t?function(e){return e.__proto__}:null),u5={},z3t=typeof Uint8Array=="undefined"||!ev?Gl:ev(Uint8Array),x2={__proto__:null,"%AggregateError%":typeof AggregateError=="undefined"?Gl:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer=="undefined"?Gl:ArrayBuffer,"%ArrayIteratorPrototype%":l5&&ev?ev([][Symbol.iterator]()):Gl,"%AsyncFromSyncIteratorPrototype%":Gl,"%AsyncFunction%":u5,"%AsyncGenerator%":u5,"%AsyncGeneratorFunction%":u5,"%AsyncIteratorPrototype%":u5,"%Atomics%":typeof Atomics=="undefined"?Gl:Atomics,"%BigInt%":typeof BigInt=="undefined"?Gl:BigInt,"%BigInt64Array%":typeof BigInt64Array=="undefined"?Gl:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array=="undefined"?Gl:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView=="undefined"?Gl:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":k3t,"%eval%":eval,"%EvalError%":C3t,"%Float32Array%":typeof Float32Array=="undefined"?Gl:Float32Array,"%Float64Array%":typeof Float64Array=="undefined"?Gl:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry=="undefined"?Gl:FinalizationRegistry,"%Function%":FTe,"%GeneratorFunction%":u5,"%Int8Array%":typeof Int8Array=="undefined"?Gl:Int8Array,"%Int16Array%":typeof Int16Array=="undefined"?Gl:Int16Array,"%Int32Array%":typeof Int32Array=="undefined"?Gl:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":l5&&ev?ev(ev([][Symbol.iterator]())):Gl,"%JSON%":typeof JSON=="object"?JSON:Gl,"%Map%":typeof Map=="undefined"?Gl:Map,"%MapIteratorPrototype%":typeof Map=="undefined"||!l5||!ev?Gl:ev(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise=="undefined"?Gl:Promise,"%Proxy%":typeof Proxy=="undefined"?Gl:Proxy,"%RangeError%":L3t,"%ReferenceError%":P3t,"%Reflect%":typeof Reflect=="undefined"?Gl:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set=="undefined"?Gl:Set,"%SetIteratorPrototype%":typeof Set=="undefined"||!l5||!ev?Gl:ev(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer=="undefined"?Gl:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":l5&&ev?ev(""[Symbol.iterator]()):Gl,"%Symbol%":l5?Symbol:Gl,"%SyntaxError%":f5,"%ThrowTypeError%":D3t,"%TypedArray%":z3t,"%TypeError%":c5,"%Uint8Array%":typeof Uint8Array=="undefined"?Gl:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray=="undefined"?Gl:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array=="undefined"?Gl:Uint16Array,"%Uint32Array%":typeof Uint32Array=="undefined"?Gl:Uint32Array,"%URIError%":I3t,"%WeakMap%":typeof WeakMap=="undefined"?Gl:WeakMap,"%WeakRef%":typeof WeakRef=="undefined"?Gl:WeakRef,"%WeakSet%":typeof WeakSet=="undefined"?Gl:WeakSet};if(ev)try{null.error}catch(e){DTe=ev(ev(e)),x2["%Error.prototype%"]=DTe}var DTe,F3t=function e(t){var r;if(t==="%AsyncFunction%")r=LG("async function () {}");else if(t==="%GeneratorFunction%")r=LG("function* () {}");else if(t==="%AsyncGeneratorFunction%")r=LG("async function* () {}");else if(t==="%AsyncGenerator%"){var n=e("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=e("%AsyncGenerator%");i&&ev&&(r=ev(i.prototype))}return x2[t]=r,r},RTe={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},eE=tD(),rD=ITe(),q3t=eE.call(Function.call,Array.prototype.concat),O3t=eE.call(Function.apply,Array.prototype.splice),zTe=eE.call(Function.call,String.prototype.replace),iD=eE.call(Function.call,String.prototype.slice),B3t=eE.call(Function.call,RegExp.prototype.exec),N3t=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,U3t=/\\(\\)?/g,V3t=function(t){var r=iD(t,0,1),n=iD(t,-1);if(r==="%"&&n!=="%")throw new f5("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new f5("invalid intrinsic syntax, expected opening `%`");var i=[];return zTe(t,N3t,function(a,o,s,l){i[i.length]=s?zTe(l,U3t,"$1"):o||a}),i},H3t=function(t,r){var n=t,i;if(rD(RTe,n)&&(i=RTe[n],n="%"+i[0]+"%"),rD(x2,n)){var a=x2[n];if(a===u5&&(a=F3t(n)),typeof a=="undefined"&&!r)throw new c5("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:n,value:a}}throw new f5("intrinsic "+t+" does not exist!")};qTe.exports=function(t,r){if(typeof t!="string"||t.length===0)throw new c5("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new c5('"allowMissing" argument must be a boolean');if(B3t(/^%?[^%]*%?$/,t)===null)throw new f5("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=V3t(t),i=n.length>0?n[0]:"",a=H3t("%"+i+"%",r),o=a.name,s=a.value,l=!1,u=a.alias;u&&(i=u[0],O3t(n,q3t([0,1],u)));for(var c=1,f=!0;c=n.length){var _=_2(s,h);f=!!_,f&&"get"in _&&!("originalValue"in _.get)?s=_.get:s=s[h]}else f=rD(s,h),s=s[h];f&&!l&&(x2[o]=s)}}return s}});var aD=ye((kcr,OTe)=>{"use strict";var G3t=h5(),nD=G3t("%Object.defineProperty%",!0)||!1;if(nD)try{nD({},"a",{value:1})}catch(e){nD=!1}OTe.exports=nD});var tE=ye((Ccr,BTe)=>{"use strict";var j3t=h5(),oD=j3t("%Object.getOwnPropertyDescriptor%",!0);if(oD)try{oD([],"length")}catch(e){oD=null}BTe.exports=oD});var HTe=ye((Lcr,VTe)=>{"use strict";var NTe=aD(),W3t=CG(),d5=Q4(),UTe=tE();VTe.exports=function(t,r,n){if(!t||typeof t!="object"&&typeof t!="function")throw new d5("`obj` must be an object or a function`");if(typeof r!="string"&&typeof r!="symbol")throw new d5("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new d5("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new d5("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new d5("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new d5("`loose`, if provided, must be a boolean");var i=arguments.length>3?arguments[3]:null,a=arguments.length>4?arguments[4]:null,o=arguments.length>5?arguments[5]:null,s=arguments.length>6?arguments[6]:!1,l=!!UTe&&UTe(t,r);if(NTe)NTe(t,r,{configurable:o===null&&l?l.configurable:!o,enumerable:i===null&&l?l.enumerable:!i,value:n,writable:a===null&&l?l.writable:!a});else if(s||!i&&!a&&!o)t[r]=n;else throw new W3t("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}});var DG=ye((Pcr,jTe)=>{"use strict";var IG=aD(),GTe=function(){return!!IG};GTe.hasArrayLengthDefineBug=function(){if(!IG)return null;try{return IG([],"length",{value:1}).length!==1}catch(t){return!0}};jTe.exports=GTe});var KTe=ye((Icr,YTe)=>{"use strict";var Z3t=h5(),WTe=HTe(),X3t=DG()(),ZTe=tE(),XTe=Q4(),Y3t=Z3t("%Math.floor%");YTe.exports=function(t,r){if(typeof t!="function")throw new XTe("`fn` is not a function");if(typeof r!="number"||r<0||r>4294967295||Y3t(r)!==r)throw new XTe("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],i=!0,a=!0;if("length"in t&&ZTe){var o=ZTe(t,"length");o&&!o.configurable&&(i=!1),o&&!o.writable&&(a=!1)}return(i||a||!n)&&(X3t?WTe(t,"length",r,!0,!0):WTe(t,"length",r)),t}});var rE=ye((Dcr,sD)=>{"use strict";var RG=tD(),lD=h5(),K3t=KTe(),J3t=Q4(),QTe=lD("%Function.prototype.apply%"),e5e=lD("%Function.prototype.call%"),t5e=lD("%Reflect.apply%",!0)||RG.call(e5e,QTe),JTe=aD(),$3t=lD("%Math.max%");sD.exports=function(t){if(typeof t!="function")throw new J3t("a function is required");var r=t5e(RG,e5e,arguments);return K3t(r,1+$3t(0,t.length-(arguments.length-1)),!0)};var $Te=function(){return t5e(RG,QTe,arguments)};JTe?JTe(sD.exports,"apply",{value:$Te}):sD.exports.apply=$Te});var v5=ye((Rcr,n5e)=>{"use strict";var r5e=h5(),i5e=rE(),Q3t=i5e(r5e("String.prototype.indexOf"));n5e.exports=function(t,r){var n=r5e(t,!!r);return typeof n=="function"&&Q3t(t,".prototype.")>-1?i5e(n):n}});var s5e=ye((zcr,o5e)=>{"use strict";var eTt=$4()(),tTt=v5(),zG=tTt("Object.prototype.toString"),uD=function(t){return eTt&&t&&typeof t=="object"&&Symbol.toStringTag in t?!1:zG(t)==="[object Arguments]"},a5e=function(t){return uD(t)?!0:t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&zG(t)!=="[object Array]"&&zG(t.callee)==="[object Function]"},rTt=function(){return uD(arguments)}();uD.isLegacyArguments=a5e;o5e.exports=rTt?uD:a5e});var c5e=ye((Fcr,u5e)=>{"use strict";var iTt=Object.prototype.toString,nTt=Function.prototype.toString,aTt=/^\s*(?:function)?\*/,l5e=$4()(),FG=Object.getPrototypeOf,oTt=function(){if(!l5e)return!1;try{return Function("return function*() {}")()}catch(e){}},qG;u5e.exports=function(t){if(typeof t!="function")return!1;if(aTt.test(nTt.call(t)))return!0;if(!l5e){var r=iTt.call(t);return r==="[object GeneratorFunction]"}if(!FG)return!1;if(typeof qG=="undefined"){var n=oTt();qG=n?FG(n):!1}return FG(t)===qG}});var v5e=ye((qcr,d5e)=>{"use strict";var h5e=Function.prototype.toString,p5=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,BG,cD;if(typeof p5=="function"&&typeof Object.defineProperty=="function")try{BG=Object.defineProperty({},"length",{get:function(){throw cD}}),cD={},p5(function(){throw 42},null,BG)}catch(e){e!==cD&&(p5=null)}else p5=null;var sTt=/^\s*class\b/,NG=function(t){try{var r=h5e.call(t);return sTt.test(r)}catch(n){return!1}},OG=function(t){try{return NG(t)?!1:(h5e.call(t),!0)}catch(r){return!1}},fD=Object.prototype.toString,lTt="[object Object]",uTt="[object Function]",cTt="[object GeneratorFunction]",fTt="[object HTMLAllCollection]",hTt="[object HTML document.all class]",dTt="[object HTMLCollection]",vTt=typeof Symbol=="function"&&!!Symbol.toStringTag,pTt=!(0 in[,]),UG=function(){return!1};typeof document=="object"&&(f5e=document.all,fD.call(f5e)===fD.call(document.all)&&(UG=function(t){if((pTt||!t)&&(typeof t=="undefined"||typeof t=="object"))try{var r=fD.call(t);return(r===fTt||r===hTt||r===dTt||r===lTt)&&t("")==null}catch(n){}return!1}));var f5e;d5e.exports=p5?function(t){if(UG(t))return!0;if(!t||typeof t!="function"&&typeof t!="object")return!1;try{p5(t,null,BG)}catch(r){if(r!==cD)return!1}return!NG(t)&&OG(t)}:function(t){if(UG(t))return!0;if(!t||typeof t!="function"&&typeof t!="object")return!1;if(vTt)return OG(t);if(NG(t))return!1;var r=fD.call(t);return r!==uTt&&r!==cTt&&!/^\[object HTML/.test(r)?!1:OG(t)}});var VG=ye((Ocr,g5e)=>{"use strict";var gTt=v5e(),mTt=Object.prototype.toString,p5e=Object.prototype.hasOwnProperty,yTt=function(t,r,n){for(var i=0,a=t.length;i=3&&(i=n),mTt.call(t)==="[object Array]"?yTt(t,r,i):typeof t=="string"?_Tt(t,r,i):xTt(t,r,i)};g5e.exports=bTt});var GG=ye((Bcr,m5e)=>{"use strict";var HG=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],wTt=typeof globalThis=="undefined"?window:globalThis;m5e.exports=function(){for(var t=[],r=0;r{"use strict";var dD=VG(),TTt=GG(),y5e=rE(),ZG=v5(),hD=tE(),ATt=ZG("Object.prototype.toString"),x5e=$4()(),_5e=typeof globalThis=="undefined"?window:globalThis,WG=TTt(),XG=ZG("String.prototype.slice"),jG=Object.getPrototypeOf,STt=ZG("Array.prototype.indexOf",!0)||function(t,r){for(var n=0;n-1?r:r!=="Object"?!1:ETt(t)}return hD?MTt(t):null}});var k5e=ye((Ucr,E5e)=>{"use strict";var T5e=VG(),kTt=GG(),KG=v5(),CTt=KG("Object.prototype.toString"),A5e=$4()(),pD=tE(),LTt=typeof globalThis=="undefined"?window:globalThis,S5e=kTt(),PTt=KG("Array.prototype.indexOf",!0)||function(t,r){for(var n=0;n-1}return pD?DTt(t):!1}});var QG=ye(Ol=>{"use strict";var RTt=s5e(),zTt=c5e(),jg=w5e(),C5e=k5e();function g5(e){return e.call.bind(e)}var L5e=typeof BigInt!="undefined",P5e=typeof Symbol!="undefined",$0=g5(Object.prototype.toString),FTt=g5(Number.prototype.valueOf),qTt=g5(String.prototype.valueOf),OTt=g5(Boolean.prototype.valueOf);L5e&&(I5e=g5(BigInt.prototype.valueOf));var I5e;P5e&&(D5e=g5(Symbol.prototype.valueOf));var D5e;function nE(e,t){if(typeof e!="object")return!1;try{return t(e),!0}catch(r){return!1}}Ol.isArgumentsObject=RTt;Ol.isGeneratorFunction=zTt;Ol.isTypedArray=C5e;function BTt(e){return typeof Promise!="undefined"&&e instanceof Promise||e!==null&&typeof e=="object"&&typeof e.then=="function"&&typeof e.catch=="function"}Ol.isPromise=BTt;function NTt(e){return typeof ArrayBuffer!="undefined"&&ArrayBuffer.isView?ArrayBuffer.isView(e):C5e(e)||z5e(e)}Ol.isArrayBufferView=NTt;function UTt(e){return jg(e)==="Uint8Array"}Ol.isUint8Array=UTt;function VTt(e){return jg(e)==="Uint8ClampedArray"}Ol.isUint8ClampedArray=VTt;function HTt(e){return jg(e)==="Uint16Array"}Ol.isUint16Array=HTt;function GTt(e){return jg(e)==="Uint32Array"}Ol.isUint32Array=GTt;function jTt(e){return jg(e)==="Int8Array"}Ol.isInt8Array=jTt;function WTt(e){return jg(e)==="Int16Array"}Ol.isInt16Array=WTt;function ZTt(e){return jg(e)==="Int32Array"}Ol.isInt32Array=ZTt;function XTt(e){return jg(e)==="Float32Array"}Ol.isFloat32Array=XTt;function YTt(e){return jg(e)==="Float64Array"}Ol.isFloat64Array=YTt;function KTt(e){return jg(e)==="BigInt64Array"}Ol.isBigInt64Array=KTt;function JTt(e){return jg(e)==="BigUint64Array"}Ol.isBigUint64Array=JTt;function gD(e){return $0(e)==="[object Map]"}gD.working=typeof Map!="undefined"&&gD(new Map);function $Tt(e){return typeof Map=="undefined"?!1:gD.working?gD(e):e instanceof Map}Ol.isMap=$Tt;function mD(e){return $0(e)==="[object Set]"}mD.working=typeof Set!="undefined"&&mD(new Set);function QTt(e){return typeof Set=="undefined"?!1:mD.working?mD(e):e instanceof Set}Ol.isSet=QTt;function yD(e){return $0(e)==="[object WeakMap]"}yD.working=typeof WeakMap!="undefined"&&yD(new WeakMap);function e5t(e){return typeof WeakMap=="undefined"?!1:yD.working?yD(e):e instanceof WeakMap}Ol.isWeakMap=e5t;function $G(e){return $0(e)==="[object WeakSet]"}$G.working=typeof WeakSet!="undefined"&&$G(new WeakSet);function t5t(e){return $G(e)}Ol.isWeakSet=t5t;function _D(e){return $0(e)==="[object ArrayBuffer]"}_D.working=typeof ArrayBuffer!="undefined"&&_D(new ArrayBuffer);function R5e(e){return typeof ArrayBuffer=="undefined"?!1:_D.working?_D(e):e instanceof ArrayBuffer}Ol.isArrayBuffer=R5e;function xD(e){return $0(e)==="[object DataView]"}xD.working=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"&&xD(new DataView(new ArrayBuffer(1),0,1));function z5e(e){return typeof DataView=="undefined"?!1:xD.working?xD(e):e instanceof DataView}Ol.isDataView=z5e;var JG=typeof SharedArrayBuffer!="undefined"?SharedArrayBuffer:void 0;function iE(e){return $0(e)==="[object SharedArrayBuffer]"}function F5e(e){return typeof JG=="undefined"?!1:(typeof iE.working=="undefined"&&(iE.working=iE(new JG)),iE.working?iE(e):e instanceof JG)}Ol.isSharedArrayBuffer=F5e;function r5t(e){return $0(e)==="[object AsyncFunction]"}Ol.isAsyncFunction=r5t;function i5t(e){return $0(e)==="[object Map Iterator]"}Ol.isMapIterator=i5t;function n5t(e){return $0(e)==="[object Set Iterator]"}Ol.isSetIterator=n5t;function a5t(e){return $0(e)==="[object Generator]"}Ol.isGeneratorObject=a5t;function o5t(e){return $0(e)==="[object WebAssembly.Module]"}Ol.isWebAssemblyCompiledModule=o5t;function q5e(e){return nE(e,FTt)}Ol.isNumberObject=q5e;function O5e(e){return nE(e,qTt)}Ol.isStringObject=O5e;function B5e(e){return nE(e,OTt)}Ol.isBooleanObject=B5e;function N5e(e){return L5e&&nE(e,I5e)}Ol.isBigIntObject=N5e;function U5e(e){return P5e&&nE(e,D5e)}Ol.isSymbolObject=U5e;function s5t(e){return q5e(e)||O5e(e)||B5e(e)||N5e(e)||U5e(e)}Ol.isBoxedPrimitive=s5t;function l5t(e){return typeof Uint8Array!="undefined"&&(R5e(e)||F5e(e))}Ol.isAnyArrayBuffer=l5t;["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(e){Object.defineProperty(Ol,e,{enumerable:!1,value:function(){throw new Error(e+" is not supported in userland")}})})});var ej=ye((Hcr,V5e)=>{V5e.exports=function(t){return t&&typeof t=="object"&&typeof t.copy=="function"&&typeof t.fill=="function"&&typeof t.readUInt8=="function"}});var oj=ye(Bl=>{var H5e=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i=i)return s;switch(s){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(l){return"[Circular]"}default:return s}}),o=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),nj(t)?r.showHidden=t:t&&Bl._extend(r,t),w2(r.showHidden)&&(r.showHidden=!1),w2(r.depth)&&(r.depth=2),w2(r.colors)&&(r.colors=!1),w2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=c5t),AD(r,e,r.depth)}Bl.inspect=N_;N_.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};N_.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function c5t(e,t){var r=N_.styles[t];return r?"\x1B["+N_.colors[r][0]+"m"+e+"\x1B["+N_.colors[r][1]+"m":e}function f5t(e,t){return e}function h5t(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function AD(e,t,r){if(e.customInspect&&t&&TD(t.inspect)&&t.inspect!==Bl.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return ED(n)||(n=AD(e,n,r)),n}var i=d5t(e,t);if(i)return i;var a=Object.keys(t),o=h5t(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),oE(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return tj(t);if(a.length===0){if(TD(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(aE(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(SD(t))return e.stylize(Date.prototype.toString.call(t),"date");if(oE(t))return tj(t)}var l="",u=!1,c=["{","}"];if(j5e(t)&&(u=!0,c=["[","]"]),TD(t)){var f=t.name?": "+t.name:"";l=" [Function"+f+"]"}if(aE(t)&&(l=" "+RegExp.prototype.toString.call(t)),SD(t)&&(l=" "+Date.prototype.toUTCString.call(t)),oE(t)&&(l=" "+tj(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return aE(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var h;return u?h=v5t(e,t,r,o,a):h=a.map(function(v){return ij(e,t,r,o,v,u)}),e.seen.pop(),p5t(h,l,c)}function d5t(e,t){if(w2(t))return e.stylize("undefined","undefined");if(ED(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(W5e(t))return e.stylize(""+t,"number");if(nj(t))return e.stylize(""+t,"boolean");if(MD(t))return e.stylize("null","null")}function tj(e){return"["+Error.prototype.toString.call(e)+"]"}function v5t(e,t,r,n,i){for(var a=[],o=0,s=t.length;o-1&&(a?s=s.split(` +`).map(function(u){return" "+u}).join(` +`).slice(2):s=` +`+s.split(` +`).map(function(u){return" "+u}).join(` +`))):s=e.stylize("[Circular]","special")),w2(o)){if(a&&i.match(/^\d+$/))return s;o=JSON.stringify(""+i),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function p5t(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(` +`)>=0&&n++,a+o.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?r[0]+(t===""?"":t+` + `)+" "+e.join(`, + `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}Bl.types=QG();function j5e(e){return Array.isArray(e)}Bl.isArray=j5e;function nj(e){return typeof e=="boolean"}Bl.isBoolean=nj;function MD(e){return e===null}Bl.isNull=MD;function g5t(e){return e==null}Bl.isNullOrUndefined=g5t;function W5e(e){return typeof e=="number"}Bl.isNumber=W5e;function ED(e){return typeof e=="string"}Bl.isString=ED;function m5t(e){return typeof e=="symbol"}Bl.isSymbol=m5t;function w2(e){return e===void 0}Bl.isUndefined=w2;function aE(e){return m5(e)&&aj(e)==="[object RegExp]"}Bl.isRegExp=aE;Bl.types.isRegExp=aE;function m5(e){return typeof e=="object"&&e!==null}Bl.isObject=m5;function SD(e){return m5(e)&&aj(e)==="[object Date]"}Bl.isDate=SD;Bl.types.isDate=SD;function oE(e){return m5(e)&&(aj(e)==="[object Error]"||e instanceof Error)}Bl.isError=oE;Bl.types.isNativeError=oE;function TD(e){return typeof e=="function"}Bl.isFunction=TD;function y5t(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e=="undefined"}Bl.isPrimitive=y5t;Bl.isBuffer=ej();function aj(e){return Object.prototype.toString.call(e)}function rj(e){return e<10?"0"+e.toString(10):e.toString(10)}var _5t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function x5t(){var e=new Date,t=[rj(e.getHours()),rj(e.getMinutes()),rj(e.getSeconds())].join(":");return[e.getDate(),_5t[e.getMonth()],t].join(" ")}Bl.log=function(){console.log("%s - %s",x5t(),Bl.format.apply(Bl,arguments))};Bl.inherits=Gy();Bl._extend=function(e,t){if(!t||!m5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function Z5e(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var b2=typeof Symbol!="undefined"?Symbol("util.promisify.custom"):void 0;Bl.promisify=function(t){if(typeof t!="function")throw new TypeError('The "original" argument must be of type Function');if(b2&&t[b2]){var r=t[b2];if(typeof r!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(r,b2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s{"use strict";function X5e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function T5t(e){for(var t=1;t0?this.tail.next=n:this.head=n,this.tail=n,++this.length}},{key:"unshift",value:function(r){var n={data:r,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var n=this.head,i=""+n.data;n=n.next;)i+=r+n.data;return i}},{key:"concat",value:function(r){if(this.length===0)return kD.alloc(0);for(var n=kD.allocUnsafe(r>>>0),i=this.head,a=0;i;)L5t(i.data,n,a),a+=i.data.length,i=i.next;return n}},{key:"consume",value:function(r,n){var i;return ro.length?o.length:r;if(s===o.length?a+=o:a+=o.slice(0,r),r-=s,r===0){s===o.length?(++i,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(s));break}++i}return this.length-=i,a}},{key:"_getBuffer",value:function(r){var n=kD.allocUnsafe(r),i=this.head,a=1;for(i.data.copy(n),r-=i.data.length;i=i.next;){var o=i.data,s=r>o.length?o.length:r;if(o.copy(n,n.length-r,0,s),r-=s,r===0){s===o.length?(++a,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(s));break}++a}return this.length-=a,n}},{key:C5t,value:function(r,n){return sj(this,T5t({},n,{depth:0,customInspect:!1}))}}]),e}()});var uj=ye((Wcr,Q5e)=>{"use strict";function P5t(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(lj,this,e)):process.nextTick(lj,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(a){!t&&a?r._writableState?r._writableState.errorEmitted?process.nextTick(CD,r):(r._writableState.errorEmitted=!0,process.nextTick($5e,r,a)):process.nextTick($5e,r,a):t?(process.nextTick(CD,r),t(a)):process.nextTick(CD,r)}),this)}function $5e(e,t){lj(e,t),CD(e)}function CD(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function I5t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function lj(e,t){e.emit("error",t)}function D5t(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}Q5e.exports={destroy:P5t,undestroy:I5t,errorOrDestroy:D5t}});var T2=ye((Zcr,rAe)=>{"use strict";function R5t(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var tAe={};function Q0(e,t,r){r||(r=Error);function n(a,o,s){return typeof t=="string"?t:t(a,o,s)}var i=function(a){R5t(o,a);function o(s,l,u){return a.call(this,n(s,l,u))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,tAe[e]=i}function eAe(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function z5t(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function F5t(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function q5t(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}Q0("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);Q0("ERR_INVALID_ARG_TYPE",function(e,t,r){var n;typeof t=="string"&&z5t(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var i;if(F5t(e," argument"))i="The ".concat(e," ").concat(n," ").concat(eAe(t,"type"));else{var a=q5t(e,".")?"property":"argument";i='The "'.concat(e,'" ').concat(a," ").concat(n," ").concat(eAe(t,"type"))}return i+=". Received type ".concat(typeof r),i},TypeError);Q0("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Q0("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});Q0("ERR_STREAM_PREMATURE_CLOSE","Premature close");Q0("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});Q0("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Q0("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Q0("ERR_STREAM_WRITE_AFTER_END","write after end");Q0("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Q0("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);Q0("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");rAe.exports.codes=tAe});var cj=ye((Xcr,iAe)=>{"use strict";var O5t=T2().codes.ERR_INVALID_OPT_VALUE;function B5t(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function N5t(e,t,r,n){var i=B5t(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var a=n?r:"highWaterMark";throw new O5t(a,i)}return Math.floor(i)}return e.objectMode?16:16*1024}iAe.exports={getHighWaterMark:N5t}});var aAe=ye((Ycr,nAe)=>{nAe.exports=U5t;function U5t(e,t){if(fj("noDeprecation"))return e;var r=!1;function n(){if(!r){if(fj("throwDeprecation"))throw new Error(t);fj("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function fj(e){try{if(!window.localStorage)return!1}catch(r){return!1}var t=window.localStorage[e];return t==null?!1:String(t).toLowerCase()==="true"}});var vj=ye((Kcr,fAe)=>{"use strict";fAe.exports=wh;function sAe(e){var t=this;this.next=null,this.entry=null,this.finish=function(){vAt(t,e)}}var y5;wh.WritableState=lE;var V5t={deprecate:aAe()},lAe=yG(),PD=y2().Buffer,H5t=window.Uint8Array||function(){};function G5t(e){return PD.from(e)}function j5t(e){return PD.isBuffer(e)||e instanceof H5t}var dj=uj(),W5t=cj(),Z5t=W5t.getHighWaterMark,U_=T2().codes,X5t=U_.ERR_INVALID_ARG_TYPE,Y5t=U_.ERR_METHOD_NOT_IMPLEMENTED,K5t=U_.ERR_MULTIPLE_CALLBACK,J5t=U_.ERR_STREAM_CANNOT_PIPE,$5t=U_.ERR_STREAM_DESTROYED,Q5t=U_.ERR_STREAM_NULL_VALUES,eAt=U_.ERR_STREAM_WRITE_AFTER_END,tAt=U_.ERR_UNKNOWN_ENCODING,_5=dj.errorOrDestroy;Gy()(wh,lAe);function rAt(){}function lE(e,t,r){y5=y5||A2(),e=e||{},typeof r!="boolean"&&(r=t instanceof y5),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=Z5t(this,e,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(i){uAt(t,i)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new sAe(this)}lE.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};(function(){try{Object.defineProperty(lE.prototype,"buffer",{get:V5t.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}})();var LD;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(LD=Function.prototype[Symbol.hasInstance],Object.defineProperty(wh,Symbol.hasInstance,{value:function(t){return LD.call(this,t)?!0:this!==wh?!1:t&&t._writableState instanceof lE}})):LD=function(t){return t instanceof this};function wh(e){y5=y5||A2();var t=this instanceof y5;if(!t&&!LD.call(wh,this))return new wh(e);this._writableState=new lE(e,this,t),this.writable=!0,e&&(typeof e.write=="function"&&(this._write=e.write),typeof e.writev=="function"&&(this._writev=e.writev),typeof e.destroy=="function"&&(this._destroy=e.destroy),typeof e.final=="function"&&(this._final=e.final)),lAe.call(this)}wh.prototype.pipe=function(){_5(this,new J5t)};function iAt(e,t){var r=new eAt;_5(e,r),process.nextTick(t,r)}function nAt(e,t,r,n){var i;return r===null?i=new Q5t:typeof r!="string"&&!t.objectMode&&(i=new X5t("chunk",["string","Buffer"],r)),i?(_5(e,i),process.nextTick(n,i),!1):!0}wh.prototype.write=function(e,t,r){var n=this._writableState,i=!1,a=!n.objectMode&&j5t(e);return a&&!PD.isBuffer(e)&&(e=G5t(e)),typeof t=="function"&&(r=t,t=null),a?t="buffer":t||(t=n.defaultEncoding),typeof r!="function"&&(r=rAt),n.ending?iAt(this,r):(a||nAt(this,n,e,r))&&(n.pendingcb++,i=oAt(this,n,a,e,t,r)),i};wh.prototype.cork=function(){this._writableState.corked++};wh.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&uAe(this,e))};wh.prototype.setDefaultEncoding=function(t){if(typeof t=="string"&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new tAt(t);return this._writableState.defaultEncoding=t,this};Object.defineProperty(wh.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function aAt(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=PD.from(t,r)),t}Object.defineProperty(wh.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function oAt(e,t,r,n,i,a){if(!r){var o=aAt(t,n,i);n!==o&&(r=!0,i="buffer",n=o)}var s=t.objectMode?1:n.length;t.length+=s;var l=t.length{"use strict";var pAt=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};dAe.exports=Nm;var hAe=mj(),gj=vj();Gy()(Nm,hAe);for(pj=pAt(gj.prototype),ID=0;ID{var RD=y2(),Um=RD.Buffer;function vAe(e,t){for(var r in e)t[r]=e[r]}Um.from&&Um.alloc&&Um.allocUnsafe&&Um.allocUnsafeSlow?pAe.exports=RD:(vAe(RD,yj),yj.Buffer=S2);function S2(e,t,r){return Um(e,t,r)}S2.prototype=Object.create(Um.prototype);vAe(Um,S2);S2.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return Um(e,t,r)};S2.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var n=Um(e);return t!==void 0?typeof r=="string"?n.fill(t,r):n.fill(t):n.fill(0),n};S2.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return Um(e)};S2.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return RD.SlowBuffer(e)}});var bj=ye(yAe=>{"use strict";var xj=gAe().Buffer,mAe=xj.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function yAt(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function _At(e){var t=yAt(e);if(typeof t!="string"&&(xj.isEncoding===mAe||!mAe(e)))throw new Error("Unknown encoding: "+e);return t||e}yAe.StringDecoder=uE;function uE(e){this.encoding=_At(e);var t;switch(this.encoding){case"utf16le":this.text=SAt,this.end=MAt,t=4;break;case"utf8":this.fillLast=wAt,t=4;break;case"base64":this.text=EAt,this.end=kAt,t=3;break;default:this.write=CAt,this.end=LAt;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=xj.allocUnsafe(t)}uE.prototype.write=function(e){if(e.length===0)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function xAt(e,t,r){var n=t.length-1;if(n=0?(i>0&&(e.lastNeed=i-1),i):--n=0?(i>0&&(e.lastNeed=i-2),i):--n=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function bAt(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,"\uFFFD";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,"\uFFFD";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,"\uFFFD"}}function wAt(e){var t=this.lastTotal-this.lastNeed,r=bAt(this,e,t);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function TAt(e,t){var r=xAt(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)}function AAt(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"\uFFFD":t}function SAt(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function MAt(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function EAt(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function kAt(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function CAt(e){return e.toString(this.encoding)}function LAt(e){return e&&e.length?this.write(e):""}});var zD=ye((Qcr,bAe)=>{"use strict";var _Ae=T2().codes.ERR_STREAM_PREMATURE_CLOSE;function PAt(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i{"use strict";var FD;function V_(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var RAt=zD(),H_=Symbol("lastResolve"),M2=Symbol("lastReject"),cE=Symbol("error"),qD=Symbol("ended"),E2=Symbol("lastPromise"),wj=Symbol("handlePromise"),k2=Symbol("stream");function G_(e,t){return{value:e,done:t}}function zAt(e){var t=e[H_];if(t!==null){var r=e[k2].read();r!==null&&(e[E2]=null,e[H_]=null,e[M2]=null,t(G_(r,!1)))}}function FAt(e){process.nextTick(zAt,e)}function qAt(e,t){return function(r,n){e.then(function(){if(t[qD]){r(G_(void 0,!0));return}t[wj](r,n)},n)}}var OAt=Object.getPrototypeOf(function(){}),BAt=Object.setPrototypeOf((FD={get stream(){return this[k2]},next:function(){var t=this,r=this[cE];if(r!==null)return Promise.reject(r);if(this[qD])return Promise.resolve(G_(void 0,!0));if(this[k2].destroyed)return new Promise(function(o,s){process.nextTick(function(){t[cE]?s(t[cE]):o(G_(void 0,!0))})});var n=this[E2],i;if(n)i=new Promise(qAt(n,this));else{var a=this[k2].read();if(a!==null)return Promise.resolve(G_(a,!1));i=new Promise(this[wj])}return this[E2]=i,i}},V_(FD,Symbol.asyncIterator,function(){return this}),V_(FD,"return",function(){var t=this;return new Promise(function(r,n){t[k2].destroy(null,function(i){if(i){n(i);return}r(G_(void 0,!0))})})}),FD),OAt),NAt=function(t){var r,n=Object.create(BAt,(r={},V_(r,k2,{value:t,writable:!0}),V_(r,H_,{value:null,writable:!0}),V_(r,M2,{value:null,writable:!0}),V_(r,cE,{value:null,writable:!0}),V_(r,qD,{value:t._readableState.endEmitted,writable:!0}),V_(r,wj,{value:function(a,o){var s=n[k2].read();s?(n[E2]=null,n[H_]=null,n[M2]=null,a(G_(s,!1))):(n[H_]=a,n[M2]=o)},writable:!0}),r));return n[E2]=null,RAt(t,function(i){if(i&&i.code!=="ERR_STREAM_PREMATURE_CLOSE"){var a=n[M2];a!==null&&(n[E2]=null,n[H_]=null,n[M2]=null,a(i)),n[cE]=i;return}var o=n[H_];o!==null&&(n[E2]=null,n[H_]=null,n[M2]=null,o(G_(void 0,!0))),n[qD]=!0}),t.on("readable",FAt.bind(null,n)),n};wAe.exports=NAt});var SAe=ye((tfr,AAe)=>{AAe.exports=function(){throw new Error("Readable.from is not available in the browser")}});var mj=ye((ifr,zAe)=>{"use strict";zAe.exports=vu;var x5;vu.ReadableState=CAe;var rfr=Tb().EventEmitter,kAe=function(t,r){return t.listeners(r).length},hE=yG(),OD=y2().Buffer,UAt=window.Uint8Array||function(){};function VAt(e){return OD.from(e)}function HAt(e){return OD.isBuffer(e)||e instanceof UAt}var Tj=oj(),Pl;Tj&&Tj.debuglog?Pl=Tj.debuglog("stream"):Pl=function(){};var GAt=J5e(),Lj=uj(),jAt=cj(),WAt=jAt.getHighWaterMark,BD=T2().codes,ZAt=BD.ERR_INVALID_ARG_TYPE,XAt=BD.ERR_STREAM_PUSH_AFTER_EOF,YAt=BD.ERR_METHOD_NOT_IMPLEMENTED,KAt=BD.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,b5,Aj,Sj;Gy()(vu,hE);var fE=Lj.errorOrDestroy,Mj=["error","close","destroy","pause","resume"];function JAt(e,t,r){if(typeof e.prependListener=="function")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function CAe(e,t,r){x5=x5||A2(),e=e||{},typeof r!="boolean"&&(r=t instanceof x5),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=WAt(this,e,"readableHighWaterMark",r),this.buffer=new GAt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(b5||(b5=bj().StringDecoder),this.decoder=new b5(e.encoding),this.encoding=e.encoding)}function vu(e){if(x5=x5||A2(),!(this instanceof vu))return new vu(e);var t=this instanceof x5;this._readableState=new CAe(e,this,t),this.readable=!0,e&&(typeof e.read=="function"&&(this._read=e.read),typeof e.destroy=="function"&&(this._destroy=e.destroy)),hE.call(this)}Object.defineProperty(vu.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}});vu.prototype.destroy=Lj.destroy;vu.prototype._undestroy=Lj.undestroy;vu.prototype._destroy=function(e,t){t(e)};vu.prototype.push=function(e,t){var r=this._readableState,n;return r.objectMode?n=!0:typeof e=="string"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=OD.from(e,t),t=""),n=!0),LAe(this,e,t,!1,n)};vu.prototype.unshift=function(e){return LAe(this,e,null,!0,!1)};function LAe(e,t,r,n,i){Pl("readableAddChunk",t);var a=e._readableState;if(t===null)a.reading=!1,eSt(e,a);else{var o;if(i||(o=$At(a,t)),o)fE(e,o);else if(a.objectMode||t&&t.length>0)if(typeof t!="string"&&!a.objectMode&&Object.getPrototypeOf(t)!==OD.prototype&&(t=VAt(t)),n)a.endEmitted?fE(e,new KAt):Ej(e,a,t,!0);else if(a.ended)fE(e,new XAt);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(t=a.decoder.write(t),a.objectMode||t.length!==0?Ej(e,a,t,!1):Cj(e,a)):Ej(e,a,t,!1)}else n||(a.reading=!1,Cj(e,a))}return!a.ended&&(a.length=MAe?e=MAe:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function EAe(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=QAt(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}vu.prototype.read=function(e){Pl("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended))return Pl("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?kj(this):ND(this),null;if(e=EAe(e,t),e===0&&t.ended)return t.length===0&&kj(this),null;var n=t.needReadable;Pl("need readable",n),(t.length===0||t.length-e0?i=DAe(e,t):i=null,i===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&kj(this)),i!==null&&this.emit("data",i),i};function eSt(e,t){if(Pl("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?ND(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,PAe(e)))}}function ND(e){var t=e._readableState;Pl("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(Pl("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(PAe,e))}function PAe(e){var t=e._readableState;Pl("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,Pj(e)}function Cj(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(tSt,e,t))}function tSt(e,t){for(;!t.reading&&!t.ended&&(t.length1&&RAe(n.pipes,e)!==-1)&&!u&&(Pl("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function h(b){Pl("onerror",b),_(),e.removeListener("error",h),kAe(e,"error")===0&&fE(e,b)}JAt(e,"error",h);function v(){e.removeListener("finish",d),_()}e.once("close",v);function d(){Pl("onfinish"),e.removeListener("close",v),_()}e.once("finish",d);function _(){Pl("unpipe"),r.unpipe(e)}return e.emit("pipe",r),n.flowing||(Pl("pipe resume"),r.resume()),e};function rSt(e){return function(){var r=e._readableState;Pl("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&kAe(e,"data")&&(r.flowing=!0,Pj(e))}}vu.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a0,n.flowing!==!1&&this.resume()):e==="readable"&&!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,Pl("on readable",n.length,n.reading),n.length?ND(this):n.reading||process.nextTick(iSt,this)),r};vu.prototype.addListener=vu.prototype.on;vu.prototype.removeListener=function(e,t){var r=hE.prototype.removeListener.call(this,e,t);return e==="readable"&&process.nextTick(IAe,this),r};vu.prototype.removeAllListeners=function(e){var t=hE.prototype.removeAllListeners.apply(this,arguments);return(e==="readable"||e===void 0)&&process.nextTick(IAe,this),t};function IAe(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function iSt(e){Pl("readable nexttick read 0"),e.read(0)}vu.prototype.resume=function(){var e=this._readableState;return e.flowing||(Pl("resume"),e.flowing=!e.readableListening,nSt(this,e)),e.paused=!1,this};function nSt(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(aSt,e,t))}function aSt(e,t){Pl("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),Pj(e),t.flowing&&!t.reading&&e.read(0)}vu.prototype.pause=function(){return Pl("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Pl("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function Pj(e){var t=e._readableState;for(Pl("flow",t.flowing);t.flowing&&e.read()!==null;);}vu.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;e.on("end",function(){if(Pl("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&t.push(o)}t.push(null)}),e.on("data",function(o){if(Pl("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var s=t.push(o);s||(n=!0,e.pause())}});for(var i in e)this[i]===void 0&&typeof e[i]=="function"&&(this[i]=function(s){return function(){return e[s].apply(e,arguments)}}(i));for(var a=0;a=t.length?(t.decoder?r=t.buffer.join(""):t.buffer.length===1?r=t.buffer.first():r=t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function kj(e){var t=e._readableState;Pl("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(oSt,t,e))}function oSt(e,t){if(Pl("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}typeof Symbol=="function"&&(vu.from=function(e,t){return Sj===void 0&&(Sj=SAe()),Sj(vu,e,t)});function RAe(e,t){for(var r=0,n=e.length;r{"use strict";qAe.exports=Wy;var UD=T2().codes,sSt=UD.ERR_METHOD_NOT_IMPLEMENTED,lSt=UD.ERR_MULTIPLE_CALLBACK,uSt=UD.ERR_TRANSFORM_ALREADY_TRANSFORMING,cSt=UD.ERR_TRANSFORM_WITH_LENGTH_0,VD=A2();Gy()(Wy,VD);function fSt(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit("error",new lSt);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{"use strict";BAe.exports=dE;var OAe=Ij();Gy()(dE,OAe);function dE(e){if(!(this instanceof dE))return new dE(e);OAe.call(this,e)}dE.prototype._transform=function(e,t,r){r(null,e)}});var jAe=ye((ofr,GAe)=>{"use strict";var Dj;function dSt(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var HAe=T2().codes,vSt=HAe.ERR_MISSING_ARGS,pSt=HAe.ERR_STREAM_DESTROYED;function UAe(e){if(e)throw e}function gSt(e){return e.setHeader&&typeof e.abort=="function"}function mSt(e,t,r,n){n=dSt(n);var i=!1;e.on("close",function(){i=!0}),Dj===void 0&&(Dj=zD()),Dj(e,{readable:t,writable:r},function(o){if(o)return n(o);i=!0,n()});var a=!1;return function(o){if(!i&&!a){if(a=!0,gSt(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();n(o||new pSt("pipe"))}}}function VAe(e){e()}function ySt(e,t){return e.pipe(t)}function _St(e){return!e.length||typeof e[e.length-1]!="function"?UAe:e.pop()}function xSt(){for(var e=arguments.length,t=new Array(e),r=0;r0;return mSt(o,l,u,function(c){i||(i=c),c&&a.forEach(VAe),!l&&(a.forEach(VAe),n(i))})});return t.reduce(ySt)}GAe.exports=xSt});var ZAe=ye((sfr,WAe)=>{WAe.exports=eg;var Rj=Tb().EventEmitter,bSt=Gy();bSt(eg,Rj);eg.Readable=mj();eg.Writable=vj();eg.Duplex=A2();eg.Transform=Ij();eg.PassThrough=NAe();eg.finished=zD();eg.pipeline=jAe();eg.Stream=eg;function eg(){Rj.call(this)}eg.prototype.pipe=function(e,t){var r=this;function n(c){e.writable&&e.write(c)===!1&&r.pause&&r.pause()}r.on("data",n);function i(){r.readable&&r.resume&&r.resume()}e.on("drain",i),!e._isStdio&&(!t||t.end!==!1)&&(r.on("end",o),r.on("close",s));var a=!1;function o(){a||(a=!0,e.end())}function s(){a||(a=!0,typeof e.destroy=="function"&&e.destroy())}function l(c){if(u(),Rj.listenerCount(this,"error")===0)throw c}r.on("error",l),e.on("error",l);function u(){r.removeListener("data",n),e.removeListener("drain",i),r.removeListener("end",o),r.removeListener("close",s),r.removeListener("error",l),e.removeListener("error",l),r.removeListener("end",u),r.removeListener("close",u),e.removeListener("close",u)}return r.on("end",u),r.on("close",u),e.on("close",u),e.emit("pipe",r),e}});var T5=ye(Nl=>{var XAe=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i=i)return s;switch(s){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(l){return"[Circular]"}default:return s}}),o=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Oj(t)?r.showHidden=t:t&&Nl._extend(r,t),L2(r.showHidden)&&(r.showHidden=!1),L2(r.depth)&&(r.depth=2),L2(r.colors)&&(r.colors=!1),L2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=TSt),WD(r,e,r.depth)}Nl.inspect=j_;j_.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};j_.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function TSt(e,t){var r=j_.styles[t];return r?"\x1B["+j_.colors[r][0]+"m"+e+"\x1B["+j_.colors[r][1]+"m":e}function ASt(e,t){return e}function SSt(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function WD(e,t,r){if(e.customInspect&&t&&jD(t.inspect)&&t.inspect!==Nl.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return YD(n)||(n=WD(e,n,r)),n}var i=MSt(e,t);if(i)return i;var a=Object.keys(t),o=SSt(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),pE(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return zj(t);if(a.length===0){if(jD(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(vE(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(ZD(t))return e.stylize(Date.prototype.toString.call(t),"date");if(pE(t))return zj(t)}var l="",u=!1,c=["{","}"];if(KAe(t)&&(u=!0,c=["[","]"]),jD(t)){var f=t.name?": "+t.name:"";l=" [Function"+f+"]"}if(vE(t)&&(l=" "+RegExp.prototype.toString.call(t)),ZD(t)&&(l=" "+Date.prototype.toUTCString.call(t)),pE(t)&&(l=" "+zj(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return vE(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var h;return u?h=ESt(e,t,r,o,a):h=a.map(function(v){return qj(e,t,r,o,v,u)}),e.seen.pop(),kSt(h,l,c)}function MSt(e,t){if(L2(t))return e.stylize("undefined","undefined");if(YD(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(JAe(t))return e.stylize(""+t,"number");if(Oj(t))return e.stylize(""+t,"boolean");if(XD(t))return e.stylize("null","null")}function zj(e){return"["+Error.prototype.toString.call(e)+"]"}function ESt(e,t,r,n,i){for(var a=[],o=0,s=t.length;o-1&&(a?s=s.split(` +`).map(function(u){return" "+u}).join(` +`).slice(2):s=` +`+s.split(` +`).map(function(u){return" "+u}).join(` +`))):s=e.stylize("[Circular]","special")),L2(o)){if(a&&i.match(/^\d+$/))return s;o=JSON.stringify(""+i),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function kSt(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(` +`)>=0&&n++,a+o.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?r[0]+(t===""?"":t+` + `)+" "+e.join(`, + `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}Nl.types=QG();function KAe(e){return Array.isArray(e)}Nl.isArray=KAe;function Oj(e){return typeof e=="boolean"}Nl.isBoolean=Oj;function XD(e){return e===null}Nl.isNull=XD;function CSt(e){return e==null}Nl.isNullOrUndefined=CSt;function JAe(e){return typeof e=="number"}Nl.isNumber=JAe;function YD(e){return typeof e=="string"}Nl.isString=YD;function LSt(e){return typeof e=="symbol"}Nl.isSymbol=LSt;function L2(e){return e===void 0}Nl.isUndefined=L2;function vE(e){return w5(e)&&Bj(e)==="[object RegExp]"}Nl.isRegExp=vE;Nl.types.isRegExp=vE;function w5(e){return typeof e=="object"&&e!==null}Nl.isObject=w5;function ZD(e){return w5(e)&&Bj(e)==="[object Date]"}Nl.isDate=ZD;Nl.types.isDate=ZD;function pE(e){return w5(e)&&(Bj(e)==="[object Error]"||e instanceof Error)}Nl.isError=pE;Nl.types.isNativeError=pE;function jD(e){return typeof e=="function"}Nl.isFunction=jD;function PSt(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e=="undefined"}Nl.isPrimitive=PSt;Nl.isBuffer=ej();function Bj(e){return Object.prototype.toString.call(e)}function Fj(e){return e<10?"0"+e.toString(10):e.toString(10)}var ISt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function DSt(){var e=new Date,t=[Fj(e.getHours()),Fj(e.getMinutes()),Fj(e.getSeconds())].join(":");return[e.getDate(),ISt[e.getMonth()],t].join(" ")}Nl.log=function(){console.log("%s - %s",DSt(),Nl.format.apply(Nl,arguments))};Nl.inherits=Gy();Nl._extend=function(e,t){if(!t||!w5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function $Ae(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var C2=typeof Symbol!="undefined"?Symbol("util.promisify.custom"):void 0;Nl.promisify=function(t){if(typeof t!="function")throw new TypeError('The "original" argument must be of type Function');if(C2&&t[C2]){var r=t[C2];if(typeof r!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(r,C2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s{"use strict";function W_(e){"@babel/helpers - typeof";return W_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},W_(e)}function QAe(e,t){for(var r=0;r2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function jSt(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function WSt(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function ZSt(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}gE("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError);gE("ERR_INVALID_ARG_TYPE",function(e,t,r){A5===void 0&&(A5=mE()),A5(typeof e=="string","'name' must be a string");var n;typeof t=="string"&&jSt(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var i;if(WSt(e," argument"))i="The ".concat(e," ").concat(n," ").concat(eSe(t,"type"));else{var a=ZSt(e,".")?"property":"argument";i='The "'.concat(e,'" ').concat(a," ").concat(n," ").concat(eSe(t,"type"))}return i+=". Received type ".concat(W_(r)),i},TypeError);gE("ERR_INVALID_ARG_VALUE",function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"is invalid";Nj===void 0&&(Nj=T5());var n=Nj.inspect(t);return n.length>128&&(n="".concat(n.slice(0,128),"...")),"The argument '".concat(e,"' ").concat(r,". Received ").concat(n)},TypeError,RangeError);gE("ERR_INVALID_RETURN_VALUE",function(e,t,r){var n;return r&&r.constructor&&r.constructor.name?n="instance of ".concat(r.constructor.name):n="type ".concat(W_(r)),"Expected ".concat(e,' to be returned from the "').concat(t,'"')+" function but got ".concat(n,".")},TypeError);gE("ERR_MISSING_ARGS",function(){for(var e=arguments.length,t=new Array(e),r=0;r0,"At least one arg needs to be specified");var n="The ",i=t.length;switch(t=t.map(function(a){return'"'.concat(a,'"')}),i){case 1:n+="".concat(t[0]," argument");break;case 2:n+="".concat(t[0]," and ").concat(t[1]," arguments");break;default:n+=t.slice(0,i-1).join(", "),n+=", and ".concat(t[i-1]," arguments");break}return"".concat(n," must be specified")},TypeError);rSe.exports.codes=tSe});var hSe=ye((cfr,fSe)=>{"use strict";function iSe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function nSe(e){for(var t=1;te.length)&&(r=e.length),e.substring(r-t.length,r)===t}function nMt(e,t){if(t=Math.floor(t),e.length==0||t==0)return"";var r=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+=e.substring(0,r-e.length),e}var Wg="",yE="",_E="",wv="",P2={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"},aMt=10;function sSe(e){var t=Object.keys(e),r=Object.create(Object.getPrototypeOf(e));return t.forEach(function(n){r[n]=e[n]}),Object.defineProperty(r,"message",{value:e.message}),r}function xE(e){return jj(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function oMt(e,t,r){var n="",i="",a=0,o="",s=!1,l=xE(e),u=l.split(` +`),c=xE(t).split(` +`),f=0,h="";if(r==="strictEqual"&&qp(e)==="object"&&qp(t)==="object"&&e!==null&&t!==null&&(r="strictEqualObject"),u.length===1&&c.length===1&&u[0]!==c[0]){var v=u[0].length+c[0].length;if(v<=aMt){if((qp(e)!=="object"||e===null)&&(qp(t)!=="object"||t===null)&&(e!==0||t!==0))return"".concat(P2[r],` + +`)+"".concat(u[0]," !== ").concat(c[0],` +`)}else if(r!=="strictEqualObject"){var d=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(v2&&(h=` + `.concat(nMt(" ",f),"^"),f=0)}}}for(var _=u[u.length-1],b=c[c.length-1];_===b&&(f++<2?o=` + `.concat(_).concat(o):n=_,u.pop(),c.pop(),!(u.length===0||c.length===0));)_=u[u.length-1],b=c[c.length-1];var p=Math.max(u.length,c.length);if(p===0){var E=l.split(` +`);if(E.length>30)for(E[26]="".concat(Wg,"...").concat(wv);E.length>27;)E.pop();return"".concat(P2.notIdentical,` + +`).concat(E.join(` +`),` +`)}f>3&&(o=` +`.concat(Wg,"...").concat(wv).concat(o),s=!0),n!==""&&(o=` + `.concat(n).concat(o),n="");var k=0,S=P2[r]+` +`.concat(yE,"+ actual").concat(wv," ").concat(_E,"- expected").concat(wv),L=" ".concat(Wg,"...").concat(wv," Lines skipped");for(f=0;f1&&f>2&&(x>4?(i+=` +`.concat(Wg,"...").concat(wv),s=!0):x>3&&(i+=` + `.concat(c[f-2]),k++),i+=` + `.concat(c[f-1]),k++),a=f,n+=` +`.concat(_E,"-").concat(wv," ").concat(c[f]),k++;else if(c.length1&&f>2&&(x>4?(i+=` +`.concat(Wg,"...").concat(wv),s=!0):x>3&&(i+=` + `.concat(u[f-2]),k++),i+=` + `.concat(u[f-1]),k++),a=f,i+=` +`.concat(yE,"+").concat(wv," ").concat(u[f]),k++;else{var C=c[f],M=u[f],g=M!==C&&(!oSe(M,",")||M.slice(0,-1)!==C);g&&oSe(C,",")&&C.slice(0,-1)===M&&(g=!1,M+=","),g?(x>1&&f>2&&(x>4?(i+=` +`.concat(Wg,"...").concat(wv),s=!0):x>3&&(i+=` + `.concat(u[f-2]),k++),i+=` + `.concat(u[f-1]),k++),a=f,i+=` +`.concat(yE,"+").concat(wv," ").concat(M),n+=` +`.concat(_E,"-").concat(wv," ").concat(C),k+=2):(i+=n,n="",(x===1||f===0)&&(i+=` + `.concat(M),k++))}if(k>20&&f30)for(v[26]="".concat(Wg,"...").concat(wv);v.length>27;)v.pop();v.length===1?a=r.call(this,"".concat(h," ").concat(v[0])):a=r.call(this,"".concat(h,` + +`).concat(v.join(` +`),` +`))}else{var d=xE(u),_="",b=P2[s];s==="notDeepEqual"||s==="notEqual"?(d="".concat(P2[s],` + +`).concat(d),d.length>1024&&(d="".concat(d.slice(0,1021),"..."))):(_="".concat(xE(c)),d.length>512&&(d="".concat(d.slice(0,509),"...")),_.length>512&&(_="".concat(_.slice(0,509),"...")),s==="deepEqual"||s==="equal"?d="".concat(b,` + +`).concat(d,` + +should equal + +`):_=" ".concat(s," ").concat(_)),a=r.call(this,"".concat(d).concat(_))}return Error.stackTraceLimit=f,a.generatedMessage=!o,Object.defineProperty(Hj(a),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),a.code="ERR_ASSERTION",a.actual=u,a.expected=c,a.operator=s,Error.captureStackTrace&&Error.captureStackTrace(Hj(a),l),a.stack,a.name="AssertionError",uSe(a)}return KSt(n,[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:t,value:function(a,o){return jj(this,nSe(nSe({},o),{},{customInspect:!1,depth:0}))}}]),n}(Gj(Error),jj.custom);fSe.exports=sMt});var Wj=ye((ffr,vSe)=>{"use strict";var dSe=Object.prototype.toString;vSe.exports=function(t){var r=dSe.call(t),n=r==="[object Arguments]";return n||(n=r!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&dSe.call(t.callee)==="[object Function]"),n}});var TSe=ye((hfr,wSe)=>{"use strict";var bSe;Object.keys||(TE=Object.prototype.hasOwnProperty,Zj=Object.prototype.toString,pSe=Wj(),Xj=Object.prototype.propertyIsEnumerable,gSe=!Xj.call({toString:null},"toString"),mSe=Xj.call(function(){},"prototype"),AE=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],$D=function(e){var t=e.constructor;return t&&t.prototype===e},ySe={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},_Se=function(){if(typeof window=="undefined")return!1;for(var e in window)try{if(!ySe["$"+e]&&TE.call(window,e)&&window[e]!==null&&typeof window[e]=="object")try{$D(window[e])}catch(t){return!0}}catch(t){return!0}return!1}(),xSe=function(e){if(typeof window=="undefined"||!_Se)return $D(e);try{return $D(e)}catch(t){return!1}},bSe=function(t){var r=t!==null&&typeof t=="object",n=Zj.call(t)==="[object Function]",i=pSe(t),a=r&&Zj.call(t)==="[object String]",o=[];if(!r&&!n&&!i)throw new TypeError("Object.keys called on a non-object");var s=mSe&&n;if(a&&t.length>0&&!TE.call(t,0))for(var l=0;l0)for(var u=0;u{"use strict";var lMt=Array.prototype.slice,uMt=Wj(),ASe=Object.keys,QD=ASe?function(t){return ASe(t)}:TSe(),SSe=Object.keys;QD.shim=function(){if(Object.keys){var t=function(){var r=Object.keys(arguments);return r&&r.length===arguments.length}(1,2);t||(Object.keys=function(n){return uMt(n)?SSe(lMt.call(n)):SSe(n)})}else Object.keys=QD;return Object.keys||QD};MSe.exports=QD});var ISe=ye((vfr,PSe)=>{"use strict";var cMt=Yj(),CSe=eD()(),LSe=v5(),ESe=Object,fMt=LSe("Array.prototype.push"),kSe=LSe("Object.prototype.propertyIsEnumerable"),hMt=CSe?Object.getOwnPropertySymbols:null;PSe.exports=function(t,r){if(t==null)throw new TypeError("target must be an object");var n=ESe(t);if(arguments.length===1)return n;for(var i=1;i{"use strict";var Kj=ISe(),dMt=function(){if(!Object.assign)return!1;for(var e="abcdefghijklmnopqrst",t=e.split(""),r={},n=0;n{"use strict";var zSe=function(e){return e!==e};FSe.exports=function(t,r){return t===0&&r===0?1/t===1/r:!!(t===r||zSe(t)&&zSe(r))}});var eR=ye((mfr,qSe)=>{"use strict";var pMt=Jj();qSe.exports=function(){return typeof Object.is=="function"?Object.is:pMt}});var SE=ye((yfr,USe)=>{"use strict";var gMt=Yj(),mMt=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",yMt=Object.prototype.toString,_Mt=Array.prototype.concat,OSe=Object.defineProperty,xMt=function(e){return typeof e=="function"&&yMt.call(e)==="[object Function]"},bMt=DG()(),BSe=OSe&&bMt,wMt=function(e,t,r,n){if(t in e){if(n===!0){if(e[t]===r)return}else if(!xMt(n)||!n())return}BSe?OSe(e,t,{configurable:!0,enumerable:!1,value:r,writable:!0}):e[t]=r},NSe=function(e,t){var r=arguments.length>2?arguments[2]:{},n=gMt(t);mMt&&(n=_Mt.call(n,Object.getOwnPropertySymbols(t)));for(var i=0;i{"use strict";var TMt=eR(),AMt=SE();VSe.exports=function(){var t=TMt();return AMt(Object,{is:t},{is:function(){return Object.is!==t}}),t}});var ZSe=ye((xfr,WSe)=>{"use strict";var SMt=SE(),MMt=rE(),EMt=Jj(),GSe=eR(),kMt=HSe(),jSe=MMt(GSe(),Object);SMt(jSe,{getPolyfill:GSe,implementation:EMt,shim:kMt});WSe.exports=jSe});var $j=ye((bfr,XSe)=>{"use strict";XSe.exports=function(t){return t!==t}});var Qj=ye((wfr,YSe)=>{"use strict";var CMt=$j();YSe.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:CMt}});var JSe=ye((Tfr,KSe)=>{"use strict";var LMt=SE(),PMt=Qj();KSe.exports=function(){var t=PMt();return LMt(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}});var tMe=ye((Afr,eMe)=>{"use strict";var IMt=rE(),DMt=SE(),RMt=$j(),$Se=Qj(),zMt=JSe(),QSe=IMt($Se(),Number);DMt(QSe,{getPolyfill:$Se,implementation:RMt,shim:zMt});eMe.exports=QSe});var bMe=ye((Sfr,xMe)=>{"use strict";function rMe(e,t){return BMt(e)||OMt(e,t)||qMt(e,t)||FMt()}function FMt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qMt(e,t){if(e){if(typeof e=="string")return iMe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return iMe(e,t)}}function iMe(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r10)return!0;for(var t=0;t57)return!0}return e.length===10&&e>=Math.pow(2,32)}function iR(e){return Object.keys(e).filter(XMt).concat(aR(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function gMe(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i{"use strict";function Zg(e){"@babel/helpers - typeof";return Zg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zg(e)}function wMe(e,t){for(var r=0;r1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i{var LE=1e3,PE=LE*60,IE=PE*60,DE=IE*24,x4t=DE*365.25;NMe.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return b4t(e);if(r==="number"&&isNaN(e)===!1)return t.long?T4t(e):w4t(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function b4t(e){if(e=String(e),!(e.length>100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*x4t;case"days":case"day":case"d":return r*DE;case"hours":case"hour":case"hrs":case"hr":case"h":return r*IE;case"minutes":case"minute":case"mins":case"min":case"m":return r*PE;case"seconds":case"second":case"secs":case"sec":case"s":return r*LE;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function w4t(e){return e>=DE?Math.round(e/DE)+"d":e>=IE?Math.round(e/IE)+"h":e>=PE?Math.round(e/PE)+"m":e>=LE?Math.round(e/LE)+"s":e+"ms"}function T4t(e){return dR(e,DE,"day")||dR(e,IE,"hour")||dR(e,PE,"minute")||dR(e,LE,"second")||e+" ms"}function dR(e,t,r){if(!(e{$u=VMe.exports=oW.debug=oW.default=oW;$u.coerce=k4t;$u.disable=M4t;$u.enable=S4t;$u.enabled=E4t;$u.humanize=UMe();$u.names=[];$u.skips=[];$u.formatters={};var aW;function A4t(e){var t=0,r;for(r in e)t=(t<<5)-t+e.charCodeAt(r),t|=0;return $u.colors[Math.abs(t)%$u.colors.length]}function oW(e){function t(){if(t.enabled){var r=t,n=+new Date,i=n-(aW||n);r.diff=i,r.prev=aW,r.curr=n,aW=n;for(var a=new Array(arguments.length),o=0;o{fp=jMe.exports=HMe();fp.log=P4t;fp.formatArgs=L4t;fp.save=I4t;fp.load=GMe;fp.useColors=C4t;fp.storage=typeof chrome!="undefined"&&typeof chrome.storage!="undefined"?chrome.storage.local:D4t();fp.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"];function C4t(){return typeof window!="undefined"&&window.process&&window.process.type==="renderer"?!0:typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}fp.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}};function L4t(e){var t=this.useColors;if(e[0]=(t?"%c":"")+this.namespace+(t?" %c":" ")+e[0]+(t?"%c ":" ")+"+"+fp.humanize(this.diff),!!t){var r="color: "+this.color;e.splice(1,0,r,"color: inherit");var n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,function(a){a!=="%%"&&(n++,a==="%c"&&(i=n))}),e.splice(i,0,r)}}function P4t(){return typeof console=="object"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function I4t(e){try{e==null?fp.storage.removeItem("debug"):fp.storage.debug=e}catch(t){}}function GMe(){var e;try{e=fp.storage.debug}catch(t){}return!e&&typeof process!="undefined"&&"env"in process&&(e=process.env.DEBUG),e}fp.enable(GMe());function D4t(){try{return window.localStorage}catch(e){}}});var e4e=ye((kfr,QMe)=>{var M5=mE(),K_=WMe()("stream-parser");QMe.exports=z4t;var XMe=-1,vR=0,R4t=1,YMe=2;function z4t(e){var t=e&&typeof e._transform=="function",r=e&&typeof e._write=="function";if(!t&&!r)throw new Error("must pass a Writable or Transform stream in");K_("extending Parser into stream"),e._bytes=F4t,e._skipBytes=q4t,t&&(e._passthrough=O4t),t?e._transform=N4t:e._write=B4t}function RE(e){K_("initializing parser stream"),e._parserBytesLeft=0,e._parserBuffers=[],e._parserBuffered=0,e._parserState=XMe,e._parserCallback=null,typeof e.push=="function"&&(e._parserOutput=e.push.bind(e)),e._parserInit=!0}function F4t(e,t){M5(!this._parserCallback,'there is already a "callback" set!'),M5(isFinite(e)&&e>0,'can only buffer a finite number of bytes > 0, got "'+e+'"'),this._parserInit||RE(this),K_("buffering %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=vR}function q4t(e,t){M5(!this._parserCallback,'there is already a "callback" set!'),M5(e>0,'can only skip > 0 bytes, got "'+e+'"'),this._parserInit||RE(this),K_("skipping %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=R4t}function O4t(e,t){M5(!this._parserCallback,'There is already a "callback" set!'),M5(e>0,'can only pass through > 0 bytes, got "'+e+'"'),this._parserInit||RE(this),K_("passing through %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=YMe}function B4t(e,t,r){this._parserInit||RE(this),K_("write(%o bytes)",e.length),typeof t=="function"&&(r=t),JMe(this,e,null,r)}function N4t(e,t,r){this._parserInit||RE(this),K_("transform(%o bytes)",e.length),typeof t!="function"&&(t=this._parserOutput),JMe(this,e,t,r)}function KMe(e,t,r,n){return e._parserBytesLeft<=0?n(new Error("got data but not currently parsing anything")):t.length<=e._parserBytesLeft?function(){return ZMe(e,t,r,n)}:function(){var i=t.slice(0,e._parserBytesLeft);return ZMe(e,i,r,function(a){if(a)return n(a);if(t.length>i.length)return function(){return KMe(e,t.slice(i.length),r,n)}})}}function ZMe(e,t,r,n){if(e._parserBytesLeft-=t.length,K_("%o bytes left for stream piece",e._parserBytesLeft),e._parserState===vR?(e._parserBuffers.push(t),e._parserBuffered+=t.length):e._parserState===YMe&&r(t),e._parserBytesLeft===0){var i=e._parserCallback;if(i&&e._parserState===vR&&e._parserBuffers.length>1&&(t=Buffer.concat(e._parserBuffers,e._parserBuffered)),e._parserState!==vR&&(t=null),e._parserCallback=null,e._parserBuffered=0,e._parserState=XMe,e._parserBuffers.splice(0),i){var a=[];t&&a.push(t),r&&a.push(r);var o=i.length>a.length;o&&a.push($Me(n));var s=i.apply(e,a);if(!o||n===s)return n}}else return n}var JMe=$Me(KMe);function $Me(e){return function(){for(var t=e.apply(this,arguments);typeof t=="function";)t=t();return t}}});var Eu=ye(Zy=>{"use strict";var t4e=ZAe().Transform,U4t=e4e();function zE(){t4e.call(this,{readableObjectMode:!0})}zE.prototype=Object.create(t4e.prototype);zE.prototype.constructor=zE;U4t(zE.prototype);Zy.ParserStream=zE;Zy.sliceEq=function(e,t,r){for(var n=t,i=0;i{"use strict";var E5=Eu().readUInt16BE,lW=Eu().readUInt32BE;function FE(e,t){if(e.length<4+t)return null;var r=lW(e,t);return e.length>4&15,n=e[4]&15,i=e[5]>>4&15,a=E5(e,6),o=8,s=0;sa.width||i.width===a.width&&i.height>a.height?i:a}),r=e.reduce(function(i,a){return i.height>a.height||i.height===a.height&&i.width>a.width?i:a}),n;return t.width>r.height||t.width===r.height&&t.height>r.width?n=t:n=r,n}gR.exports.readSizeFromMeta=function(e){var t={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(W4t(e,t),!!t.sizes.length){var r=Z4t(t.sizes),n=1;t.transforms.forEach(function(a){var o={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},s={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(a.type==="imir"&&(a.value===0?n=s[n]:(n=s[n],n=o[n],n=o[n])),a.type==="irot")for(var l=0;l{"use strict";function mR(e,t){var r=new Error(e);return r.code=t,r}function X4t(e){try{return decodeURIComponent(escape(e))}catch(t){return e}}function Xy(e,t,r){this.input=e.subarray(t,r),this.start=t;var n=String.fromCharCode.apply(null,this.input.subarray(0,4));if(n!=="II*\0"&&n!=="MM\0*")throw mR("invalid TIFF signature","EBADDATA");this.big_endian=n[0]==="M"}Xy.prototype.each=function(e){this.aborted=!1;var t=this.read_uint32(4);for(this.ifds_to_read=[{id:0,offset:t}];this.ifds_to_read.length>0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,e)}};Xy.prototype.read_uint16=function(e){var t=this.input;if(e+2>t.length)throw mR("unexpected EOF","EBADDATA");return this.big_endian?t[e]*256+t[e+1]:t[e]+t[e+1]*256};Xy.prototype.read_uint32=function(e){var t=this.input;if(e+4>t.length)throw mR("unexpected EOF","EBADDATA");return this.big_endian?t[e]*16777216+t[e+1]*65536+t[e+2]*256+t[e+3]:t[e]+t[e+1]*256+t[e+2]*65536+t[e+3]*16777216};Xy.prototype.is_subifd_link=function(e,t){return e===0&&t===34665||e===0&&t===34853||e===34665&&t===40965};Xy.prototype.exif_format_length=function(e){switch(e){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}};Xy.prototype.exif_format_read=function(e,t){var r;switch(e){case 1:case 2:return r=this.input[t],r;case 6:return r=this.input[t],r|(r&128)*33554430;case 3:return r=this.read_uint16(t),r;case 8:return r=this.read_uint16(t),r|(r&32768)*131070;case 4:return r=this.read_uint32(t),r;case 9:return r=this.read_uint32(t),r|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}};Xy.prototype.scan_ifd=function(e,t,r){var n=this.read_uint16(t);t+=2;for(var i=0;ithis.input.length)throw mR("unexpected EOF","EBADDATA");for(var h=[],v=c,d=0;d0&&(this.ifds_to_read.push({id:a,offset:h[0]}),f=!0);var b={is_big_endian:this.big_endian,ifd:e,tag:a,format:o,count:s,entry_offset:t+this.start,data_length:u,data_offset:c+this.start,value:h,is_subifd_link:f};if(r(b)===!1){this.aborted=!0;return}t+=12}e===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(t)})};uW.exports.ExifParser=Xy;uW.exports.get_orientation=function(e){var t=0;try{return new Xy(e,0,e.length).each(function(r){if(r.ifd===0&&r.tag===274&&Array.isArray(r.value))return t=r.value[0],!1}),t}catch(r){return-1}}});var n4e=ye((Ifr,i4e)=>{"use strict";var Y4t=Eu().str2arr,K4t=Eu().sliceEq,J4t=Eu().readUInt32BE,_R=r4e(),$4t=yR(),Q4t=Y4t("ftyp");i4e.exports=function(e){if(K4t(e,4,Q4t)){var t=_R.unbox(e,0);if(t){var r=_R.getMimeType(t.data);if(r){for(var n,i=t.end;;){var a=_R.unbox(e,i);if(!a)break;if(i=a.end,a.boxtype==="mdat")return;if(a.boxtype==="meta"){n=a.data;break}}if(n){var o=_R.readSizeFromMeta(n);if(o){var s={width:o.width,height:o.height,type:r.type,mime:r.mime,wUnits:"px",hUnits:"px"};if(o.variants.length>1&&(s.variants=o.variants),o.orientation&&(s.orientation=o.orientation),o.exif_location&&o.exif_location.offset+o.exif_location.length<=e.length){var l=J4t(e,o.exif_location.offset),u=e.slice(o.exif_location.offset+l+4,o.exif_location.offset+o.exif_location.length),c=$4t.get_orientation(u);c>0&&(s.orientation=c)}return s}}}}}}});var s4e=ye((Dfr,o4e)=>{"use strict";var eEt=Eu().str2arr,tEt=Eu().sliceEq,a4e=Eu().readUInt16LE,rEt=eEt("BM");o4e.exports=function(e){if(!(e.length<26)&&tEt(e,0,rEt))return{width:a4e(e,18),height:a4e(e,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}});var h4e=ye((Rfr,f4e)=>{"use strict";var c4e=Eu().str2arr,l4e=Eu().sliceEq,u4e=Eu().readUInt16LE,iEt=c4e("GIF87a"),nEt=c4e("GIF89a");f4e.exports=function(e){if(!(e.length<10)&&!(!l4e(e,0,iEt)&&!l4e(e,0,nEt)))return{width:u4e(e,6),height:u4e(e,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}});var p4e=ye((zfr,v4e)=>{"use strict";var cW=Eu().readUInt16LE,aEt=0,oEt=1,d4e=16;v4e.exports=function(e){var t=cW(e,0),r=cW(e,2),n=cW(e,4);if(!(t!==aEt||r!==oEt||!n)){for(var i=[],a={width:0,height:0},o=0;oa.width||l>a.height)&&(a=u)}return{width:a.width,height:a.height,variants:i,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}});var m4e=ye((Ffr,g4e)=>{"use strict";var fW=Eu().readUInt16BE,sEt=Eu().str2arr,lEt=Eu().sliceEq,uEt=yR(),cEt=sEt("Exif\0\0");g4e.exports=function(e){if(!(e.length<2)&&!(e[0]!==255||e[1]!==216||e[2]!==255))for(var t=2;;){for(;;){if(e.length-t<2)return;if(e[t++]===255)break}for(var r=e[t++],n;r===255;)r=e[t++];if(208<=r&&r<=217||r===1)n=0;else if(192<=r&&r<=254){if(e.length-t<2)return;n=fW(e,t)-2,t+=2}else return;if(r===217||r===218)return;var i;if(r===225&&n>=10&&lEt(e,t,cEt)&&(i=uEt.get_orientation(e.slice(t+6,t+n))),n>=5&&192<=r&&r<=207&&r!==196&&r!==200&&r!==204){if(e.length-t0&&(a.orientation=i),a}t+=n}}});var w4e=ye((qfr,b4e)=>{"use strict";var x4e=Eu().str2arr,y4e=Eu().sliceEq,_4e=Eu().readUInt32BE,fEt=x4e(`\x89PNG\r + +`),hEt=x4e("IHDR");b4e.exports=function(e){if(!(e.length<24)&&y4e(e,0,fEt)&&y4e(e,12,hEt))return{width:_4e(e,16),height:_4e(e,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}});var S4e=ye((Ofr,A4e)=>{"use strict";var dEt=Eu().str2arr,vEt=Eu().sliceEq,T4e=Eu().readUInt32BE,pEt=dEt("8BPS\0");A4e.exports=function(e){if(!(e.length<22)&&vEt(e,0,pEt))return{width:T4e(e,18),height:T4e(e,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}});var k4e=ye((Bfr,E4e)=>{"use strict";function gEt(e){return e===32||e===9||e===13||e===10}function k5(e){return typeof e=="number"&&isFinite(e)&&e>0}function mEt(e){var t=0,r=e.length;for(e[0]===239&&e[1]===187&&e[2]===191&&(t=3);t]*>/,_Et=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,xEt=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,bEt=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,wEt=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,M4e=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function TEt(e){var t=e.match(xEt),r=e.match(bEt),n=e.match(wEt);return{width:t&&(t[1]||t[2]),height:r&&(r[1]||r[2]),viewbox:n&&(n[1]||n[2])}}function Vm(e){return M4e.test(e)?e.match(M4e)[0]:"px"}E4e.exports=function(e){if(mEt(e)){for(var t="",r=0;r{"use strict";var P4e=Eu().str2arr,C4e=Eu().sliceEq,AEt=Eu().readUInt16LE,SEt=Eu().readUInt16BE,MEt=Eu().readUInt32LE,EEt=Eu().readUInt32BE,kEt=P4e("II*\0"),CEt=P4e("MM\0*");function xR(e,t,r){return r?SEt(e,t):AEt(e,t)}function hW(e,t,r){return r?EEt(e,t):MEt(e,t)}function L4e(e,t,r){var n=xR(e,t+2,r),i=hW(e,t+4,r);return i!==1||n!==3&&n!==4?null:n===3?xR(e,t+8,r):hW(e,t+8,r)}I4e.exports=function(e){if(!(e.length<8)&&!(!C4e(e,0,kEt)&&!C4e(e,0,CEt))){var t=e[0]===77,r=hW(e,4,t)-8;if(!(r<0)){var n=r+8;if(!(e.length-n<2)){var i=xR(e,n+0,t)*12;if(!(i<=0)&&(n+=2,!(e.length-n{"use strict";var F4e=Eu().str2arr,R4e=Eu().sliceEq,z4e=Eu().readUInt16LE,dW=Eu().readUInt32LE,LEt=yR(),PEt=F4e("RIFF"),IEt=F4e("WEBP");function DEt(e,t){if(!(e[t+3]!==157||e[t+4]!==1||e[t+5]!==42))return{width:z4e(e,t+6)&16383,height:z4e(e,t+8)&16383,type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}function REt(e,t){if(e[t]===47){var r=dW(e,t+1);return{width:(r&16383)+1,height:(r>>14&16383)+1,type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function zEt(e,t){return{width:(e[t+6]<<16|e[t+5]<<8|e[t+4])+1,height:(e[t+9]<e.length)){for(;t+8=10?r=r||DEt(e,t+8):a==="VP8L"&&o>=9?r=r||REt(e,t+8):a==="VP8X"&&o>=10?r=r||zEt(e,t+8):a==="EXIF"&&(n=LEt.get_orientation(e.slice(t+8,t+8+o)),t=1/0),t+=8+o}if(r)return n>0&&(r.orientation=n),r}}}});var N4e=ye((Vfr,B4e)=>{"use strict";B4e.exports={avif:n4e(),bmp:s4e(),gif:h4e(),ico:p4e(),jpeg:m4e(),png:w4e(),psd:S4e(),svg:k4e(),tiff:D4e(),webp:O4e()}});var U4e=ye((Hfr,pW)=>{"use strict";var vW=N4e();function FEt(e){for(var t=Object.keys(vW),r=0;r{"use strict";var qEt=U4e(),OEt=Dy().IMAGE_URL_PREFIX,BEt=y2().Buffer;V4e.getImageSize=function(e){var t=e.replace(OEt,""),r=new BEt(t,"base64");return qEt(r)}});var W4e=ye((jfr,j4e)=>{"use strict";var G4e=Ar(),NEt=r5(),UEt=uo(),bR=Xa(),VEt=Ar().maxRowLength,HEt=H4e().getImageSize;j4e.exports=function(t,r){var n,i;if(r._hasZ)n=r.z.length,i=VEt(r.z);else if(r._hasSource){var a=HEt(r.source);n=a.height,i=a.width}var o=bR.getFromId(t,r.xaxis||"x"),s=bR.getFromId(t,r.yaxis||"y"),l=o.d2c(r.x0)-r.dx/2,u=s.d2c(r.y0)-r.dy/2,c,f=[l,l+i*r.dx],h=[u,u+n*r.dy];if(o&&o.type==="log")for(c=0;c{"use strict";var ZEt=ba(),I2=Ar(),Z4e=I2.strTranslate,XEt=Kp(),YEt=r5(),KEt=oH(),JEt=w8().STYLE;X4e.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis,s=!t._context._exportedPlot&&KEt();I2.makeTraceGroups(i,n,"im").each(function(l){var u=ZEt.select(this),c=l[0],f=c.trace,h=(f.zsmooth==="fast"||f.zsmooth===!1&&s)&&!f._hasZ&&f._hasSource&&a.type==="linear"&&o.type==="linear";f._realImage=h;var v=c.z,d=c.x0,_=c.y0,b=c.w,p=c.h,E=f.dx,k=f.dy,S,L,x,C,M,g;for(g=0;S===void 0&&g0;)L=a.c2p(d+g*E),g--;for(g=0;C===void 0&&g0;)M=o.c2p(_+g*k),g--;if(LW[0];if(re||ae){var _e=S+T/2,Me=C+F/2;G+="transform:"+Z4e(_e+"px",Me+"px")+"scale("+(re?-1:1)+","+(ae?-1:1)+")"+Z4e(-_e+"px",-Me+"px")+";"}}X.attr("style",G);var ke=new Promise(function(ge){if(f._hasZ)ge();else if(f._hasSource)if(f._canvas&&f._canvas.el.width===b&&f._canvas.el.height===p&&f._canvas.source===f.source)ge();else{var ie=document.createElement("canvas");ie.width=b,ie.height=p;var Te=ie.getContext("2d",{willReadFrequently:!0});f._image=f._image||new Image;var Ee=f._image;Ee.onload=function(){Te.drawImage(Ee,0,0),f._canvas={el:ie,source:f.source},ge()},Ee.setAttribute("src",f.source)}}).then(function(){var ge,ie;if(f._hasZ)ie=H(function(Ae,ze){var Ce=v[ze][Ae];return I2.isTypedArray(Ce)&&(Ce=Array.from(Ce)),Ce}),ge=ie.toDataURL("image/png");else if(f._hasSource)if(h)ge=f.source;else{var Te=f._canvas.el.getContext("2d",{willReadFrequently:!0}),Ee=Te.getImageData(0,0,b,p).data;ie=H(function(Ae,ze){var Ce=4*(ze*b+Ae);return[Ee[Ce],Ee[Ce+1],Ee[Ce+2],Ee[Ce+3]]}),ge=ie.toDataURL("image/png")}X.attr({"xlink:href":ge,height:F,width:T,x:S,y:C})});t._promises.push(ke)})}});var J4e=ye((Zfr,K4e)=>{"use strict";var $Et=ba();K4e.exports=function(t){$Et.select(t).selectAll(".im image").style("opacity",function(r){return r[0].trace.opacity})}});var tEe=ye((Xfr,eEe)=>{"use strict";var $4e=Nc(),Q4e=Ar(),wR=Q4e.isArrayOrTypedArray,QEt=r5();eEe.exports=function(t,r,n){var i=t.cd[0],a=i.trace,o=t.xa,s=t.ya;if(!($4e.inbox(r-i.x0,r-(i.x0+i.w*a.dx),0)>0||$4e.inbox(n-i.y0,n-(i.y0+i.h*a.dy),0)>0)){var l=Math.floor((r-i.x0)/a.dx),u=Math.floor(Math.abs(n-i.y0)/a.dy),c;if(a._hasZ?c=i.z[u][l]:a._hasSource&&(c=a._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(l,u,1,1).data),!!c){var f=i.hi||a.hoverinfo,h;if(f){var v=f.split("+");v.indexOf("all")!==-1&&(v=["color"]),v.indexOf("color")!==-1&&(h=!0)}var d=QEt.colormodel[a.colormodel],_=d.colormodel||a.colormodel,b=_.length,p=a._scaler(c),E=d.suffix,k=[];(a.hovertemplate||h)&&(k.push("["+[p[0]+E[0],p[1]+E[1],p[2]+E[2]].join(", ")),b===4&&k.push(", "+p[3]+E[3]),k.push("]"),k=k.join(""),t.extraText=_.toUpperCase()+": "+k);var S;wR(a.hovertext)&&wR(a.hovertext[u])?S=a.hovertext[u][l]:wR(a.text)&&wR(a.text[u])&&(S=a.text[u][l]);var L=s.c2p(i.y0+(u+.5)*a.dy),x=i.x0+(l+.5)*a.dx,C=i.y0+(u+.5)*a.dy,M="["+c.slice(0,a.colormodel.length).join(", ")+"]";return[Q4e.extendFlat(t,{index:[u,l],x0:o.c2p(i.x0+l*a.dx),x1:o.c2p(i.x0+(l+1)*a.dx),y0:L,y1:L,color:p,xVal:x,xLabelVal:x,yVal:C,yLabelVal:C,zLabelVal:M,text:S,hovertemplateLabels:{zLabel:M,colorLabel:k,"color[0]Label":p[0]+E[0],"color[1]Label":p[1]+E[1],"color[2]Label":p[2]+E[2],"color[3]Label":p[3]+E[3]}})]}}}});var iEe=ye((Yfr,rEe)=>{"use strict";rEe.exports=function(t,r){return"xVal"in r&&(t.x=r.xVal),"yVal"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t.color=r.color,t.colormodel=r.trace.colormodel,t.z||(t.z=r.color),t}});var aEe=ye((Kfr,nEe)=>{"use strict";nEe.exports={attributes:gG(),supplyDefaults:B3e(),calc:W4e(),plot:Y4e(),style:J4e(),hoverPoints:tEe(),eventData:iEe(),moduleType:"trace",name:"image",basePlotModule:Qf(),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}});var sEe=ye((Jfr,oEe)=>{"use strict";oEe.exports=aEe()});var D2=ye(($fr,lEe)=>{"use strict";var ekt=vl(),tkt=Ju().attributes,rkt=Su(),ikt=ph(),nkt=Wo().hovertemplateAttrs,akt=Wo().texttemplateAttrs,qE=no().extendFlat,okt=kd().pattern,TR=rkt({editType:"plot",arrayOk:!0,colorEditType:"plot"});lEe.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:ikt.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:okt,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:qE({},ekt.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:nkt({},{keys:["label","color","value","percent","text"]}),texttemplate:akt({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:qE({},TR,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:qE({},TR,{}),outsidetextfont:qE({},TR,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:qE({},TR,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:tkt({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"}}});var R2=ye((Qfr,fEe)=>{"use strict";var skt=uo(),OE=Ar(),lkt=D2(),ukt=Ju().defaults,ckt=a0().handleText,fkt=Ar().coercePattern;function uEe(e,t){var r=OE.isArrayOrTypedArray(e),n=OE.isArrayOrTypedArray(t),i=Math.min(r?e.length:1/0,n?t.length:1/0);if(isFinite(i)||(i=0),i&&n){for(var a,o=0;o0){a=!0;break}}a||(i=0)}return{hasLabels:r,hasValues:n,len:i}}function cEe(e,t,r,n,i){var a=n("marker.line.width");a&&n("marker.line.color",i?void 0:r.paper_bgcolor);var o=n("marker.colors");fkt(n,"marker.pattern",o),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}function hkt(e,t,r,n){function i(E,k){return OE.coerce(e,t,lkt,E,k)}var a=i("labels"),o=i("values"),s=uEe(a,o),l=s.len;if(t._hasLabels=s.hasLabels,t._hasValues=s.hasValues,!t._hasLabels&&t._hasValues&&(i("label0"),i("dlabel")),!l){t.visible=!1;return}t._length=l,cEe(e,t,n,i,!0),i("scalegroup");var u=i("text"),c=i("texttemplate"),f;if(c||(f=i("textinfo",OE.isArrayOrTypedArray(u)?"text+percent":"percent")),i("hovertext"),i("hovertemplate"),c||f&&f!=="none"){var h=i("textposition");ckt(e,t,n,i,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var v=Array.isArray(h)||h==="auto",d=v||h==="outside";d&&i("automargin"),(h==="inside"||h==="auto"||Array.isArray(h))&&i("insidetextorientation")}else f==="none"&&i("textposition","none");ukt(t,n,i);var _=i("hole"),b=i("title.text");if(b){var p=i("title.position",_?"middle center":"top center");!_&&p==="middle center"&&(t.title.position="top center"),OE.coerceFont(i,"title.font",n.font)}i("sort"),i("direction"),i("rotation"),i("pull")}fEe.exports={handleLabelsAndValues:uEe,handleMarkerDefaults:cEe,supplyDefaults:hkt}});var AR=ye((ehr,hEe)=>{"use strict";hEe.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var vEe=ye((thr,dEe)=>{"use strict";var dkt=Ar(),vkt=AR();dEe.exports=function(t,r){function n(i,a){return dkt.coerce(t,r,vkt,i,a)}n("hiddenlabels"),n("piecolorway",r.colorway),n("extendpiecolors")}});var C5=ye((rhr,mEe)=>{"use strict";var pkt=uo(),gW=ad(),gkt=va(),mkt={};function ykt(e,t){var r=[],n=e._fullLayout,i=n.hiddenlabels||[],a=t.labels,o=t.marker.colors||[],s=t.values,l=t._length,u=t._hasValues&&l,c,f;if(t.dlabel)for(a=new Array(l),c=0;c=0});var S=t.type==="funnelarea"?_:t.sort;return S&&r.sort(function(L,x){return x.v-L.v}),r[0]&&(r[0].vTotal=d),r}function pEe(e){return function(r,n){return!r||(r=gW(r),!r.isValid())?!1:(r=gkt.addOpacity(r,r.getAlpha()),e[n]||(e[n]=r),r)}}function _kt(e,t){var r=(t||{}).type;r||(r="pie");var n=e._fullLayout,i=e.calcdata,a=n[r+"colorway"],o=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=gEe(a,mkt));for(var s=0,l=0;l{"use strict";var xkt=np().appendArrayMultiPointValues;yEe.exports=function(t,r){var n={curveNumber:r.index,pointNumbers:t.pts,data:r._input,fullData:r,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return t.pts.length===1&&(n.pointNumber=n.i=t.pts[0]),xkt(n,r,t.pts),r.type==="funnelarea"&&(delete n.v,delete n.i),n}});var kR=ye((nhr,NEe)=>{"use strict";var Op=ba(),bkt=Nu(),SR=Nc(),SEe=va(),Yy=ao(),tv=Ar(),wkt=tv.strScale,xEe=tv.strTranslate,mW=Ll(),MEe=bv(),Tkt=MEe.recordMinTextSize,Akt=MEe.clearMinTextSize,EEe=l2().TEXTPAD,Zo=v_(),MR=_Ee(),bEe=Ar().isValidTextValue;function Skt(e,t){var r=e._context.staticPlot,n=e._fullLayout,i=n._size;Akt("pie",n),LEe(t,e),qEe(t,i);var a=tv.makeTraceGroups(n._pielayer,t,"trace").each(function(o){var s=Op.select(this),l=o[0],u=l.trace;Rkt(o),s.attr("stroke-linejoin","round"),s.each(function(){var c=Op.select(this).selectAll("g.slice").data(o);c.enter().append("g").classed("slice",!0),c.exit().remove();var f=[[[],[]],[[],[]]],h=!1;c.each(function(S,L){if(S.hidden){Op.select(this).selectAll("path,g").remove();return}S.pointNumber=S.i,S.curveNumber=u.index,f[S.pxmid[1]<0?0:1][S.pxmid[0]<0?0:1].push(S);var x=l.cx,C=l.cy,M=Op.select(this),g=M.selectAll("path.surface").data([S]);if(g.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),M.call(kEe,e,o),u.pull){var P=+Zo.castOption(u.pull,S.pts)||0;P>0&&(x+=P*S.pxmid[0],C+=P*S.pxmid[1])}S.cxFinal=x,S.cyFinal=C;function T(N,W,re,ae){var _e=ae*(W[0]-N[0]),Me=ae*(W[1]-N[1]);return"a"+ae*l.r+","+ae*l.r+" 0 "+S.largeArc+(re?" 1 ":" 0 ")+_e+","+Me}var F=u.hole;if(S.v===l.vTotal){var q="M"+(x+S.px0[0])+","+(C+S.px0[1])+T(S.px0,S.pxmid,!0,1)+T(S.pxmid,S.px0,!0,1)+"Z";F?g.attr("d","M"+(x+F*S.px0[0])+","+(C+F*S.px0[1])+T(S.px0,S.pxmid,!1,F)+T(S.pxmid,S.px0,!1,F)+"Z"+q):g.attr("d",q)}else{var V=T(S.px0,S.px1,!0,1);if(F){var H=1-F;g.attr("d","M"+(x+F*S.px1[0])+","+(C+F*S.px1[1])+T(S.px1,S.px0,!1,F)+"l"+H*S.px0[0]+","+H*S.px0[1]+V+"Z")}else g.attr("d","M"+x+","+C+"l"+S.px0[0]+","+S.px0[1]+V+"Z")}OEe(e,S,l);var X=Zo.castOption(u.textposition,S.pts),G=M.selectAll("g.slicetext").data(S.text&&X!=="none"?[0]:[]);G.enter().append("g").classed("slicetext",!0),G.exit().remove(),G.each(function(){var N=tv.ensureSingle(Op.select(this),"text","",function(ie){ie.attr("data-notex",1)}),W=tv.ensureUniformFontSize(e,X==="outside"?Ekt(u,S,n.font):CEe(u,S,n.font));N.text(S.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(Yy.font,W).call(mW.convertToTspans,e);var re=Yy.bBox(N.node()),ae;if(X==="outside")ae=AEe(re,S);else if(ae=PEe(re,S,l),X==="auto"&&ae.scale<1){var _e=tv.ensureUniformFontSize(e,u.outsidetextfont);N.call(Yy.font,_e),re=Yy.bBox(N.node()),ae=AEe(re,S)}var Me=ae.textPosAngle,ke=Me===void 0?S.pxmid:ER(l.r,Me);if(ae.targetX=x+ke[0]*ae.rCenter+(ae.x||0),ae.targetY=C+ke[1]*ae.rCenter+(ae.y||0),BEe(ae,re),ae.outside){var ge=ae.targetY;S.yLabelMin=ge-re.height/2,S.yLabelMid=ge,S.yLabelMax=ge+re.height/2,S.labelExtraX=0,S.labelExtraY=0,h=!0}ae.fontSize=W.size,Tkt(u.type,ae,n),o[L].transform=ae,tv.setTransormAndDisplay(N,ae)})});var v=Op.select(this).selectAll("g.titletext").data(u.title.text?[0]:[]);if(v.enter().append("g").classed("titletext",!0),v.exit().remove(),v.each(function(){var S=tv.ensureSingle(Op.select(this),"text","",function(C){C.attr("data-notex",1)}),L=u.title.text;u._meta&&(L=tv.templateString(L,u._meta)),S.text(L).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(Yy.font,u.title.font).call(mW.convertToTspans,e);var x;u.title.position==="middle center"?x=Lkt(l):x=zEe(l,i),S.attr("transform",xEe(x.x,x.y)+wkt(Math.min(1,x.scale))+xEe(x.tx,x.ty))}),h&&Ikt(f,u),Mkt(c,u),h&&u.automargin){var d=Yy.bBox(s.node()),_=u.domain,b=i.w*(_.x[1]-_.x[0]),p=i.h*(_.y[1]-_.y[0]),E=(.5*b-l.r)/i.w,k=(.5*p-l.r)/i.h;bkt.autoMargin(e,"pie."+u.uid+".automargin",{xl:_.x[0]-E,xr:_.x[1]+E,yb:_.y[0]-k,yt:_.y[1]+k,l:Math.max(l.cx-l.r-d.left,0),r:Math.max(d.right-(l.cx+l.r),0),b:Math.max(d.bottom-(l.cy+l.r),0),t:Math.max(l.cy-l.r-d.top,0),pad:5})}})});setTimeout(function(){a.selectAll("tspan").each(function(){var o=Op.select(this);o.attr("dy")&&o.attr("dy",o.attr("dy"))})},0)}function Mkt(e,t){e.each(function(r){var n=Op.select(this);if(!r.labelExtraX&&!r.labelExtraY){n.select("path.textline").remove();return}var i=n.select("g.slicetext text");r.transform.targetX+=r.labelExtraX,r.transform.targetY+=r.labelExtraY,tv.setTransormAndDisplay(i,r.transform);var a=r.cxFinal+r.pxmid[0],o=r.cyFinal+r.pxmid[1],s="M"+a+","+o,l=(r.yLabelMax-r.yLabelMin)*(r.pxmid[0]<0?-1:1)/4;if(r.labelExtraX){var u=r.labelExtraX*r.pxmid[1]/r.pxmid[0],c=r.yLabelMid+r.labelExtraY-(r.cyFinal+r.pxmid[1]);Math.abs(u)>Math.abs(c)?s+="l"+c*r.pxmid[0]/r.pxmid[1]+","+c+"H"+(a+r.labelExtraX+l):s+="l"+r.labelExtraX+","+u+"v"+(c-u)+"h"+l}else s+="V"+(r.yLabelMid+r.labelExtraY)+"h"+l;tv.ensureSingle(n,"path","textline").call(SEe.stroke,t.outsidetextfont.color).attr({"stroke-width":Math.min(2,t.outsidetextfont.size/8),d:s,fill:"none"})})}function kEe(e,t,r){var n=r[0],i=n.cx,a=n.cy,o=n.trace,s=o.type==="funnelarea";"_hasHoverLabel"in o||(o._hasHoverLabel=!1),"_hasHoverEvent"in o||(o._hasHoverEvent=!1),e.on("mouseover",function(l){var u=t._fullLayout,c=t._fullData[o.index];if(!(t._dragging||u.hovermode===!1)){var f=c.hoverinfo;if(Array.isArray(f)&&(f=SR.castHoverinfo({hoverinfo:[Zo.castOption(f,l.pts)],_module:o._module},u,0)),f==="all"&&(f="label+text+value+percent+name"),c.hovertemplate||f!=="none"&&f!=="skip"&&f){var h=l.rInscribed||0,v=i+l.pxmid[0]*(1-h),d=a+l.pxmid[1]*(1-h),_=u.separators,b=[];if(f&&f.indexOf("label")!==-1&&b.push(l.label),l.text=Zo.castOption(c.hovertext||c.text,l.pts),f&&f.indexOf("text")!==-1){var p=l.text;tv.isValidTextValue(p)&&b.push(p)}l.value=l.v,l.valueLabel=Zo.formatPieValue(l.v,_),f&&f.indexOf("value")!==-1&&b.push(l.valueLabel),l.percent=l.v/n.vTotal,l.percentLabel=Zo.formatPiePercent(l.percent,_),f&&f.indexOf("percent")!==-1&&b.push(l.percentLabel);var E=c.hoverlabel,k=E.font,S=[];SR.loneHover({trace:o,x0:v-h*n.r,x1:v+h*n.r,y:d,_x0:s?i+l.TL[0]:v-h*n.r,_x1:s?i+l.TR[0]:v+h*n.r,_y0:s?a+l.TL[1]:d-h*n.r,_y1:s?a+l.BL[1]:d+h*n.r,text:b.join("
"),name:c.hovertemplate||f.indexOf("name")!==-1?c.name:void 0,idealAlign:l.pxmid[0]<0?"left":"right",color:Zo.castOption(E.bgcolor,l.pts)||l.color,borderColor:Zo.castOption(E.bordercolor,l.pts),fontFamily:Zo.castOption(k.family,l.pts),fontSize:Zo.castOption(k.size,l.pts),fontColor:Zo.castOption(k.color,l.pts),nameLength:Zo.castOption(E.namelength,l.pts),textAlign:Zo.castOption(E.align,l.pts),hovertemplate:Zo.castOption(c.hovertemplate,l.pts),hovertemplateLabels:l,eventData:[MR(l,c)]},{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:t,inOut_bbox:S}),l.bbox=S[0],o._hasHoverLabel=!0}o._hasHoverEvent=!0,t.emit("plotly_hover",{points:[MR(l,c)],event:Op.event})}}),e.on("mouseout",function(l){var u=t._fullLayout,c=t._fullData[o.index],f=Op.select(this).datum();o._hasHoverEvent&&(l.originalEvent=Op.event,t.emit("plotly_unhover",{points:[MR(f,c)],event:Op.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(SR.loneUnhover(u._hoverlayer.node()),o._hasHoverLabel=!1)}),e.on("click",function(l){var u=t._fullLayout,c=t._fullData[o.index];t._dragging||u.hovermode===!1||(t._hoverdata=[MR(l,c)],SR.click(t,Op.event))})}function Ekt(e,t,r){var n=Zo.castOption(e.outsidetextfont.color,t.pts)||Zo.castOption(e.textfont.color,t.pts)||r.color,i=Zo.castOption(e.outsidetextfont.family,t.pts)||Zo.castOption(e.textfont.family,t.pts)||r.family,a=Zo.castOption(e.outsidetextfont.size,t.pts)||Zo.castOption(e.textfont.size,t.pts)||r.size,o=Zo.castOption(e.outsidetextfont.weight,t.pts)||Zo.castOption(e.textfont.weight,t.pts)||r.weight,s=Zo.castOption(e.outsidetextfont.style,t.pts)||Zo.castOption(e.textfont.style,t.pts)||r.style,l=Zo.castOption(e.outsidetextfont.variant,t.pts)||Zo.castOption(e.textfont.variant,t.pts)||r.variant,u=Zo.castOption(e.outsidetextfont.textcase,t.pts)||Zo.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Zo.castOption(e.outsidetextfont.lineposition,t.pts)||Zo.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Zo.castOption(e.outsidetextfont.shadow,t.pts)||Zo.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n,family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function CEe(e,t,r){var n=Zo.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=Zo.castOption(e._input.textfont.color,t.pts));var i=Zo.castOption(e.insidetextfont.family,t.pts)||Zo.castOption(e.textfont.family,t.pts)||r.family,a=Zo.castOption(e.insidetextfont.size,t.pts)||Zo.castOption(e.textfont.size,t.pts)||r.size,o=Zo.castOption(e.insidetextfont.weight,t.pts)||Zo.castOption(e.textfont.weight,t.pts)||r.weight,s=Zo.castOption(e.insidetextfont.style,t.pts)||Zo.castOption(e.textfont.style,t.pts)||r.style,l=Zo.castOption(e.insidetextfont.variant,t.pts)||Zo.castOption(e.textfont.variant,t.pts)||r.variant,u=Zo.castOption(e.insidetextfont.textcase,t.pts)||Zo.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Zo.castOption(e.insidetextfont.lineposition,t.pts)||Zo.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Zo.castOption(e.insidetextfont.shadow,t.pts)||Zo.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n||SEe.contrast(t.color),family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function LEe(e,t){for(var r,n,i=0;i=-4;E-=2)p(Math.PI*E,"tan");for(E=4;E>=-4;E-=2)p(Math.PI*(E+1),"tan")}if(f||v){for(E=4;E>=-4;E-=2)p(Math.PI*(E+1.5),"rad");for(E=4;E>=-4;E-=2)p(Math.PI*(E+.5),"rad")}}if(s||d||f){var k=Math.sqrt(e.width*e.width+e.height*e.height);if(b={scale:i*n*2/k,rCenter:1-i,rotate:0},b.textPosAngle=(t.startangle+t.stopangle)/2,b.scale>=1)return b;_.push(b)}(d||v)&&(b=wEe(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,_.push(b)),(d||h)&&(b=TEe(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,_.push(b));for(var S=0,L=0,x=0;x<_.length;x++){var C=_[x].scale;if(L=1)break}return _[S]}function kkt(e,t){var r=e.startangle,n=e.stopangle;return r>t&&t>n||r0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function Lkt(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}function zEe(e,t){var r=1,n=1,i,a=e.trace,o={x:e.cx,y:e.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=FEe(a),a.title.position.indexOf("top")!==-1?(o.y-=(1+i)*e.r,s.ty-=e.titleBox.height):a.title.position.indexOf("bottom")!==-1&&(o.y+=(1+i)*e.r);var l=Pkt(e.r,e.trace.aspectratio),u=t.w*(a.domain.x[1]-a.domain.x[0])/2;return a.title.position.indexOf("left")!==-1?(u=u+l,o.x-=(1+i)*l,s.tx+=e.titleBox.width/2):a.title.position.indexOf("center")!==-1?u*=2:a.title.position.indexOf("right")!==-1&&(u=u+l,o.x+=(1+i)*l,s.tx-=e.titleBox.width/2),r=u/e.titleBox.width,n=yW(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function Pkt(e,t){return e/(t===void 0?1:t)}function yW(e,t){var r=e.trace,n=t.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(e.titleBox.height,n/2)}function FEe(e){var t=e.pull;if(!t)return 0;var r;if(tv.isArrayOrTypedArray(t))for(t=0,r=0;rt&&(t=e.pull[r]);return t}function Ikt(e,t){var r,n,i,a,o,s,l,u,c,f,h,v,d;function _(k,S){return k.pxmid[1]-S.pxmid[1]}function b(k,S){return S.pxmid[1]-k.pxmid[1]}function p(k,S){S||(S={});var L=S.labelExtraY+(n?S.yLabelMax:S.yLabelMin),x=n?k.yLabelMin:k.yLabelMax,C=n?k.yLabelMax:k.yLabelMin,M=k.cyFinal+o(k.px0[1],k.px1[1]),g=L-x,P,T,F,q,V,H;if(g*l>0&&(k.labelExtraY=g),!!tv.isArrayOrTypedArray(t.pull))for(T=0;T=(Zo.castOption(t.pull,F.pts)||0))&&((k.pxmid[1]-F.pxmid[1])*l>0?(q=F.cyFinal+o(F.px0[1],F.px1[1]),g=q-x-k.labelExtraY,g*l>0&&(k.labelExtraY+=g)):(C+k.labelExtraY-M)*l>0&&(P=3*s*Math.abs(T-f.indexOf(k)),V=F.cxFinal+a(F.px0[0],F.px1[0]),H=V+P-(k.cxFinal+k.pxmid[0])-k.labelExtraX,H*s>0&&(k.labelExtraX+=H)))}for(n=0;n<2;n++)for(i=n?_:b,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,u=e[n][r],u.sort(i),c=e[1-n][r],f=c.concat(u),v=[],h=0;h1?(u=r.r,c=u/i.aspectratio):(c=r.r,u=c*i.aspectratio),u*=(1+i.baseratio)/2,l=u*c}o=Math.min(o,l/r.vTotal)}for(n=0;nt.vTotal/2?1:0,u.halfangle=Math.PI*Math.min(u.v/t.vTotal,.5),u.ring=1-n.hole,u.rInscribed=Ckt(u,t))}function ER(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}function OEe(e,t,r){var n=e._fullLayout,i=r.trace,a=i.texttemplate,o=i.textinfo;if(!a&&o&&o!=="none"){var s=o.split("+"),l=function(S){return s.indexOf(S)!==-1},u=l("label"),c=l("text"),f=l("value"),h=l("percent"),v=n.separators,d;if(d=u?[t.label]:[],c){var _=Zo.getFirstFilled(i.text,t.pts);bEe(_)&&d.push(_)}f&&d.push(Zo.formatPieValue(t.v,v)),h&&d.push(Zo.formatPiePercent(t.v/r.vTotal,v)),t.text=d.join("
")}function b(S){return{label:S.label,value:S.v,valueLabel:Zo.formatPieValue(S.v,n.separators),percent:S.v/r.vTotal,percentLabel:Zo.formatPiePercent(S.v/r.vTotal,n.separators),color:S.color,text:S.text,customdata:tv.castOption(i,S.i,"customdata")}}if(a){var p=tv.castOption(i,t.i,"texttemplate");if(!p)t.text="";else{var E=b(t),k=Zo.getFirstFilled(i.text,t.pts);(bEe(k)||k==="")&&(E.text=k),t.text=tv.texttemplateString(p,E,e._fullLayout._d3locale,E,i._meta||{})}}}function BEe(e,t){var r=e.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=a*n-o*i,e.textY=a*i+o*n,e.noCenter=!0}NEe.exports={plot:Skt,formatSliceLabel:OEe,transformInsideText:PEe,determineInsideTextFont:CEe,positionTitleOutside:zEe,prerenderTitles:LEe,layoutAreas:qEe,attachFxHandlers:kEe,computeTransform:BEe}});var HEe=ye((ahr,VEe)=>{"use strict";var UEe=ba(),zkt=j3(),Fkt=bv().resizeText;VEe.exports=function(t){var r=t._fullLayout._pielayer.selectAll(".trace");Fkt(t,r,"pie"),r.each(function(n){var i=n[0],a=i.trace,o=UEe.select(this);o.style({opacity:a.opacity}),o.selectAll("path.surface").each(function(s){UEe.select(this).call(zkt,s,a,t)})})}});var jEe=ye(L5=>{"use strict";var GEe=Nu();L5.name="pie";L5.plot=function(e,t,r,n){GEe.plotBasePlot(L5.name,e,t,r,n)};L5.clean=function(e,t,r,n){GEe.cleanBasePlot(L5.name,e,t,r,n)}});var ZEe=ye((shr,WEe)=>{"use strict";WEe.exports={attributes:D2(),supplyDefaults:R2().supplyDefaults,supplyLayoutDefaults:vEe(),layoutAttributes:AR(),calc:C5().calc,crossTraceCalc:C5().crossTraceCalc,plot:kR().plot,style:HEe(),styleOne:j3(),moduleType:"trace",name:"pie",basePlotModule:jEe(),categories:["pie-like","pie","showLegend"],meta:{}}});var YEe=ye((lhr,XEe)=>{"use strict";XEe.exports=ZEe()});var JEe=ye(P5=>{"use strict";var KEe=Nu();P5.name="sunburst";P5.plot=function(e,t,r,n){KEe.plotBasePlot(P5.name,e,t,r,n)};P5.clean=function(e,t,r,n){KEe.cleanBasePlot(P5.name,e,t,r,n)}});var _W=ye((chr,$Ee)=>{"use strict";$Ee.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}});var NE=ye((fhr,eke)=>{"use strict";var qkt=vl(),Okt=Wo().hovertemplateAttrs,Bkt=Wo().texttemplateAttrs,Nkt=Kl(),Ukt=Ju().attributes,Ky=D2(),QEe=_W(),BE=no().extendFlat,Vkt=kd().pattern;eke.exports={labels:{valType:"data_array",editType:"calc"},parents:{valType:"data_array",editType:"calc"},values:{valType:"data_array",editType:"calc"},branchvalues:{valType:"enumerated",values:["remainder","total"],dflt:"remainder",editType:"calc"},count:{valType:"flaglist",flags:["branches","leaves"],dflt:"leaves",editType:"calc"},level:{valType:"any",editType:"plot",anim:!0},maxdepth:{valType:"integer",editType:"plot",dflt:-1},marker:BE({colors:{valType:"data_array",editType:"calc"},line:{color:BE({},Ky.marker.line.color,{dflt:null}),width:BE({},Ky.marker.line.width,{dflt:1}),editType:"calc"},pattern:Vkt,editType:"calc"},Nkt("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:Ky.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:Bkt({editType:"plot"},{keys:QEe.eventDataKeys.concat(["label","value"])}),hovertext:Ky.hovertext,hoverinfo:BE({},qkt.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:Okt({},{keys:QEe.eventDataKeys}),textfont:Ky.textfont,insidetextorientation:Ky.insidetextorientation,insidetextfont:Ky.insidetextfont,outsidetextfont:BE({},Ky.outsidetextfont,{}),rotation:{valType:"angle",dflt:0,editType:"plot"},sort:Ky.sort,root:{color:{valType:"color",editType:"calc",dflt:"rgba(0,0,0,0)"},editType:"calc"},domain:Ukt({name:"sunburst",trace:!0,editType:"calc"})}});var xW=ye((hhr,tke)=>{"use strict";tke.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var ake=ye((dhr,nke)=>{"use strict";var rke=Ar(),Hkt=NE(),Gkt=Ju().defaults,jkt=a0().handleText,Wkt=R2().handleMarkerDefaults,ike=Mu(),Zkt=ike.hasColorscale,Xkt=ike.handleDefaults;nke.exports=function(t,r,n,i){function a(h,v){return rke.coerce(t,r,Hkt,h,v)}var o=a("labels"),s=a("parents");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a("values");l&&l.length?a("branchvalues"):a("count"),a("level"),a("maxdepth"),Wkt(t,r,i,a);var u=r._hasColorscale=Zkt(t,"marker","colors")||(t.marker||{}).coloraxis;u&&Xkt(t,r,i,a,{prefix:"marker.",cLetter:"c"}),a("leaf.opacity",u?1:.7);var c=a("text");a("texttemplate"),r.texttemplate||a("textinfo",rke.isArrayOrTypedArray(c)?"text+label":"label"),a("hovertext"),a("hovertemplate");var f="auto";jkt(t,r,i,a,f,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a("insidetextorientation"),a("sort"),a("rotation"),a("root.color"),Gkt(r,i,a),r._length=null}});var ske=ye((vhr,oke)=>{"use strict";var Ykt=Ar(),Kkt=xW();oke.exports=function(t,r){function n(i,a){return Ykt.coerce(t,r,Kkt,i,a)}n("sunburstcolorway",r.colorway),n("extendsunburstcolors")}});var UE=ye((CR,lke)=>{(function(e,t){typeof CR=="object"&&typeof lke!="undefined"?t(CR):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(CR,function(e){"use strict";function t(Ve,Xe){return Ve.parent===Xe.parent?1:2}function r(Ve){return Ve.reduce(n,0)/Ve.length}function n(Ve,Xe){return Ve+Xe.x}function i(Ve){return 1+Ve.reduce(a,0)}function a(Ve,Xe){return Math.max(Ve,Xe.y)}function o(Ve){for(var Xe;Xe=Ve.children;)Ve=Xe[0];return Ve}function s(Ve){for(var Xe;Xe=Ve.children;)Ve=Xe[Xe.length-1];return Ve}function l(){var Ve=t,Xe=1,ht=1,Le=!1;function xe(Se){var lt,Gt=0;Se.eachAfter(function(jr){var ri=jr.children;ri?(jr.x=r(ri),jr.y=i(ri)):(jr.x=lt?Gt+=Ve(jr,lt):0,jr.y=0,lt=jr)});var Vt=o(Se),ar=s(Se),Qr=Vt.x-Ve(Vt,ar)/2,ai=ar.x+Ve(ar,Vt)/2;return Se.eachAfter(Le?function(jr){jr.x=(jr.x-Se.x)*Xe,jr.y=(Se.y-jr.y)*ht}:function(jr){jr.x=(jr.x-Qr)/(ai-Qr)*Xe,jr.y=(1-(Se.y?jr.y/Se.y:1))*ht})}return xe.separation=function(Se){return arguments.length?(Ve=Se,xe):Ve},xe.size=function(Se){return arguments.length?(Le=!1,Xe=+Se[0],ht=+Se[1],xe):Le?null:[Xe,ht]},xe.nodeSize=function(Se){return arguments.length?(Le=!0,Xe=+Se[0],ht=+Se[1],xe):Le?[Xe,ht]:null},xe}function u(Ve){var Xe=0,ht=Ve.children,Le=ht&&ht.length;if(!Le)Xe=1;else for(;--Le>=0;)Xe+=ht[Le].value;Ve.value=Xe}function c(){return this.eachAfter(u)}function f(Ve){var Xe=this,ht,Le=[Xe],xe,Se,lt;do for(ht=Le.reverse(),Le=[];Xe=ht.pop();)if(Ve(Xe),xe=Xe.children,xe)for(Se=0,lt=xe.length;Se=0;--xe)ht.push(Le[xe]);return this}function v(Ve){for(var Xe=this,ht=[Xe],Le=[],xe,Se,lt;Xe=ht.pop();)if(Le.push(Xe),xe=Xe.children,xe)for(Se=0,lt=xe.length;Se=0;)ht+=Le[xe].value;Xe.value=ht})}function _(Ve){return this.eachBefore(function(Xe){Xe.children&&Xe.children.sort(Ve)})}function b(Ve){for(var Xe=this,ht=p(Xe,Ve),Le=[Xe];Xe!==ht;)Xe=Xe.parent,Le.push(Xe);for(var xe=Le.length;Ve!==ht;)Le.splice(xe,0,Ve),Ve=Ve.parent;return Le}function p(Ve,Xe){if(Ve===Xe)return Ve;var ht=Ve.ancestors(),Le=Xe.ancestors(),xe=null;for(Ve=ht.pop(),Xe=Le.pop();Ve===Xe;)xe=Ve,Ve=ht.pop(),Xe=Le.pop();return xe}function E(){for(var Ve=this,Xe=[Ve];Ve=Ve.parent;)Xe.push(Ve);return Xe}function k(){var Ve=[];return this.each(function(Xe){Ve.push(Xe)}),Ve}function S(){var Ve=[];return this.eachBefore(function(Xe){Xe.children||Ve.push(Xe)}),Ve}function L(){var Ve=this,Xe=[];return Ve.each(function(ht){ht!==Ve&&Xe.push({source:ht.parent,target:ht})}),Xe}function x(Ve,Xe){var ht=new T(Ve),Le=+Ve.value&&(ht.value=Ve.value),xe,Se=[ht],lt,Gt,Vt,ar;for(Xe==null&&(Xe=M);xe=Se.pop();)if(Le&&(xe.value=+xe.data.value),(Gt=Xe(xe.data))&&(ar=Gt.length))for(xe.children=new Array(ar),Vt=ar-1;Vt>=0;--Vt)Se.push(lt=xe.children[Vt]=new T(Gt[Vt])),lt.parent=xe,lt.depth=xe.depth+1;return ht.eachBefore(P)}function C(){return x(this).eachBefore(g)}function M(Ve){return Ve.children}function g(Ve){Ve.data=Ve.data.data}function P(Ve){var Xe=0;do Ve.height=Xe;while((Ve=Ve.parent)&&Ve.height<++Xe)}function T(Ve){this.data=Ve,this.depth=this.height=0,this.parent=null}T.prototype=x.prototype={constructor:T,count:c,each:f,eachAfter:v,eachBefore:h,sum:d,sort:_,path:b,ancestors:E,descendants:k,leaves:S,links:L,copy:C};var F=Array.prototype.slice;function q(Ve){for(var Xe=Ve.length,ht,Le;Xe;)Le=Math.random()*Xe--|0,ht=Ve[Xe],Ve[Xe]=Ve[Le],Ve[Le]=ht;return Ve}function V(Ve){for(var Xe=0,ht=(Ve=q(F.call(Ve))).length,Le=[],xe,Se;Xe0&&ht*ht>Le*Le+xe*xe}function N(Ve,Xe){for(var ht=0;htVt?(xe=(ar+Vt-Se)/(2*ar),Gt=Math.sqrt(Math.max(0,Vt/ar-xe*xe)),ht.x=Ve.x-xe*Le-Gt*lt,ht.y=Ve.y-xe*lt+Gt*Le):(xe=(ar+Se-Vt)/(2*ar),Gt=Math.sqrt(Math.max(0,Se/ar-xe*xe)),ht.x=Xe.x+xe*Le-Gt*lt,ht.y=Xe.y+xe*lt+Gt*Le)):(ht.x=Xe.x+ht.r,ht.y=Xe.y)}function ke(Ve,Xe){var ht=Ve.r+Xe.r-1e-6,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht>0&&ht*ht>Le*Le+xe*xe}function ge(Ve){var Xe=Ve._,ht=Ve.next._,Le=Xe.r+ht.r,xe=(Xe.x*ht.r+ht.x*Xe.r)/Le,Se=(Xe.y*ht.r+ht.y*Xe.r)/Le;return xe*xe+Se*Se}function ie(Ve){this._=Ve,this.next=null,this.previous=null}function Te(Ve){if(!(xe=Ve.length))return 0;var Xe,ht,Le,xe,Se,lt,Gt,Vt,ar,Qr,ai;if(Xe=Ve[0],Xe.x=0,Xe.y=0,!(xe>1))return Xe.r;if(ht=Ve[1],Xe.x=-ht.r,ht.x=Xe.r,ht.y=0,!(xe>2))return Xe.r+ht.r;Me(ht,Xe,Le=Ve[2]),Xe=new ie(Xe),ht=new ie(ht),Le=new ie(Le),Xe.next=Le.previous=ht,ht.next=Xe.previous=Le,Le.next=ht.previous=Xe;e:for(Gt=3;Gt0)throw new Error("cycle");return Gt}return ht.id=function(Le){return arguments.length?(Ve=ze(Le),ht):Ve},ht.parentId=function(Le){return arguments.length?(Xe=ze(Le),ht):Xe},ht}function Ke(Ve,Xe){return Ve.parent===Xe.parent?1:2}function bt(Ve){var Xe=Ve.children;return Xe?Xe[0]:Ve.t}function xt(Ve){var Xe=Ve.children;return Xe?Xe[Xe.length-1]:Ve.t}function Lt(Ve,Xe,ht){var Le=ht/(Xe.i-Ve.i);Xe.c-=Le,Xe.s+=ht,Ve.c+=Le,Xe.z+=ht,Xe.m+=ht}function St(Ve){for(var Xe=0,ht=0,Le=Ve.children,xe=Le.length,Se;--xe>=0;)Se=Le[xe],Se.z+=Xe,Se.m+=Xe,Xe+=Se.s+(ht+=Se.c)}function Et(Ve,Xe,ht){return Ve.a.parent===Xe.parent?Ve.a:ht}function dt(Ve,Xe){this._=Ve,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=Xe}dt.prototype=Object.create(T.prototype);function Ht(Ve){for(var Xe=new dt(Ve,0),ht,Le=[Xe],xe,Se,lt,Gt;ht=Le.pop();)if(Se=ht._.children)for(ht.children=new Array(Gt=Se.length),lt=Gt-1;lt>=0;--lt)Le.push(xe=ht.children[lt]=new dt(Se[lt],lt)),xe.parent=ht;return(Xe.parent=new dt(null,0)).children=[Xe],Xe}function $t(){var Ve=Ke,Xe=1,ht=1,Le=null;function xe(ar){var Qr=Ht(ar);if(Qr.eachAfter(Se),Qr.parent.m=-Qr.z,Qr.eachBefore(lt),Le)ar.eachBefore(Vt);else{var ai=ar,jr=ar,ri=ar;ar.eachBefore(function(_n){_n.xjr.x&&(jr=_n),_n.depth>ri.depth&&(ri=_n)});var bi=ai===jr?1:Ve(ai,jr)/2,nn=bi-ai.x,Wi=Xe/(jr.x+bi+nn),Ni=ht/(ri.depth||1);ar.eachBefore(function(_n){_n.x=(_n.x+nn)*Wi,_n.y=_n.depth*Ni})}return ar}function Se(ar){var Qr=ar.children,ai=ar.parent.children,jr=ar.i?ai[ar.i-1]:null;if(Qr){St(ar);var ri=(Qr[0].z+Qr[Qr.length-1].z)/2;jr?(ar.z=jr.z+Ve(ar._,jr._),ar.m=ar.z-ri):ar.z=ri}else jr&&(ar.z=jr.z+Ve(ar._,jr._));ar.parent.A=Gt(ar,jr,ar.parent.A||ai[0])}function lt(ar){ar._.x=ar.z+ar.parent.m,ar.m+=ar.parent.m}function Gt(ar,Qr,ai){if(Qr){for(var jr=ar,ri=ar,bi=Qr,nn=jr.parent.children[0],Wi=jr.m,Ni=ri.m,_n=bi.m,$i=nn.m,zn;bi=xt(bi),jr=bt(jr),bi&&jr;)nn=bt(nn),ri=xt(ri),ri.a=ar,zn=bi.z+_n-jr.z-Wi+Ve(bi._,jr._),zn>0&&(Lt(Et(bi,ar,ai),ar,zn),Wi+=zn,Ni+=zn),_n+=bi.m,Wi+=jr.m,$i+=nn.m,Ni+=ri.m;bi&&!xt(ri)&&(ri.t=bi,ri.m+=_n-Ni),jr&&!bt(nn)&&(nn.t=jr,nn.m+=Wi-$i,ai=ar)}return ai}function Vt(ar){ar.x*=Xe,ar.y=ar.depth*ht}return xe.separation=function(ar){return arguments.length?(Ve=ar,xe):Ve},xe.size=function(ar){return arguments.length?(Le=!1,Xe=+ar[0],ht=+ar[1],xe):Le?null:[Xe,ht]},xe.nodeSize=function(ar){return arguments.length?(Le=!0,Xe=+ar[0],ht=+ar[1],xe):Le?[Xe,ht]:null},xe}function fr(Ve,Xe,ht,Le,xe){for(var Se=Ve.children,lt,Gt=-1,Vt=Se.length,ar=Ve.value&&(xe-ht)/Ve.value;++Gt_n&&(_n=ar),Dt=Wi*Wi*Wn,$i=Math.max(_n/Dt,Dt/Ni),$i>zn){Wi-=ar;break}zn=$i}lt.push(Vt={value:Wi,dice:ri1?Le:1)},ht}(xr);function Nr(){var Ve=Or,Xe=!1,ht=1,Le=1,xe=[0],Se=Ce,lt=Ce,Gt=Ce,Vt=Ce,ar=Ce;function Qr(jr){return jr.x0=jr.y0=0,jr.x1=ht,jr.y1=Le,jr.eachBefore(ai),xe=[0],Xe&&jr.eachBefore(qt),jr}function ai(jr){var ri=xe[jr.depth],bi=jr.x0+ri,nn=jr.y0+ri,Wi=jr.x1-ri,Ni=jr.y1-ri;Wi=jr-1){var _n=Se[ai];_n.x0=bi,_n.y0=nn,_n.x1=Wi,_n.y1=Ni;return}for(var $i=ar[ai],zn=ri/2+$i,Wn=ai+1,Dt=jr-1;Wn>>1;ar[ft]Ni-nn){var _r=(bi*Zt+Wi*jt)/ri;Qr(ai,Wn,jt,bi,nn,_r,Ni),Qr(Wn,jr,Zt,_r,nn,Wi,Ni)}else{var Fr=(nn*Zt+Ni*jt)/ri;Qr(ai,Wn,jt,bi,nn,Wi,Fr),Qr(Wn,jr,Zt,bi,Fr,Wi,Ni)}}}function Ne(Ve,Xe,ht,Le,xe){(Ve.depth&1?fr:rt)(Ve,Xe,ht,Le,xe)}var Ye=function Ve(Xe){function ht(Le,xe,Se,lt,Gt){if((Vt=Le._squarify)&&Vt.ratio===Xe)for(var Vt,ar,Qr,ai,jr=-1,ri,bi=Vt.length,nn=Le.value;++jr1?Le:1)},ht}(xr);e.cluster=l,e.hierarchy=x,e.pack=ce,e.packEnclose=V,e.packSiblings=Ee,e.partition=ot,e.stratify=er,e.tree=$t,e.treemap=Nr,e.treemapBinary=ut,e.treemapDice=rt,e.treemapResquarify=Ye,e.treemapSlice=fr,e.treemapSliceDice=Ne,e.treemapSquarify=Or,Object.defineProperty(e,"__esModule",{value:!0})})});var HE=ye(VE=>{"use strict";var uke=UE(),Jkt=uo(),I5=Ar(),$kt=Mu().makeColorScaleFuncFromTrace,Qkt=C5().makePullColorFn,eCt=C5().generateExtendedColors,tCt=Mu().calc,rCt=Yo().ALMOST_EQUAL,iCt={},nCt={},aCt={};VE.calc=function(e,t){var r=e._fullLayout,n=t.ids,i=I5.isArrayOrTypedArray(n),a=t.labels,o=t.parents,s=t.values,l=I5.isArrayOrTypedArray(s),u=[],c={},f={},h=function(G,N){c[G]?c[G].push(N):c[G]=[N],f[N]=1},v=function(G){return G||typeof G=="number"},d=function(G){return!l||Jkt(s[G])&&s[G]>=0},_,b,p;i?(_=Math.min(n.length,o.length),b=function(G){return v(n[G])&&d(G)},p=function(G){return String(n[G])}):(_=Math.min(a.length,o.length),b=function(G){return v(a[G])&&d(G)},p=function(G){return String(a[G])}),l&&(_=Math.min(_,s.length));for(var E=0;E<_;E++)if(b(E)){var k=p(E),S=v(o[E])?String(o[E]):"",L={i:E,id:k,pid:S,label:v(a[E])?String(a[E]):""};l&&(L.v=+s[E]),u.push(L),h(S,k)}if(c[""]){if(c[""].length>1){for(var M=I5.randstr(),g=0;g{});function Gm(){}function hke(){return this.rgb().formatHex()}function dCt(){return this.rgb().formatHex8()}function vCt(){return _ke(this).formatHsl()}function dke(){return this.rgb().formatRgb()}function Q_(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=oCt.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?vke(t):r===3?new dd(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?PR(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?PR(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=sCt.exec(e))?new dd(t[1],t[2],t[3],1):(t=lCt.exec(e))?new dd(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=uCt.exec(e))?PR(t[1],t[2],t[3],t[4]):(t=cCt.exec(e))?PR(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=fCt.exec(e))?mke(t[1],t[2]/100,t[3]/100,1):(t=hCt.exec(e))?mke(t[1],t[2]/100,t[3]/100,t[4]):fke.hasOwnProperty(e)?vke(fke[e]):e==="transparent"?new dd(NaN,NaN,NaN,0):null}function vke(e){return new dd(e>>16&255,e>>8&255,e&255,1)}function PR(e,t,r,n){return n<=0&&(e=t=r=NaN),new dd(e,t,r,n)}function jE(e){return e instanceof Gm||(e=Q_(e)),e?(e=e.rgb(),new dd(e.r,e.g,e.b,e.opacity)):new dd}function R5(e,t,r,n){return arguments.length===1?jE(e):new dd(e,t,r,n==null?1:n)}function dd(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function pke(){return`#${z2(this.r)}${z2(this.g)}${z2(this.b)}`}function pCt(){return`#${z2(this.r)}${z2(this.g)}${z2(this.b)}${z2((isNaN(this.opacity)?1:this.opacity)*255)}`}function gke(){let e=DR(this.opacity);return`${e===1?"rgb(":"rgba("}${F2(this.r)}, ${F2(this.g)}, ${F2(this.b)}${e===1?")":`, ${e})`}`}function DR(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function F2(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function z2(e){return e=F2(e),(e<16?"0":"")+e.toString(16)}function mke(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Yg(e,t,r,n)}function _ke(e){if(e instanceof Yg)return new Yg(e.h,e.s,e.l,e.opacity);if(e instanceof Gm||(e=Q_(e)),!e)return new Yg;if(e instanceof Yg)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=NaN,s=a-i,l=(a+i)/2;return s?(t===a?o=(r-n)/s+(r0&&l<1?0:o,new Yg(o,s,l,e.opacity)}function WE(e,t,r,n){return arguments.length===1?_ke(e):new Yg(e,t,r,n==null?1:n)}function Yg(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function yke(e){return e=(e||0)%360,e<0?e+360:e}function IR(e){return Math.max(0,Math.min(1,e||0))}function bW(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}var $_,q2,D5,GE,Hm,oCt,sCt,lCt,uCt,cCt,fCt,hCt,fke,RR=su(()=>{LR();$_=.7,q2=1/$_,D5="\\s*([+-]?\\d+)\\s*",GE="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Hm="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",oCt=/^#([0-9a-f]{3,8})$/,sCt=new RegExp(`^rgb\\(${D5},${D5},${D5}\\)$`),lCt=new RegExp(`^rgb\\(${Hm},${Hm},${Hm}\\)$`),uCt=new RegExp(`^rgba\\(${D5},${D5},${D5},${GE}\\)$`),cCt=new RegExp(`^rgba\\(${Hm},${Hm},${Hm},${GE}\\)$`),fCt=new RegExp(`^hsl\\(${GE},${Hm},${Hm}\\)$`),hCt=new RegExp(`^hsla\\(${GE},${Hm},${Hm},${GE}\\)$`),fke={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};Jy(Gm,Q_,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:hke,formatHex:hke,formatHex8:dCt,formatHsl:vCt,formatRgb:dke,toString:dke});Jy(dd,R5,J_(Gm,{brighter(e){return e=e==null?q2:Math.pow(q2,e),new dd(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?$_:Math.pow($_,e),new dd(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new dd(F2(this.r),F2(this.g),F2(this.b),DR(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:pke,formatHex:pke,formatHex8:pCt,formatRgb:gke,toString:gke}));Jy(Yg,WE,J_(Gm,{brighter(e){return e=e==null?q2:Math.pow(q2,e),new Yg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?$_:Math.pow($_,e),new Yg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new dd(bW(e>=240?e-240:e+120,i,n),bW(e,i,n),bW(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new Yg(yke(this.h),IR(this.s),IR(this.l),DR(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=DR(this.opacity);return`${e===1?"hsl(":"hsla("}${yke(this.h)}, ${IR(this.s)*100}%, ${IR(this.l)*100}%${e===1?")":`, ${e})`}`}}))});var zR,FR,wW=su(()=>{zR=Math.PI/180,FR=180/Math.PI});function Ske(e){if(e instanceof jm)return new jm(e.l,e.a,e.b,e.opacity);if(e instanceof $y)return Mke(e);e instanceof dd||(e=jE(e));var t=MW(e.r),r=MW(e.g),n=MW(e.b),i=TW((.2225045*t+.7168786*r+.0606169*n)/bke),a,o;return t===r&&r===n?a=o=i:(a=TW((.4360747*t+.3850649*r+.1430804*n)/xke),o=TW((.0139322*t+.0971045*r+.7141733*n)/wke)),new jm(116*i-16,500*(a-i),200*(i-o),e.opacity)}function F5(e,t,r,n){return arguments.length===1?Ske(e):new jm(e,t,r,n==null?1:n)}function jm(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}function TW(e){return e>gCt?Math.pow(e,1/3):e/Ake+Tke}function AW(e){return e>z5?e*e*e:Ake*(e-Tke)}function SW(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function MW(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function mCt(e){if(e instanceof $y)return new $y(e.h,e.c,e.l,e.opacity);if(e instanceof jm||(e=Ske(e)),e.a===0&&e.b===0)return new $y(NaN,0{LR();RR();wW();qR=18,xke=.96422,bke=1,wke=.82521,Tke=4/29,z5=6/29,Ake=3*z5*z5,gCt=z5*z5*z5;Jy(jm,F5,J_(Gm,{brighter(e){return new jm(this.l+qR*(e==null?1:e),this.a,this.b,this.opacity)},darker(e){return new jm(this.l-qR*(e==null?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=xke*AW(t),e=bke*AW(e),r=wke*AW(r),new dd(SW(3.1338561*t-1.6168667*e-.4906146*r),SW(-.9787684*t+1.9161415*e+.033454*r),SW(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));Jy($y,ZE,J_(Gm,{brighter(e){return new $y(this.h,this.c,this.l+qR*(e==null?1:e),this.opacity)},darker(e){return new $y(this.h,this.c,this.l-qR*(e==null?1:e),this.opacity)},rgb(){return Mke(this).rgb()}}))});function yCt(e){if(e instanceof O2)return new O2(e.h,e.s,e.l,e.opacity);e instanceof dd||(e=jE(e));var t=e.r/255,r=e.g/255,n=e.b/255,i=(Lke*n+kke*t-Cke*r)/(Lke+kke-Cke),a=n-i,o=(XE*(r-i)-kW*a)/OR,s=Math.sqrt(o*o+a*a)/(XE*i*(1-i)),l=s?Math.atan2(o,a)*FR-120:NaN;return new O2(l<0?l+360:l,s,i,e.opacity)}function q5(e,t,r,n){return arguments.length===1?yCt(e):new O2(e,t,r,n==null?1:n)}function O2(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}var Pke,EW,kW,OR,XE,kke,Cke,Lke,Ike=su(()=>{LR();RR();wW();Pke=-.14861,EW=1.78277,kW=-.29227,OR=-.90649,XE=1.97294,kke=XE*OR,Cke=XE*EW,Lke=EW*kW-OR*Pke;Jy(O2,q5,J_(Gm,{brighter(e){return e=e==null?q2:Math.pow(q2,e),new O2(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?$_:Math.pow($_,e),new O2(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*zR,t=+this.l,r=isNaN(this.s)?0:this.s*t*(1-t),n=Math.cos(e),i=Math.sin(e);return new dd(255*(t+r*(Pke*n+EW*i)),255*(t+r*(kW*n+OR*i)),255*(t+r*(XE*n)),this.opacity)}}))});var B2=su(()=>{RR();Eke();Ike()});function CW(e,t,r,n,i){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*r+(1+3*e+3*a-3*o)*n+o*i)/6}function BR(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),i=e[n],a=e[n+1],o=n>0?e[n-1]:2*i-a,s=n{});function UR(e){var t=e.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*t),i=e[(n+t-1)%t],a=e[n%t],o=e[(n+1)%t],s=e[(n+2)%t];return CW((r-n/t)*t,i,a,o,s)}}var LW=su(()=>{NR()});var O5,PW=su(()=>{O5=e=>()=>e});function Dke(e,t){return function(r){return e+r*t}}function _Ct(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function ex(e,t){var r=t-e;return r?Dke(e,r>180||r<-180?r-360*Math.round(r/360):r):O5(isNaN(e)?t:e)}function Rke(e){return(e=+e)==1?qf:function(t,r){return r-t?_Ct(t,r,e):O5(isNaN(t)?r:t)}}function qf(e,t){var r=t-e;return r?Dke(e,r):O5(isNaN(e)?t:e)}var N2=su(()=>{PW()});function zke(e){return function(t){var r=t.length,n=new Array(r),i=new Array(r),a=new Array(r),o,s;for(o=0;o{B2();NR();LW();N2();YE=function e(t){var r=Rke(t);function n(i,a){var o=r((i=R5(i)).r,(a=R5(a)).r),s=r(i.g,a.g),l=r(i.b,a.b),u=qf(i.opacity,a.opacity);return function(c){return i.r=o(c),i.g=s(c),i.b=l(c),i.opacity=u(c),i+""}}return n.gamma=e,n}(1);Fke=zke(BR),qke=zke(UR)});function B5(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(a){for(i=0;i{});function Oke(e,t){return(VR(t)?B5:DW)(e,t)}function DW(e,t){var r=t?t.length:0,n=e?Math.min(r,e.length):0,i=new Array(n),a=new Array(r),o;for(o=0;o{KE();HR()});function GR(e,t){var r=new Date;return e=+e,t=+t,function(n){return r.setTime(e*(1-n)+t*n),r}}var zW=su(()=>{});function Bp(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var JE=su(()=>{});function jR(e,t){var r={},n={},i;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(i in t)i in e?r[i]=tx(e[i],t[i]):n[i]=t[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var FW=su(()=>{KE()});function xCt(e){return function(){return e}}function bCt(e){return function(t){return e(t)+""}}function WR(e,t){var r=OW.lastIndex=qW.lastIndex=0,n,i,a,o=-1,s=[],l=[];for(e=e+"",t=t+"";(n=OW.exec(e))&&(i=qW.exec(t));)(a=i.index)>r&&(a=t.slice(r,a),s[o]?s[o]+=a:s[++o]=a),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,l.push({i:o,x:Bp(n,i)})),r=qW.lastIndex;return r{JE();OW=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,qW=new RegExp(OW.source,"g")});function tx(e,t){var r=typeof t,n;return t==null||r==="boolean"?O5(t):(r==="number"?Bp:r==="string"?(n=Q_(t))?(t=n,YE):WR:t instanceof Q_?YE:t instanceof Date?GR:VR(t)?B5:Array.isArray(t)?DW:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?jR:Bp)(e,t)}var KE=su(()=>{B2();IW();RW();zW();JE();FW();BW();PW();HR()});function Bke(e){var t=e.length;return function(r){return e[Math.max(0,Math.min(t-1,Math.floor(r*t)))]}}var Nke=su(()=>{});function Uke(e,t){var r=ex(+e,+t);return function(n){var i=r(n);return i-360*Math.floor(i/360)}}var Vke=su(()=>{N2()});function Hke(e,t){return e=+e,t=+t,function(r){return Math.round(e*(1-r)+t*r)}}var Gke=su(()=>{});function NW(e,t,r,n,i,a){var o,s,l;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(l=e*r+t*n)&&(r-=e*l,n-=t*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),e*n{jke=180/Math.PI,ZR={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1}});function Zke(e){let t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?ZR:NW(t.a,t.b,t.c,t.d,t.e,t.f)}function Xke(e){return e==null?ZR:(XR||(XR=document.createElementNS("http://www.w3.org/2000/svg","g")),XR.setAttribute("transform",e),(e=XR.transform.baseVal.consolidate())?(e=e.matrix,NW(e.a,e.b,e.c,e.d,e.e,e.f)):ZR)}var XR,Yke=su(()=>{Wke()});function Kke(e,t,r,n){function i(u){return u.length?u.pop()+" ":""}function a(u,c,f,h,v,d){if(u!==f||c!==h){var _=v.push("translate(",null,t,null,r);d.push({i:_-4,x:Bp(u,f)},{i:_-2,x:Bp(c,h)})}else(f||h)&&v.push("translate("+f+t+h+r)}function o(u,c,f,h){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),h.push({i:f.push(i(f)+"rotate(",null,n)-2,x:Bp(u,c)})):c&&f.push(i(f)+"rotate("+c+n)}function s(u,c,f,h){u!==c?h.push({i:f.push(i(f)+"skewX(",null,n)-2,x:Bp(u,c)}):c&&f.push(i(f)+"skewX("+c+n)}function l(u,c,f,h,v,d){if(u!==f||c!==h){var _=v.push(i(v)+"scale(",null,",",null,")");d.push({i:_-4,x:Bp(u,f)},{i:_-2,x:Bp(c,h)})}else(f!==1||h!==1)&&v.push(i(v)+"scale("+f+","+h+")")}return function(u,c){var f=[],h=[];return u=e(u),c=e(c),a(u.translateX,u.translateY,c.translateX,c.translateY,f,h),o(u.rotate,c.rotate,f,h),s(u.skewX,c.skewX,f,h),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,f,h),u=c=null,function(v){for(var d=-1,_=h.length,b;++d<_;)f[(b=h[d]).i]=b.x(v);return f.join("")}}}var Jke,$ke,Qke=su(()=>{JE();Yke();Jke=Kke(Zke,"px, ","px)","deg)"),$ke=Kke(Xke,", ",")",")")});function eCe(e){return((e=Math.exp(e))+1/e)/2}function TCt(e){return((e=Math.exp(e))-1/e)/2}function ACt(e){return((e=Math.exp(2*e))-1)/(e+1)}var wCt,tCe,rCe=su(()=>{wCt=1e-12;tCe=function e(t,r,n){function i(a,o){var s=a[0],l=a[1],u=a[2],c=o[0],f=o[1],h=o[2],v=c-s,d=f-l,_=v*v+d*d,b,p;if(_{B2();N2();nCe=iCe(ex),aCe=iCe(qf)});function UW(e,t){var r=qf((e=F5(e)).l,(t=F5(t)).l),n=qf(e.a,t.a),i=qf(e.b,t.b),a=qf(e.opacity,t.opacity);return function(o){return e.l=r(o),e.a=n(o),e.b=i(o),e.opacity=a(o),e+""}}var sCe=su(()=>{B2();N2()});function lCe(e){return function(t,r){var n=e((t=ZE(t)).h,(r=ZE(r)).h),i=qf(t.c,r.c),a=qf(t.l,r.l),o=qf(t.opacity,r.opacity);return function(s){return t.h=n(s),t.c=i(s),t.l=a(s),t.opacity=o(s),t+""}}}var uCe,cCe,fCe=su(()=>{B2();N2();uCe=lCe(ex),cCe=lCe(qf)});function hCe(e){return function t(r){r=+r;function n(i,a){var o=e((i=q5(i)).h,(a=q5(a)).h),s=qf(i.s,a.s),l=qf(i.l,a.l),u=qf(i.opacity,a.opacity);return function(c){return i.h=o(c),i.s=s(c),i.l=l(Math.pow(c,r)),i.opacity=u(c),i+""}}return n.gamma=t,n}(1)}var dCe,vCe,pCe=su(()=>{B2();N2();dCe=hCe(ex),vCe=hCe(qf)});function VW(e,t){t===void 0&&(t=e,e=tx);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r{KE()});function mCe(e,t){for(var r=new Array(t),n=0;n{});var U2={};Eet(U2,{interpolate:()=>tx,interpolateArray:()=>Oke,interpolateBasis:()=>BR,interpolateBasisClosed:()=>UR,interpolateCubehelix:()=>dCe,interpolateCubehelixLong:()=>vCe,interpolateDate:()=>GR,interpolateDiscrete:()=>Bke,interpolateHcl:()=>uCe,interpolateHclLong:()=>cCe,interpolateHsl:()=>nCe,interpolateHslLong:()=>aCe,interpolateHue:()=>Uke,interpolateLab:()=>UW,interpolateNumber:()=>Bp,interpolateNumberArray:()=>B5,interpolateObject:()=>jR,interpolateRgb:()=>YE,interpolateRgbBasis:()=>Fke,interpolateRgbBasisClosed:()=>qke,interpolateRound:()=>Hke,interpolateString:()=>WR,interpolateTransformCss:()=>Jke,interpolateTransformSvg:()=>$ke,interpolateZoom:()=>tCe,piecewise:()=>VW,quantize:()=>mCe});var V2=su(()=>{KE();RW();NR();LW();zW();Nke();Vke();JE();HR();FW();Gke();BW();Qke();rCe();IW();oCe();sCe();fCe();pCe();gCe();yCe()});var YR=ye((nvr,_Ce)=>{"use strict";var SCt=ao(),MCt=va();_Ce.exports=function(t,r,n,i,a){var o=r.data.data,s=o.i,l=a||o.color;if(s>=0){r.i=o.i;var u=n.marker;u.pattern?(!u.colors||!u.pattern.shape)&&(u.color=l,r.color=l):(u.color=l,r.color=l),SCt.pointStyle(t,n,i,r)}else MCt.fill(t,l)}});var HW=ye((avr,ACe)=>{"use strict";var xCe=ba(),bCe=va(),wCe=Ar(),ECt=bv().resizeText,kCt=YR();function CCt(e){var t=e._fullLayout._sunburstlayer.selectAll(".trace");ECt(e,t,"sunburst"),t.each(function(r){var n=xCe.select(this),i=r[0],a=i.trace;n.style("opacity",a.opacity),n.selectAll("path.surface").each(function(o){xCe.select(this).call(TCe,o,a,e)})})}function TCe(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=wCe.castOption(r,o,"marker.line.color")||bCe.defaultLine,l=wCe.castOption(r,o,"marker.line.width")||0;e.call(kCt,t,r,n).style("stroke-width",l).call(bCe.stroke,s).style("opacity",a?r.leaf.opacity:null)}ACe.exports={style:CCt,styleOne:TCe}});var Qy=ye(ws=>{"use strict";var H2=Ar(),LCt=va(),PCt=Sg(),SCe=v_();ws.findEntryWithLevel=function(e,t){var r;return t&&e.eachAfter(function(n){if(ws.getPtId(n)===t)return r=n.copy()}),r||e};ws.findEntryWithChild=function(e,t){var r;return e.eachAfter(function(n){for(var i=n.children||[],a=0;a0)};ws.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0};ws.isHeader=function(e,t){return!(ws.isLeaf(e)||e.depth===t._maxDepth-1)};function MCe(e){return e.data.data.pid}ws.getParent=function(e,t){return ws.findEntryWithLevel(e,MCe(t))};ws.listPath=function(e,t){var r=e.parent;if(!r)return[];var n=t?[r.data[t]]:[r];return ws.listPath(r,t).concat(n)};ws.getPath=function(e){return ws.listPath(e,"label").join("/")+"/"};ws.formatValue=SCe.formatPieValue;ws.formatPercent=function(e,t){var r=H2.formatPercent(e,0);return r==="0%"&&(r=SCe.formatPiePercent(e,t)),r}});var ek=ye((svr,CCe)=>{"use strict";var N5=ba(),ECe=ya(),RCt=np().appendArrayPointValue,$E=Nc(),kCe=Ar(),zCt=C3(),Xh=Qy(),FCt=v_(),qCt=FCt.formatPieValue;CCe.exports=function(t,r,n,i,a){var o=i[0],s=o.trace,l=o.hierarchy,u=s.type==="sunburst",c=s.type==="treemap"||s.type==="icicle";"_hasHoverLabel"in s||(s._hasHoverLabel=!1),"_hasHoverEvent"in s||(s._hasHoverEvent=!1);var f=function(d){var _=n._fullLayout;if(!(n._dragging||_.hovermode===!1)){var b=n._fullData[s.index],p=d.data.data,E=p.i,k=Xh.isHierarchyRoot(d),S=Xh.getParent(l,d),L=Xh.getValue(d),x=function(Me){return kCe.castOption(b,E,Me)},C=x("hovertemplate"),M=$E.castHoverinfo(b,_,E),g=_.separators,P;if(C||M&&M!=="none"&&M!=="skip"){var T,F;u&&(T=o.cx+d.pxmid[0]*(1-d.rInscribed),F=o.cy+d.pxmid[1]*(1-d.rInscribed)),c&&(T=d._hoverX,F=d._hoverY);var q={},V=[],H=[],X=function(Me){return V.indexOf(Me)!==-1};M&&(V=M==="all"?b._module.attributes.hoverinfo.flags:M.split("+")),q.label=p.label,X("label")&&q.label&&H.push(q.label),p.hasOwnProperty("v")&&(q.value=p.v,q.valueLabel=qCt(q.value,g),X("value")&&H.push(q.valueLabel)),q.currentPath=d.currentPath=Xh.getPath(d.data),X("current path")&&!k&&H.push(q.currentPath);var G,N=[],W=function(){N.indexOf(G)===-1&&(H.push(G),N.push(G))};q.percentParent=d.percentParent=L/Xh.getValue(S),q.parent=d.parentString=Xh.getPtLabel(S),X("percent parent")&&(G=Xh.formatPercent(q.percentParent,g)+" of "+q.parent,W()),q.percentEntry=d.percentEntry=L/Xh.getValue(r),q.entry=d.entry=Xh.getPtLabel(r),X("percent entry")&&!k&&!d.onPathbar&&(G=Xh.formatPercent(q.percentEntry,g)+" of "+q.entry,W()),q.percentRoot=d.percentRoot=L/Xh.getValue(l),q.root=d.root=Xh.getPtLabel(l),X("percent root")&&!k&&(G=Xh.formatPercent(q.percentRoot,g)+" of "+q.root,W()),q.text=x("hovertext")||x("text"),X("text")&&(G=q.text,kCe.isValidTextValue(G)&&H.push(G)),P=[QE(d,b,a.eventDataKeys)];var re={trace:b,y:F,_x0:d._x0,_x1:d._x1,_y0:d._y0,_y1:d._y1,text:H.join("
"),name:C||X("name")?b.name:void 0,color:x("hoverlabel.bgcolor")||p.color,borderColor:x("hoverlabel.bordercolor"),fontFamily:x("hoverlabel.font.family"),fontSize:x("hoverlabel.font.size"),fontColor:x("hoverlabel.font.color"),fontWeight:x("hoverlabel.font.weight"),fontStyle:x("hoverlabel.font.style"),fontVariant:x("hoverlabel.font.variant"),nameLength:x("hoverlabel.namelength"),textAlign:x("hoverlabel.align"),hovertemplate:C,hovertemplateLabels:q,eventData:P};u&&(re.x0=T-d.rInscribed*d.rpx1,re.x1=T+d.rInscribed*d.rpx1,re.idealAlign=d.pxmid[0]<0?"left":"right"),c&&(re.x=T,re.idealAlign=T<0?"left":"right");var ae=[];$E.loneHover(re,{container:_._hoverlayer.node(),outerContainer:_._paper.node(),gd:n,inOut_bbox:ae}),P[0].bbox=ae[0],s._hasHoverLabel=!0}if(c){var _e=t.select("path.surface");a.styleOne(_e,d,b,n,{hovered:!0})}s._hasHoverEvent=!0,n.emit("plotly_hover",{points:P||[QE(d,b,a.eventDataKeys)],event:N5.event})}},h=function(d){var _=n._fullLayout,b=n._fullData[s.index],p=N5.select(this).datum();if(s._hasHoverEvent&&(d.originalEvent=N5.event,n.emit("plotly_unhover",{points:[QE(p,b,a.eventDataKeys)],event:N5.event}),s._hasHoverEvent=!1),s._hasHoverLabel&&($E.loneUnhover(_._hoverlayer.node()),s._hasHoverLabel=!1),c){var E=t.select("path.surface");a.styleOne(E,p,b,n,{hovered:!1})}},v=function(d){var _=n._fullLayout,b=n._fullData[s.index],p=u&&(Xh.isHierarchyRoot(d)||Xh.isLeaf(d)),E=Xh.getPtId(d),k=Xh.isEntry(d)?Xh.findEntryWithChild(l,E):Xh.findEntryWithLevel(l,E),S=Xh.getPtId(k),L={points:[QE(d,b,a.eventDataKeys)],event:N5.event};p||(L.nextLevel=S);var x=zCt.triggerHandler(n,"plotly_"+s.type+"click",L);if(x!==!1&&_.hovermode&&(n._hoverdata=[QE(d,b,a.eventDataKeys)],$E.click(n,N5.event)),!p&&x!==!1&&!n._dragging&&!n._transitioning){ECe.call("_storeDirectGUIEdit",b,_._tracePreGUI[b.uid],{level:b.level});var C={data:[{level:S}],traces:[s.index]},M={frame:{redraw:!1,duration:a.transitionTime},transition:{duration:a.transitionTime,easing:a.transitionEasing},mode:"immediate",fromcurrent:!0};$E.loneUnhover(_._hoverlayer.node()),ECe.call("animate",n,C,M)}};t.on("mouseover",f),t.on("mouseout",h),t.on("click",v)};function QE(e,t,r){for(var n=e.data.data,i={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},a=0;a{"use strict";var tk=ba(),OCt=UE(),Kg=(V2(),vb(U2)).interpolate,LCe=ao(),Tv=Ar(),BCt=Ll(),RCe=bv(),PCe=RCe.recordMinTextSize,NCt=RCe.clearMinTextSize,zCe=kR(),UCt=v_().getRotationAngle,VCt=zCe.computeTransform,HCt=zCe.transformInsideText,GCt=HW().styleOne,jCt=G0().resizeText,WCt=ek(),GW=_W(),sl=Qy();KR.plot=function(e,t,r,n){var i=e._fullLayout,a=i._sunburstlayer,o,s,l=!r,u=!i.uniformtext.mode&&sl.hasTransition(r);if(NCt("sunburst",i),o=a.selectAll("g.trace.sunburst").data(t,function(f){return f[0].trace.uid}),o.enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),o.order(),u){n&&(s=n());var c=tk.transition().duration(r.duration).ease(r.easing).each("end",function(){s&&s()}).each("interrupt",function(){s&&s()});c.each(function(){a.selectAll("g.trace").each(function(f){ICe(e,f,this,r)})})}else o.each(function(f){ICe(e,f,this,r)}),i.uniformtext.mode&&jCt(e,i._sunburstlayer.selectAll(".trace"),"sunburst");l&&o.exit().remove()};function ICe(e,t,r,n){var i=e._context.staticPlot,a=e._fullLayout,o=!a.uniformtext.mode&&sl.hasTransition(n),s=tk.select(r),l=s.selectAll("g.slice"),u=t[0],c=u.trace,f=u.hierarchy,h=sl.findEntryWithLevel(f,c.level),v=sl.getMaxDepth(c),d=a._size,_=c.domain,b=d.w*(_.x[1]-_.x[0]),p=d.h*(_.y[1]-_.y[0]),E=.5*Math.min(b,p),k=u.cx=d.l+d.w*(_.x[1]+_.x[0])/2,S=u.cy=d.t+d.h*(1-_.y[0])-p/2;if(!h)return l.remove();var L=null,x={};o&&l.each(function(ge){x[sl.getPtId(ge)]={rpx0:ge.rpx0,rpx1:ge.rpx1,x0:ge.x0,x1:ge.x1,transform:ge.transform},!L&&sl.isEntry(ge)&&(L=ge)});var C=ZCt(h).descendants(),M=h.height+1,g=0,P=v;u.hasMultipleRoots&&sl.isHierarchyRoot(h)&&(C=C.slice(1),M-=1,g=1,P+=1),C=C.filter(function(ge){return ge.y1<=P});var T=UCt(c.rotation);T&&C.forEach(function(ge){ge.x0+=T,ge.x1+=T});var F=Math.min(M,v),q=function(ge){return(ge-g)/F*E},V=function(ge,ie){return[ge*Math.cos(ie),-ge*Math.sin(ie)]},H=function(ge){return Tv.pathAnnulus(ge.rpx0,ge.rpx1,ge.x0,ge.x1,k,S)},X=function(ge){return k+DCe(ge)[0]*(ge.transform.rCenter||0)+(ge.transform.x||0)},G=function(ge){return S+DCe(ge)[1]*(ge.transform.rCenter||0)+(ge.transform.y||0)};l=l.data(C,sl.getPtId),l.enter().append("g").classed("slice",!0),o?l.exit().transition().each(function(){var ge=tk.select(this),ie=ge.select("path.surface");ie.transition().attrTween("d",function(Ee){var Ae=ae(Ee);return function(ze){return H(Ae(ze))}});var Te=ge.select("g.slicetext");Te.attr("opacity",0)}).remove():l.exit().remove(),l.order();var N=null;if(o&&L){var W=sl.getPtId(L);l.each(function(ge){N===null&&sl.getPtId(ge)===W&&(N=ge.x1)})}var re=l;o&&(re=re.transition().each("end",function(){var ge=tk.select(this);sl.setSliceCursor(ge,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})})),re.each(function(ge){var ie=tk.select(this),Te=Tv.ensureSingle(ie,"path","surface",function(De){De.style("pointer-events",i?"none":"all")});ge.rpx0=q(ge.y0),ge.rpx1=q(ge.y1),ge.xmid=(ge.x0+ge.x1)/2,ge.pxmid=V(ge.rpx1,ge.xmid),ge.midangle=-(ge.xmid-Math.PI/2),ge.startangle=-(ge.x0-Math.PI/2),ge.stopangle=-(ge.x1-Math.PI/2),ge.halfangle=.5*Math.min(Tv.angleDelta(ge.x0,ge.x1)||Math.PI,Math.PI),ge.ring=1-ge.rpx0/ge.rpx1,ge.rInscribed=XCt(ge,c),o?Te.transition().attrTween("d",function(De){var ce=_e(De);return function(Ge){return H(ce(Ge))}}):Te.attr("d",H),ie.call(WCt,h,e,t,{eventDataKeys:GW.eventDataKeys,transitionTime:GW.CLICK_TRANSITION_TIME,transitionEasing:GW.CLICK_TRANSITION_EASING}).call(sl.setSliceCursor,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:e._transitioning}),Te.call(GCt,ge,c,e);var Ee=Tv.ensureSingle(ie,"g","slicetext"),Ae=Tv.ensureSingle(Ee,"text","",function(De){De.attr("data-notex",1)}),ze=Tv.ensureUniformFontSize(e,sl.determineTextFont(c,ge,a.font));Ae.text(KR.formatSliceLabel(ge,h,c,t,a)).classed("slicetext",!0).attr("text-anchor","middle").call(LCe.font,ze).call(BCt.convertToTspans,e);var Ce=LCe.bBox(Ae.node());ge.transform=HCt(Ce,ge,u),ge.transform.targetX=X(ge),ge.transform.targetY=G(ge);var me=function(De,ce){var Ge=De.transform;return VCt(Ge,ce),Ge.fontSize=ze.size,PCe(c.type,Ge,a),Tv.getTextTransform(Ge)};o?Ae.transition().attrTween("transform",function(De){var ce=Me(De);return function(Ge){return me(ce(Ge),Ce)}}):Ae.attr("transform",me(ge,Ce))});function ae(ge){var ie=sl.getPtId(ge),Te=x[ie],Ee=x[sl.getPtId(h)],Ae;if(Ee){var ze=(ge.x1>Ee.x1?2*Math.PI:0)+T;Ae=ge.rpx1N?2*Math.PI:0)+T;Te={x0:Ae,x1:Ae}}else Te={rpx0:E,rpx1:E},Tv.extendFlat(Te,ke(ge));else Te={rpx0:0,rpx1:0};else Te={x0:T,x1:T};return Kg(Te,Ee)}function Me(ge){var ie=x[sl.getPtId(ge)],Te,Ee=ge.transform;if(ie)Te=ie;else if(Te={rpx1:ge.rpx1,transform:{textPosAngle:Ee.textPosAngle,scale:0,rotate:Ee.rotate,rCenter:Ee.rCenter,x:Ee.x,y:Ee.y}},L)if(ge.parent)if(N){var Ae=ge.x1>N?2*Math.PI:0;Te.x0=Te.x1=Ae}else Tv.extendFlat(Te,ke(ge));else Te.x0=Te.x1=T;else Te.x0=Te.x1=T;var ze=Kg(Te.transform.textPosAngle,ge.transform.textPosAngle),Ce=Kg(Te.rpx1,ge.rpx1),me=Kg(Te.x0,ge.x0),De=Kg(Te.x1,ge.x1),ce=Kg(Te.transform.scale,Ee.scale),Ge=Kg(Te.transform.rotate,Ee.rotate),nt=Ee.rCenter===0?3:Te.transform.rCenter===0?1/3:1,ct=Kg(Te.transform.rCenter,Ee.rCenter),qt=function(rt){return ct(Math.pow(rt,nt))};return function(rt){var ot=Ce(rt),It=me(rt),kt=De(rt),Ct=qt(rt),Yt=V(ot,(It+kt)/2),mr=ze(rt),er={pxmid:Yt,rpx1:ot,transform:{textPosAngle:mr,rCenter:Ct,x:Ee.x,y:Ee.y}};return PCe(c.type,Ee,a),{transform:{targetX:X(er),targetY:G(er),scale:ce(rt),rotate:Ge(rt),rCenter:Ct}}}}function ke(ge){var ie=ge.parent,Te=x[sl.getPtId(ie)],Ee={};if(Te){var Ae=ie.children,ze=Ae.indexOf(ge),Ce=Ae.length,me=Kg(Te.x0,Te.x1);Ee.x0=me(ze/Ce),Ee.x1=me(ze/Ce)}else Ee.x0=Ee.x1=0;return Ee}}function ZCt(e){return OCt.partition().size([2*Math.PI,e.height+1])(e)}KR.formatSliceLabel=function(e,t,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!a&&(!o||o==="none"))return"";var s=i.separators,l=n[0],u=e.data.data,c=l.hierarchy,f=sl.isHierarchyRoot(e),h=sl.getParent(c,e),v=sl.getValue(e);if(!a){var d=o.split("+"),_=function(g){return d.indexOf(g)!==-1},b=[],p;if(_("label")&&u.label&&b.push(u.label),u.hasOwnProperty("v")&&_("value")&&b.push(sl.formatValue(u.v,s)),!f){_("current path")&&b.push(sl.getPath(e.data));var E=0;_("percent parent")&&E++,_("percent entry")&&E++,_("percent root")&&E++;var k=E>1;if(E){var S,L=function(g){p=sl.formatPercent(S,s),k&&(p+=" of "+g),b.push(p)};_("percent parent")&&!f&&(S=v/sl.getValue(h),L("parent")),_("percent entry")&&(S=v/sl.getValue(t),L("entry")),_("percent root")&&(S=v/sl.getValue(c),L("root"))}}return _("text")&&(p=Tv.castOption(r,u.i,"text"),Tv.isValidTextValue(p)&&b.push(p)),b.join("
")}var x=Tv.castOption(r,u.i,"texttemplate");if(!x)return"";var C={};u.label&&(C.label=u.label),u.hasOwnProperty("v")&&(C.value=u.v,C.valueLabel=sl.formatValue(u.v,s)),C.currentPath=sl.getPath(e.data),f||(C.percentParent=v/sl.getValue(h),C.percentParentLabel=sl.formatPercent(C.percentParent,s),C.parent=sl.getPtLabel(h)),C.percentEntry=v/sl.getValue(t),C.percentEntryLabel=sl.formatPercent(C.percentEntry,s),C.entry=sl.getPtLabel(t),C.percentRoot=v/sl.getValue(c),C.percentRootLabel=sl.formatPercent(C.percentRoot,s),C.root=sl.getPtLabel(c),u.hasOwnProperty("color")&&(C.color=u.color);var M=Tv.castOption(r,u.i,"text");return(Tv.isValidTextValue(M)||M==="")&&(C.text=M),C.customdata=Tv.castOption(r,u.i,"customdata"),Tv.texttemplateString(x,C,i._d3locale,C,r._meta||{})};function XCt(e){return e.rpx0===0&&Tv.isFullCircle([e.x0,e.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2))}function DCe(e){return YCt(e.rpx1,e.transform.textPosAngle)}function YCt(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}});var qCe=ye((uvr,FCe)=>{"use strict";FCe.exports={moduleType:"trace",name:"sunburst",basePlotModule:JEe(),categories:[],animatable:!0,attributes:NE(),layoutAttributes:xW(),supplyDefaults:ake(),supplyLayoutDefaults:ske(),calc:HE().calc,crossTraceCalc:HE().crossTraceCalc,plot:JR().plot,style:HW().style,colorbar:Jd(),meta:{}}});var BCe=ye((cvr,OCe)=>{"use strict";OCe.exports=qCe()});var UCe=ye(U5=>{"use strict";var NCe=Nu();U5.name="treemap";U5.plot=function(e,t,r,n){NCe.plotBasePlot(U5.name,e,t,r,n)};U5.clean=function(e,t,r,n){NCe.cleanBasePlot(U5.name,e,t,r,n)}});var G2=ye((hvr,VCe)=>{"use strict";VCe.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}});var $R=ye((dvr,GCe)=>{"use strict";var KCt=Wo().hovertemplateAttrs,JCt=Wo().texttemplateAttrs,$Ct=Kl(),QCt=Ju().attributes,j2=D2(),ig=NE(),HCe=G2(),jW=no().extendFlat,e6t=kd().pattern;GCe.exports={labels:ig.labels,parents:ig.parents,values:ig.values,branchvalues:ig.branchvalues,count:ig.count,level:ig.level,maxdepth:ig.maxdepth,tiling:{packing:{valType:"enumerated",values:["squarify","binary","dice","slice","slice-dice","dice-slice"],dflt:"squarify",editType:"plot"},squarifyratio:{valType:"number",min:1,dflt:1,editType:"plot"},flip:{valType:"flaglist",flags:["x","y"],dflt:"",editType:"plot"},pad:{valType:"number",min:0,dflt:3,editType:"plot"},editType:"calc"},marker:jW({pad:{t:{valType:"number",min:0,editType:"plot"},l:{valType:"number",min:0,editType:"plot"},r:{valType:"number",min:0,editType:"plot"},b:{valType:"number",min:0,editType:"plot"},editType:"calc"},colors:ig.marker.colors,pattern:e6t,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style"},line:ig.marker.line,cornerradius:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},$Ct("marker",{colorAttr:"colors",anim:!1})),pathbar:{visible:{valType:"boolean",dflt:!0,editType:"plot"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},edgeshape:{valType:"enumerated",values:[">","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:jW({},j2.textfont,{}),editType:"calc"},text:j2.text,textinfo:ig.textinfo,texttemplate:JCt({editType:"plot"},{keys:HCe.eventDataKeys.concat(["label","value"])}),hovertext:j2.hovertext,hoverinfo:ig.hoverinfo,hovertemplate:KCt({},{keys:HCe.eventDataKeys}),textfont:j2.textfont,insidetextfont:j2.insidetextfont,outsidetextfont:jW({},j2.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:j2.sort,root:ig.root,domain:QCt({name:"treemap",trace:!0,editType:"calc"})}});var WW=ye((vvr,jCe)=>{"use strict";jCe.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var YCe=ye((pvr,XCe)=>{"use strict";var WCe=Ar(),t6t=$R(),r6t=va(),i6t=Ju().defaults,n6t=a0().handleText,a6t=l2().TEXTPAD,o6t=R2().handleMarkerDefaults,ZCe=Mu(),s6t=ZCe.hasColorscale,l6t=ZCe.handleDefaults;XCe.exports=function(t,r,n,i){function a(b,p){return WCe.coerce(t,r,t6t,b,p)}var o=a("labels"),s=a("parents");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a("values");l&&l.length?a("branchvalues"):a("count"),a("level"),a("maxdepth");var u=a("tiling.packing");u==="squarify"&&a("tiling.squarifyratio"),a("tiling.flip"),a("tiling.pad");var c=a("text");a("texttemplate"),r.texttemplate||a("textinfo",WCe.isArrayOrTypedArray(c)?"text+label":"label"),a("hovertext"),a("hovertemplate");var f=a("pathbar.visible"),h="auto";n6t(t,r,i,a,h,{hasPathbar:f,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a("textposition");var v=r.textposition.indexOf("bottom")!==-1;o6t(t,r,i,a);var d=r._hasColorscale=s6t(t,"marker","colors")||(t.marker||{}).coloraxis;d?l6t(t,r,i,a,{prefix:"marker.",cLetter:"c"}):a("marker.depthfade",!(r.marker.colors||[]).length);var _=r.textfont.size*2;a("marker.pad.t",v?_/4:_),a("marker.pad.l",_/4),a("marker.pad.r",_/4),a("marker.pad.b",v?_:_/4),a("marker.cornerradius"),r._hovered={marker:{line:{width:2,color:r6t.contrast(i.paper_bgcolor)}}},f&&(a("pathbar.thickness",r.pathbar.textfont.size+2*a6t),a("pathbar.side"),a("pathbar.edgeshape")),a("sort"),a("root.color"),i6t(r,i,a),r._length=null}});var JCe=ye((gvr,KCe)=>{"use strict";var u6t=Ar(),c6t=WW();KCe.exports=function(t,r){function n(i,a){return u6t.coerce(t,r,c6t,i,a)}n("treemapcolorway",r.colorway),n("extendtreemapcolors")}});var XW=ye(ZW=>{"use strict";var $Ce=HE();ZW.calc=function(e,t){return $Ce.calc(e,t)};ZW.crossTraceCalc=function(e){return $Ce._runCrossTraceCalc("treemap",e)}});var YW=ye((yvr,QCe)=>{"use strict";QCe.exports=function e(t,r,n){var i;n.swapXY&&(i=t.x0,t.x0=t.y0,t.y0=i,i=t.x1,t.x1=t.y1,t.y1=i),n.flipX&&(i=t.x0,t.x0=r[0]-t.x1,t.x1=r[0]-i),n.flipY&&(i=t.y0,t.y0=r[1]-t.y1,t.y1=r[1]-i);var a=t.children;if(a)for(var o=0;o{"use strict";var V5=UE(),f6t=YW();e6e.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.packing==="dice-slice",s=n.pad[a?"bottom":"top"],l=n.pad[i?"right":"left"],u=n.pad[i?"left":"right"],c=n.pad[a?"top":"bottom"],f;o&&(f=l,l=s,s=f,f=u,u=c,c=f);var h=V5.treemap().tile(h6t(n.packing,n.squarifyratio)).paddingInner(n.pad.inner).paddingLeft(l).paddingRight(u).paddingTop(s).paddingBottom(c).size(o?[r[1],r[0]]:r)(t);return(o||i||a)&&f6t(h,r,{swapXY:o,flipX:i,flipY:a}),h};function h6t(e,t){switch(e){case"squarify":return V5.treemapSquarify.ratio(t);case"binary":return V5.treemapBinary;case"dice":return V5.treemapDice;case"slice":return V5.treemapSlice;default:return V5.treemapSliceDice}}});var QR=ye((xvr,n6e)=>{"use strict";var t6e=ba(),H5=va(),r6e=Ar(),JW=Qy(),d6t=bv().resizeText,v6t=YR();function p6t(e){var t=e._fullLayout._treemaplayer.selectAll(".trace");d6t(e,t,"treemap"),t.each(function(r){var n=t6e.select(this),i=r[0],a=i.trace;n.style("opacity",a.opacity),n.selectAll("path.surface").each(function(o){t6e.select(this).call(i6e,o,a,e,{hovered:!1})})})}function i6e(e,t,r,n,i){var a=(i||{}).hovered,o=t.data.data,s=o.i,l,u,c=o.color,f=JW.isHierarchyRoot(t),h=1;if(a)l=r._hovered.marker.line.color,u=r._hovered.marker.line.width;else if(f&&c===r.root.color)h=100,l="rgba(0,0,0,0)",u=0;else if(l=r6e.castOption(r,s,"marker.line.color")||H5.defaultLine,u=r6e.castOption(r,s,"marker.line.width")||0,!r._hasColorscale&&!t.onPathbar){var v=r.marker.depthfade;if(v){var d=H5.combine(H5.addOpacity(r._backgroundColor,.75),c),_;if(v===!0){var b=JW.getMaxDepth(r);isFinite(b)?JW.isLeaf(t)?_=0:_=r._maxVisibleLayers-(t.data.depth-r._entryDepth):_=t.data.height+1}else _=t.data.depth-r._entryDepth,r._atRootLevel||_++;if(_>0)for(var p=0;p<_;p++){var E=.5*p/_;c=H5.combine(H5.addOpacity(d,E),c)}}}e.call(v6t,t,r,n,c).style("stroke-width",u).call(H5.stroke,l).style("opacity",h)}n6e.exports={style:p6t,styleOne:i6e}});var u6e=ye((bvr,l6e)=>{"use strict";var a6e=ba(),ez=Ar(),o6e=ao(),g6t=Ll(),m6t=KW(),s6e=QR().styleOne,$W=G2(),G5=Qy(),y6t=ek(),QW=!0;l6e.exports=function(t,r,n,i,a){var o=a.barDifY,s=a.width,l=a.height,u=a.viewX,c=a.viewY,f=a.pathSlice,h=a.toMoveInsideSlice,v=a.strTransform,d=a.hasTransition,_=a.handleSlicesExit,b=a.makeUpdateSliceInterpolator,p=a.makeUpdateTextInterpolator,E={},k=t._context.staticPlot,S=t._fullLayout,L=r[0],x=L.trace,C=L.hierarchy,M=s/x._entryDepth,g=G5.listPath(n.data,"id"),P=m6t(C.copy(),[s,l],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();P=P.filter(function(F){var q=g.indexOf(F.data.id);return q===-1?!1:(F.x0=M*q,F.x1=M*(q+1),F.y0=o,F.y1=o+l,F.onPathbar=!0,!0)}),P.reverse(),i=i.data(P,G5.getPtId),i.enter().append("g").classed("pathbar",!0),_(i,QW,E,[s,l],f),i.order();var T=i;d&&(T=T.transition().each("end",function(){var F=a6e.select(this);G5.setSliceCursor(F,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),T.each(function(F){F._x0=u(F.x0),F._x1=u(F.x1),F._y0=c(F.y0),F._y1=c(F.y1),F._hoverX=u(F.x1-Math.min(s,l)/2),F._hoverY=c(F.y1-l/2);var q=a6e.select(this),V=ez.ensureSingle(q,"path","surface",function(N){N.style("pointer-events",k?"none":"all")});d?V.transition().attrTween("d",function(N){var W=b(N,QW,E,[s,l]);return function(re){return f(W(re))}}):V.attr("d",f),q.call(y6t,n,t,r,{styleOne:s6e,eventDataKeys:$W.eventDataKeys,transitionTime:$W.CLICK_TRANSITION_TIME,transitionEasing:$W.CLICK_TRANSITION_EASING}).call(G5.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),V.call(s6e,F,x,t,{hovered:!1}),F._text=(G5.getPtLabel(F)||"").split("
").join(" ")||"";var H=ez.ensureSingle(q,"g","slicetext"),X=ez.ensureSingle(H,"text","",function(N){N.attr("data-notex",1)}),G=ez.ensureUniformFontSize(t,G5.determineTextFont(x,F,S.font,{onPathbar:!0}));X.text(F._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(o6e.font,G).call(g6t.convertToTspans,t),F.textBB=o6e.bBox(X.node()),F.transform=h(F,{fontSize:G.size,onPathbar:!0}),F.transform.fontSize=G.size,d?X.transition().attrTween("transform",function(N){var W=p(N,QW,E,[s,l]);return function(re){return v(W(re))}}):X.attr("transform",v(F))})}});var d6e=ye((wvr,h6e)=>{"use strict";var c6e=ba(),eZ=(V2(),vb(U2)).interpolate,rx=Qy(),rk=Ar(),f6e=l2().TEXTPAD,_6t=h2(),x6t=_6t.toMoveInsideBar,b6t=bv(),tZ=b6t.recordMinTextSize,w6t=G2(),T6t=u6e();function W2(e){return rx.isHierarchyRoot(e)?"":rx.getPtId(e)}h6e.exports=function(t,r,n,i,a){var o=t._fullLayout,s=r[0],l=s.trace,u=l.type,c=u==="icicle",f=s.hierarchy,h=rx.findEntryWithLevel(f,l.level),v=c6e.select(n),d=v.selectAll("g.pathbar"),_=v.selectAll("g.slice");if(!h){d.remove(),_.remove();return}var b=rx.isHierarchyRoot(h),p=!o.uniformtext.mode&&rx.hasTransition(i),E=rx.getMaxDepth(l),k=function(Ke){return Ke.data.depth-h.data.depth-1?C+P:-(g+P):0,F={x0:M,x1:M,y0:T,y1:T+g},q=function(Ke,bt,xt){var Lt=l.tiling.pad,St=function($t){return $t-Lt<=bt.x0},Et=function($t){return $t+Lt>=bt.x1},dt=function($t){return $t-Lt<=bt.y0},Ht=function($t){return $t+Lt>=bt.y1};return Ke.x0===bt.x0&&Ke.x1===bt.x1&&Ke.y0===bt.y0&&Ke.y1===bt.y1?{x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1}:{x0:St(Ke.x0-Lt)?0:Et(Ke.x0-Lt)?xt[0]:Ke.x0,x1:St(Ke.x1+Lt)?0:Et(Ke.x1+Lt)?xt[0]:Ke.x1,y0:dt(Ke.y0-Lt)?0:Ht(Ke.y0-Lt)?xt[1]:Ke.y0,y1:dt(Ke.y1+Lt)?0:Ht(Ke.y1+Lt)?xt[1]:Ke.y1}},V=null,H={},X={},G=null,N=function(Ke,bt){return bt?H[W2(Ke)]:X[W2(Ke)]},W=function(Ke,bt,xt,Lt){if(bt)return H[W2(f)]||F;var St=X[l.level]||xt;return k(Ke)?q(Ke,St,Lt):{}};s.hasMultipleRoots&&b&&E++,l._maxDepth=E,l._backgroundColor=o.paper_bgcolor,l._entryDepth=h.data.depth,l._atRootLevel=b;var re=-x/2+S.l+S.w*(L.x[1]+L.x[0])/2,ae=-C/2+S.t+S.h*(1-(L.y[1]+L.y[0])/2),_e=function(Ke){return re+Ke},Me=function(Ke){return ae+Ke},ke=Me(0),ge=_e(0),ie=function(Ke){return ge+Ke},Te=function(Ke){return ke+Ke};function Ee(Ke,bt){return Ke+","+bt}var Ae=ie(0),ze=function(Ke){Ke.x=Math.max(Ae,Ke.x)},Ce=l.pathbar.edgeshape,me=function(Ke){var bt=ie(Math.max(Math.min(Ke.x0,Ke.x0),0)),xt=ie(Math.min(Math.max(Ke.x1,Ke.x1),M)),Lt=Te(Ke.y0),St=Te(Ke.y1),Et=g/2,dt={},Ht={};dt.x=bt,Ht.x=xt,dt.y=Ht.y=(Lt+St)/2;var $t={x:bt,y:Lt},fr={x:xt,y:Lt},xr={x:xt,y:St},Br={x:bt,y:St};return Ce===">"?($t.x-=Et,fr.x-=Et,xr.x-=Et,Br.x-=Et):Ce==="/"?(xr.x-=Et,Br.x-=Et,dt.x-=Et/2,Ht.x-=Et/2):Ce==="\\"?($t.x-=Et,fr.x-=Et,dt.x-=Et/2,Ht.x-=Et/2):Ce==="<"&&(dt.x-=Et,Ht.x-=Et),ze($t),ze(Br),ze(dt),ze(fr),ze(xr),ze(Ht),"M"+Ee($t.x,$t.y)+"L"+Ee(fr.x,fr.y)+"L"+Ee(Ht.x,Ht.y)+"L"+Ee(xr.x,xr.y)+"L"+Ee(Br.x,Br.y)+"L"+Ee(dt.x,dt.y)+"Z"},De=l[c?"tiling":"marker"].pad,ce=function(Ke){return l.textposition.indexOf(Ke)!==-1},Ge=ce("top"),nt=ce("left"),ct=ce("right"),qt=ce("bottom"),rt=function(Ke){var bt=_e(Ke.x0),xt=_e(Ke.x1),Lt=Me(Ke.y0),St=Me(Ke.y1),Et=xt-bt,dt=St-Lt;if(!Et||!dt)return"";var Ht=l.marker.cornerradius||0,$t=Math.min(Ht,Et/2,dt/2);$t&&Ke.data&&Ke.data.data&&Ke.data.data.label&&(Ge&&($t=Math.min($t,De.t)),nt&&($t=Math.min($t,De.l)),ct&&($t=Math.min($t,De.r)),qt&&($t=Math.min($t,De.b)));var fr=function(xr,Br){return $t?"a"+Ee($t,$t)+" 0 0 1 "+Ee(xr,Br):""};return"M"+Ee(bt,Lt+$t)+fr($t,-$t)+"L"+Ee(xt-$t,Lt)+fr($t,$t)+"L"+Ee(xt,St-$t)+fr(-$t,$t)+"L"+Ee(bt+$t,St)+fr(-$t,-$t)+"Z"},ot=function(Ke,bt){var xt=Ke.x0,Lt=Ke.x1,St=Ke.y0,Et=Ke.y1,dt=Ke.textBB,Ht=Ge||bt.isHeader&&!qt,$t=Ht?"start":qt?"end":"middle",fr=ce("right"),xr=ce("left")||bt.onPathbar,Br=xr?-1:fr?1:0;if(bt.isHeader){if(xt+=(c?De:De.l)-f6e,Lt-=(c?De:De.r)-f6e,xt>=Lt){var Or=(xt+Lt)/2;xt=Or,Lt=Or}var Nr;qt?(Nr=Et-(c?De:De.b),St{"use strict";var A6t=ba(),S6t=Qy(),M6t=bv(),E6t=M6t.clearMinTextSize,k6t=G0().resizeText,v6e=d6e();p6e.exports=function(t,r,n,i,a){var o=a.type,s=a.drawDescendants,l=t._fullLayout,u=l["_"+o+"layer"],c,f,h=!n;if(E6t(o,l),c=u.selectAll("g.trace."+o).data(r,function(d){return d[0].trace.uid}),c.enter().append("g").classed("trace",!0).classed(o,!0),c.order(),!l.uniformtext.mode&&S6t.hasTransition(n)){i&&(f=i());var v=A6t.transition().duration(n.duration).ease(n.easing).each("end",function(){f&&f()}).each("interrupt",function(){f&&f()});v.each(function(){u.selectAll("g.trace").each(function(d){v6e(t,d,this,n,s)})})}else c.each(function(d){v6e(t,d,this,n,s)}),l.uniformtext.mode&&k6t(t,u.selectAll(".trace"),o);h&&c.exit().remove()}});var x6e=ye((Avr,_6e)=>{"use strict";var g6e=ba(),tz=Ar(),m6e=ao(),C6t=Ll(),L6t=KW(),y6e=QR().styleOne,iZ=G2(),ix=Qy(),P6t=ek(),I6t=JR().formatSliceLabel,nZ=!1;_6e.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,v=a.hasTransition,d=a.handleSlicesExit,_=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,p=a.prevEntry,E={},k=t._context.staticPlot,S=t._fullLayout,L=r[0],x=L.trace,C=x.textposition.indexOf("left")!==-1,M=x.textposition.indexOf("right")!==-1,g=x.textposition.indexOf("bottom")!==-1,P=!g&&!x.marker.pad.t||g&&!x.marker.pad.b,T=L6t(n,[o,s],{packing:x.tiling.packing,squarifyratio:x.tiling.squarifyratio,flipX:x.tiling.flip.indexOf("x")>-1,flipY:x.tiling.flip.indexOf("y")>-1,pad:{inner:x.tiling.pad,top:x.marker.pad.t,left:x.marker.pad.l,right:x.marker.pad.r,bottom:x.marker.pad.b}}),F=T.descendants(),q=1/0,V=-1/0;F.forEach(function(W){var re=W.depth;re>=x._maxDepth?(W.x0=W.x1=(W.x0+W.x1)/2,W.y0=W.y1=(W.y0+W.y1)/2):(q=Math.min(q,re),V=Math.max(V,re))}),i=i.data(F,ix.getPtId),x._maxVisibleLayers=isFinite(V)?V-q+1:0,i.enter().append("g").classed("slice",!0),d(i,nZ,E,[o,s],c),i.order();var H=null;if(v&&p){var X=ix.getPtId(p);i.each(function(W){H===null&&ix.getPtId(W)===X&&(H={x0:W.x0,x1:W.x1,y0:W.y0,y1:W.y1})})}var G=function(){return H||{x0:0,x1:o,y0:0,y1:s}},N=i;return v&&(N=N.transition().each("end",function(){var W=g6e.select(this);ix.setSliceCursor(W,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),N.each(function(W){var re=ix.isHeader(W,x);W._x0=l(W.x0),W._x1=l(W.x1),W._y0=u(W.y0),W._y1=u(W.y1),W._hoverX=l(W.x1-x.marker.pad.r),W._hoverY=u(g?W.y1-x.marker.pad.b/2:W.y0+x.marker.pad.t/2);var ae=g6e.select(this),_e=tz.ensureSingle(ae,"path","surface",function(Ee){Ee.style("pointer-events",k?"none":"all")});v?_e.transition().attrTween("d",function(Ee){var Ae=_(Ee,nZ,G(),[o,s]);return function(ze){return c(Ae(ze))}}):_e.attr("d",c),ae.call(P6t,n,t,r,{styleOne:y6e,eventDataKeys:iZ.eventDataKeys,transitionTime:iZ.CLICK_TRANSITION_TIME,transitionEasing:iZ.CLICK_TRANSITION_EASING}).call(ix.setSliceCursor,t,{isTransitioning:t._transitioning}),_e.call(y6e,W,x,t,{hovered:!1}),W.x0===W.x1||W.y0===W.y1?W._text="":re?W._text=P?"":ix.getPtLabel(W)||"":W._text=I6t(W,n,x,r,S)||"";var Me=tz.ensureSingle(ae,"g","slicetext"),ke=tz.ensureSingle(Me,"text","",function(Ee){Ee.attr("data-notex",1)}),ge=tz.ensureUniformFontSize(t,ix.determineTextFont(x,W,S.font)),ie=W._text||" ",Te=re&&ie.indexOf("
")===-1;ke.text(ie).classed("slicetext",!0).attr("text-anchor",M?"end":C||Te?"start":"middle").call(m6e.font,ge).call(C6t.convertToTspans,t),W.textBB=m6e.bBox(ke.node()),W.transform=f(W,{fontSize:ge.size,isHeader:re}),W.transform.fontSize=ge.size,v?ke.transition().attrTween("transform",function(Ee){var Ae=b(Ee,nZ,G(),[o,s]);return function(ze){return h(Ae(ze))}}):ke.attr("transform",h(W))}),H}});var w6e=ye((Svr,b6e)=>{"use strict";var D6t=rZ(),R6t=x6e();b6e.exports=function(t,r,n,i){return D6t(t,r,n,i,{type:"treemap",drawDescendants:R6t})}});var A6e=ye((Mvr,T6e)=>{"use strict";T6e.exports={moduleType:"trace",name:"treemap",basePlotModule:UCe(),categories:[],animatable:!0,attributes:$R(),layoutAttributes:WW(),supplyDefaults:YCe(),supplyLayoutDefaults:JCe(),calc:XW().calc,crossTraceCalc:XW().crossTraceCalc,plot:w6e(),style:QR().style,colorbar:Jd(),meta:{}}});var M6e=ye((Evr,S6e)=>{"use strict";S6e.exports=A6e()});var k6e=ye(j5=>{"use strict";var E6e=Nu();j5.name="icicle";j5.plot=function(e,t,r,n){E6e.plotBasePlot(j5.name,e,t,r,n)};j5.clean=function(e,t,r,n){E6e.cleanBasePlot(j5.name,e,t,r,n)}});var aZ=ye((Cvr,L6e)=>{"use strict";var z6t=Wo().hovertemplateAttrs,F6t=Wo().texttemplateAttrs,q6t=Kl(),O6t=Ju().attributes,ik=D2(),u0=NE(),rz=$R(),C6e=G2(),B6t=no().extendFlat,N6t=kd().pattern;L6e.exports={labels:u0.labels,parents:u0.parents,values:u0.values,branchvalues:u0.branchvalues,count:u0.count,level:u0.level,maxdepth:u0.maxdepth,tiling:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"plot"},flip:rz.tiling.flip,pad:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},marker:B6t({colors:u0.marker.colors,line:u0.marker.line,pattern:N6t,editType:"calc"},q6t("marker",{colorAttr:"colors",anim:!1})),leaf:u0.leaf,pathbar:rz.pathbar,text:ik.text,textinfo:u0.textinfo,texttemplate:F6t({editType:"plot"},{keys:C6e.eventDataKeys.concat(["label","value"])}),hovertext:ik.hovertext,hoverinfo:u0.hoverinfo,hovertemplate:z6t({},{keys:C6e.eventDataKeys}),textfont:ik.textfont,insidetextfont:ik.insidetextfont,outsidetextfont:rz.outsidetextfont,textposition:rz.textposition,sort:ik.sort,root:u0.root,domain:O6t({name:"icicle",trace:!0,editType:"calc"})}});var oZ=ye((Lvr,P6e)=>{"use strict";P6e.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var z6e=ye((Pvr,R6e)=>{"use strict";var I6e=Ar(),U6t=aZ(),V6t=va(),H6t=Ju().defaults,G6t=a0().handleText,j6t=l2().TEXTPAD,W6t=R2().handleMarkerDefaults,D6e=Mu(),Z6t=D6e.hasColorscale,X6t=D6e.handleDefaults;R6e.exports=function(t,r,n,i){function a(v,d){return I6e.coerce(t,r,U6t,v,d)}var o=a("labels"),s=a("parents");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a("values");l&&l.length?a("branchvalues"):a("count"),a("level"),a("maxdepth"),a("tiling.orientation"),a("tiling.flip"),a("tiling.pad");var u=a("text");a("texttemplate"),r.texttemplate||a("textinfo",I6e.isArrayOrTypedArray(u)?"text+label":"label"),a("hovertext"),a("hovertemplate");var c=a("pathbar.visible"),f="auto";G6t(t,r,i,a,f,{hasPathbar:c,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a("textposition"),W6t(t,r,i,a);var h=r._hasColorscale=Z6t(t,"marker","colors")||(t.marker||{}).coloraxis;h&&X6t(t,r,i,a,{prefix:"marker.",cLetter:"c"}),a("leaf.opacity",h?1:.7),r._hovered={marker:{line:{width:2,color:V6t.contrast(i.paper_bgcolor)}}},c&&(a("pathbar.thickness",r.pathbar.textfont.size+2*j6t),a("pathbar.side"),a("pathbar.edgeshape")),a("sort"),a("root.color"),H6t(r,i,a),r._length=null}});var q6e=ye((Ivr,F6e)=>{"use strict";var Y6t=Ar(),K6t=oZ();F6e.exports=function(t,r){function n(i,a){return Y6t.coerce(t,r,K6t,i,a)}n("iciclecolorway",r.colorway),n("extendiciclecolors")}});var lZ=ye(sZ=>{"use strict";var O6e=HE();sZ.calc=function(e,t){return O6e.calc(e,t)};sZ.crossTraceCalc=function(e){return O6e._runCrossTraceCalc("icicle",e)}});var N6e=ye((Rvr,B6e)=>{"use strict";var J6t=UE(),$6t=YW();B6e.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.orientation==="h",s=n.maxDepth,l=r[0],u=r[1];s&&(l=(t.height+1)*r[0]/Math.min(t.height+1,s),u=(t.height+1)*r[1]/Math.min(t.height+1,s));var c=J6t.partition().padding(n.pad.inner).size(o?[r[1],l]:[r[0],u])(t);return(o||i||a)&&$6t(c,r,{swapXY:o,flipX:i,flipY:a}),c}});var uZ=ye((zvr,j6e)=>{"use strict";var U6e=ba(),V6e=va(),H6e=Ar(),Q6t=bv().resizeText,eLt=YR();function tLt(e){var t=e._fullLayout._iciclelayer.selectAll(".trace");Q6t(e,t,"icicle"),t.each(function(r){var n=U6e.select(this),i=r[0],a=i.trace;n.style("opacity",a.opacity),n.selectAll("path.surface").each(function(o){U6e.select(this).call(G6e,o,a,e)})})}function G6e(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=H6e.castOption(r,o,"marker.line.color")||V6e.defaultLine,l=H6e.castOption(r,o,"marker.line.width")||0;e.call(eLt,t,r,n).style("stroke-width",l).call(V6e.stroke,s).style("opacity",a?r.leaf.opacity:null)}j6e.exports={style:tLt,styleOne:G6e}});var K6e=ye((Fvr,Y6e)=>{"use strict";var W6e=ba(),iz=Ar(),Z6e=ao(),rLt=Ll(),iLt=N6e(),X6e=uZ().styleOne,cZ=G2(),W5=Qy(),nLt=ek(),aLt=JR().formatSliceLabel,fZ=!1;Y6e.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,v=a.hasTransition,d=a.handleSlicesExit,_=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,p=a.prevEntry,E={},k=t._context.staticPlot,S=t._fullLayout,L=r[0],x=L.trace,C=x.textposition.indexOf("left")!==-1,M=x.textposition.indexOf("right")!==-1,g=x.textposition.indexOf("bottom")!==-1,P=iLt(n,[o,s],{flipX:x.tiling.flip.indexOf("x")>-1,flipY:x.tiling.flip.indexOf("y")>-1,orientation:x.tiling.orientation,pad:{inner:x.tiling.pad},maxDepth:x._maxDepth}),T=P.descendants(),F=1/0,q=-1/0;T.forEach(function(N){var W=N.depth;W>=x._maxDepth?(N.x0=N.x1=(N.x0+N.x1)/2,N.y0=N.y1=(N.y0+N.y1)/2):(F=Math.min(F,W),q=Math.max(q,W))}),i=i.data(T,W5.getPtId),x._maxVisibleLayers=isFinite(q)?q-F+1:0,i.enter().append("g").classed("slice",!0),d(i,fZ,E,[o,s],c),i.order();var V=null;if(v&&p){var H=W5.getPtId(p);i.each(function(N){V===null&&W5.getPtId(N)===H&&(V={x0:N.x0,x1:N.x1,y0:N.y0,y1:N.y1})})}var X=function(){return V||{x0:0,x1:o,y0:0,y1:s}},G=i;return v&&(G=G.transition().each("end",function(){var N=W6e.select(this);W5.setSliceCursor(N,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),G.each(function(N){N._x0=l(N.x0),N._x1=l(N.x1),N._y0=u(N.y0),N._y1=u(N.y1),N._hoverX=l(N.x1-x.tiling.pad),N._hoverY=u(g?N.y1-x.tiling.pad/2:N.y0+x.tiling.pad/2);var W=W6e.select(this),re=iz.ensureSingle(W,"path","surface",function(ke){ke.style("pointer-events",k?"none":"all")});v?re.transition().attrTween("d",function(ke){var ge=_(ke,fZ,X(),[o,s],{orientation:x.tiling.orientation,flipX:x.tiling.flip.indexOf("x")>-1,flipY:x.tiling.flip.indexOf("y")>-1});return function(ie){return c(ge(ie))}}):re.attr("d",c),W.call(nLt,n,t,r,{styleOne:X6e,eventDataKeys:cZ.eventDataKeys,transitionTime:cZ.CLICK_TRANSITION_TIME,transitionEasing:cZ.CLICK_TRANSITION_EASING}).call(W5.setSliceCursor,t,{isTransitioning:t._transitioning}),re.call(X6e,N,x,t,{hovered:!1}),N.x0===N.x1||N.y0===N.y1?N._text="":N._text=aLt(N,n,x,r,S)||"";var ae=iz.ensureSingle(W,"g","slicetext"),_e=iz.ensureSingle(ae,"text","",function(ke){ke.attr("data-notex",1)}),Me=iz.ensureUniformFontSize(t,W5.determineTextFont(x,N,S.font));_e.text(N._text||" ").classed("slicetext",!0).attr("text-anchor",M?"end":C?"start":"middle").call(Z6e.font,Me).call(rLt.convertToTspans,t),N.textBB=Z6e.bBox(_e.node()),N.transform=f(N,{fontSize:Me.size}),N.transform.fontSize=Me.size,v?_e.transition().attrTween("transform",function(ke){var ge=b(ke,fZ,X(),[o,s]);return function(ie){return h(ge(ie))}}):_e.attr("transform",h(N))}),V}});var $6e=ye((qvr,J6e)=>{"use strict";var oLt=rZ(),sLt=K6e();J6e.exports=function(t,r,n,i){return oLt(t,r,n,i,{type:"icicle",drawDescendants:sLt})}});var eLe=ye((Ovr,Q6e)=>{"use strict";Q6e.exports={moduleType:"trace",name:"icicle",basePlotModule:k6e(),categories:[],animatable:!0,attributes:aZ(),layoutAttributes:oZ(),supplyDefaults:z6e(),supplyLayoutDefaults:q6e(),calc:lZ().calc,crossTraceCalc:lZ().crossTraceCalc,plot:$6e(),style:uZ().style,colorbar:Jd(),meta:{}}});var rLe=ye((Bvr,tLe)=>{"use strict";tLe.exports=eLe()});var nLe=ye(Z5=>{"use strict";var iLe=Nu();Z5.name="funnelarea";Z5.plot=function(e,t,r,n){iLe.plotBasePlot(Z5.name,e,t,r,n)};Z5.clean=function(e,t,r,n){iLe.cleanBasePlot(Z5.name,e,t,r,n)}});var hZ=ye((Uvr,aLe)=>{"use strict";var rv=D2(),lLt=vl(),uLt=Ju().attributes,cLt=Wo().hovertemplateAttrs,fLt=Wo().texttemplateAttrs,Z2=no().extendFlat;aLe.exports={labels:rv.labels,label0:rv.label0,dlabel:rv.dlabel,values:rv.values,marker:{colors:rv.marker.colors,line:{color:Z2({},rv.marker.line.color,{dflt:null}),width:Z2({},rv.marker.line.width,{dflt:1}),editType:"calc"},pattern:rv.marker.pattern,editType:"calc"},text:rv.text,hovertext:rv.hovertext,scalegroup:Z2({},rv.scalegroup,{}),textinfo:Z2({},rv.textinfo,{flags:["label","text","value","percent"]}),texttemplate:fLt({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:Z2({},lLt.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:cLt({},{keys:["label","color","value","text","percent"]}),textposition:Z2({},rv.textposition,{values:["inside","none"],dflt:"inside"}),textfont:rv.textfont,insidetextfont:rv.insidetextfont,title:{text:rv.title.text,font:rv.title.font,position:Z2({},rv.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:uLt({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}});var dZ=ye((Vvr,oLe)=>{"use strict";var hLt=AR().hiddenlabels;oLe.exports={hiddenlabels:hLt,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}});var uLe=ye((Hvr,lLe)=>{"use strict";var sLe=Ar(),dLt=hZ(),vLt=Ju().defaults,pLt=a0().handleText,gLt=R2().handleLabelsAndValues,mLt=R2().handleMarkerDefaults;lLe.exports=function(t,r,n,i){function a(_,b){return sLe.coerce(t,r,dLt,_,b)}var o=a("labels"),s=a("values"),l=gLt(o,s),u=l.len;if(r._hasLabels=l.hasLabels,r._hasValues=l.hasValues,!r._hasLabels&&r._hasValues&&(a("label0"),a("dlabel")),!u){r.visible=!1;return}r._length=u,mLt(t,r,i,a),a("scalegroup");var c=a("text"),f=a("texttemplate"),h;if(f||(h=a("textinfo",Array.isArray(c)?"text+percent":"percent")),a("hovertext"),a("hovertemplate"),f||h&&h!=="none"){var v=a("textposition");pLt(t,r,i,a,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else h==="none"&&a("textposition","none");vLt(r,i,a);var d=a("title.text");d&&(a("title.position"),sLe.coerceFont(a,"title.font",i.font)),a("aspectratio"),a("baseratio")}});var fLe=ye((Gvr,cLe)=>{"use strict";var yLt=Ar(),_Lt=dZ();cLe.exports=function(t,r){function n(i,a){return yLt.coerce(t,r,_Lt,i,a)}n("hiddenlabels"),n("funnelareacolorway",r.colorway),n("extendfunnelareacolors")}});var vZ=ye((jvr,dLe)=>{"use strict";var hLe=C5();function xLt(e,t){return hLe.calc(e,t)}function bLt(e){hLe.crossTraceCalc(e,{type:"funnelarea"})}dLe.exports={calc:xLt,crossTraceCalc:bLt}});var yLe=ye((Wvr,mLe)=>{"use strict";var X2=ba(),pZ=ao(),nx=Ar(),wLt=nx.strScale,vLe=nx.strTranslate,pLe=Ll(),TLt=h2(),ALt=TLt.toMoveInsideBar,gLe=bv(),SLt=gLe.recordMinTextSize,MLt=gLe.clearMinTextSize,ELt=v_(),X5=kR(),kLt=X5.attachFxHandlers,CLt=X5.determineInsideTextFont,LLt=X5.layoutAreas,PLt=X5.prerenderTitles,ILt=X5.positionTitleOutside,DLt=X5.formatSliceLabel;mLe.exports=function(t,r){var n=t._context.staticPlot,i=t._fullLayout;MLt("funnelarea",i),PLt(r,t),LLt(r,i._size),nx.makeTraceGroups(i._funnelarealayer,r,"trace").each(function(a){var o=X2.select(this),s=a[0],l=s.trace;zLt(a),o.each(function(){var u=X2.select(this).selectAll("g.slice").data(a);u.enter().append("g").classed("slice",!0),u.exit().remove(),u.each(function(f,h){if(f.hidden){X2.select(this).selectAll("path,g").remove();return}f.pointNumber=f.i,f.curveNumber=l.index;var v=s.cx,d=s.cy,_=X2.select(this),b=_.selectAll("path.surface").data([f]);b.enter().append("path").classed("surface",!0).style({"pointer-events":n?"none":"all"}),_.call(kLt,t,a);var p="M"+(v+f.TR[0])+","+(d+f.TR[1])+gZ(f.TR,f.BR)+gZ(f.BR,f.BL)+gZ(f.BL,f.TL)+"Z";b.attr("d",p),DLt(t,f,s);var E=ELt.castOption(l.textposition,f.pts),k=_.selectAll("g.slicetext").data(f.text&&E!=="none"?[0]:[]);k.enter().append("g").classed("slicetext",!0),k.exit().remove(),k.each(function(){var S=nx.ensureSingle(X2.select(this),"text","",function(F){F.attr("data-notex",1)}),L=nx.ensureUniformFontSize(t,CLt(l,f,i.font));S.text(f.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(pZ.font,L).call(pLe.convertToTspans,t);var x=pZ.bBox(S.node()),C,M,g,P=Math.min(f.BL[1],f.BR[1])+d,T=Math.max(f.TL[1],f.TR[1])+d;M=Math.max(f.TL[0],f.BL[0])+v,g=Math.min(f.TR[0],f.BR[0])+v,C=ALt(M,g,P,T,x,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"}),C.fontSize=L.size,SLt(l.type,C,i),a[h].transform=C,nx.setTransormAndDisplay(S,C)})});var c=X2.select(this).selectAll("g.titletext").data(l.title.text?[0]:[]);c.enter().append("g").classed("titletext",!0),c.exit().remove(),c.each(function(){var f=nx.ensureSingle(X2.select(this),"text","",function(d){d.attr("data-notex",1)}),h=l.title.text;l._meta&&(h=nx.templateString(h,l._meta)),f.text(h).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(pZ.font,l.title.font).call(pLe.convertToTspans,t);var v=ILt(s,i._size);f.attr("transform",vLe(v.x,v.y)+wLt(Math.min(1,v.scale))+vLe(v.tx,v.ty))})})})};function gZ(e,t){var r=t[0]-e[0],n=t[1]-e[1];return"l"+r+","+n}function RLt(e,t){return[.5*(e[0]+t[0]),.5*(e[1]+t[1])]}function zLt(e){if(!e.length)return;var t=e[0],r=t.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a=Math.pow(i,2),o=t.vTotal,s=o*a/(1-a),l=o,u=s/o;function c(){var q=Math.sqrt(u);return{x:q,y:-q}}function f(){var q=c();return[q.x,q.y]}var h,v=[];v.push(f());var d,_;for(d=e.length-1;d>-1;d--)if(_=e[d],!_.hidden){var b=_.v/l;u+=b,v.push(f())}var p=1/0,E=-1/0;for(d=0;d-1;d--)if(_=e[d],!_.hidden){P+=1;var T=v[P][0],F=v[P][1];_.TL=[-T,F],_.TR=[T,F],_.BL=M,_.BR=g,_.pxmid=RLt(_.TR,_.BR),M=_.TL,g=_.TR}}});var bLe=ye((Zvr,xLe)=>{"use strict";var _Le=ba(),FLt=j3(),qLt=bv().resizeText;xLe.exports=function(t){var r=t._fullLayout._funnelarealayer.selectAll(".trace");qLt(t,r,"funnelarea"),r.each(function(n){var i=n[0],a=i.trace,o=_Le.select(this);o.style({opacity:a.opacity}),o.selectAll("path.surface").each(function(s){_Le.select(this).call(FLt,s,a,t)})})}});var TLe=ye((Xvr,wLe)=>{"use strict";wLe.exports={moduleType:"trace",name:"funnelarea",basePlotModule:nLe(),categories:["pie-like","funnelarea","showLegend"],attributes:hZ(),layoutAttributes:dZ(),supplyDefaults:uLe(),supplyLayoutDefaults:fLe(),calc:vZ().calc,crossTraceCalc:vZ().crossTraceCalc,plot:yLe(),style:bLe(),styleOne:j3(),meta:{}}});var SLe=ye((Yvr,ALe)=>{"use strict";ALe.exports=TLe()});var Rd=ye((Kvr,MLe)=>{(function(){var e={1964:function(i,a,o){i.exports={alpha_shape:o(3502),convex_hull:o(7352),delaunay_triangulate:o(7642),gl_cone3d:o(6405),gl_error3d:o(9165),gl_line3d:o(5714),gl_mesh3d:o(7201),gl_plot3d:o(4100),gl_scatter3d:o(8418),gl_streamtube3d:o(7815),gl_surface3d:o(9499),ndarray:o(9618),ndarray_linear_interpolate:o(4317)}},4793:function(i,a,o){"use strict";var s;function l(Le,xe){if(!(Le instanceof xe))throw new TypeError("Cannot call a class as a function")}function u(Le,xe){for(var Se=0;SeM)throw new RangeError('The value "'+Le+'" is invalid for option "size"');var xe=new Uint8Array(Le);return Object.setPrototypeOf(xe,T.prototype),xe}function T(Le,xe,Se){if(typeof Le=="number"){if(typeof xe=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return H(Le)}return F(Le,xe,Se)}T.poolSize=8192;function F(Le,xe,Se){if(typeof Le=="string")return X(Le,xe);if(ArrayBuffer.isView(Le))return N(Le);if(Le==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+S(Le));if(Ne(Le,ArrayBuffer)||Le&&Ne(Le.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(Ne(Le,SharedArrayBuffer)||Le&&Ne(Le.buffer,SharedArrayBuffer)))return W(Le,xe,Se);if(typeof Le=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var lt=Le.valueOf&&Le.valueOf();if(lt!=null&<!==Le)return T.from(lt,xe,Se);var Gt=re(Le);if(Gt)return Gt;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof Le[Symbol.toPrimitive]=="function")return T.from(Le[Symbol.toPrimitive]("string"),xe,Se);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+S(Le))}T.from=function(Le,xe,Se){return F(Le,xe,Se)},Object.setPrototypeOf(T.prototype,Uint8Array.prototype),Object.setPrototypeOf(T,Uint8Array);function q(Le){if(typeof Le!="number")throw new TypeError('"size" argument must be of type number');if(Le<0)throw new RangeError('The value "'+Le+'" is invalid for option "size"')}function V(Le,xe,Se){return q(Le),Le<=0?P(Le):xe!==void 0?typeof Se=="string"?P(Le).fill(xe,Se):P(Le).fill(xe):P(Le)}T.alloc=function(Le,xe,Se){return V(Le,xe,Se)};function H(Le){return q(Le),P(Le<0?0:ae(Le)|0)}T.allocUnsafe=function(Le){return H(Le)},T.allocUnsafeSlow=function(Le){return H(Le)};function X(Le,xe){if((typeof xe!="string"||xe==="")&&(xe="utf8"),!T.isEncoding(xe))throw new TypeError("Unknown encoding: "+xe);var Se=Me(Le,xe)|0,lt=P(Se),Gt=lt.write(Le,xe);return Gt!==Se&&(lt=lt.slice(0,Gt)),lt}function G(Le){for(var xe=Le.length<0?0:ae(Le.length)|0,Se=P(xe),lt=0;lt=M)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+M.toString(16)+" bytes");return Le|0}function _e(Le){return+Le!=Le&&(Le=0),T.alloc(+Le)}T.isBuffer=function(xe){return xe!=null&&xe._isBuffer===!0&&xe!==T.prototype},T.compare=function(xe,Se){if(Ne(xe,Uint8Array)&&(xe=T.from(xe,xe.offset,xe.byteLength)),Ne(Se,Uint8Array)&&(Se=T.from(Se,Se.offset,Se.byteLength)),!T.isBuffer(xe)||!T.isBuffer(Se))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(xe===Se)return 0;for(var lt=xe.length,Gt=Se.length,Vt=0,ar=Math.min(lt,Gt);VtGt.length?(T.isBuffer(ar)||(ar=T.from(ar)),ar.copy(Gt,Vt)):Uint8Array.prototype.set.call(Gt,ar,Vt);else if(T.isBuffer(ar))ar.copy(Gt,Vt);else throw new TypeError('"list" argument must be an Array of Buffers');Vt+=ar.length}return Gt};function Me(Le,xe){if(T.isBuffer(Le))return Le.length;if(ArrayBuffer.isView(Le)||Ne(Le,ArrayBuffer))return Le.byteLength;if(typeof Le!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+S(Le));var Se=Le.length,lt=arguments.length>2&&arguments[2]===!0;if(!lt&&Se===0)return 0;for(var Gt=!1;;)switch(xe){case"ascii":case"latin1":case"binary":return Se;case"utf8":case"utf-8":return xr(Le).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Se*2;case"hex":return Se>>>1;case"base64":return Nr(Le).length;default:if(Gt)return lt?-1:xr(Le).length;xe=(""+xe).toLowerCase(),Gt=!0}}T.byteLength=Me;function ke(Le,xe,Se){var lt=!1;if((xe===void 0||xe<0)&&(xe=0),xe>this.length||((Se===void 0||Se>this.length)&&(Se=this.length),Se<=0)||(Se>>>=0,xe>>>=0,Se<=xe))return"";for(Le||(Le="utf8");;)switch(Le){case"hex":return rt(this,xe,Se);case"utf8":case"utf-8":return ce(this,xe,Se);case"ascii":return ct(this,xe,Se);case"latin1":case"binary":return qt(this,xe,Se);case"base64":return De(this,xe,Se);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ot(this,xe,Se);default:if(lt)throw new TypeError("Unknown encoding: "+Le);Le=(Le+"").toLowerCase(),lt=!0}}T.prototype._isBuffer=!0;function ge(Le,xe,Se){var lt=Le[xe];Le[xe]=Le[Se],Le[Se]=lt}T.prototype.swap16=function(){var xe=this.length;if(xe%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var Se=0;SeSe&&(xe+=" ... "),""},C&&(T.prototype[C]=T.prototype.inspect),T.prototype.compare=function(xe,Se,lt,Gt,Vt){if(Ne(xe,Uint8Array)&&(xe=T.from(xe,xe.offset,xe.byteLength)),!T.isBuffer(xe))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+S(xe));if(Se===void 0&&(Se=0),lt===void 0&&(lt=xe?xe.length:0),Gt===void 0&&(Gt=0),Vt===void 0&&(Vt=this.length),Se<0||lt>xe.length||Gt<0||Vt>this.length)throw new RangeError("out of range index");if(Gt>=Vt&&Se>=lt)return 0;if(Gt>=Vt)return-1;if(Se>=lt)return 1;if(Se>>>=0,lt>>>=0,Gt>>>=0,Vt>>>=0,this===xe)return 0;for(var ar=Vt-Gt,Qr=lt-Se,ai=Math.min(ar,Qr),jr=this.slice(Gt,Vt),ri=xe.slice(Se,lt),bi=0;bi2147483647?Se=2147483647:Se<-2147483648&&(Se=-2147483648),Se=+Se,Ye(Se)&&(Se=Gt?0:Le.length-1),Se<0&&(Se=Le.length+Se),Se>=Le.length){if(Gt)return-1;Se=Le.length-1}else if(Se<0)if(Gt)Se=0;else return-1;if(typeof xe=="string"&&(xe=T.from(xe,lt)),T.isBuffer(xe))return xe.length===0?-1:Te(Le,xe,Se,lt,Gt);if(typeof xe=="number")return xe=xe&255,typeof Uint8Array.prototype.indexOf=="function"?Gt?Uint8Array.prototype.indexOf.call(Le,xe,Se):Uint8Array.prototype.lastIndexOf.call(Le,xe,Se):Te(Le,[xe],Se,lt,Gt);throw new TypeError("val must be string, number or Buffer")}function Te(Le,xe,Se,lt,Gt){var Vt=1,ar=Le.length,Qr=xe.length;if(lt!==void 0&&(lt=String(lt).toLowerCase(),lt==="ucs2"||lt==="ucs-2"||lt==="utf16le"||lt==="utf-16le")){if(Le.length<2||xe.length<2)return-1;Vt=2,ar/=2,Qr/=2,Se/=2}function ai(Wi,Ni){return Vt===1?Wi[Ni]:Wi.readUInt16BE(Ni*Vt)}var jr;if(Gt){var ri=-1;for(jr=Se;jrar&&(Se=ar-Qr),jr=Se;jr>=0;jr--){for(var bi=!0,nn=0;nnGt&&(lt=Gt)):lt=Gt;var Vt=xe.length;lt>Vt/2&&(lt=Vt/2);var ar;for(ar=0;ar>>0,isFinite(lt)?(lt=lt>>>0,Gt===void 0&&(Gt="utf8")):(Gt=lt,lt=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var Vt=this.length-Se;if((lt===void 0||lt>Vt)&&(lt=Vt),xe.length>0&&(lt<0||Se<0)||Se>this.length)throw new RangeError("Attempt to write outside buffer bounds");Gt||(Gt="utf8");for(var ar=!1;;)switch(Gt){case"hex":return Ee(this,xe,Se,lt);case"utf8":case"utf-8":return Ae(this,xe,Se,lt);case"ascii":case"latin1":case"binary":return ze(this,xe,Se,lt);case"base64":return Ce(this,xe,Se,lt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me(this,xe,Se,lt);default:if(ar)throw new TypeError("Unknown encoding: "+Gt);Gt=(""+Gt).toLowerCase(),ar=!0}},T.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function De(Le,xe,Se){return xe===0&&Se===Le.length?L.fromByteArray(Le):L.fromByteArray(Le.slice(xe,Se))}function ce(Le,xe,Se){Se=Math.min(Le.length,Se);for(var lt=[],Gt=xe;Gt239?4:Vt>223?3:Vt>191?2:1;if(Gt+Qr<=Se){var ai=void 0,jr=void 0,ri=void 0,bi=void 0;switch(Qr){case 1:Vt<128&&(ar=Vt);break;case 2:ai=Le[Gt+1],(ai&192)===128&&(bi=(Vt&31)<<6|ai&63,bi>127&&(ar=bi));break;case 3:ai=Le[Gt+1],jr=Le[Gt+2],(ai&192)===128&&(jr&192)===128&&(bi=(Vt&15)<<12|(ai&63)<<6|jr&63,bi>2047&&(bi<55296||bi>57343)&&(ar=bi));break;case 4:ai=Le[Gt+1],jr=Le[Gt+2],ri=Le[Gt+3],(ai&192)===128&&(jr&192)===128&&(ri&192)===128&&(bi=(Vt&15)<<18|(ai&63)<<12|(jr&63)<<6|ri&63,bi>65535&&bi<1114112&&(ar=bi))}}ar===null?(ar=65533,Qr=1):ar>65535&&(ar-=65536,lt.push(ar>>>10&1023|55296),ar=56320|ar&1023),lt.push(ar),Gt+=Qr}return nt(lt)}var Ge=4096;function nt(Le){var xe=Le.length;if(xe<=Ge)return String.fromCharCode.apply(String,Le);for(var Se="",lt=0;ltlt)&&(Se=lt);for(var Gt="",Vt=xe;Vtlt&&(xe=lt),Se<0?(Se+=lt,Se<0&&(Se=0)):Se>lt&&(Se=lt),SeSe)throw new RangeError("Trying to access beyond buffer length")}T.prototype.readUintLE=T.prototype.readUIntLE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||It(xe,Se,this.length);for(var Gt=this[xe],Vt=1,ar=0;++ar>>0,Se=Se>>>0,lt||It(xe,Se,this.length);for(var Gt=this[xe+--Se],Vt=1;Se>0&&(Vt*=256);)Gt+=this[xe+--Se]*Vt;return Gt},T.prototype.readUint8=T.prototype.readUInt8=function(xe,Se){return xe=xe>>>0,Se||It(xe,1,this.length),this[xe]},T.prototype.readUint16LE=T.prototype.readUInt16LE=function(xe,Se){return xe=xe>>>0,Se||It(xe,2,this.length),this[xe]|this[xe+1]<<8},T.prototype.readUint16BE=T.prototype.readUInt16BE=function(xe,Se){return xe=xe>>>0,Se||It(xe,2,this.length),this[xe]<<8|this[xe+1]},T.prototype.readUint32LE=T.prototype.readUInt32LE=function(xe,Se){return xe=xe>>>0,Se||It(xe,4,this.length),(this[xe]|this[xe+1]<<8|this[xe+2]<<16)+this[xe+3]*16777216},T.prototype.readUint32BE=T.prototype.readUInt32BE=function(xe,Se){return xe=xe>>>0,Se||It(xe,4,this.length),this[xe]*16777216+(this[xe+1]<<16|this[xe+2]<<8|this[xe+3])},T.prototype.readBigUInt64LE=Xe(function(xe){xe=xe>>>0,dt(xe,"offset");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=Se+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,24),Vt=this[++xe]+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+lt*Math.pow(2,24);return BigInt(Gt)+(BigInt(Vt)<>>0,dt(xe,"offset");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=Se*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+this[++xe],Vt=this[++xe]*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+lt;return(BigInt(Gt)<>>0,Se=Se>>>0,lt||It(xe,Se,this.length);for(var Gt=this[xe],Vt=1,ar=0;++ar=Vt&&(Gt-=Math.pow(2,8*Se)),Gt},T.prototype.readIntBE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||It(xe,Se,this.length);for(var Gt=Se,Vt=1,ar=this[xe+--Gt];Gt>0&&(Vt*=256);)ar+=this[xe+--Gt]*Vt;return Vt*=128,ar>=Vt&&(ar-=Math.pow(2,8*Se)),ar},T.prototype.readInt8=function(xe,Se){return xe=xe>>>0,Se||It(xe,1,this.length),this[xe]&128?(255-this[xe]+1)*-1:this[xe]},T.prototype.readInt16LE=function(xe,Se){xe=xe>>>0,Se||It(xe,2,this.length);var lt=this[xe]|this[xe+1]<<8;return lt&32768?lt|4294901760:lt},T.prototype.readInt16BE=function(xe,Se){xe=xe>>>0,Se||It(xe,2,this.length);var lt=this[xe+1]|this[xe]<<8;return lt&32768?lt|4294901760:lt},T.prototype.readInt32LE=function(xe,Se){return xe=xe>>>0,Se||It(xe,4,this.length),this[xe]|this[xe+1]<<8|this[xe+2]<<16|this[xe+3]<<24},T.prototype.readInt32BE=function(xe,Se){return xe=xe>>>0,Se||It(xe,4,this.length),this[xe]<<24|this[xe+1]<<16|this[xe+2]<<8|this[xe+3]},T.prototype.readBigInt64LE=Xe(function(xe){xe=xe>>>0,dt(xe,"offset");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=this[xe+4]+this[xe+5]*Math.pow(2,8)+this[xe+6]*Math.pow(2,16)+(lt<<24);return(BigInt(Gt)<>>0,dt(xe,"offset");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=(Se<<24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+this[++xe];return(BigInt(Gt)<>>0,Se||It(xe,4,this.length),x.read(this,xe,!0,23,4)},T.prototype.readFloatBE=function(xe,Se){return xe=xe>>>0,Se||It(xe,4,this.length),x.read(this,xe,!1,23,4)},T.prototype.readDoubleLE=function(xe,Se){return xe=xe>>>0,Se||It(xe,8,this.length),x.read(this,xe,!0,52,8)},T.prototype.readDoubleBE=function(xe,Se){return xe=xe>>>0,Se||It(xe,8,this.length),x.read(this,xe,!1,52,8)};function kt(Le,xe,Se,lt,Gt,Vt){if(!T.isBuffer(Le))throw new TypeError('"buffer" argument must be a Buffer instance');if(xe>Gt||xeLe.length)throw new RangeError("Index out of range")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,lt=lt>>>0,!Gt){var Vt=Math.pow(2,8*lt)-1;kt(this,xe,Se,lt,Vt,0)}var ar=1,Qr=0;for(this[Se]=xe&255;++Qr>>0,lt=lt>>>0,!Gt){var Vt=Math.pow(2,8*lt)-1;kt(this,xe,Se,lt,Vt,0)}var ar=lt-1,Qr=1;for(this[Se+ar]=xe&255;--ar>=0&&(Qr*=256);)this[Se+ar]=xe/Qr&255;return Se+lt},T.prototype.writeUint8=T.prototype.writeUInt8=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,1,255,0),this[Se]=xe&255,Se+1},T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,65535,0),this[Se]=xe&255,this[Se+1]=xe>>>8,Se+2},T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,65535,0),this[Se]=xe>>>8,this[Se+1]=xe&255,Se+2},T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,4294967295,0),this[Se+3]=xe>>>24,this[Se+2]=xe>>>16,this[Se+1]=xe>>>8,this[Se]=xe&255,Se+4},T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,4294967295,0),this[Se]=xe>>>24,this[Se+1]=xe>>>16,this[Se+2]=xe>>>8,this[Se+3]=xe&255,Se+4};function Ct(Le,xe,Se,lt,Gt){Et(xe,lt,Gt,Le,Se,7);var Vt=Number(xe&BigInt(4294967295));Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt;var ar=Number(xe>>BigInt(32)&BigInt(4294967295));return Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,Se}function Yt(Le,xe,Se,lt,Gt){Et(xe,lt,Gt,Le,Se,7);var Vt=Number(xe&BigInt(4294967295));Le[Se+7]=Vt,Vt=Vt>>8,Le[Se+6]=Vt,Vt=Vt>>8,Le[Se+5]=Vt,Vt=Vt>>8,Le[Se+4]=Vt;var ar=Number(xe>>BigInt(32)&BigInt(4294967295));return Le[Se+3]=ar,ar=ar>>8,Le[Se+2]=ar,ar=ar>>8,Le[Se+1]=ar,ar=ar>>8,Le[Se]=ar,Se+8}T.prototype.writeBigUInt64LE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Ct(this,xe,Se,BigInt(0),BigInt("0xffffffffffffffff"))}),T.prototype.writeBigUInt64BE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Yt(this,xe,Se,BigInt(0),BigInt("0xffffffffffffffff"))}),T.prototype.writeIntLE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,!Gt){var Vt=Math.pow(2,8*lt-1);kt(this,xe,Se,lt,Vt-1,-Vt)}var ar=0,Qr=1,ai=0;for(this[Se]=xe&255;++ar>0)-ai&255;return Se+lt},T.prototype.writeIntBE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,!Gt){var Vt=Math.pow(2,8*lt-1);kt(this,xe,Se,lt,Vt-1,-Vt)}var ar=lt-1,Qr=1,ai=0;for(this[Se+ar]=xe&255;--ar>=0&&(Qr*=256);)xe<0&&ai===0&&this[Se+ar+1]!==0&&(ai=1),this[Se+ar]=(xe/Qr>>0)-ai&255;return Se+lt},T.prototype.writeInt8=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,1,127,-128),xe<0&&(xe=255+xe+1),this[Se]=xe&255,Se+1},T.prototype.writeInt16LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,32767,-32768),this[Se]=xe&255,this[Se+1]=xe>>>8,Se+2},T.prototype.writeInt16BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,32767,-32768),this[Se]=xe>>>8,this[Se+1]=xe&255,Se+2},T.prototype.writeInt32LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,2147483647,-2147483648),this[Se]=xe&255,this[Se+1]=xe>>>8,this[Se+2]=xe>>>16,this[Se+3]=xe>>>24,Se+4},T.prototype.writeInt32BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,2147483647,-2147483648),xe<0&&(xe=4294967295+xe+1),this[Se]=xe>>>24,this[Se+1]=xe>>>16,this[Se+2]=xe>>>8,this[Se+3]=xe&255,Se+4},T.prototype.writeBigInt64LE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Ct(this,xe,Se,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),T.prototype.writeBigInt64BE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Yt(this,xe,Se,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function mr(Le,xe,Se,lt,Gt,Vt){if(Se+lt>Le.length)throw new RangeError("Index out of range");if(Se<0)throw new RangeError("Index out of range")}function er(Le,xe,Se,lt,Gt){return xe=+xe,Se=Se>>>0,Gt||mr(Le,xe,Se,4,34028234663852886e22,-34028234663852886e22),x.write(Le,xe,Se,lt,23,4),Se+4}T.prototype.writeFloatLE=function(xe,Se,lt){return er(this,xe,Se,!0,lt)},T.prototype.writeFloatBE=function(xe,Se,lt){return er(this,xe,Se,!1,lt)};function Ke(Le,xe,Se,lt,Gt){return xe=+xe,Se=Se>>>0,Gt||mr(Le,xe,Se,8,17976931348623157e292,-17976931348623157e292),x.write(Le,xe,Se,lt,52,8),Se+8}T.prototype.writeDoubleLE=function(xe,Se,lt){return Ke(this,xe,Se,!0,lt)},T.prototype.writeDoubleBE=function(xe,Se,lt){return Ke(this,xe,Se,!1,lt)},T.prototype.copy=function(xe,Se,lt,Gt){if(!T.isBuffer(xe))throw new TypeError("argument should be a Buffer");if(lt||(lt=0),!Gt&&Gt!==0&&(Gt=this.length),Se>=xe.length&&(Se=xe.length),Se||(Se=0),Gt>0&&Gt=this.length)throw new RangeError("Index out of range");if(Gt<0)throw new RangeError("sourceEnd out of bounds");Gt>this.length&&(Gt=this.length),xe.length-Se>>0,lt=lt===void 0?this.length:lt>>>0,xe||(xe=0);var ar;if(typeof xe=="number")for(ar=Se;arMath.pow(2,32)?Gt=Lt(String(Se)):typeof Se=="bigint"&&(Gt=String(Se),(Se>Math.pow(BigInt(2),BigInt(32))||Se<-Math.pow(BigInt(2),BigInt(32)))&&(Gt=Lt(Gt)),Gt+="n"),lt+=" It must be ".concat(xe,". Received ").concat(Gt),lt},RangeError);function Lt(Le){for(var xe="",Se=Le.length,lt=Le[0]==="-"?1:0;Se>=lt+4;Se-=3)xe="_".concat(Le.slice(Se-3,Se)).concat(xe);return"".concat(Le.slice(0,Se)).concat(xe)}function St(Le,xe,Se){dt(xe,"offset"),(Le[xe]===void 0||Le[xe+Se]===void 0)&&Ht(xe,Le.length-(Se+1))}function Et(Le,xe,Se,lt,Gt,Vt){if(Le>Se||Le3?xe===0||xe===BigInt(0)?Qr=">= 0".concat(ar," and < 2").concat(ar," ** ").concat((Vt+1)*8).concat(ar):Qr=">= -(2".concat(ar," ** ").concat((Vt+1)*8-1).concat(ar,") and < 2 ** ")+"".concat((Vt+1)*8-1).concat(ar):Qr=">= ".concat(xe).concat(ar," and <= ").concat(Se).concat(ar),new bt.ERR_OUT_OF_RANGE("value",Qr,Le)}St(lt,Gt,Vt)}function dt(Le,xe){if(typeof Le!="number")throw new bt.ERR_INVALID_ARG_TYPE(xe,"number",Le)}function Ht(Le,xe,Se){throw Math.floor(Le)!==Le?(dt(Le,Se),new bt.ERR_OUT_OF_RANGE(Se||"offset","an integer",Le)):xe<0?new bt.ERR_BUFFER_OUT_OF_BOUNDS:new bt.ERR_OUT_OF_RANGE(Se||"offset",">= ".concat(Se?1:0," and <= ").concat(xe),Le)}var $t=/[^+/0-9A-Za-z-_]/g;function fr(Le){if(Le=Le.split("=")[0],Le=Le.trim().replace($t,""),Le.length<2)return"";for(;Le.length%4!==0;)Le=Le+"=";return Le}function xr(Le,xe){xe=xe||1/0;for(var Se,lt=Le.length,Gt=null,Vt=[],ar=0;ar55295&&Se<57344){if(!Gt){if(Se>56319){(xe-=3)>-1&&Vt.push(239,191,189);continue}else if(ar+1===lt){(xe-=3)>-1&&Vt.push(239,191,189);continue}Gt=Se;continue}if(Se<56320){(xe-=3)>-1&&Vt.push(239,191,189),Gt=Se;continue}Se=(Gt-55296<<10|Se-56320)+65536}else Gt&&(xe-=3)>-1&&Vt.push(239,191,189);if(Gt=null,Se<128){if((xe-=1)<0)break;Vt.push(Se)}else if(Se<2048){if((xe-=2)<0)break;Vt.push(Se>>6|192,Se&63|128)}else if(Se<65536){if((xe-=3)<0)break;Vt.push(Se>>12|224,Se>>6&63|128,Se&63|128)}else if(Se<1114112){if((xe-=4)<0)break;Vt.push(Se>>18|240,Se>>12&63|128,Se>>6&63|128,Se&63|128)}else throw new Error("Invalid code point")}return Vt}function Br(Le){for(var xe=[],Se=0;Se>8,Gt=Se%256,Vt.push(Gt),Vt.push(lt);return Vt}function Nr(Le){return L.toByteArray(fr(Le))}function ut(Le,xe,Se,lt){var Gt;for(Gt=0;Gt=xe.length||Gt>=Le.length);++Gt)xe[Gt+Se]=Le[Gt];return Gt}function Ne(Le,xe){return Le instanceof xe||Le!=null&&Le.constructor!=null&&Le.constructor.name!=null&&Le.constructor.name===xe.name}function Ye(Le){return Le!==Le}var Ve=function(){for(var Le="0123456789abcdef",xe=new Array(256),Se=0;Se<16;++Se)for(var lt=Se*16,Gt=0;Gt<16;++Gt)xe[lt+Gt]=Le[Se]+Le[Gt];return xe}();function Xe(Le){return typeof BigInt=="undefined"?ht:Le}function ht(){throw new Error("BigInt not supported")}},9216:function(i){"use strict";i.exports=l,i.exports.isMobile=l,i.exports.default=l;var a=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,o=/CrOS/,s=/android|ipad|playbook|silk/i;function l(u){u||(u={});var c=u.ua;if(!c&&typeof navigator!="undefined"&&(c=navigator.userAgent),c&&c.headers&&typeof c.headers["user-agent"]=="string"&&(c=c.headers["user-agent"]),typeof c!="string")return!1;var f=a.test(c)&&!o.test(c)||!!u.tablet&&s.test(c);return!f&&u.tablet&&u.featureDetect&&navigator&&navigator.maxTouchPoints>1&&c.indexOf("Macintosh")!==-1&&c.indexOf("Safari")!==-1&&(f=!0),f}},6296:function(i,a,o){"use strict";i.exports=h;var s=o(7261),l=o(9977),u=o(1811);function c(v,d){this._controllerNames=Object.keys(v),this._controllerList=this._controllerNames.map(function(_){return v[_]}),this._mode=d,this._active=v[d],this._active||(this._mode="turntable",this._active=v.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var f=c.prototype;f.flush=function(v){for(var d=this._controllerList,_=0;_0)throw new Error("Invalid string. Length must be a multiple of 4");var L=k.indexOf("=");L===-1&&(L=S);var x=L===S?0:4-L%4;return[L,x]}function v(k){var S=h(k),L=S[0],x=S[1];return(L+x)*3/4-x}function d(k,S,L){return(S+L)*3/4-L}function _(k){var S,L=h(k),x=L[0],C=L[1],M=new l(d(k,x,C)),g=0,P=C>0?x-4:x,T;for(T=0;T>16&255,M[g++]=S>>8&255,M[g++]=S&255;return C===2&&(S=s[k.charCodeAt(T)]<<2|s[k.charCodeAt(T+1)]>>4,M[g++]=S&255),C===1&&(S=s[k.charCodeAt(T)]<<10|s[k.charCodeAt(T+1)]<<4|s[k.charCodeAt(T+2)]>>2,M[g++]=S>>8&255,M[g++]=S&255),M}function b(k){return o[k>>18&63]+o[k>>12&63]+o[k>>6&63]+o[k&63]}function p(k,S,L){for(var x,C=[],M=S;MP?P:g+M));return x===1?(S=k[L-1],C.push(o[S>>2]+o[S<<4&63]+"==")):x===2&&(S=(k[L-2]<<8)+k[L-1],C.push(o[S>>10]+o[S>>4&63]+o[S<<2&63]+"=")),C.join("")}},3865:function(i,a,o){"use strict";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).add(c[0].mul(u[1])),u[1].mul(c[1]))}},1318:function(i){"use strict";i.exports=a;function a(o,s){return o[0].mul(s[1]).cmp(s[0].mul(o[1]))}},8697:function(i,a,o){"use strict";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]),u[1].mul(c[0]))}},7842:function(i,a,o){"use strict";var s=o(6330),l=o(1533),u=o(2651),c=o(6768),f=o(869),h=o(8697);i.exports=v;function v(d,_){if(s(d))return _?h(d,v(_)):[d[0].clone(),d[1].clone()];var b=0,p,E;if(l(d))p=d.clone();else if(typeof d=="string")p=c(d);else{if(d===0)return[u(0),u(1)];if(d===Math.floor(d))p=u(d);else{for(;d!==Math.floor(d);)d=d*Math.pow(2,256),b-=256;p=u(d)}}if(s(_))p.mul(_[1]),E=_[0].clone();else if(l(_))E=_.clone();else if(typeof _=="string")E=c(_);else if(!_)E=u(1);else if(_===Math.floor(_))E=u(_);else{for(;_!==Math.floor(_);)_=_*Math.pow(2,256),b+=256;E=u(_)}return b>0?p=p.ushln(b):b<0&&(E=E.ushln(-b)),f(p,E)}},6330:function(i,a,o){"use strict";var s=o(1533);i.exports=l;function l(u){return Array.isArray(u)&&u.length===2&&s(u[0])&&s(u[1])}},5716:function(i,a,o){"use strict";var s=o(6859);i.exports=l;function l(u){return u.cmp(new s(0))}},1369:function(i,a,o){"use strict";var s=o(5716);i.exports=l;function l(u){var c=u.length,f=u.words,h=0;if(c===1)h=f[0];else if(c===2)h=f[0]+f[1]*67108864;else for(var v=0;v20?52:h+32}},1533:function(i,a,o){"use strict";var s=o(6859);i.exports=l;function l(u){return u&&typeof u=="object"&&!!u.words}},2651:function(i,a,o){"use strict";var s=o(6859),l=o(2361);i.exports=u;function u(c){var f=l.exponent(c);return f<52?new s(c):new s(c*Math.pow(2,52-f)).ushln(f-52)}},869:function(i,a,o){"use strict";var s=o(2651),l=o(5716);i.exports=u;function u(c,f){var h=l(c),v=l(f);if(h===0)return[s(0),s(1)];if(v===0)return[s(0),s(0)];v<0&&(c=c.neg(),f=f.neg());var d=c.gcd(f);return d.cmpn(1)?[c.div(d),f.div(d)]:[c,f]}},6768:function(i,a,o){"use strict";var s=o(6859);i.exports=l;function l(u){return new s(u)}},6504:function(i,a,o){"use strict";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[0]),u[1].mul(c[1]))}},7721:function(i,a,o){"use strict";var s=o(5716);i.exports=l;function l(u){return s(u[0])*s(u[1])}},5572:function(i,a,o){"use strict";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).sub(u[1].mul(c[0])),u[1].mul(c[1]))}},946:function(i,a,o){"use strict";var s=o(1369),l=o(4025);i.exports=u;function u(c){var f=c[0],h=c[1];if(f.cmpn(0)===0)return 0;var v=f.abs().divmod(h.abs()),d=v.div,_=s(d),b=v.mod,p=f.negative!==h.negative?-1:1;if(b.cmpn(0)===0)return p*_;if(_){var E=l(_)+4,k=s(b.ushln(E).divRound(h));return p*(_+k*Math.pow(2,-E))}else{var S=h.bitLength()-b.bitLength()+53,k=s(b.ushln(S).divRound(h));return S<1023?p*k*Math.pow(2,-S):(k*=Math.pow(2,-1023),p*k*Math.pow(2,1023-S))}}},2478:function(i){"use strict";function a(f,h,v,d,_){for(var b=_+1;d<=_;){var p=d+_>>>1,E=f[p],k=v!==void 0?v(E,h):E-h;k>=0?(b=p,_=p-1):d=p+1}return b}function o(f,h,v,d,_){for(var b=_+1;d<=_;){var p=d+_>>>1,E=f[p],k=v!==void 0?v(E,h):E-h;k>0?(b=p,_=p-1):d=p+1}return b}function s(f,h,v,d,_){for(var b=d-1;d<=_;){var p=d+_>>>1,E=f[p],k=v!==void 0?v(E,h):E-h;k<0?(b=p,d=p+1):_=p-1}return b}function l(f,h,v,d,_){for(var b=d-1;d<=_;){var p=d+_>>>1,E=f[p],k=v!==void 0?v(E,h):E-h;k<=0?(b=p,d=p+1):_=p-1}return b}function u(f,h,v,d,_){for(;d<=_;){var b=d+_>>>1,p=f[b],E=v!==void 0?v(p,h):p-h;if(E===0)return b;E<=0?d=b+1:_=b-1}return-1}function c(f,h,v,d,_,b){return typeof v=="function"?b(f,h,v,d===void 0?0:d|0,_===void 0?f.length-1:_|0):b(f,h,void 0,v===void 0?0:v|0,d===void 0?f.length-1:d|0)}i.exports={ge:function(f,h,v,d,_){return c(f,h,v,d,_,a)},gt:function(f,h,v,d,_){return c(f,h,v,d,_,o)},lt:function(f,h,v,d,_){return c(f,h,v,d,_,s)},le:function(f,h,v,d,_){return c(f,h,v,d,_,l)},eq:function(f,h,v,d,_){return c(f,h,v,d,_,u)}}},8828:function(i,a){"use strict";"use restrict";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,v=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--v;u[c]=h<>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},6859:function(i,a,o){i=o.nmd(i),function(s,l){"use strict";function u(G,N){if(!G)throw new Error(N||"Assertion failed")}function c(G,N){G.super_=N;var W=function(){};W.prototype=N.prototype,G.prototype=new W,G.prototype.constructor=G}function f(G,N,W){if(f.isBN(G))return G;this.negative=0,this.words=null,this.length=0,this.red=null,G!==null&&((N==="le"||N==="be")&&(W=N,N=10),this._init(G||0,N||10,W||"be"))}typeof s=="object"?s.exports=f:l.BN=f,f.BN=f,f.wordSize=26;var h;try{typeof window!="undefined"&&typeof window.Buffer!="undefined"?h=window.Buffer:h=o(7790).Buffer}catch(G){}f.isBN=function(N){return N instanceof f?!0:N!==null&&typeof N=="object"&&N.constructor.wordSize===f.wordSize&&Array.isArray(N.words)},f.max=function(N,W){return N.cmp(W)>0?N:W},f.min=function(N,W){return N.cmp(W)<0?N:W},f.prototype._init=function(N,W,re){if(typeof N=="number")return this._initNumber(N,W,re);if(typeof N=="object")return this._initArray(N,W,re);W==="hex"&&(W=16),u(W===(W|0)&&W>=2&&W<=36),N=N.toString().replace(/\s+/g,"");var ae=0;N[0]==="-"&&(ae++,this.negative=1),ae=0;ae-=3)Me=N[ae]|N[ae-1]<<8|N[ae-2]<<16,this.words[_e]|=Me<>>26-ke&67108863,ke+=24,ke>=26&&(ke-=26,_e++);else if(re==="le")for(ae=0,_e=0;ae>>26-ke&67108863,ke+=24,ke>=26&&(ke-=26,_e++);return this.strip()};function v(G,N){var W=G.charCodeAt(N);return W>=65&&W<=70?W-55:W>=97&&W<=102?W-87:W-48&15}function d(G,N,W){var re=v(G,W);return W-1>=N&&(re|=v(G,W-1)<<4),re}f.prototype._parseHex=function(N,W,re){this.length=Math.ceil((N.length-W)/6),this.words=new Array(this.length);for(var ae=0;ae=W;ae-=2)ke=d(N,W,ae)<<_e,this.words[Me]|=ke&67108863,_e>=18?(_e-=18,Me+=1,this.words[Me]|=ke>>>26):_e+=8;else{var ge=N.length-W;for(ae=ge%2===0?W+1:W;ae=18?(_e-=18,Me+=1,this.words[Me]|=ke>>>26):_e+=8}this.strip()};function _(G,N,W,re){for(var ae=0,_e=Math.min(G.length,W),Me=N;Me<_e;Me++){var ke=G.charCodeAt(Me)-48;ae*=re,ke>=49?ae+=ke-49+10:ke>=17?ae+=ke-17+10:ae+=ke}return ae}f.prototype._parseBase=function(N,W,re){this.words=[0],this.length=1;for(var ae=0,_e=1;_e<=67108863;_e*=W)ae++;ae--,_e=_e/W|0;for(var Me=N.length-re,ke=Me%ae,ge=Math.min(Me,Me-ke)+re,ie=0,Te=re;Te1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},f.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?""};var b=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],p=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],E=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];f.prototype.toString=function(N,W){N=N||10,W=W|0||1;var re;if(N===16||N==="hex"){re="";for(var ae=0,_e=0,Me=0;Me>>24-ae&16777215,_e!==0||Me!==this.length-1?re=b[6-ge.length]+ge+re:re=ge+re,ae+=2,ae>=26&&(ae-=26,Me--)}for(_e!==0&&(re=_e.toString(16)+re);re.length%W!==0;)re="0"+re;return this.negative!==0&&(re="-"+re),re}if(N===(N|0)&&N>=2&&N<=36){var ie=p[N],Te=E[N];re="";var Ee=this.clone();for(Ee.negative=0;!Ee.isZero();){var Ae=Ee.modn(Te).toString(N);Ee=Ee.idivn(Te),Ee.isZero()?re=Ae+re:re=b[ie-Ae.length]+Ae+re}for(this.isZero()&&(re="0"+re);re.length%W!==0;)re="0"+re;return this.negative!==0&&(re="-"+re),re}u(!1,"Base should be between 2 and 36")},f.prototype.toNumber=function(){var N=this.words[0];return this.length===2?N+=this.words[1]*67108864:this.length===3&&this.words[2]===1?N+=4503599627370496+this.words[1]*67108864:this.length>2&&u(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-N:N},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(N,W){return u(typeof h!="undefined"),this.toArrayLike(h,N,W)},f.prototype.toArray=function(N,W){return this.toArrayLike(Array,N,W)},f.prototype.toArrayLike=function(N,W,re){var ae=this.byteLength(),_e=re||Math.max(1,ae);u(ae<=_e,"byte array longer than desired length"),u(_e>0,"Requested array length <= 0"),this.strip();var Me=W==="le",ke=new N(_e),ge,ie,Te=this.clone();if(Me){for(ie=0;!Te.isZero();ie++)ge=Te.andln(255),Te.iushrn(8),ke[ie]=ge;for(;ie<_e;ie++)ke[ie]=0}else{for(ie=0;ie<_e-ae;ie++)ke[ie]=0;for(ie=0;!Te.isZero();ie++)ge=Te.andln(255),Te.iushrn(8),ke[_e-ie-1]=ge}return ke},Math.clz32?f.prototype._countBits=function(N){return 32-Math.clz32(N)}:f.prototype._countBits=function(N){var W=N,re=0;return W>=4096&&(re+=13,W>>>=13),W>=64&&(re+=7,W>>>=7),W>=8&&(re+=4,W>>>=4),W>=2&&(re+=2,W>>>=2),re+W},f.prototype._zeroBits=function(N){if(N===0)return 26;var W=N,re=0;return W&8191||(re+=13,W>>>=13),W&127||(re+=7,W>>>=7),W&15||(re+=4,W>>>=4),W&3||(re+=2,W>>>=2),W&1||re++,re},f.prototype.bitLength=function(){var N=this.words[this.length-1],W=this._countBits(N);return(this.length-1)*26+W};function k(G){for(var N=new Array(G.bitLength()),W=0;W>>ae}return N}f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var N=0,W=0;WN.length?this.clone().ior(N):N.clone().ior(this)},f.prototype.uor=function(N){return this.length>N.length?this.clone().iuor(N):N.clone().iuor(this)},f.prototype.iuand=function(N){var W;this.length>N.length?W=N:W=this;for(var re=0;reN.length?this.clone().iand(N):N.clone().iand(this)},f.prototype.uand=function(N){return this.length>N.length?this.clone().iuand(N):N.clone().iuand(this)},f.prototype.iuxor=function(N){var W,re;this.length>N.length?(W=this,re=N):(W=N,re=this);for(var ae=0;aeN.length?this.clone().ixor(N):N.clone().ixor(this)},f.prototype.uxor=function(N){return this.length>N.length?this.clone().iuxor(N):N.clone().iuxor(this)},f.prototype.inotn=function(N){u(typeof N=="number"&&N>=0);var W=Math.ceil(N/26)|0,re=N%26;this._expand(W),re>0&&W--;for(var ae=0;ae0&&(this.words[ae]=~this.words[ae]&67108863>>26-re),this.strip()},f.prototype.notn=function(N){return this.clone().inotn(N)},f.prototype.setn=function(N,W){u(typeof N=="number"&&N>=0);var re=N/26|0,ae=N%26;return this._expand(re+1),W?this.words[re]=this.words[re]|1<N.length?(re=this,ae=N):(re=N,ae=this);for(var _e=0,Me=0;Me>>26;for(;_e!==0&&Me>>26;if(this.length=re.length,_e!==0)this.words[this.length]=_e,this.length++;else if(re!==this)for(;MeN.length?this.clone().iadd(N):N.clone().iadd(this)},f.prototype.isub=function(N){if(N.negative!==0){N.negative=0;var W=this.iadd(N);return N.negative=1,W._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(N),this.negative=1,this._normSign();var re=this.cmp(N);if(re===0)return this.negative=0,this.length=1,this.words[0]=0,this;var ae,_e;re>0?(ae=this,_e=N):(ae=N,_e=this);for(var Me=0,ke=0;ke<_e.length;ke++)W=(ae.words[ke]|0)-(_e.words[ke]|0)+Me,Me=W>>26,this.words[ke]=W&67108863;for(;Me!==0&&ke>26,this.words[ke]=W&67108863;if(Me===0&&ke>>26,Ee=ge&67108863,Ae=Math.min(ie,N.length-1),ze=Math.max(0,ie-G.length+1);ze<=Ae;ze++){var Ce=ie-ze|0;ae=G.words[Ce]|0,_e=N.words[ze]|0,Me=ae*_e+Ee,Te+=Me/67108864|0,Ee=Me&67108863}W.words[ie]=Ee|0,ge=Te|0}return ge!==0?W.words[ie]=ge|0:W.length--,W.strip()}var L=function(N,W,re){var ae=N.words,_e=W.words,Me=re.words,ke=0,ge,ie,Te,Ee=ae[0]|0,Ae=Ee&8191,ze=Ee>>>13,Ce=ae[1]|0,me=Ce&8191,De=Ce>>>13,ce=ae[2]|0,Ge=ce&8191,nt=ce>>>13,ct=ae[3]|0,qt=ct&8191,rt=ct>>>13,ot=ae[4]|0,It=ot&8191,kt=ot>>>13,Ct=ae[5]|0,Yt=Ct&8191,mr=Ct>>>13,er=ae[6]|0,Ke=er&8191,bt=er>>>13,xt=ae[7]|0,Lt=xt&8191,St=xt>>>13,Et=ae[8]|0,dt=Et&8191,Ht=Et>>>13,$t=ae[9]|0,fr=$t&8191,xr=$t>>>13,Br=_e[0]|0,Or=Br&8191,Nr=Br>>>13,ut=_e[1]|0,Ne=ut&8191,Ye=ut>>>13,Ve=_e[2]|0,Xe=Ve&8191,ht=Ve>>>13,Le=_e[3]|0,xe=Le&8191,Se=Le>>>13,lt=_e[4]|0,Gt=lt&8191,Vt=lt>>>13,ar=_e[5]|0,Qr=ar&8191,ai=ar>>>13,jr=_e[6]|0,ri=jr&8191,bi=jr>>>13,nn=_e[7]|0,Wi=nn&8191,Ni=nn>>>13,_n=_e[8]|0,$i=_n&8191,zn=_n>>>13,Wn=_e[9]|0,Dt=Wn&8191,ft=Wn>>>13;re.negative=N.negative^W.negative,re.length=19,ge=Math.imul(Ae,Or),ie=Math.imul(Ae,Nr),ie=ie+Math.imul(ze,Or)|0,Te=Math.imul(ze,Nr);var jt=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jt>>>26)|0,jt&=67108863,ge=Math.imul(me,Or),ie=Math.imul(me,Nr),ie=ie+Math.imul(De,Or)|0,Te=Math.imul(De,Nr),ge=ge+Math.imul(Ae,Ne)|0,ie=ie+Math.imul(Ae,Ye)|0,ie=ie+Math.imul(ze,Ne)|0,Te=Te+Math.imul(ze,Ye)|0;var Zt=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,ge=Math.imul(Ge,Or),ie=Math.imul(Ge,Nr),ie=ie+Math.imul(nt,Or)|0,Te=Math.imul(nt,Nr),ge=ge+Math.imul(me,Ne)|0,ie=ie+Math.imul(me,Ye)|0,ie=ie+Math.imul(De,Ne)|0,Te=Te+Math.imul(De,Ye)|0,ge=ge+Math.imul(Ae,Xe)|0,ie=ie+Math.imul(Ae,ht)|0,ie=ie+Math.imul(ze,Xe)|0,Te=Te+Math.imul(ze,ht)|0;var _r=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(_r>>>26)|0,_r&=67108863,ge=Math.imul(qt,Or),ie=Math.imul(qt,Nr),ie=ie+Math.imul(rt,Or)|0,Te=Math.imul(rt,Nr),ge=ge+Math.imul(Ge,Ne)|0,ie=ie+Math.imul(Ge,Ye)|0,ie=ie+Math.imul(nt,Ne)|0,Te=Te+Math.imul(nt,Ye)|0,ge=ge+Math.imul(me,Xe)|0,ie=ie+Math.imul(me,ht)|0,ie=ie+Math.imul(De,Xe)|0,Te=Te+Math.imul(De,ht)|0,ge=ge+Math.imul(Ae,xe)|0,ie=ie+Math.imul(Ae,Se)|0,ie=ie+Math.imul(ze,xe)|0,Te=Te+Math.imul(ze,Se)|0;var Fr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Fr>>>26)|0,Fr&=67108863,ge=Math.imul(It,Or),ie=Math.imul(It,Nr),ie=ie+Math.imul(kt,Or)|0,Te=Math.imul(kt,Nr),ge=ge+Math.imul(qt,Ne)|0,ie=ie+Math.imul(qt,Ye)|0,ie=ie+Math.imul(rt,Ne)|0,Te=Te+Math.imul(rt,Ye)|0,ge=ge+Math.imul(Ge,Xe)|0,ie=ie+Math.imul(Ge,ht)|0,ie=ie+Math.imul(nt,Xe)|0,Te=Te+Math.imul(nt,ht)|0,ge=ge+Math.imul(me,xe)|0,ie=ie+Math.imul(me,Se)|0,ie=ie+Math.imul(De,xe)|0,Te=Te+Math.imul(De,Se)|0,ge=ge+Math.imul(Ae,Gt)|0,ie=ie+Math.imul(Ae,Vt)|0,ie=ie+Math.imul(ze,Gt)|0,Te=Te+Math.imul(ze,Vt)|0;var Zr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Zr>>>26)|0,Zr&=67108863,ge=Math.imul(Yt,Or),ie=Math.imul(Yt,Nr),ie=ie+Math.imul(mr,Or)|0,Te=Math.imul(mr,Nr),ge=ge+Math.imul(It,Ne)|0,ie=ie+Math.imul(It,Ye)|0,ie=ie+Math.imul(kt,Ne)|0,Te=Te+Math.imul(kt,Ye)|0,ge=ge+Math.imul(qt,Xe)|0,ie=ie+Math.imul(qt,ht)|0,ie=ie+Math.imul(rt,Xe)|0,Te=Te+Math.imul(rt,ht)|0,ge=ge+Math.imul(Ge,xe)|0,ie=ie+Math.imul(Ge,Se)|0,ie=ie+Math.imul(nt,xe)|0,Te=Te+Math.imul(nt,Se)|0,ge=ge+Math.imul(me,Gt)|0,ie=ie+Math.imul(me,Vt)|0,ie=ie+Math.imul(De,Gt)|0,Te=Te+Math.imul(De,Vt)|0,ge=ge+Math.imul(Ae,Qr)|0,ie=ie+Math.imul(Ae,ai)|0,ie=ie+Math.imul(ze,Qr)|0,Te=Te+Math.imul(ze,ai)|0;var Vr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Vr>>>26)|0,Vr&=67108863,ge=Math.imul(Ke,Or),ie=Math.imul(Ke,Nr),ie=ie+Math.imul(bt,Or)|0,Te=Math.imul(bt,Nr),ge=ge+Math.imul(Yt,Ne)|0,ie=ie+Math.imul(Yt,Ye)|0,ie=ie+Math.imul(mr,Ne)|0,Te=Te+Math.imul(mr,Ye)|0,ge=ge+Math.imul(It,Xe)|0,ie=ie+Math.imul(It,ht)|0,ie=ie+Math.imul(kt,Xe)|0,Te=Te+Math.imul(kt,ht)|0,ge=ge+Math.imul(qt,xe)|0,ie=ie+Math.imul(qt,Se)|0,ie=ie+Math.imul(rt,xe)|0,Te=Te+Math.imul(rt,Se)|0,ge=ge+Math.imul(Ge,Gt)|0,ie=ie+Math.imul(Ge,Vt)|0,ie=ie+Math.imul(nt,Gt)|0,Te=Te+Math.imul(nt,Vt)|0,ge=ge+Math.imul(me,Qr)|0,ie=ie+Math.imul(me,ai)|0,ie=ie+Math.imul(De,Qr)|0,Te=Te+Math.imul(De,ai)|0,ge=ge+Math.imul(Ae,ri)|0,ie=ie+Math.imul(Ae,bi)|0,ie=ie+Math.imul(ze,ri)|0,Te=Te+Math.imul(ze,bi)|0;var gi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(gi>>>26)|0,gi&=67108863,ge=Math.imul(Lt,Or),ie=Math.imul(Lt,Nr),ie=ie+Math.imul(St,Or)|0,Te=Math.imul(St,Nr),ge=ge+Math.imul(Ke,Ne)|0,ie=ie+Math.imul(Ke,Ye)|0,ie=ie+Math.imul(bt,Ne)|0,Te=Te+Math.imul(bt,Ye)|0,ge=ge+Math.imul(Yt,Xe)|0,ie=ie+Math.imul(Yt,ht)|0,ie=ie+Math.imul(mr,Xe)|0,Te=Te+Math.imul(mr,ht)|0,ge=ge+Math.imul(It,xe)|0,ie=ie+Math.imul(It,Se)|0,ie=ie+Math.imul(kt,xe)|0,Te=Te+Math.imul(kt,Se)|0,ge=ge+Math.imul(qt,Gt)|0,ie=ie+Math.imul(qt,Vt)|0,ie=ie+Math.imul(rt,Gt)|0,Te=Te+Math.imul(rt,Vt)|0,ge=ge+Math.imul(Ge,Qr)|0,ie=ie+Math.imul(Ge,ai)|0,ie=ie+Math.imul(nt,Qr)|0,Te=Te+Math.imul(nt,ai)|0,ge=ge+Math.imul(me,ri)|0,ie=ie+Math.imul(me,bi)|0,ie=ie+Math.imul(De,ri)|0,Te=Te+Math.imul(De,bi)|0,ge=ge+Math.imul(Ae,Wi)|0,ie=ie+Math.imul(Ae,Ni)|0,ie=ie+Math.imul(ze,Wi)|0,Te=Te+Math.imul(ze,Ni)|0;var Si=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Si>>>26)|0,Si&=67108863,ge=Math.imul(dt,Or),ie=Math.imul(dt,Nr),ie=ie+Math.imul(Ht,Or)|0,Te=Math.imul(Ht,Nr),ge=ge+Math.imul(Lt,Ne)|0,ie=ie+Math.imul(Lt,Ye)|0,ie=ie+Math.imul(St,Ne)|0,Te=Te+Math.imul(St,Ye)|0,ge=ge+Math.imul(Ke,Xe)|0,ie=ie+Math.imul(Ke,ht)|0,ie=ie+Math.imul(bt,Xe)|0,Te=Te+Math.imul(bt,ht)|0,ge=ge+Math.imul(Yt,xe)|0,ie=ie+Math.imul(Yt,Se)|0,ie=ie+Math.imul(mr,xe)|0,Te=Te+Math.imul(mr,Se)|0,ge=ge+Math.imul(It,Gt)|0,ie=ie+Math.imul(It,Vt)|0,ie=ie+Math.imul(kt,Gt)|0,Te=Te+Math.imul(kt,Vt)|0,ge=ge+Math.imul(qt,Qr)|0,ie=ie+Math.imul(qt,ai)|0,ie=ie+Math.imul(rt,Qr)|0,Te=Te+Math.imul(rt,ai)|0,ge=ge+Math.imul(Ge,ri)|0,ie=ie+Math.imul(Ge,bi)|0,ie=ie+Math.imul(nt,ri)|0,Te=Te+Math.imul(nt,bi)|0,ge=ge+Math.imul(me,Wi)|0,ie=ie+Math.imul(me,Ni)|0,ie=ie+Math.imul(De,Wi)|0,Te=Te+Math.imul(De,Ni)|0,ge=ge+Math.imul(Ae,$i)|0,ie=ie+Math.imul(Ae,zn)|0,ie=ie+Math.imul(ze,$i)|0,Te=Te+Math.imul(ze,zn)|0;var Mi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,ge=Math.imul(fr,Or),ie=Math.imul(fr,Nr),ie=ie+Math.imul(xr,Or)|0,Te=Math.imul(xr,Nr),ge=ge+Math.imul(dt,Ne)|0,ie=ie+Math.imul(dt,Ye)|0,ie=ie+Math.imul(Ht,Ne)|0,Te=Te+Math.imul(Ht,Ye)|0,ge=ge+Math.imul(Lt,Xe)|0,ie=ie+Math.imul(Lt,ht)|0,ie=ie+Math.imul(St,Xe)|0,Te=Te+Math.imul(St,ht)|0,ge=ge+Math.imul(Ke,xe)|0,ie=ie+Math.imul(Ke,Se)|0,ie=ie+Math.imul(bt,xe)|0,Te=Te+Math.imul(bt,Se)|0,ge=ge+Math.imul(Yt,Gt)|0,ie=ie+Math.imul(Yt,Vt)|0,ie=ie+Math.imul(mr,Gt)|0,Te=Te+Math.imul(mr,Vt)|0,ge=ge+Math.imul(It,Qr)|0,ie=ie+Math.imul(It,ai)|0,ie=ie+Math.imul(kt,Qr)|0,Te=Te+Math.imul(kt,ai)|0,ge=ge+Math.imul(qt,ri)|0,ie=ie+Math.imul(qt,bi)|0,ie=ie+Math.imul(rt,ri)|0,Te=Te+Math.imul(rt,bi)|0,ge=ge+Math.imul(Ge,Wi)|0,ie=ie+Math.imul(Ge,Ni)|0,ie=ie+Math.imul(nt,Wi)|0,Te=Te+Math.imul(nt,Ni)|0,ge=ge+Math.imul(me,$i)|0,ie=ie+Math.imul(me,zn)|0,ie=ie+Math.imul(De,$i)|0,Te=Te+Math.imul(De,zn)|0,ge=ge+Math.imul(Ae,Dt)|0,ie=ie+Math.imul(Ae,ft)|0,ie=ie+Math.imul(ze,Dt)|0,Te=Te+Math.imul(ze,ft)|0;var Pi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,ge=Math.imul(fr,Ne),ie=Math.imul(fr,Ye),ie=ie+Math.imul(xr,Ne)|0,Te=Math.imul(xr,Ye),ge=ge+Math.imul(dt,Xe)|0,ie=ie+Math.imul(dt,ht)|0,ie=ie+Math.imul(Ht,Xe)|0,Te=Te+Math.imul(Ht,ht)|0,ge=ge+Math.imul(Lt,xe)|0,ie=ie+Math.imul(Lt,Se)|0,ie=ie+Math.imul(St,xe)|0,Te=Te+Math.imul(St,Se)|0,ge=ge+Math.imul(Ke,Gt)|0,ie=ie+Math.imul(Ke,Vt)|0,ie=ie+Math.imul(bt,Gt)|0,Te=Te+Math.imul(bt,Vt)|0,ge=ge+Math.imul(Yt,Qr)|0,ie=ie+Math.imul(Yt,ai)|0,ie=ie+Math.imul(mr,Qr)|0,Te=Te+Math.imul(mr,ai)|0,ge=ge+Math.imul(It,ri)|0,ie=ie+Math.imul(It,bi)|0,ie=ie+Math.imul(kt,ri)|0,Te=Te+Math.imul(kt,bi)|0,ge=ge+Math.imul(qt,Wi)|0,ie=ie+Math.imul(qt,Ni)|0,ie=ie+Math.imul(rt,Wi)|0,Te=Te+Math.imul(rt,Ni)|0,ge=ge+Math.imul(Ge,$i)|0,ie=ie+Math.imul(Ge,zn)|0,ie=ie+Math.imul(nt,$i)|0,Te=Te+Math.imul(nt,zn)|0,ge=ge+Math.imul(me,Dt)|0,ie=ie+Math.imul(me,ft)|0,ie=ie+Math.imul(De,Dt)|0,Te=Te+Math.imul(De,ft)|0;var Gi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Gi>>>26)|0,Gi&=67108863,ge=Math.imul(fr,Xe),ie=Math.imul(fr,ht),ie=ie+Math.imul(xr,Xe)|0,Te=Math.imul(xr,ht),ge=ge+Math.imul(dt,xe)|0,ie=ie+Math.imul(dt,Se)|0,ie=ie+Math.imul(Ht,xe)|0,Te=Te+Math.imul(Ht,Se)|0,ge=ge+Math.imul(Lt,Gt)|0,ie=ie+Math.imul(Lt,Vt)|0,ie=ie+Math.imul(St,Gt)|0,Te=Te+Math.imul(St,Vt)|0,ge=ge+Math.imul(Ke,Qr)|0,ie=ie+Math.imul(Ke,ai)|0,ie=ie+Math.imul(bt,Qr)|0,Te=Te+Math.imul(bt,ai)|0,ge=ge+Math.imul(Yt,ri)|0,ie=ie+Math.imul(Yt,bi)|0,ie=ie+Math.imul(mr,ri)|0,Te=Te+Math.imul(mr,bi)|0,ge=ge+Math.imul(It,Wi)|0,ie=ie+Math.imul(It,Ni)|0,ie=ie+Math.imul(kt,Wi)|0,Te=Te+Math.imul(kt,Ni)|0,ge=ge+Math.imul(qt,$i)|0,ie=ie+Math.imul(qt,zn)|0,ie=ie+Math.imul(rt,$i)|0,Te=Te+Math.imul(rt,zn)|0,ge=ge+Math.imul(Ge,Dt)|0,ie=ie+Math.imul(Ge,ft)|0,ie=ie+Math.imul(nt,Dt)|0,Te=Te+Math.imul(nt,ft)|0;var Ki=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Ki>>>26)|0,Ki&=67108863,ge=Math.imul(fr,xe),ie=Math.imul(fr,Se),ie=ie+Math.imul(xr,xe)|0,Te=Math.imul(xr,Se),ge=ge+Math.imul(dt,Gt)|0,ie=ie+Math.imul(dt,Vt)|0,ie=ie+Math.imul(Ht,Gt)|0,Te=Te+Math.imul(Ht,Vt)|0,ge=ge+Math.imul(Lt,Qr)|0,ie=ie+Math.imul(Lt,ai)|0,ie=ie+Math.imul(St,Qr)|0,Te=Te+Math.imul(St,ai)|0,ge=ge+Math.imul(Ke,ri)|0,ie=ie+Math.imul(Ke,bi)|0,ie=ie+Math.imul(bt,ri)|0,Te=Te+Math.imul(bt,bi)|0,ge=ge+Math.imul(Yt,Wi)|0,ie=ie+Math.imul(Yt,Ni)|0,ie=ie+Math.imul(mr,Wi)|0,Te=Te+Math.imul(mr,Ni)|0,ge=ge+Math.imul(It,$i)|0,ie=ie+Math.imul(It,zn)|0,ie=ie+Math.imul(kt,$i)|0,Te=Te+Math.imul(kt,zn)|0,ge=ge+Math.imul(qt,Dt)|0,ie=ie+Math.imul(qt,ft)|0,ie=ie+Math.imul(rt,Dt)|0,Te=Te+Math.imul(rt,ft)|0;var Ca=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Ca>>>26)|0,Ca&=67108863,ge=Math.imul(fr,Gt),ie=Math.imul(fr,Vt),ie=ie+Math.imul(xr,Gt)|0,Te=Math.imul(xr,Vt),ge=ge+Math.imul(dt,Qr)|0,ie=ie+Math.imul(dt,ai)|0,ie=ie+Math.imul(Ht,Qr)|0,Te=Te+Math.imul(Ht,ai)|0,ge=ge+Math.imul(Lt,ri)|0,ie=ie+Math.imul(Lt,bi)|0,ie=ie+Math.imul(St,ri)|0,Te=Te+Math.imul(St,bi)|0,ge=ge+Math.imul(Ke,Wi)|0,ie=ie+Math.imul(Ke,Ni)|0,ie=ie+Math.imul(bt,Wi)|0,Te=Te+Math.imul(bt,Ni)|0,ge=ge+Math.imul(Yt,$i)|0,ie=ie+Math.imul(Yt,zn)|0,ie=ie+Math.imul(mr,$i)|0,Te=Te+Math.imul(mr,zn)|0,ge=ge+Math.imul(It,Dt)|0,ie=ie+Math.imul(It,ft)|0,ie=ie+Math.imul(kt,Dt)|0,Te=Te+Math.imul(kt,ft)|0;var jn=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jn>>>26)|0,jn&=67108863,ge=Math.imul(fr,Qr),ie=Math.imul(fr,ai),ie=ie+Math.imul(xr,Qr)|0,Te=Math.imul(xr,ai),ge=ge+Math.imul(dt,ri)|0,ie=ie+Math.imul(dt,bi)|0,ie=ie+Math.imul(Ht,ri)|0,Te=Te+Math.imul(Ht,bi)|0,ge=ge+Math.imul(Lt,Wi)|0,ie=ie+Math.imul(Lt,Ni)|0,ie=ie+Math.imul(St,Wi)|0,Te=Te+Math.imul(St,Ni)|0,ge=ge+Math.imul(Ke,$i)|0,ie=ie+Math.imul(Ke,zn)|0,ie=ie+Math.imul(bt,$i)|0,Te=Te+Math.imul(bt,zn)|0,ge=ge+Math.imul(Yt,Dt)|0,ie=ie+Math.imul(Yt,ft)|0,ie=ie+Math.imul(mr,Dt)|0,Te=Te+Math.imul(mr,ft)|0;var ua=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(ua>>>26)|0,ua&=67108863,ge=Math.imul(fr,ri),ie=Math.imul(fr,bi),ie=ie+Math.imul(xr,ri)|0,Te=Math.imul(xr,bi),ge=ge+Math.imul(dt,Wi)|0,ie=ie+Math.imul(dt,Ni)|0,ie=ie+Math.imul(Ht,Wi)|0,Te=Te+Math.imul(Ht,Ni)|0,ge=ge+Math.imul(Lt,$i)|0,ie=ie+Math.imul(Lt,zn)|0,ie=ie+Math.imul(St,$i)|0,Te=Te+Math.imul(St,zn)|0,ge=ge+Math.imul(Ke,Dt)|0,ie=ie+Math.imul(Ke,ft)|0,ie=ie+Math.imul(bt,Dt)|0,Te=Te+Math.imul(bt,ft)|0;var Fa=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Fa>>>26)|0,Fa&=67108863,ge=Math.imul(fr,Wi),ie=Math.imul(fr,Ni),ie=ie+Math.imul(xr,Wi)|0,Te=Math.imul(xr,Ni),ge=ge+Math.imul(dt,$i)|0,ie=ie+Math.imul(dt,zn)|0,ie=ie+Math.imul(Ht,$i)|0,Te=Te+Math.imul(Ht,zn)|0,ge=ge+Math.imul(Lt,Dt)|0,ie=ie+Math.imul(Lt,ft)|0,ie=ie+Math.imul(St,Dt)|0,Te=Te+Math.imul(St,ft)|0;var Da=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Da>>>26)|0,Da&=67108863,ge=Math.imul(fr,$i),ie=Math.imul(fr,zn),ie=ie+Math.imul(xr,$i)|0,Te=Math.imul(xr,zn),ge=ge+Math.imul(dt,Dt)|0,ie=ie+Math.imul(dt,ft)|0,ie=ie+Math.imul(Ht,Dt)|0,Te=Te+Math.imul(Ht,ft)|0;var jo=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jo>>>26)|0,jo&=67108863,ge=Math.imul(fr,Dt),ie=Math.imul(fr,ft),ie=ie+Math.imul(xr,Dt)|0,Te=Math.imul(xr,ft);var sa=(ke+ge|0)+((ie&8191)<<13)|0;return ke=(Te+(ie>>>13)|0)+(sa>>>26)|0,sa&=67108863,Me[0]=jt,Me[1]=Zt,Me[2]=_r,Me[3]=Fr,Me[4]=Zr,Me[5]=Vr,Me[6]=gi,Me[7]=Si,Me[8]=Mi,Me[9]=Pi,Me[10]=Gi,Me[11]=Ki,Me[12]=Ca,Me[13]=jn,Me[14]=ua,Me[15]=Fa,Me[16]=Da,Me[17]=jo,Me[18]=sa,ke!==0&&(Me[19]=ke,re.length++),re};Math.imul||(L=S);function x(G,N,W){W.negative=N.negative^G.negative,W.length=G.length+N.length;for(var re=0,ae=0,_e=0;_e>>26)|0,ae+=Me>>>26,Me&=67108863}W.words[_e]=ke,re=Me,Me=ae}return re!==0?W.words[_e]=re:W.length--,W.strip()}function C(G,N,W){var re=new M;return re.mulp(G,N,W)}f.prototype.mulTo=function(N,W){var re,ae=this.length+N.length;return this.length===10&&N.length===10?re=L(this,N,W):ae<63?re=S(this,N,W):ae<1024?re=x(this,N,W):re=C(this,N,W),re};function M(G,N){this.x=G,this.y=N}M.prototype.makeRBT=function(N){for(var W=new Array(N),re=f.prototype._countBits(N)-1,ae=0;ae>=1;return ae},M.prototype.permute=function(N,W,re,ae,_e,Me){for(var ke=0;ke>>1)_e++;return 1<<_e+1+ae},M.prototype.conjugate=function(N,W,re){if(!(re<=1))for(var ae=0;ae>>13,re[2*Me+1]=_e&8191,_e=_e>>>13;for(Me=2*W;Me>=26,W+=ae/67108864|0,W+=_e>>>26,this.words[re]=_e&67108863}return W!==0&&(this.words[re]=W,this.length++),this},f.prototype.muln=function(N){return this.clone().imuln(N)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(N){var W=k(N);if(W.length===0)return new f(1);for(var re=this,ae=0;ae=0);var W=N%26,re=(N-W)/26,ae=67108863>>>26-W<<26-W,_e;if(W!==0){var Me=0;for(_e=0;_e>>26-W}Me&&(this.words[_e]=Me,this.length++)}if(re!==0){for(_e=this.length-1;_e>=0;_e--)this.words[_e+re]=this.words[_e];for(_e=0;_e=0);var ae;W?ae=(W-W%26)/26:ae=0;var _e=N%26,Me=Math.min((N-_e)/26,this.length),ke=67108863^67108863>>>_e<<_e,ge=re;if(ae-=Me,ae=Math.max(0,ae),ge){for(var ie=0;ieMe)for(this.length-=Me,ie=0;ie=0&&(Te!==0||ie>=ae);ie--){var Ee=this.words[ie]|0;this.words[ie]=Te<<26-_e|Ee>>>_e,Te=Ee&ke}return ge&&Te!==0&&(ge.words[ge.length++]=Te),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(N,W,re){return u(this.negative===0),this.iushrn(N,W,re)},f.prototype.shln=function(N){return this.clone().ishln(N)},f.prototype.ushln=function(N){return this.clone().iushln(N)},f.prototype.shrn=function(N){return this.clone().ishrn(N)},f.prototype.ushrn=function(N){return this.clone().iushrn(N)},f.prototype.testn=function(N){u(typeof N=="number"&&N>=0);var W=N%26,re=(N-W)/26,ae=1<=0);var W=N%26,re=(N-W)/26;if(u(this.negative===0,"imaskn works only with positive numbers"),this.length<=re)return this;if(W!==0&&re++,this.length=Math.min(re,this.length),W!==0){var ae=67108863^67108863>>>W<=67108864;W++)this.words[W]-=67108864,W===this.length-1?this.words[W+1]=1:this.words[W+1]++;return this.length=Math.max(this.length,W+1),this},f.prototype.isubn=function(N){if(u(typeof N=="number"),u(N<67108864),N<0)return this.iaddn(-N);if(this.negative!==0)return this.negative=0,this.iaddn(N),this.negative=1,this;if(this.words[0]-=N,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var W=0;W>26)-(ge/67108864|0),this.words[_e+re]=Me&67108863}for(;_e>26,this.words[_e+re]=Me&67108863;if(ke===0)return this.strip();for(u(ke===-1),ke=0,_e=0;_e>26,this.words[_e]=Me&67108863;return this.negative=1,this.strip()},f.prototype._wordDiv=function(N,W){var re=this.length-N.length,ae=this.clone(),_e=N,Me=_e.words[_e.length-1]|0,ke=this._countBits(Me);re=26-ke,re!==0&&(_e=_e.ushln(re),ae.iushln(re),Me=_e.words[_e.length-1]|0);var ge=ae.length-_e.length,ie;if(W!=="mod"){ie=new f(null),ie.length=ge+1,ie.words=new Array(ie.length);for(var Te=0;Te=0;Ae--){var ze=(ae.words[_e.length+Ae]|0)*67108864+(ae.words[_e.length+Ae-1]|0);for(ze=Math.min(ze/Me|0,67108863),ae._ishlnsubmul(_e,ze,Ae);ae.negative!==0;)ze--,ae.negative=0,ae._ishlnsubmul(_e,1,Ae),ae.isZero()||(ae.negative^=1);ie&&(ie.words[Ae]=ze)}return ie&&ie.strip(),ae.strip(),W!=="div"&&re!==0&&ae.iushrn(re),{div:ie||null,mod:ae}},f.prototype.divmod=function(N,W,re){if(u(!N.isZero()),this.isZero())return{div:new f(0),mod:new f(0)};var ae,_e,Me;return this.negative!==0&&N.negative===0?(Me=this.neg().divmod(N,W),W!=="mod"&&(ae=Me.div.neg()),W!=="div"&&(_e=Me.mod.neg(),re&&_e.negative!==0&&_e.iadd(N)),{div:ae,mod:_e}):this.negative===0&&N.negative!==0?(Me=this.divmod(N.neg(),W),W!=="mod"&&(ae=Me.div.neg()),{div:ae,mod:Me.mod}):this.negative&N.negative?(Me=this.neg().divmod(N.neg(),W),W!=="div"&&(_e=Me.mod.neg(),re&&_e.negative!==0&&_e.isub(N)),{div:Me.div,mod:_e}):N.length>this.length||this.cmp(N)<0?{div:new f(0),mod:this}:N.length===1?W==="div"?{div:this.divn(N.words[0]),mod:null}:W==="mod"?{div:null,mod:new f(this.modn(N.words[0]))}:{div:this.divn(N.words[0]),mod:new f(this.modn(N.words[0]))}:this._wordDiv(N,W)},f.prototype.div=function(N){return this.divmod(N,"div",!1).div},f.prototype.mod=function(N){return this.divmod(N,"mod",!1).mod},f.prototype.umod=function(N){return this.divmod(N,"mod",!0).mod},f.prototype.divRound=function(N){var W=this.divmod(N);if(W.mod.isZero())return W.div;var re=W.div.negative!==0?W.mod.isub(N):W.mod,ae=N.ushrn(1),_e=N.andln(1),Me=re.cmp(ae);return Me<0||_e===1&&Me===0?W.div:W.div.negative!==0?W.div.isubn(1):W.div.iaddn(1)},f.prototype.modn=function(N){u(N<=67108863);for(var W=(1<<26)%N,re=0,ae=this.length-1;ae>=0;ae--)re=(W*re+(this.words[ae]|0))%N;return re},f.prototype.idivn=function(N){u(N<=67108863);for(var W=0,re=this.length-1;re>=0;re--){var ae=(this.words[re]|0)+W*67108864;this.words[re]=ae/N|0,W=ae%N}return this.strip()},f.prototype.divn=function(N){return this.clone().idivn(N)},f.prototype.egcd=function(N){u(N.negative===0),u(!N.isZero());var W=this,re=N.clone();W.negative!==0?W=W.umod(N):W=W.clone();for(var ae=new f(1),_e=new f(0),Me=new f(0),ke=new f(1),ge=0;W.isEven()&&re.isEven();)W.iushrn(1),re.iushrn(1),++ge;for(var ie=re.clone(),Te=W.clone();!W.isZero();){for(var Ee=0,Ae=1;!(W.words[0]&Ae)&&Ee<26;++Ee,Ae<<=1);if(Ee>0)for(W.iushrn(Ee);Ee-- >0;)(ae.isOdd()||_e.isOdd())&&(ae.iadd(ie),_e.isub(Te)),ae.iushrn(1),_e.iushrn(1);for(var ze=0,Ce=1;!(re.words[0]&Ce)&&ze<26;++ze,Ce<<=1);if(ze>0)for(re.iushrn(ze);ze-- >0;)(Me.isOdd()||ke.isOdd())&&(Me.iadd(ie),ke.isub(Te)),Me.iushrn(1),ke.iushrn(1);W.cmp(re)>=0?(W.isub(re),ae.isub(Me),_e.isub(ke)):(re.isub(W),Me.isub(ae),ke.isub(_e))}return{a:Me,b:ke,gcd:re.iushln(ge)}},f.prototype._invmp=function(N){u(N.negative===0),u(!N.isZero());var W=this,re=N.clone();W.negative!==0?W=W.umod(N):W=W.clone();for(var ae=new f(1),_e=new f(0),Me=re.clone();W.cmpn(1)>0&&re.cmpn(1)>0;){for(var ke=0,ge=1;!(W.words[0]&ge)&&ke<26;++ke,ge<<=1);if(ke>0)for(W.iushrn(ke);ke-- >0;)ae.isOdd()&&ae.iadd(Me),ae.iushrn(1);for(var ie=0,Te=1;!(re.words[0]&Te)&&ie<26;++ie,Te<<=1);if(ie>0)for(re.iushrn(ie);ie-- >0;)_e.isOdd()&&_e.iadd(Me),_e.iushrn(1);W.cmp(re)>=0?(W.isub(re),ae.isub(_e)):(re.isub(W),_e.isub(ae))}var Ee;return W.cmpn(1)===0?Ee=ae:Ee=_e,Ee.cmpn(0)<0&&Ee.iadd(N),Ee},f.prototype.gcd=function(N){if(this.isZero())return N.abs();if(N.isZero())return this.abs();var W=this.clone(),re=N.clone();W.negative=0,re.negative=0;for(var ae=0;W.isEven()&&re.isEven();ae++)W.iushrn(1),re.iushrn(1);do{for(;W.isEven();)W.iushrn(1);for(;re.isEven();)re.iushrn(1);var _e=W.cmp(re);if(_e<0){var Me=W;W=re,re=Me}else if(_e===0||re.cmpn(1)===0)break;W.isub(re)}while(!0);return re.iushln(ae)},f.prototype.invm=function(N){return this.egcd(N).a.umod(N)},f.prototype.isEven=function(){return(this.words[0]&1)===0},f.prototype.isOdd=function(){return(this.words[0]&1)===1},f.prototype.andln=function(N){return this.words[0]&N},f.prototype.bincn=function(N){u(typeof N=="number");var W=N%26,re=(N-W)/26,ae=1<>>26,ke&=67108863,this.words[Me]=ke}return _e!==0&&(this.words[Me]=_e,this.length++),this},f.prototype.isZero=function(){return this.length===1&&this.words[0]===0},f.prototype.cmpn=function(N){var W=N<0;if(this.negative!==0&&!W)return-1;if(this.negative===0&&W)return 1;this.strip();var re;if(this.length>1)re=1;else{W&&(N=-N),u(N<=67108863,"Number is too big");var ae=this.words[0]|0;re=ae===N?0:aeN.length)return 1;if(this.length=0;re--){var ae=this.words[re]|0,_e=N.words[re]|0;if(ae!==_e){ae<_e?W=-1:ae>_e&&(W=1);break}}return W},f.prototype.gtn=function(N){return this.cmpn(N)===1},f.prototype.gt=function(N){return this.cmp(N)===1},f.prototype.gten=function(N){return this.cmpn(N)>=0},f.prototype.gte=function(N){return this.cmp(N)>=0},f.prototype.ltn=function(N){return this.cmpn(N)===-1},f.prototype.lt=function(N){return this.cmp(N)===-1},f.prototype.lten=function(N){return this.cmpn(N)<=0},f.prototype.lte=function(N){return this.cmp(N)<=0},f.prototype.eqn=function(N){return this.cmpn(N)===0},f.prototype.eq=function(N){return this.cmp(N)===0},f.red=function(N){return new H(N)},f.prototype.toRed=function(N){return u(!this.red,"Already a number in reduction context"),u(this.negative===0,"red works only with positives"),N.convertTo(this)._forceRed(N)},f.prototype.fromRed=function(){return u(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},f.prototype._forceRed=function(N){return this.red=N,this},f.prototype.forceRed=function(N){return u(!this.red,"Already a number in reduction context"),this._forceRed(N)},f.prototype.redAdd=function(N){return u(this.red,"redAdd works only with red numbers"),this.red.add(this,N)},f.prototype.redIAdd=function(N){return u(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,N)},f.prototype.redSub=function(N){return u(this.red,"redSub works only with red numbers"),this.red.sub(this,N)},f.prototype.redISub=function(N){return u(this.red,"redISub works only with red numbers"),this.red.isub(this,N)},f.prototype.redShl=function(N){return u(this.red,"redShl works only with red numbers"),this.red.shl(this,N)},f.prototype.redMul=function(N){return u(this.red,"redMul works only with red numbers"),this.red._verify2(this,N),this.red.mul(this,N)},f.prototype.redIMul=function(N){return u(this.red,"redMul works only with red numbers"),this.red._verify2(this,N),this.red.imul(this,N)},f.prototype.redSqr=function(){return u(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return u(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return u(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return u(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return u(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(N){return u(this.red&&!N.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,N)};var g={k256:null,p224:null,p192:null,p25519:null};function P(G,N){this.name=G,this.p=new f(N,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}P.prototype._tmp=function(){var N=new f(null);return N.words=new Array(Math.ceil(this.n/13)),N},P.prototype.ireduce=function(N){var W=N,re;do this.split(W,this.tmp),W=this.imulK(W),W=W.iadd(this.tmp),re=W.bitLength();while(re>this.n);var ae=re0?W.isub(this.p):W.strip!==void 0?W.strip():W._strip(),W},P.prototype.split=function(N,W){N.iushrn(this.n,0,W)},P.prototype.imulK=function(N){return N.imul(this.k)};function T(){P.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}c(T,P),T.prototype.split=function(N,W){for(var re=4194303,ae=Math.min(N.length,9),_e=0;_e>>22,Me=ke}Me>>>=22,N.words[_e-10]=Me,Me===0&&N.length>10?N.length-=10:N.length-=9},T.prototype.imulK=function(N){N.words[N.length]=0,N.words[N.length+1]=0,N.length+=2;for(var W=0,re=0;re>>=26,N.words[re]=_e,W=ae}return W!==0&&(N.words[N.length++]=W),N},f._prime=function(N){if(g[N])return g[N];var W;if(N==="k256")W=new T;else if(N==="p224")W=new F;else if(N==="p192")W=new q;else if(N==="p25519")W=new V;else throw new Error("Unknown prime "+N);return g[N]=W,W};function H(G){if(typeof G=="string"){var N=f._prime(G);this.m=N.p,this.prime=N}else u(G.gtn(1),"modulus must be greater than 1"),this.m=G,this.prime=null}H.prototype._verify1=function(N){u(N.negative===0,"red works only with positives"),u(N.red,"red works only with red numbers")},H.prototype._verify2=function(N,W){u((N.negative|W.negative)===0,"red works only with positives"),u(N.red&&N.red===W.red,"red works only with red numbers")},H.prototype.imod=function(N){return this.prime?this.prime.ireduce(N)._forceRed(this):N.umod(this.m)._forceRed(this)},H.prototype.neg=function(N){return N.isZero()?N.clone():this.m.sub(N)._forceRed(this)},H.prototype.add=function(N,W){this._verify2(N,W);var re=N.add(W);return re.cmp(this.m)>=0&&re.isub(this.m),re._forceRed(this)},H.prototype.iadd=function(N,W){this._verify2(N,W);var re=N.iadd(W);return re.cmp(this.m)>=0&&re.isub(this.m),re},H.prototype.sub=function(N,W){this._verify2(N,W);var re=N.sub(W);return re.cmpn(0)<0&&re.iadd(this.m),re._forceRed(this)},H.prototype.isub=function(N,W){this._verify2(N,W);var re=N.isub(W);return re.cmpn(0)<0&&re.iadd(this.m),re},H.prototype.shl=function(N,W){return this._verify1(N),this.imod(N.ushln(W))},H.prototype.imul=function(N,W){return this._verify2(N,W),this.imod(N.imul(W))},H.prototype.mul=function(N,W){return this._verify2(N,W),this.imod(N.mul(W))},H.prototype.isqr=function(N){return this.imul(N,N.clone())},H.prototype.sqr=function(N){return this.mul(N,N)},H.prototype.sqrt=function(N){if(N.isZero())return N.clone();var W=this.m.andln(3);if(u(W%2===1),W===3){var re=this.m.add(new f(1)).iushrn(2);return this.pow(N,re)}for(var ae=this.m.subn(1),_e=0;!ae.isZero()&&ae.andln(1)===0;)_e++,ae.iushrn(1);u(!ae.isZero());var Me=new f(1).toRed(this),ke=Me.redNeg(),ge=this.m.subn(1).iushrn(1),ie=this.m.bitLength();for(ie=new f(2*ie*ie).toRed(this);this.pow(ie,ge).cmp(ke)!==0;)ie.redIAdd(ke);for(var Te=this.pow(ie,ae),Ee=this.pow(N,ae.addn(1).iushrn(1)),Ae=this.pow(N,ae),ze=_e;Ae.cmp(Me)!==0;){for(var Ce=Ae,me=0;Ce.cmp(Me)!==0;me++)Ce=Ce.redSqr();u(me=0;_e--){for(var Te=W.words[_e],Ee=ie-1;Ee>=0;Ee--){var Ae=Te>>Ee&1;if(Me!==ae[0]&&(Me=this.sqr(Me)),Ae===0&&ke===0){ge=0;continue}ke<<=1,ke|=Ae,ge++,!(ge!==re&&(_e!==0||Ee!==0))&&(Me=this.mul(Me,ae[ke]),ge=0,ke=0)}ie=26}return Me},H.prototype.convertTo=function(N){var W=N.umod(this.m);return W===N?W.clone():W},H.prototype.convertFrom=function(N){var W=N.clone();return W.red=null,W},f.mont=function(N){return new X(N)};function X(G){H.call(this,G),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new f(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}c(X,H),X.prototype.convertTo=function(N){return this.imod(N.ushln(this.shift))},X.prototype.convertFrom=function(N){var W=this.imod(N.mul(this.rinv));return W.red=null,W},X.prototype.imul=function(N,W){if(N.isZero()||W.isZero())return N.words[0]=0,N.length=1,N;var re=N.imul(W),ae=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(ae).iushrn(this.shift),Me=_e;return _e.cmp(this.m)>=0?Me=_e.isub(this.m):_e.cmpn(0)<0&&(Me=_e.iadd(this.m)),Me._forceRed(this)},X.prototype.mul=function(N,W){if(N.isZero()||W.isZero())return new f(0)._forceRed(this);var re=N.mul(W),ae=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(ae).iushrn(this.shift),Me=_e;return _e.cmp(this.m)>=0?Me=_e.isub(this.m):_e.cmpn(0)<0&&(Me=_e.iadd(this.m)),Me._forceRed(this)},X.prototype.invm=function(N){var W=this.imod(N._invmp(this.m).mul(this.r2));return W._forceRed(this)}}(i,this)},6204:function(i){"use strict";i.exports=a;function a(o){var s,l,u,c=o.length,f=0;for(s=0;s>>1;if(!(M<=0)){var g,P=s.mallocDouble(2*M*x),T=s.mallocInt32(x);if(x=f(E,M,P,T),x>0){if(M===1&&L)l.init(x),g=l.sweepComplete(M,S,0,x,P,T,0,x,P,T);else{var F=s.mallocDouble(2*M*C),q=s.mallocInt32(C);C=f(k,M,F,q),C>0&&(l.init(x+C),M===1?g=l.sweepBipartite(M,S,0,x,P,T,0,C,F,q):g=u(M,S,L,x,P,T,C,F,q),s.free(F),s.free(q))}s.free(P),s.free(T)}return g}}}var v;function d(E,k){v.push([E,k])}function _(E){return v=[],h(E,E,d,!0),v}function b(E,k){return v=[],h(E,k,d,!1),v}function p(E,k,S){switch(arguments.length){case 1:return _(E);case 2:return typeof k=="function"?h(E,E,k,!0):b(E,k);case 3:return h(E,k,S,!1);default:throw new Error("box-intersect: Invalid arguments")}}},2455:function(i,a){"use strict";function o(){function u(h,v,d,_,b,p,E,k,S,L,x){for(var C=2*h,M=_,g=C*_;MS-k?u(h,v,d,_,b,p,E,k,S,L,x):c(h,v,d,_,b,p,E,k,S,L,x)}return f}function s(){function u(d,_,b,p,E,k,S,L,x,C,M){for(var g=2*d,P=p,T=g*p;PC-x?p?u(d,_,b,E,k,S,L,x,C,M,g):c(d,_,b,E,k,S,L,x,C,M,g):p?f(d,_,b,E,k,S,L,x,C,M,g):h(d,_,b,E,k,S,L,x,C,M,g)}return v}function l(u){return u?o():s()}a.partial=l(!1),a.full=l(!0)},7150:function(i,a,o){"use strict";i.exports=G;var s=o(1888),l=o(8828),u=o(2455),c=u.partial,f=u.full,h=o(855),v=o(3545),d=o(8105),_=128,b=1<<22,p=1<<22,E=d("!(lo>=p0)&&!(p1>=hi)"),k=d("lo===p0"),S=d("lo0;){Te-=1;var ze=Te*M,Ce=T[ze],me=T[ze+1],De=T[ze+2],ce=T[ze+3],Ge=T[ze+4],nt=T[ze+5],ct=Te*g,qt=F[ct],rt=F[ct+1],ot=nt&1,It=!!(nt&16),kt=_e,Ct=Me,Yt=ge,mr=ie;if(ot&&(kt=ge,Ct=ie,Yt=_e,mr=Me),!(nt&2&&(De=S(N,Ce,me,De,kt,Ct,rt),me>=De))&&!(nt&4&&(me=L(N,Ce,me,De,kt,Ct,qt),me>=De))){var er=De-me,Ke=Ge-ce;if(It){if(N*er*(er+Ke)d&&b[C+v]>L;--x,C-=E){for(var M=C,g=C+E,P=0;P>>1,L=2*h,x=S,C=b[L*S+v];E=F?(x=T,C=F):P>=V?(x=g,C=P):(x=q,C=V):F>=V?(x=T,C=F):V>=P?(x=g,C=P):(x=q,C=V);for(var G=L*(k-1),N=L*x,H=0;H=p0)&&!(p1>=hi)":v};function o(d){return a[d]}function s(d,_,b,p,E,k,S){for(var L=2*d,x=L*b,C=x,M=b,g=_,P=d+_,T=b;p>T;++T,x+=L){var F=E[x+g];if(F===S)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[x+q];E[x+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function l(d,_,b,p,E,k,S){for(var L=2*d,x=L*b,C=x,M=b,g=_,P=d+_,T=b;p>T;++T,x+=L){var F=E[x+g];if(Fq;++q){var V=E[x+q];E[x+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function u(d,_,b,p,E,k,S){for(var L=2*d,x=L*b,C=x,M=b,g=_,P=d+_,T=b;p>T;++T,x+=L){var F=E[x+P];if(F<=S)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[x+q];E[x+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function c(d,_,b,p,E,k,S){for(var L=2*d,x=L*b,C=x,M=b,g=_,P=d+_,T=b;p>T;++T,x+=L){var F=E[x+P];if(F<=S)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[x+q];E[x+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function f(d,_,b,p,E,k,S){for(var L=2*d,x=L*b,C=x,M=b,g=_,P=d+_,T=b;p>T;++T,x+=L){var F=E[x+g],q=E[x+P];if(F<=S&&S<=q)if(M===T)M+=1,C+=L;else{for(var V=0;L>V;++V){var H=E[x+V];E[x+V]=E[C],E[C++]=H}var X=k[T];k[T]=k[M],k[M++]=X}}return M}function h(d,_,b,p,E,k,S){for(var L=2*d,x=L*b,C=x,M=b,g=_,P=d+_,T=b;p>T;++T,x+=L){var F=E[x+g],q=E[x+P];if(FV;++V){var H=E[x+V];E[x+V]=E[C],E[C++]=H}var X=k[T];k[T]=k[M],k[M++]=X}}return M}function v(d,_,b,p,E,k,S,L){for(var x=2*d,C=x*b,M=C,g=b,P=_,T=d+_,F=b;p>F;++F,C+=x){var q=E[C+P],V=E[C+T];if(!(q>=S)&&!(L>=V))if(g===F)g+=1,M+=x;else{for(var H=0;x>H;++H){var X=E[C+H];E[C+H]=E[M],E[M++]=X}var G=k[F];k[F]=k[g],k[g++]=G}}return g}},4192:function(i){"use strict";i.exports=o;var a=32;function o(_,b){b<=4*a?s(0,b-1,_):d(0,b-1,_)}function s(_,b,p){for(var E=2*(_+1),k=_+1;k<=b;++k){for(var S=p[E++],L=p[E++],x=k,C=E-2;x-- >_;){var M=p[C-2],g=p[C-1];if(Mp[b+1]:!0}function v(_,b,p,E){_*=2;var k=E[_];return k>1,x=L-E,C=L+E,M=k,g=x,P=L,T=C,F=S,q=_+1,V=b-1,H=0;h(M,g,p)&&(H=M,M=g,g=H),h(T,F,p)&&(H=T,T=F,F=H),h(M,P,p)&&(H=M,M=P,P=H),h(g,P,p)&&(H=g,g=P,P=H),h(M,T,p)&&(H=M,M=T,T=H),h(P,T,p)&&(H=P,P=T,T=H),h(g,F,p)&&(H=g,g=F,F=H),h(g,P,p)&&(H=g,g=P,P=H),h(T,F,p)&&(H=T,T=F,F=H);for(var X=p[2*g],G=p[2*g+1],N=p[2*T],W=p[2*T+1],re=2*M,ae=2*P,_e=2*F,Me=2*k,ke=2*L,ge=2*S,ie=0;ie<2;++ie){var Te=p[re+ie],Ee=p[ae+ie],Ae=p[_e+ie];p[Me+ie]=Te,p[ke+ie]=Ee,p[ge+ie]=Ae}u(x,_,p),u(C,b,p);for(var ze=q;ze<=V;++ze)if(v(ze,X,G,p))ze!==q&&l(ze,q,p),++q;else if(!v(ze,N,W,p))for(;;)if(v(V,N,W,p)){v(V,X,G,p)?(c(ze,q,V,p),++q,--V):(l(ze,V,p),--V);break}else{if(--V>>1;u(E,Ee);for(var Ae=0,ze=0,ke=0;ke=c)Ce=Ce-c|0,S(d,_,ze--,Ce);else if(Ce>=0)S(h,v,Ae--,Ce);else if(Ce<=-c){Ce=-Ce-c|0;for(var me=0;me>>1;u(E,Ee);for(var Ae=0,ze=0,Ce=0,ke=0;ke>1===E[2*ke+3]>>1&&(De=2,ke+=1),me<0){for(var ce=-(me>>1)-1,Ge=0;Ge>1)-1;De===0?S(h,v,Ae--,ce):De===1?S(d,_,ze--,ce):De===2&&S(b,p,Ce--,ce)}}}function M(P,T,F,q,V,H,X,G,N,W,re,ae){var _e=0,Me=2*P,ke=T,ge=T+P,ie=1,Te=1;q?Te=c:ie=c;for(var Ee=V;Ee>>1;u(E,me);for(var De=0,Ee=0;Ee=c?(Ge=!q,Ae-=c):(Ge=!!q,Ae-=1),Ge)L(h,v,De++,Ae);else{var nt=ae[Ae],ct=Me*Ae,qt=re[ct+T+1],rt=re[ct+T+1+P];e:for(var ot=0;ot>>1;u(E,Ae);for(var ze=0,ge=0;ge=c)h[ze++]=ie-c;else{ie-=1;var me=re[ie],De=_e*ie,ce=W[De+T+1],Ge=W[De+T+1+P];e:for(var nt=0;nt=0;--nt)if(h[nt]===ie){for(var ot=nt+1;ot0;){for(var k=v.pop(),b=v.pop(),S=-1,L=-1,p=_[b],C=1;C=0||(h.flip(b,k),u(f,h,v,S,b,L),u(f,h,v,b,L,S),u(f,h,v,L,k,S),u(f,h,v,k,S,L))}}},5023:function(i,a,o){"use strict";var s=o(2478);i.exports=v;function l(d,_,b,p,E,k,S){this.cells=d,this.neighbor=_,this.flags=p,this.constraint=b,this.active=E,this.next=k,this.boundary=S}var u=l.prototype;function c(d,_){return d[0]-_[0]||d[1]-_[1]||d[2]-_[2]}u.locate=function(){var d=[0,0,0];return function(_,b,p){var E=_,k=b,S=p;return b0||S.length>0;){for(;k.length>0;){var g=k.pop();if(L[g]!==-E){L[g]=E;for(var P=x[g],T=0;T<3;++T){var F=M[3*g+T];F>=0&&L[F]===0&&(C[3*g+T]?S.push(F):(k.push(F),L[F]=E))}}}var q=S;S=k,k=q,S.length=0,E=-E}var V=h(x,L,_);return b?V.concat(p.boundary):V}},8902:function(i,a,o){"use strict";var s=o(2478),l=o(3250)[3],u=0,c=1,f=2;i.exports=S;function h(L,x,C,M,g){this.a=L,this.b=x,this.idx=C,this.lowerIds=M,this.upperIds=g}function v(L,x,C,M){this.a=L,this.b=x,this.type=C,this.idx=M}function d(L,x){var C=L.a[0]-x.a[0]||L.a[1]-x.a[1]||L.type-x.type;return C||L.type!==u&&(C=l(L.a,L.b,x.b),C)?C:L.idx-x.idx}function _(L,x){return l(L.a,L.b,x)}function b(L,x,C,M,g){for(var P=s.lt(x,M,_),T=s.gt(x,M,_),F=P;F1&&l(C[V[X-2]],C[V[X-1]],M)>0;)L.push([V[X-1],V[X-2],g]),X-=1;V.length=X,V.push(g);for(var H=q.upperIds,X=H.length;X>1&&l(C[H[X-2]],C[H[X-1]],M)<0;)L.push([H[X-2],H[X-1],g]),X-=1;H.length=X,H.push(g)}}function p(L,x){var C;return L.a[0]q[0]&&g.push(new v(q,F,f,P),new v(F,q,c,P))}g.sort(d);for(var V=g[0].a[0]-(1+Math.abs(g[0].a[0]))*Math.pow(2,-52),H=[new h([V,1],[V,0],-1,[],[],[],[])],X=[],P=0,G=g.length;P=0}}(),u.removeTriangle=function(h,v,d){var _=this.stars;c(_[h],v,d),c(_[v],d,h),c(_[d],h,v)},u.addTriangle=function(h,v,d){var _=this.stars;_[h].push(v,d),_[v].push(d,h),_[d].push(h,v)},u.opposite=function(h,v){for(var d=this.stars[v],_=1,b=d.length;_=0;--N){var Te=X[N];W=Te[0];var Ee=V[W],Ae=Ee[0],ze=Ee[1],Ce=q[Ae],me=q[ze];if((Ce[0]-me[0]||Ce[1]-me[1])<0){var De=Ae;Ae=ze,ze=De}Ee[0]=Ae;var ce=Ee[1]=Te[1],Ge;for(G&&(Ge=Ee[2]);N>0&&X[N-1][0]===W;){var Te=X[--N],nt=Te[1];G?V.push([ce,nt,Ge]):V.push([ce,nt]),ce=nt}G?V.push([ce,ze,Ge]):V.push([ce,ze])}return re}function x(q,V,H){for(var X=V.length,G=new s(X),N=[],W=0;WV[2]?1:0)}function g(q,V,H){if(q.length!==0){if(V)for(var X=0;X0||W.length>0}function F(q,V,H){var X;if(H){X=V;for(var G=new Array(V.length),N=0;NL+1)throw new Error(k+" map requires nshades to be at least size "+E.length);Array.isArray(v.alpha)?v.alpha.length!==2?x=[1,1]:x=v.alpha.slice():typeof v.alpha=="number"?x=[v.alpha,v.alpha]:x=[1,1],d=E.map(function(F){return Math.round(F.index*L)}),x[0]=Math.min(Math.max(x[0],0),1),x[1]=Math.min(Math.max(x[1],0),1);var M=E.map(function(F,q){var V=E[q].index,H=E[q].rgb.slice();return H.length===4&&H[3]>=0&&H[3]<=1||(H[3]=x[0]+(x[1]-x[0])*V),H}),g=[];for(C=0;C=0}function v(d,_,b,p){var E=s(_,b,p);if(E===0){var k=l(s(d,_,b)),S=l(s(d,_,p));if(k===S){if(k===0){var L=h(d,_,b),x=h(d,_,p);return L===x?0:L?1:-1}return 0}else{if(S===0)return k>0||h(d,_,p)?-1:1;if(k===0)return S>0||h(d,_,b)?1:-1}return l(S-k)}var C=s(d,_,b);if(C>0)return E>0&&s(d,_,p)>0?1:-1;if(C<0)return E>0||s(d,_,p)>0?1:-1;var M=s(d,_,p);return M>0||h(d,_,b)?1:-1}},8572:function(i){"use strict";i.exports=function(o){return o<0?-1:o>0?1:0}},8507:function(i){i.exports=s;var a=Math.min;function o(l,u){return l-u}function s(l,u){var c=l.length,f=l.length-u.length;if(f)return f;switch(c){case 0:return 0;case 1:return l[0]-u[0];case 2:return l[0]+l[1]-u[0]-u[1]||a(l[0],l[1])-a(u[0],u[1]);case 3:var h=l[0]+l[1],v=u[0]+u[1];if(f=h+l[2]-(v+u[2]),f)return f;var d=a(l[0],l[1]),_=a(u[0],u[1]);return a(d,l[2])-a(_,u[2])||a(d+l[2],h)-a(_+u[2],v);case 4:var b=l[0],p=l[1],E=l[2],k=l[3],S=u[0],L=u[1],x=u[2],C=u[3];return b+p+E+k-(S+L+x+C)||a(b,p,E,k)-a(S,L,x,C,S)||a(b+p,b+E,b+k,p+E,p+k,E+k)-a(S+L,S+x,S+C,L+x,L+C,x+C)||a(b+p+E,b+p+k,b+E+k,p+E+k)-a(S+L+x,S+L+C,S+x+C,L+x+C);default:for(var M=l.slice().sort(o),g=u.slice().sort(o),P=0;Po[l][0]&&(l=u);return sl?[[l],[s]]:[[s]]}},4750:function(i,a,o){"use strict";i.exports=l;var s=o(3090);function l(u){var c=s(u),f=c.length;if(f<=2)return[];for(var h=new Array(f),v=c[f-1],d=0;d=v[S]&&(k+=1);p[E]=k}}return h}function f(h,v){try{return s(h,!0)}catch(p){var d=l(h);if(d.length<=v)return[];var _=u(h,d),b=s(_,!0);return c(b,d)}}},4769:function(i){"use strict";function a(s,l,u,c,f,h){var v=6*f*f-6*f,d=3*f*f-4*f+1,_=-6*f*f+6*f,b=3*f*f-2*f;if(s.length){h||(h=new Array(s.length));for(var p=s.length-1;p>=0;--p)h[p]=v*s[p]+d*l[p]+_*u[p]+b*c[p];return h}return v*s+d*l+_*u[p]+b*c}function o(s,l,u,c,f,h){var v=f-1,d=f*f,_=v*v,b=(1+2*f)*_,p=f*_,E=d*(3-2*f),k=d*v;if(s.length){h||(h=new Array(s.length));for(var S=s.length-1;S>=0;--S)h[S]=b*s[S]+p*l[S]+E*u[S]+k*c[S];return h}return b*s+p*l+E*u+k*c}i.exports=o,i.exports.derivative=a},7642:function(i,a,o){"use strict";var s=o(8954),l=o(1682);i.exports=h;function u(v,d){this.point=v,this.index=d}function c(v,d){for(var _=v.point,b=d.point,p=_.length,E=0;E=2)return!1;H[G]=N}return!0}):V=V.filter(function(H){for(var X=0;X<=b;++X){var G=P[H[X]];if(G<0)return!1;H[X]=G}return!0}),b&1)for(var k=0;k>>31},i.exports.exponent=function(E){var k=i.exports.hi(E);return(k<<1>>>21)-1023},i.exports.fraction=function(E){var k=i.exports.lo(E),S=i.exports.hi(E),L=S&(1<<20)-1;return S&2146435072&&(L+=1048576),[k,L]},i.exports.denormalized=function(E){var k=i.exports.hi(E);return!(k&2146435072)}},1338:function(i){"use strict";function a(l,u,c){var f=l[c]|0;if(f<=0)return[];var h=new Array(f),v;if(c===l.length-1)for(v=0;v0)return o(l|0,u);break;case"object":if(typeof l.length=="number")return a(l,u,0);break}return[]}i.exports=s},3134:function(i,a,o){"use strict";i.exports=l;var s=o(1682);function l(u,c){var f=u.length;if(typeof c!="number"){c=0;for(var h=0;h=b-1)for(var C=k.length-1,g=d-_[b-1],M=0;M=b-1)for(var x=k.length-1,C=d-_[b-1],M=0;M=0;--b)if(d[--_])return!1;return!0},f.jump=function(d){var _=this.lastT(),b=this.dimension;if(!(d<_||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,S=this.bounds,L=S[0],x=S[1];this._time.push(_,d);for(var C=0;C<2;++C)for(var M=0;M0;--M)p.push(u(L[M-1],x[M-1],arguments[M])),E.push(0)}},f.push=function(d){var _=this.lastT(),b=this.dimension;if(!(d<_||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,S=d-_,L=this.bounds,x=L[0],C=L[1],M=S>1e-6?1/S:0;this._time.push(d);for(var g=b;g>0;--g){var P=u(x[g-1],C[g-1],arguments[g]);p.push(P),E.push((P-p[k++])*M)}}},f.set=function(d){var _=this.dimension;if(!(d0;--L)b.push(u(k[L-1],S[L-1],arguments[L])),p.push(0)}},f.move=function(d){var _=this.lastT(),b=this.dimension;if(!(d<=_||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,S=this.bounds,L=S[0],x=S[1],C=d-_,M=C>1e-6?1/C:0;this._time.push(d);for(var g=b;g>0;--g){var P=arguments[g];p.push(u(L[g-1],x[g-1],p[k++]+P)),E.push(P*M)}}},f.idle=function(d){var _=this.lastT();if(!(d<_)){var b=this.dimension,p=this._state,E=this._velocity,k=p.length-b,S=this.bounds,L=S[0],x=S[1],C=d-_;this._time.push(d);for(var M=b-1;M>=0;--M)p.push(u(L[M],x[M],p[k]+C*E[k])),E.push(0),k+=1}};function h(d){for(var _=new Array(d),b=0;b=0;--q){var g=P[q];T[q]<=0?P[q]=new s(g._color,g.key,g.value,P[q+1],g.right,g._count+1):P[q]=new s(g._color,g.key,g.value,g.left,P[q+1],g._count+1)}for(var q=P.length-1;q>1;--q){var V=P[q-1],g=P[q];if(V._color===o||g._color===o)break;var H=P[q-2];if(H.left===V)if(V.left===g){var X=H.right;if(X&&X._color===a)V._color=o,H.right=u(o,X),H._color=a,q-=1;else{if(H._color=a,H.left=V.right,V._color=o,V.right=H,P[q-2]=V,P[q-1]=g,c(H),c(V),q>=3){var G=P[q-3];G.left===H?G.left=V:G.right=V}break}}else{var X=H.right;if(X&&X._color===a)V._color=o,H.right=u(o,X),H._color=a,q-=1;else{if(V.right=g.left,H._color=a,H.left=g.right,g._color=o,g.left=V,g.right=H,P[q-2]=g,P[q-1]=V,c(H),c(V),c(g),q>=3){var G=P[q-3];G.left===H?G.left=g:G.right=g}break}}else if(V.right===g){var X=H.left;if(X&&X._color===a)V._color=o,H.left=u(o,X),H._color=a,q-=1;else{if(H._color=a,H.right=V.left,V._color=o,V.left=H,P[q-2]=V,P[q-1]=g,c(H),c(V),q>=3){var G=P[q-3];G.right===H?G.right=V:G.left=V}break}}else{var X=H.left;if(X&&X._color===a)V._color=o,H.left=u(o,X),H._color=a,q-=1;else{if(V.left=g.right,H._color=a,H.right=g.left,g._color=o,g.right=V,g.left=H,P[q-2]=g,P[q-1]=V,c(H),c(V),c(g),q>=3){var G=P[q-3];G.right===H?G.right=g:G.left=g}break}}}return P[0]._color=o,new f(M,P[0])};function v(x,C){if(C.left){var M=v(x,C.left);if(M)return M}var M=x(C.key,C.value);if(M)return M;if(C.right)return v(x,C.right)}function d(x,C,M,g){var P=C(x,g.key);if(P<=0){if(g.left){var T=d(x,C,M,g.left);if(T)return T}var T=M(g.key,g.value);if(T)return T}if(g.right)return d(x,C,M,g.right)}function _(x,C,M,g,P){var T=M(x,P.key),F=M(C,P.key),q;if(T<=0&&(P.left&&(q=_(x,C,M,g,P.left),q)||F>0&&(q=g(P.key,P.value),q)))return q;if(F>0&&P.right)return _(x,C,M,g,P.right)}h.forEach=function(C,M,g){if(this.root)switch(arguments.length){case 1:return v(C,this.root);case 2:return d(M,this._compare,C,this.root);case 3:return this._compare(M,g)>=0?void 0:_(M,g,this._compare,C,this.root)}},Object.defineProperty(h,"begin",{get:function(){for(var x=[],C=this.root;C;)x.push(C),C=C.left;return new b(this,x)}}),Object.defineProperty(h,"end",{get:function(){for(var x=[],C=this.root;C;)x.push(C),C=C.right;return new b(this,x)}}),h.at=function(x){if(x<0)return new b(this,[]);for(var C=this.root,M=[];;){if(M.push(C),C.left){if(x=C.right._count)break;C=C.right}else break}return new b(this,[])},h.ge=function(x){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(x,M.key);g.push(M),T<=0&&(P=g.length),T<=0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.gt=function(x){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(x,M.key);g.push(M),T<0&&(P=g.length),T<0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.lt=function(x){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(x,M.key);g.push(M),T>0&&(P=g.length),T<=0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.le=function(x){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(x,M.key);g.push(M),T>=0&&(P=g.length),T<0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.find=function(x){for(var C=this._compare,M=this.root,g=[];M;){var P=C(x,M.key);if(g.push(M),P===0)return new b(this,g);P<=0?M=M.left:M=M.right}return new b(this,[])},h.remove=function(x){var C=this.find(x);return C?C.remove():this},h.get=function(x){for(var C=this._compare,M=this.root;M;){var g=C(x,M.key);if(g===0)return M.value;g<=0?M=M.left:M=M.right}};function b(x,C){this.tree=x,this._stack=C}var p=b.prototype;Object.defineProperty(p,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(p,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),p.clone=function(){return new b(this.tree,this._stack.slice())};function E(x,C){x.key=C.key,x.value=C.value,x.left=C.left,x.right=C.right,x._color=C._color,x._count=C._count}function k(x){for(var C,M,g,P,T=x.length-1;T>=0;--T){if(C=x[T],T===0){C._color=o;return}if(M=x[T-1],M.left===C){if(g=M.right,g.right&&g.right._color===a){if(g=M.right=l(g),P=g.right=l(g.right),M.right=g.left,g.left=M,g.right=P,g._color=M._color,C._color=o,M._color=o,P._color=o,c(M),c(g),T>1){var F=x[T-2];F.left===M?F.left=g:F.right=g}x[T-1]=g;return}else if(g.left&&g.left._color===a){if(g=M.right=l(g),P=g.left=l(g.left),M.right=P.left,g.left=P.right,P.left=M,P.right=g,P._color=M._color,M._color=o,g._color=o,C._color=o,c(M),c(g),c(P),T>1){var F=x[T-2];F.left===M?F.left=P:F.right=P}x[T-1]=P;return}if(g._color===o)if(M._color===a){M._color=o,M.right=u(a,g);return}else{M.right=u(a,g);continue}else{if(g=l(g),M.right=g.left,g.left=M,g._color=M._color,M._color=a,c(M),c(g),T>1){var F=x[T-2];F.left===M?F.left=g:F.right=g}x[T-1]=g,x[T]=M,T+11){var F=x[T-2];F.right===M?F.right=g:F.left=g}x[T-1]=g;return}else if(g.right&&g.right._color===a){if(g=M.left=l(g),P=g.right=l(g.right),M.left=P.right,g.right=P.left,P.right=M,P.left=g,P._color=M._color,M._color=o,g._color=o,C._color=o,c(M),c(g),c(P),T>1){var F=x[T-2];F.right===M?F.right=P:F.left=P}x[T-1]=P;return}if(g._color===o)if(M._color===a){M._color=o,M.left=u(a,g);return}else{M.left=u(a,g);continue}else{if(g=l(g),M.left=g.right,g.right=M,g._color=M._color,M._color=a,c(M),c(g),T>1){var F=x[T-2];F.right===M?F.right=g:F.left=g}x[T-1]=g,x[T]=M,T+1=0;--g){var M=x[g];M.left===x[g+1]?C[g]=new s(M._color,M.key,M.value,C[g+1],M.right,M._count):C[g]=new s(M._color,M.key,M.value,M.left,C[g+1],M._count)}if(M=C[C.length-1],M.left&&M.right){var P=C.length;for(M=M.left;M.right;)C.push(M),M=M.right;var T=C[P-1];C.push(new s(M._color,T.key,T.value,M.left,M.right,M._count)),C[P-1].key=M.key,C[P-1].value=M.value;for(var g=C.length-2;g>=P;--g)M=C[g],C[g]=new s(M._color,M.key,M.value,M.left,C[g+1],M._count);C[P-1].left=C[P]}if(M=C[C.length-1],M._color===a){var F=C[C.length-2];F.left===M?F.left=null:F.right===M&&(F.right=null),C.pop();for(var g=0;g0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(p,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(p,"index",{get:function(){var x=0,C=this._stack;if(C.length===0){var M=this.tree.root;return M?M._count:0}else C[C.length-1].left&&(x=C[C.length-1].left._count);for(var g=C.length-2;g>=0;--g)C[g+1]===C[g].right&&(++x,C[g].left&&(x+=C[g].left._count));return x},enumerable:!0}),p.next=function(){var x=this._stack;if(x.length!==0){var C=x[x.length-1];if(C.right)for(C=C.right;C;)x.push(C),C=C.left;else for(x.pop();x.length>0&&x[x.length-1].right===C;)C=x[x.length-1],x.pop()}},Object.defineProperty(p,"hasNext",{get:function(){var x=this._stack;if(x.length===0)return!1;if(x[x.length-1].right)return!0;for(var C=x.length-1;C>0;--C)if(x[C-1].left===x[C])return!0;return!1}}),p.update=function(x){var C=this._stack;if(C.length===0)throw new Error("Can't update empty node!");var M=new Array(C.length),g=C[C.length-1];M[M.length-1]=new s(g._color,g.key,x,g.left,g.right,g._count);for(var P=C.length-2;P>=0;--P)g=C[P],g.left===C[P+1]?M[P]=new s(g._color,g.key,g.value,M[P+1],g.right,g._count):M[P]=new s(g._color,g.key,g.value,g.left,M[P+1],g._count);return new f(this.tree._compare,M[0])},p.prev=function(){var x=this._stack;if(x.length!==0){var C=x[x.length-1];if(C.left)for(C=C.left;C;)x.push(C),C=C.right;else for(x.pop();x.length>0&&x[x.length-1].left===C;)C=x[x.length-1],x.pop()}},Object.defineProperty(p,"hasPrev",{get:function(){var x=this._stack;if(x.length===0)return!1;if(x[x.length-1].left)return!0;for(var C=x.length-1;C>0;--C)if(x[C-1].right===x[C])return!0;return!1}});function S(x,C){return xC?1:0}function L(x){return new f(x||S,null)}},3837:function(i,a,o){"use strict";i.exports=q;var s=o(4935),l=o(501),u=o(5304),c=o(6429),f=o(6444),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),v=ArrayBuffer,d=DataView;function _(V){return v.isView(V)&&!(V instanceof d)}function b(V){return Array.isArray(V)||_(V)}function p(V,H){return V[0]=H[0],V[1]=H[1],V[2]=H[2],V}function E(V){this.gl=V,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickFontStyle=["normal","normal","normal"],this.tickFontWeight=["normal","normal","normal"],this.tickFontVariant=["normal","normal","normal"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=["auto","auto","auto"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["sans-serif","sans-serif","sans-serif"],this.labelFontStyle=["normal","normal","normal"],this.labelFontWeight=["normal","normal","normal"],this.labelFontVariant=["normal","normal","normal"],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=["auto","auto","auto"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=u(V)}var k=E.prototype;k.update=function(V){V=V||{};function H(Ae,ze,Ce){if(Ce in V){var me=V[Ce],De=this[Ce],ce;(Ae?b(me)&&b(me[0]):b(me))?this[Ce]=ce=[ze(me[0]),ze(me[1]),ze(me[2])]:this[Ce]=ce=[ze(me),ze(me),ze(me)];for(var Ge=0;Ge<3;++Ge)if(ce[Ge]!==De[Ge])return!0}return!1}var X=H.bind(this,!1,Number),G=H.bind(this,!1,Boolean),N=H.bind(this,!1,String),W=H.bind(this,!0,function(Ae){if(b(Ae)){if(Ae.length===3)return[+Ae[0],+Ae[1],+Ae[2],1];if(Ae.length===4)return[+Ae[0],+Ae[1],+Ae[2],+Ae[3]]}return[0,0,0,1]}),re,ae=!1,_e=!1;if("bounds"in V)for(var Me=V.bounds,ke=0;ke<2;++ke)for(var ge=0;ge<3;++ge)Me[ke][ge]!==this.bounds[ke][ge]&&(_e=!0),this.bounds[ke][ge]=Me[ke][ge];if("ticks"in V){re=V.ticks,ae=!0,this.autoTicks=!1;for(var ke=0;ke<3;++ke)this.tickSpacing[ke]=0}else X("tickSpacing")&&(this.autoTicks=!0,_e=!0);if(this._firstInit&&("ticks"in V||"tickSpacing"in V||(this.autoTicks=!0),_e=!0,ae=!0,this._firstInit=!1),_e&&this.autoTicks&&(re=f.create(this.bounds,this.tickSpacing),ae=!0),ae){for(var ke=0;ke<3;++ke)re[ke].sort(function(ze,Ce){return ze.x-Ce.x});f.equal(re,this.ticks)?ae=!1:this.ticks=re}G("tickEnable"),N("tickFont")&&(ae=!0),N("tickFontStyle")&&(ae=!0),N("tickFontWeight")&&(ae=!0),N("tickFontVariant")&&(ae=!0),X("tickSize"),X("tickAngle"),X("tickPad"),W("tickColor");var ie=N("labels");N("labelFont")&&(ie=!0),N("labelFontStyle")&&(ie=!0),N("labelFontWeight")&&(ie=!0),N("labelFontVariant")&&(ie=!0),G("labelEnable"),X("labelSize"),X("labelPad"),W("labelColor"),G("lineEnable"),G("lineMirror"),X("lineWidth"),W("lineColor"),G("lineTickEnable"),G("lineTickMirror"),X("lineTickLength"),X("lineTickWidth"),W("lineTickColor"),G("gridEnable"),X("gridWidth"),W("gridColor"),G("zeroEnable"),W("zeroLineColor"),X("zeroLineWidth"),G("backgroundEnable"),W("backgroundColor");var Te=[{family:this.labelFont[0],style:this.labelFontStyle[0],weight:this.labelFontWeight[0],variant:this.labelFontVariant[0]},{family:this.labelFont[1],style:this.labelFontStyle[1],weight:this.labelFontWeight[1],variant:this.labelFontVariant[1]},{family:this.labelFont[2],style:this.labelFontStyle[2],weight:this.labelFontWeight[2],variant:this.labelFontVariant[2]}],Ee=[{family:this.tickFont[0],style:this.tickFontStyle[0],weight:this.tickFontWeight[0],variant:this.tickFontVariant[0]},{family:this.tickFont[1],style:this.tickFontStyle[1],weight:this.tickFontWeight[1],variant:this.tickFontVariant[1]},{family:this.tickFont[2],style:this.tickFontStyle[2],weight:this.tickFontWeight[2],variant:this.tickFontVariant[2]}];this._text?this._text&&(ie||ae)&&this._text.update(this.bounds,this.labels,Te,this.ticks,Ee):this._text=s(this.gl,this.bounds,this.labels,Te,this.ticks,Ee),this._lines&&ae&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=l(this.gl,this.bounds,this.ticks))};function S(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}var L=[new S,new S,new S];function x(V,H,X,G,N){for(var W=V.primalOffset,re=V.primalMinor,ae=V.mirrorOffset,_e=V.mirrorMinor,Me=G[H],ke=0;ke<3;++ke)if(H!==ke){var ge=W,ie=ae,Te=re,Ee=_e;Me&1<0?(Te[ke]=-1,Ee[ke]=0):(Te[ke]=0,Ee[ke]=1)}}var C=[0,0,0],M={model:h,view:h,projection:h,_ortho:!1};k.isOpaque=function(){return!0},k.isTransparent=function(){return!1},k.drawTransparent=function(V){};var g=0,P=[0,0,0],T=[0,0,0],F=[0,0,0];k.draw=function(V){V=V||M;for(var Ce=this.gl,H=V.model||h,X=V.view||h,G=V.projection||h,N=this.bounds,W=V._ortho||!1,re=c(H,X,G,N,W),ae=re.cubeEdges,_e=re.axis,Me=X[12],ke=X[13],ge=X[14],ie=X[15],Te=W?2:1,Ee=Te*this.pixelRatio*(G[3]*Me+G[7]*ke+G[11]*ge+G[15]*ie)/Ce.drawingBufferHeight,Ae=0;Ae<3;++Ae)this.lastCubeProps.cubeEdges[Ae]=ae[Ae],this.lastCubeProps.axis[Ae]=_e[Ae];for(var ze=L,Ae=0;Ae<3;++Ae)x(L[Ae],Ae,this.bounds,ae,_e);for(var Ce=this.gl,me=C,Ae=0;Ae<3;++Ae)this.backgroundEnable[Ae]?me[Ae]=_e[Ae]:me[Ae]=0;this._background.draw(H,X,G,N,me,this.backgroundColor),this._lines.bind(H,X,G,this);for(var Ae=0;Ae<3;++Ae){var De=[0,0,0];_e[Ae]>0?De[Ae]=N[1][Ae]:De[Ae]=N[0][Ae];for(var ce=0;ce<2;++ce){var Ge=(Ae+1+ce)%3,nt=(Ae+1+(ce^1))%3;this.gridEnable[Ge]&&this._lines.drawGrid(Ge,nt,this.bounds,De,this.gridColor[Ge],this.gridWidth[Ge]*this.pixelRatio)}for(var ce=0;ce<2;++ce){var Ge=(Ae+1+ce)%3,nt=(Ae+1+(ce^1))%3;this.zeroEnable[nt]&&Math.min(N[0][nt],N[1][nt])<=0&&Math.max(N[0][nt],N[1][nt])>=0&&this._lines.drawZero(Ge,nt,this.bounds,De,this.zeroLineColor[nt],this.zeroLineWidth[nt]*this.pixelRatio)}}for(var Ae=0;Ae<3;++Ae){this.lineEnable[Ae]&&this._lines.drawAxisLine(Ae,this.bounds,ze[Ae].primalOffset,this.lineColor[Ae],this.lineWidth[Ae]*this.pixelRatio),this.lineMirror[Ae]&&this._lines.drawAxisLine(Ae,this.bounds,ze[Ae].mirrorOffset,this.lineColor[Ae],this.lineWidth[Ae]*this.pixelRatio);for(var ct=p(P,ze[Ae].primalMinor),qt=p(T,ze[Ae].mirrorMinor),rt=this.lineTickLength,ce=0;ce<3;++ce){var ot=Ee/H[5*ce];ct[ce]*=rt[ce]*ot,qt[ce]*=rt[ce]*ot}this.lineTickEnable[Ae]&&this._lines.drawAxisTicks(Ae,ze[Ae].primalOffset,ct,this.lineTickColor[Ae],this.lineTickWidth[Ae]*this.pixelRatio),this.lineTickMirror[Ae]&&this._lines.drawAxisTicks(Ae,ze[Ae].mirrorOffset,qt,this.lineTickColor[Ae],this.lineTickWidth[Ae]*this.pixelRatio)}this._lines.unbind(),this._text.bind(H,X,G,this.pixelRatio);var It,kt=.5,Ct,Yt;function mr(St){Yt=[0,0,0],Yt[St]=1}function er(St,Et,dt){var Ht=(St+1)%3,$t=(St+2)%3,fr=Et[Ht],xr=Et[$t],Br=dt[Ht],Or=dt[$t];if(fr>0&&Or>0){mr(Ht);return}else if(fr>0&&Or<0){mr(Ht);return}else if(fr<0&&Or>0){mr(Ht);return}else if(fr<0&&Or<0){mr(Ht);return}else if(xr>0&&Br>0){mr($t);return}else if(xr>0&&Br<0){mr($t);return}else if(xr<0&&Br>0){mr($t);return}else if(xr<0&&Br<0){mr($t);return}}for(var Ae=0;Ae<3;++Ae){for(var Ke=ze[Ae].primalMinor,bt=ze[Ae].mirrorMinor,xt=p(F,ze[Ae].primalOffset),ce=0;ce<3;++ce)this.lineTickEnable[Ae]&&(xt[ce]+=Ee*Ke[ce]*Math.max(this.lineTickLength[ce],0)/H[5*ce]);var Lt=[0,0,0];if(Lt[Ae]=1,this.tickEnable[Ae]){this.tickAngle[Ae]===-3600?(this.tickAngle[Ae]=0,this.tickAlign[Ae]="auto"):this.tickAlign[Ae]=-1,Ct=1,It=[this.tickAlign[Ae],kt,Ct],It[0]==="auto"?It[0]=g:It[0]=parseInt(""+It[0]),Yt=[0,0,0],er(Ae,Ke,bt);for(var ce=0;ce<3;++ce)xt[ce]+=Ee*Ke[ce]*this.tickPad[ce]/H[5*ce];this._text.drawTicks(Ae,this.tickSize[Ae],this.tickAngle[Ae],xt,this.tickColor[Ae],Lt,Yt,It)}if(this.labelEnable[Ae]){Ct=0,Yt=[0,0,0],this.labels[Ae].length>4&&(mr(Ae),Ct=1),It=[this.labelAlign[Ae],kt,Ct],It[0]==="auto"?It[0]=g:It[0]=parseInt(""+It[0]);for(var ce=0;ce<3;++ce)xt[ce]+=Ee*Ke[ce]*this.labelPad[ce]/H[5*ce];xt[Ae]+=.5*(N[0][Ae]+N[1][Ae]),this._text.drawLabel(Ae,this.labelSize[Ae],this.labelAngle[Ae],xt,this.labelColor[Ae],[0,0,0],Yt,It)}}this._text.unbind()},k.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function q(V,H){var X=new E(V);return X.update(H),X}},5304:function(i,a,o){"use strict";i.exports=h;var s=o(2762),l=o(8116),u=o(1879).bg;function c(v,d,_,b){this.gl=v,this.buffer=d,this.vao=_,this.shader=b}var f=c.prototype;f.draw=function(v,d,_,b,p,E){for(var k=!1,S=0;S<3;++S)k=k||p[S];if(k){var L=this.gl;L.enable(L.POLYGON_OFFSET_FILL),L.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:v,view:d,projection:_,bounds:b,enable:p,colors:E},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),L.disable(L.POLYGON_OFFSET_FILL)}},f.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function h(v){for(var d=[],_=[],b=0,p=0;p<3;++p)for(var E=(p+1)%3,k=(p+2)%3,S=[0,0,0],L=[0,0,0],x=-1;x<=1;x+=2){_.push(b,b+2,b+1,b+1,b+2,b+3),S[p]=x,L[p]=x;for(var C=-1;C<=1;C+=2){S[E]=C;for(var M=-1;M<=1;M+=2)S[k]=M,d.push(S[0],S[1],S[2],L[0],L[1],L[2]),b+=1}var g=E;E=k,k=g}var P=s(v,new Float32Array(d)),T=s(v,new Uint16Array(_),v.ELEMENT_ARRAY_BUFFER),F=l(v,[{buffer:P,type:v.FLOAT,size:3,offset:0,stride:24},{buffer:P,type:v.FLOAT,size:3,offset:12,stride:24}],T),q=u(v);return q.attributes.position.location=0,q.attributes.normal.location=1,new c(v,P,F,q)}},6429:function(i,a,o){"use strict";i.exports=x;var s=o(8828),l=o(6760),u=o(5202),c=o(3250),f=new Array(16),h=new Array(8),v=new Array(8),d=new Array(3),_=[0,0,0];(function(){for(var C=0;C<8;++C)h[C]=[1,1,1,1],v[C]=[1,1,1]})();function b(C,M,g){for(var P=0;P<4;++P){C[P]=g[12+P];for(var T=0;T<3;++T)C[P]+=M[T]*g[4*T+P]}}var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function E(C){for(var M=0;M_e&&(X|=1<_e){X|=1<v[q][1])&&(ze=q);for(var Ce=-1,q=0;q<3;++q){var me=ze^1<v[De][0]&&(De=me)}}var ce=k;ce[0]=ce[1]=ce[2]=0,ce[s.log2(Ce^ze)]=ze&Ce,ce[s.log2(ze^De)]=ze&De;var Ge=De^7;Ge===X||Ge===Ae?(Ge=Ce^7,ce[s.log2(De^Ge)]=Ge&De):ce[s.log2(Ce^Ge)]=Ge&Ce;for(var nt=S,ct=X,W=0;W<3;++W)ct&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ? + b - PI : + b; +} + +float look_horizontal_or_vertical(float a, float ratio) { + // ratio controls the ratio between being horizontal to (vertical + horizontal) + // if ratio is set to 0.5 then it is 50%, 50%. + // when using a higher ratio e.g. 0.75 the result would + // likely be more horizontal than vertical. + + float b = positive_angle(a); + + return + (b < ( ratio) * HALF_PI) ? 0.0 : + (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI : + (b < (2.0 + ratio) * HALF_PI) ? 0.0 : + (b < (4.0 - ratio) * HALF_PI) ? HALF_PI : + 0.0; +} + +float roundTo(float a, float b) { + return float(b * floor((a + 0.5 * b) / b)); +} + +float look_round_n_directions(float a, int n) { + float b = positive_angle(a); + float div = TWO_PI / float(n); + float c = roundTo(b, div); + return look_upwards(c); +} + +float applyAlignOption(float rawAngle, float delta) { + return + (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions + (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical + (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis + (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards + (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal + rawAngle; // otherwise return back raw input angle +} + +bool isAxisTitle = (axis.x == 0.0) && + (axis.y == 0.0) && + (axis.z == 0.0); + +void main() { + //Compute world offset + float axisDistance = position.z; + vec3 dataPosition = axisDistance * axis + offset; + + float beta = angle; // i.e. user defined attributes for each tick + + float axisAngle; + float clipAngle; + float flip; + + if (enableAlign) { + axisAngle = (isAxisTitle) ? HALF_PI : + computeViewAngle(dataPosition, dataPosition + axis); + clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir); + + axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0; + clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0; + + flip = (dot(vec2(cos(axisAngle), sin(axisAngle)), + vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0; + + beta += applyAlignOption(clipAngle, flip * PI); + } + + //Compute plane offset + vec2 planeCoord = position.xy * pixelScale; + + mat2 planeXform = scale * mat2( + cos(beta), sin(beta), + -sin(beta), cos(beta) + ); + + vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution; + + //Compute clip position + vec3 clipPosition = project(dataPosition); + + //Apply text offset in clip coordinates + clipPosition += vec3(viewOffset, 0.0); + + //Done + gl_Position = vec4(clipPosition, 1.0); +} +`]),h=s([`precision highp float; +#define GLSLIFY 1 + +uniform vec4 color; +void main() { + gl_FragColor = color; +}`]);a.Q=function(_){return l(_,f,h,null,[{name:"position",type:"vec3"}])};var v=s([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; +attribute vec3 normal; + +uniform mat4 model, view, projection; +uniform vec3 enable; +uniform vec3 bounds[2]; + +varying vec3 colorChannel; + +void main() { + + vec3 signAxis = sign(bounds[1] - bounds[0]); + + vec3 realNormal = signAxis * normal; + + if(dot(realNormal, enable) > 0.0) { + vec3 minRange = min(bounds[0], bounds[1]); + vec3 maxRange = max(bounds[0], bounds[1]); + vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0)); + gl_Position = projection * (view * (model * vec4(nPosition, 1.0))); + } else { + gl_Position = vec4(0,0,0,0); + } + + colorChannel = abs(realNormal); +} +`]),d=s([`precision highp float; +#define GLSLIFY 1 + +uniform vec4 colors[3]; + +varying vec3 colorChannel; + +void main() { + gl_FragColor = colorChannel.x * colors[0] + + colorChannel.y * colors[1] + + colorChannel.z * colors[2]; +}`]);a.bg=function(_){return l(_,v,d,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},4935:function(i,a,o){"use strict";i.exports=E;var s=o(2762),l=o(8116),u=o(4359),c=o(1879).Q,f=window||process.global||{},h=f.__TEXT_CACHE||{};f.__TEXT_CACHE={};var v=3;function d(k,S,L,x){this.gl=k,this.shader=S,this.buffer=L,this.vao=x,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var _=d.prototype,b=[0,0];_.bind=function(k,S,L,x){this.vao.bind(),this.shader.bind();var C=this.shader.uniforms;C.model=k,C.view=S,C.projection=L,C.pixelScale=x,b[0]=this.gl.drawingBufferWidth,b[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=b},_.unbind=function(){this.vao.unbind()},_.update=function(k,S,L,x,C){var M=[];function g(W,re,ae,_e,Me,ke){var ge=[ae.style,ae.weight,ae.variant,ae.family].join("_"),ie=h[ge];ie||(ie=h[ge]={});var Te=ie[re];Te||(Te=ie[re]=p(re,{triangles:!0,font:ae.family,fontStyle:ae.style,fontWeight:ae.weight,fontVariant:ae.variant,textAlign:"center",textBaseline:"middle",lineSpacing:Me,styletags:ke}));for(var Ee=(_e||12)/12,Ae=Te.positions,ze=Te.cells,Ce=0,me=ze.length;Ce=0;--ce){var Ge=Ae[De[ce]];M.push(Ee*Ge[0],-Ee*Ge[1],W)}}for(var P=[0,0,0],T=[0,0,0],F=[0,0,0],q=[0,0,0],V=1.25,H={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},X=0;X<3;++X){F[X]=M.length/v|0,g(.5*(k[0][X]+k[1][X]),S[X],L[X],12,V,H),q[X]=(M.length/v|0)-F[X],P[X]=M.length/v|0;for(var G=0;G=0&&(v=f.length-h-1);var d=Math.pow(10,v),_=Math.round(u*c*d),b=_+"";if(b.indexOf("e")>=0)return b;var p=_/d,E=_%d;_<0?(p=-Math.ceil(p)|0,E=-E|0):(p=Math.floor(p)|0,E=E|0);var k=""+p;if(_<0&&(k="-"+k),v){for(var S=""+E;S.length=u[0][h];--_)v.push({x:_*c[h],text:o(c[h],_)});f.push(v)}return f}function l(u,c){for(var f=0;f<3;++f){if(u[f].length!==c[f].length)return!1;for(var h=0;hk)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return p.bufferSubData(E,x,L),k}function d(p,E){for(var k=s.malloc(p.length,E),S=p.length,L=0;L=0;--S){if(E[S]!==k)return!1;k*=p[S]}return!0}h.update=function(p,E){if(typeof E!="number"&&(E=-1),this.bind(),typeof p=="object"&&typeof p.shape!="undefined"){var k=p.dtype;if(c.indexOf(k)<0&&(k="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var S=gl.getExtension("OES_element_index_uint");S&&k!=="uint16"?k="uint32":k="uint16"}if(k===p.dtype&&_(p.shape,p.stride))p.offset===0&&p.data.length===p.shape[0]?this.length=v(this.gl,this.type,this.length,this.usage,p.data,E):this.length=v(this.gl,this.type,this.length,this.usage,p.data.subarray(p.offset,p.shape[0]),E);else{var L=s.malloc(p.size,k),x=u(L,p.shape);l.assign(x,p),E<0?this.length=v(this.gl,this.type,this.length,this.usage,L,E):this.length=v(this.gl,this.type,this.length,this.usage,L.subarray(0,p.size),E),s.free(L)}}else if(Array.isArray(p)){var C;this.type===this.gl.ELEMENT_ARRAY_BUFFER?C=d(p,"uint16"):C=d(p,"float32"),E<0?this.length=v(this.gl,this.type,this.length,this.usage,C,E):this.length=v(this.gl,this.type,this.length,this.usage,C.subarray(0,p.length),E),s.free(C)}else if(typeof p=="object"&&typeof p.length=="number")this.length=v(this.gl,this.type,this.length,this.usage,p,E);else if(typeof p=="number"||p===void 0){if(E>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");p=p|0,p<=0&&(p=1),this.gl.bufferData(this.type,p|0,this.usage),this.length=p}else throw new Error("gl-buffer: Invalid data type")};function b(p,E,k,S){if(k=k||p.ARRAY_BUFFER,S=S||p.DYNAMIC_DRAW,k!==p.ARRAY_BUFFER&&k!==p.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(S!==p.DYNAMIC_DRAW&&S!==p.STATIC_DRAW&&S!==p.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var L=p.createBuffer(),x=new f(p,k,L,0,S);return x.update(E),x}i.exports=b},6405:function(i,a,o){"use strict";var s=o(2931);i.exports=function(u,c){var f=u.positions,h=u.vectors,v={positions:[],vertexIntensity:[],vertexIntensityBounds:u.vertexIntensityBounds,vectors:[],cells:[],coneOffset:u.coneOffset,colormap:u.colormap};if(u.positions.length===0)return c&&(c[0]=[0,0,0],c[1]=[0,0,0]),v;for(var d=0,_=1/0,b=-1/0,p=1/0,E=-1/0,k=1/0,S=-1/0,L=null,x=null,C=[],M=1/0,g=!1,P=u.coneSizemode==="raw",T=0;Td&&(d=s.length(q)),T&&!P){var V=2*s.distance(L,F)/(s.length(x)+s.length(q));V?(M=Math.min(M,V),g=!1):g=!0}g||(L=F,x=q),C.push(q)}var H=[_,p,k],X=[b,E,S];c&&(c[0]=H,c[1]=X),d===0&&(d=1);var G=1/d;isFinite(M)||(M=1),v.vectorScale=M;var N=u.coneSize||(P?1:.5);u.absoluteConeSize&&(N=u.absoluteConeSize*G),v.coneScale=N;for(var T=0,W=0;T=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(C){this.pickId=C};function E(C){for(var M=d({colormap:C,nshades:256,format:"rgba"}),g=new Uint8Array(256*4),P=0;P<256;++P){for(var T=M[P],F=0;F<3;++F)g[4*P+F]=T[F];g[4*P+3]=T[3]*255}return v(g,[256,256,4],[4,0,1])}function k(C){for(var M=C.length,g=new Array(M),P=0;P0){var W=this.triShader;W.bind(),W.uniforms=V,this.triangleVAO.bind(),M.drawArrays(M.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},p.drawPick=function(C){C=C||{};for(var M=this.gl,g=C.model||_,P=C.view||_,T=C.projection||_,F=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],q=0;q<3;++q)F[0][q]=Math.max(F[0][q],this.clipBounds[0][q]),F[1][q]=Math.min(F[1][q],this.clipBounds[1][q]);this._model=[].slice.call(g),this._view=[].slice.call(P),this._projection=[].slice.call(T),this._resolution=[M.drawingBufferWidth,M.drawingBufferHeight];var V={model:g,view:P,projection:T,clipBounds:F,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},H=this.pickShader;H.bind(),H.uniforms=V,this.triangleCount>0&&(this.triangleVAO.bind(),M.drawArrays(M.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},p.pick=function(C){if(!C||C.id!==this.pickId)return null;var M=C.value[0]+256*C.value[1]+65536*C.value[2],g=this.cells[M],P=this.positions[g[1]].slice(0,3),T={position:P,dataCoordinate:P,index:Math.floor(g[1]/48)};return this.traceType==="cone"?T.index=Math.floor(g[1]/48):this.traceType==="streamtube"&&(T.intensity=this.intensity[g[1]],T.velocity=this.vectors[g[1]].slice(0,3),T.divergence=this.vectors[g[1]][3],T.index=M),T},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()};function S(C,M){var g=s(C,M.meshShader.vertex,M.meshShader.fragment,null,M.meshShader.attributes);return g.attributes.position.location=0,g.attributes.color.location=2,g.attributes.uv.location=3,g.attributes.vector.location=4,g}function L(C,M){var g=s(C,M.pickShader.vertex,M.pickShader.fragment,null,M.pickShader.attributes);return g.attributes.position.location=0,g.attributes.id.location=1,g.attributes.vector.location=4,g}function x(C,M,g){var P=g.shaders;arguments.length===1&&(M=C,C=M.gl);var T=S(C,P),F=L(C,P),q=c(C,v(new Uint8Array([255,255,255,255]),[1,1,4]));q.generateMipmap(),q.minFilter=C.LINEAR_MIPMAP_LINEAR,q.magFilter=C.LINEAR;var V=l(C),H=l(C),X=l(C),G=l(C),N=l(C),W=u(C,[{buffer:V,type:C.FLOAT,size:4},{buffer:N,type:C.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:X,type:C.FLOAT,size:4},{buffer:G,type:C.FLOAT,size:2},{buffer:H,type:C.FLOAT,size:4}]),re=new b(C,q,T,F,V,H,N,X,G,W,g.traceType||"cone");return re.update(M),re}i.exports=x},614:function(i,a,o){var s=o(3236),l=s([`precision highp float; + +precision highp float; +#define GLSLIFY 1 + +vec3 getOrthogonalVector(vec3 v) { + // Return up-vector for only-z vector. + // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0). + // From the above if-statement we have ||a|| > 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} + +// Calculate the cone vertex and normal at the given index. +// +// The returned vertex is for a cone with its top at origin and height of 1.0, +// pointing in the direction of the vector attribute. +// +// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices. +// These vertices are used to make up the triangles of the cone by the following: +// segment + 0 top vertex +// segment + 1 perimeter vertex a+1 +// segment + 2 perimeter vertex a +// segment + 3 center base vertex +// segment + 4 perimeter vertex a +// segment + 5 perimeter vertex a+1 +// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment. +// To go from index to segment, floor(index / 6) +// To go from segment to angle, 2*pi * (segment/segmentCount) +// To go from index to segment index, index - (segment*6) +// +vec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) { + + const float segmentCount = 8.0; + + float index = rawIndex - floor(rawIndex / + (segmentCount * 6.0)) * + (segmentCount * 6.0); + + float segment = floor(0.001 + index/6.0); + float segmentIndex = index - (segment*6.0); + + normal = -normalize(d); + + if (segmentIndex > 2.99 && segmentIndex < 3.01) { + return mix(vec3(0.0), -d, coneOffset); + } + + float nextAngle = ( + (segmentIndex > 0.99 && segmentIndex < 1.01) || + (segmentIndex > 4.99 && segmentIndex < 5.01) + ) ? 1.0 : 0.0; + float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount); + + vec3 v1 = mix(d, vec3(0.0), coneOffset); + vec3 v2 = v1 - d; + + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); + + vec3 x = u * cos(angle) * length(d)*0.25; + vec3 y = v * sin(angle) * length(d)*0.25; + vec3 v3 = v2 + x + y; + if (segmentIndex < 3.0) { + vec3 tx = u * sin(angle); + vec3 ty = v * -cos(angle); + vec3 tangent = tx + ty; + normal = normalize(cross(v3 - v1, tangent)); + } + + if (segmentIndex == 0.0) { + return mix(d, vec3(0.0), coneOffset); + } + return v3; +} + +attribute vec3 vector; +attribute vec4 color, position; +attribute vec2 uv; + +uniform float vectorScale, coneScale, coneOffset; +uniform mat4 model, view, projection, inverseModel; +uniform vec3 eyePosition, lightPosition; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + // Scale the vector magnitude to stay constant with + // model & view changes. + vec3 normal; + vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal); + vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * conePosition; + cameraCoordinate.xyz /= cameraCoordinate.w; + f_lightDirection = lightPosition - cameraCoordinate.xyz; + f_eyeDirection = eyePosition - cameraCoordinate.xyz; + f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz); + + // vec4 m_position = model * vec4(conePosition, 1.0); + vec4 t_position = view * conePosition; + gl_Position = projection * t_position; + + f_color = color; + f_data = conePosition.xyz; + f_position = position.xyz; + f_uv = uv; +} +`]),u=s([`#extension GL_OES_standard_derivatives : enable + +precision highp float; +#define GLSLIFY 1 + +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; +} + +float cookTorranceSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness, + float fresnel) { + + float VdotN = max(dot(viewDirection, surfaceNormal), 0.0); + float LdotN = max(dot(lightDirection, surfaceNormal), 0.0); + + //Half angle vector + vec3 H = normalize(lightDirection + viewDirection); + + //Geometric term + float NdotH = max(dot(surfaceNormal, H), 0.0); + float VdotH = max(dot(viewDirection, H), 0.000001); + float LdotH = max(dot(lightDirection, H), 0.000001); + float G1 = (2.0 * NdotH * VdotN) / VdotH; + float G2 = (2.0 * NdotH * LdotN) / LdotH; + float G = min(1.0, min(G1, G2)); + + //Distribution term + float D = beckmannDistribution(NdotH, roughness); + + //Fresnel term + float F = pow(1.0 - VdotN, fresnel); + + //Multiply terms and done + return G * F * D / max(3.14159265 * VdotN, 0.000001); +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; +uniform sampler2D texture; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + vec3 N = normalize(f_normal); + vec3 L = normalize(f_lightDirection); + vec3 V = normalize(f_eyeDirection); + + if(gl_FrontFacing) { + N = -N; + } + + float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel))); + float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); + + vec4 surfaceColor = f_color * texture2D(texture, f_uv); + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); + + gl_FragColor = litColor * opacity; +} +`]),c=s([`precision highp float; + +precision highp float; +#define GLSLIFY 1 + +vec3 getOrthogonalVector(vec3 v) { + // Return up-vector for only-z vector. + // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0). + // From the above if-statement we have ||a|| > 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} + +// Calculate the cone vertex and normal at the given index. +// +// The returned vertex is for a cone with its top at origin and height of 1.0, +// pointing in the direction of the vector attribute. +// +// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices. +// These vertices are used to make up the triangles of the cone by the following: +// segment + 0 top vertex +// segment + 1 perimeter vertex a+1 +// segment + 2 perimeter vertex a +// segment + 3 center base vertex +// segment + 4 perimeter vertex a +// segment + 5 perimeter vertex a+1 +// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment. +// To go from index to segment, floor(index / 6) +// To go from segment to angle, 2*pi * (segment/segmentCount) +// To go from index to segment index, index - (segment*6) +// +vec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) { + + const float segmentCount = 8.0; + + float index = rawIndex - floor(rawIndex / + (segmentCount * 6.0)) * + (segmentCount * 6.0); + + float segment = floor(0.001 + index/6.0); + float segmentIndex = index - (segment*6.0); + + normal = -normalize(d); + + if (segmentIndex > 2.99 && segmentIndex < 3.01) { + return mix(vec3(0.0), -d, coneOffset); + } + + float nextAngle = ( + (segmentIndex > 0.99 && segmentIndex < 1.01) || + (segmentIndex > 4.99 && segmentIndex < 5.01) + ) ? 1.0 : 0.0; + float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount); + + vec3 v1 = mix(d, vec3(0.0), coneOffset); + vec3 v2 = v1 - d; + + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); + + vec3 x = u * cos(angle) * length(d)*0.25; + vec3 y = v * sin(angle) * length(d)*0.25; + vec3 v3 = v2 + x + y; + if (segmentIndex < 3.0) { + vec3 tx = u * sin(angle); + vec3 ty = v * -cos(angle); + vec3 tangent = tx + ty; + normal = normalize(cross(v3 - v1, tangent)); + } + + if (segmentIndex == 0.0) { + return mix(d, vec3(0.0), coneOffset); + } + return v3; +} + +attribute vec4 vector; +attribute vec4 position; +attribute vec4 id; + +uniform mat4 model, view, projection; +uniform float vectorScale, coneScale, coneOffset; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + vec3 normal; + vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal); + vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + gl_Position = projection * (view * conePosition); + f_id = id; + f_position = position.xyz; +} +`]),f=s([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + + gl_FragColor = vec4(pickId, f_id.xyz); +}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},737:function(i){i.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},5171:function(i,a,o){var s=o(737);i.exports=function(u){return s[u]}},9165:function(i,a,o){"use strict";i.exports=b;var s=o(2762),l=o(8116),u=o(3436),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(p,E,k,S){this.gl=p,this.shader=S,this.buffer=E,this.vao=k,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var h=f.prototype;h.isOpaque=function(){return!this.hasAlpha},h.isTransparent=function(){return this.hasAlpha},h.drawTransparent=h.draw=function(p){var E=this.gl,k=this.shader.uniforms;this.shader.bind();var S=k.view=p.view||c,L=k.projection=p.projection||c;k.model=p.model||c,k.clipBounds=this.clipBounds,k.opacity=this.opacity;var x=S[12],C=S[13],M=S[14],g=S[15],P=p._ortho||!1,T=P?2:1,F=T*this.pixelRatio*(L[3]*x+L[7]*C+L[11]*M+L[15]*g)/E.drawingBufferHeight;this.vao.bind();for(var q=0;q<3;++q)E.lineWidth(this.lineWidth[q]*this.pixelRatio),k.capSize=this.capSize[q]*F,this.lineCount[q]&&E.drawArrays(E.LINES,this.lineOffset[q],this.lineCount[q]);this.vao.unbind()};function v(p,E){for(var k=0;k<3;++k)p[0][k]=Math.min(p[0][k],E[k]),p[1][k]=Math.max(p[1][k],E[k])}var d=function(){for(var p=new Array(3),E=0;E<3;++E){for(var k=[],S=1;S<=2;++S)for(var L=-1;L<=1;L+=2){var x=(S+E)%3,C=[0,0,0];C[x]=L,k.push(C)}p[E]=k}return p}();function _(p,E,k,S){for(var L=d[S],x=0;x0){var V=P.slice();V[M]+=F[1][M],L.push(P[0],P[1],P[2],q[0],q[1],q[2],q[3],0,0,0,V[0],V[1],V[2],q[0],q[1],q[2],q[3],0,0,0),v(this.bounds,V),C+=2+_(L,V,q,M)}}}this.lineCount[M]=C-this.lineOffset[M]}this.buffer.update(L)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function b(p){var E=p.gl,k=s(E),S=l(E,[{buffer:k,type:E.FLOAT,size:3,offset:0,stride:40},{buffer:k,type:E.FLOAT,size:4,offset:12,stride:40},{buffer:k,type:E.FLOAT,size:3,offset:28,stride:40}]),L=u(E);L.attributes.position.location=0,L.attributes.color.location=1,L.attributes.offset.location=2;var x=new f(E,k,S,L);return x.update(p),x}},3436:function(i,a,o){"use strict";var s=o(3236),l=o(9405),u=s([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position, offset; +attribute vec4 color; +uniform mat4 model, view, projection; +uniform float capSize; +varying vec4 fragColor; +varying vec3 fragPosition; + +void main() { + vec4 worldPosition = model * vec4(position, 1.0); + worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0); + gl_Position = projection * (view * worldPosition); + fragColor = color; + fragPosition = position; +}`]),c=s([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float opacity; +varying vec3 fragPosition; +varying vec4 fragColor; + +void main() { + if ( + outOfRange(clipBounds[0], clipBounds[1], fragPosition) || + fragColor.a * opacity == 0. + ) discard; + + gl_FragColor = opacity * fragColor; +}`]);i.exports=function(f){return l(f,u,c,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(i,a,o){"use strict";var s=o(7766);i.exports=C;var l=null,u,c,f,h;function v(M){var g=M.getParameter(M.FRAMEBUFFER_BINDING),P=M.getParameter(M.RENDERBUFFER_BINDING),T=M.getParameter(M.TEXTURE_BINDING_2D);return[g,P,T]}function d(M,g){M.bindFramebuffer(M.FRAMEBUFFER,g[0]),M.bindRenderbuffer(M.RENDERBUFFER,g[1]),M.bindTexture(M.TEXTURE_2D,g[2])}function _(M,g){var P=M.getParameter(g.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(P+1);for(var T=0;T<=P;++T){for(var F=new Array(P),q=0;q1&&H.drawBuffersWEBGL(l[V]);var re=P.getExtension("WEBGL_depth_texture");re?X?M.depth=p(P,F,q,re.UNSIGNED_INT_24_8_WEBGL,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):G&&(M.depth=p(P,F,q,P.UNSIGNED_SHORT,P.DEPTH_COMPONENT,P.DEPTH_ATTACHMENT)):G&&X?M._depth_rb=E(P,F,q,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):G?M._depth_rb=E(P,F,q,P.DEPTH_COMPONENT16,P.DEPTH_ATTACHMENT):X&&(M._depth_rb=E(P,F,q,P.STENCIL_INDEX,P.STENCIL_ATTACHMENT));var ae=P.checkFramebufferStatus(P.FRAMEBUFFER);if(ae!==P.FRAMEBUFFER_COMPLETE){M._destroyed=!0,P.bindFramebuffer(P.FRAMEBUFFER,null),P.deleteFramebuffer(M.handle),M.handle=null,M.depth&&(M.depth.dispose(),M.depth=null),M._depth_rb&&(P.deleteRenderbuffer(M._depth_rb),M._depth_rb=null);for(var W=0;WF||P<0||P>F)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");M._shape[0]=g,M._shape[1]=P;for(var q=v(T),V=0;Vq||P<0||P>q)throw new Error("gl-fbo: Parameters are too large for FBO");T=T||{};var V=1;if("color"in T){if(V=Math.max(T.color|0,0),V<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(V>1)if(F){if(V>M.getParameter(F.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+V+" draw buffers")}else throw new Error("gl-fbo: Multiple draw buffer extension not supported")}var H=M.UNSIGNED_BYTE,X=M.getExtension("OES_texture_float");if(T.float&&V>0){if(!X)throw new Error("gl-fbo: Context does not support floating point textures");H=M.FLOAT}else T.preferFloat&&V>0&&X&&(H=M.FLOAT);var G=!0;"depth"in T&&(G=!!T.depth);var N=!1;return"stencil"in T&&(N=!!T.stencil),new S(M,g,P,H,V,G,N,F)}},2992:function(i,a,o){var s=o(3387).sprintf,l=o(5171),u=o(1848),c=o(1085);i.exports=f;function f(h,v,d){"use strict";var _=u(v)||"of unknown name (see npm glsl-shader-name)",b="unknown type";d!==void 0&&(b=d===l.FRAGMENT_SHADER?"fragment":"vertex");for(var p=s(`Error compiling %s shader %s: +`,b,_),E=s("%s%s",p,h),k=h.split(` +`),S={},L=0;L max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform sampler2D dashTexture; +uniform float dashScale; +uniform float opacity; + +varying vec3 worldPosition; +varying float pixelArcLength; +varying vec4 fragColor; + +void main() { + if ( + outOfRange(clipBounds[0], clipBounds[1], worldPosition) || + fragColor.a * opacity == 0. + ) discard; + + float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r; + if(dashWeight < 0.5) { + discard; + } + gl_FragColor = fragColor * opacity; +} +`]),f=s([`precision highp float; +#define GLSLIFY 1 + +#define FLOAT_MAX 1.70141184e38 +#define FLOAT_MIN 1.17549435e-38 + +// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl +vec4 packFloat(float v) { + float av = abs(v); + + //Handle special cases + if(av < FLOAT_MIN) { + return vec4(0.0, 0.0, 0.0, 0.0); + } else if(v > FLOAT_MAX) { + return vec4(127.0, 128.0, 0.0, 0.0) / 255.0; + } else if(v < -FLOAT_MAX) { + return vec4(255.0, 128.0, 0.0, 0.0) / 255.0; + } + + vec4 c = vec4(0,0,0,0); + + //Compute exponent and mantissa + float e = floor(log2(av)); + float m = av * pow(2.0, -e) - 1.0; + + //Unpack mantissa + c[1] = floor(128.0 * m); + m -= c[1] / 128.0; + c[2] = floor(32768.0 * m); + m -= c[2] / 32768.0; + c[3] = floor(8388608.0 * m); + + //Unpack exponent + float ebias = e + 127.0; + c[0] = floor(ebias / 2.0); + ebias -= c[0] * 2.0; + c[1] += floor(ebias) * 128.0; + + //Unpack sign bit + c[0] += 128.0 * step(0.0, -v); + + //Scale back to range + return c / 255.0; +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform float pickId; +uniform vec3 clipBounds[2]; + +varying vec3 worldPosition; +varying float pixelArcLength; +varying vec4 fragColor; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard; + + gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz); +}`]),h=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];a.createShader=function(v){return l(v,u,c,null,h)},a.createPickShader=function(v){return l(v,u,f,null,h)}},5714:function(i,a,o){"use strict";i.exports=M;var s=o(2762),l=o(8116),u=o(7766),c=new Uint8Array(4),f=new Float32Array(c.buffer);function h(g,P,T,F){return c[0]=F,c[1]=T,c[2]=P,c[3]=g,f[0]}var v=o(2478),d=o(9618),_=o(7319),b=_.createShader,p=_.createPickShader,E=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(g,P){for(var T=0,F=0;F<3;++F){var q=g[F]-P[F];T+=q*q}return Math.sqrt(T)}function S(g){for(var P=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],T=0;T<3;++T)P[0][T]=Math.max(g[0][T],P[0][T]),P[1][T]=Math.min(g[1][T],P[1][T]);return P}function L(g,P,T,F){this.arcLength=g,this.position=P,this.index=T,this.dataCoordinate=F}function x(g,P,T,F,q,V){this.gl=g,this.shader=P,this.pickShader=T,this.buffer=F,this.vao=q,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=V,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var C=x.prototype;C.isTransparent=function(){return this.hasAlpha},C.isOpaque=function(){return!this.hasAlpha},C.pickSlots=1,C.setPickBase=function(g){this.pickId=g},C.drawTransparent=C.draw=function(g){if(this.vertexCount){var P=this.gl,T=this.shader,F=this.vao;T.bind(),T.uniforms={model:g.model||E,view:g.view||E,projection:g.projection||E,clipBounds:S(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},F.bind(),F.draw(P.TRIANGLE_STRIP,this.vertexCount),F.unbind()}},C.drawPick=function(g){if(this.vertexCount){var P=this.gl,T=this.pickShader,F=this.vao;T.bind(),T.uniforms={model:g.model||E,view:g.view||E,projection:g.projection||E,pickId:this.pickId,clipBounds:S(this.clipBounds),screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},F.bind(),F.draw(P.TRIANGLE_STRIP,this.vertexCount),F.unbind()}},C.update=function(g){var P,T;this.dirty=!0;var F=!!g.connectGaps;"dashScale"in g&&(this.dashScale=g.dashScale),this.hasAlpha=!1,"opacity"in g&&(this.opacity=+g.opacity,this.opacity<1&&(this.hasAlpha=!0));var q=[],V=[],H=[],X=0,G=0,N=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],W=g.position||g.positions;if(W){var re=g.color||g.colors||[0,0,0,1],ae=g.lineWidth||1,_e=!1;e:for(P=1;P0){for(var ge=0;ge<24;++ge)q.push(q[q.length-12]);G+=2,_e=!0}continue e}N[0][T]=Math.min(N[0][T],Me[T],ke[T]),N[1][T]=Math.max(N[1][T],Me[T],ke[T])}var ie,Te;Array.isArray(re[0])?(ie=re.length>P-1?re[P-1]:re.length>0?re[re.length-1]:[0,0,0,1],Te=re.length>P?re[P]:re.length>0?re[re.length-1]:[0,0,0,1]):ie=Te=re,ie.length===3&&(ie=[ie[0],ie[1],ie[2],1]),Te.length===3&&(Te=[Te[0],Te[1],Te[2],1]),!this.hasAlpha&&ie[3]<1&&(this.hasAlpha=!0);var Ee;Array.isArray(ae)?Ee=ae.length>P-1?ae[P-1]:ae.length>0?ae[ae.length-1]:[0,0,0,1]:Ee=ae;var Ae=X;if(X+=k(Me,ke),_e){for(T=0;T<2;++T)q.push(Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,Ee,ie[0],ie[1],ie[2],ie[3]);G+=2,_e=!1}q.push(Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,Ee,ie[0],ie[1],ie[2],ie[3],Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,-Ee,ie[0],ie[1],ie[2],ie[3],ke[0],ke[1],ke[2],Me[0],Me[1],Me[2],X,-Ee,Te[0],Te[1],Te[2],Te[3],ke[0],ke[1],ke[2],Me[0],Me[1],Me[2],X,Ee,Te[0],Te[1],Te[2],Te[3]),G+=4}}if(this.buffer.update(q),V.push(X),H.push(W[W.length-1].slice()),this.bounds=N,this.vertexCount=G,this.points=H,this.arcLength=V,"dashes"in g){var ze=g.dashes,Ce=ze.slice();for(Ce.unshift(0),P=1;P1.0001)return null;T+=P[L]}return Math.abs(T-1)>.001?null:[x,h(d,P),P]}},840:function(i,a,o){var s=o(3236),l=s([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position, normal; +attribute vec4 color; +attribute vec2 uv; + +uniform mat4 model + , view + , projection + , inverseModel; +uniform vec3 eyePosition + , lightPosition; + +varying vec3 f_normal + , f_lightDirection + , f_eyeDirection + , f_data; +varying vec4 f_color; +varying vec2 f_uv; + +vec4 project(vec3 p) { + return projection * (view * (model * vec4(p, 1.0))); +} + +void main() { + gl_Position = project(position); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * vec4(position , 1.0); + cameraCoordinate.xyz /= cameraCoordinate.w; + f_lightDirection = lightPosition - cameraCoordinate.xyz; + f_eyeDirection = eyePosition - cameraCoordinate.xyz; + f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz); + + f_color = color; + f_data = position; + f_uv = uv; +} +`]),u=s([`#extension GL_OES_standard_derivatives : enable + +precision highp float; +#define GLSLIFY 1 + +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; +} + +float cookTorranceSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness, + float fresnel) { + + float VdotN = max(dot(viewDirection, surfaceNormal), 0.0); + float LdotN = max(dot(lightDirection, surfaceNormal), 0.0); + + //Half angle vector + vec3 H = normalize(lightDirection + viewDirection); + + //Geometric term + float NdotH = max(dot(surfaceNormal, H), 0.0); + float VdotH = max(dot(viewDirection, H), 0.000001); + float LdotH = max(dot(lightDirection, H), 0.000001); + float G1 = (2.0 * NdotH * VdotN) / VdotH; + float G2 = (2.0 * NdotH * LdotN) / LdotH; + float G = min(1.0, min(G1, G2)); + + //Distribution term + float D = beckmannDistribution(NdotH, roughness); + + //Fresnel term + float F = pow(1.0 - VdotN, fresnel); + + //Multiply terms and done + return G * F * D / max(3.14159265 * VdotN, 0.000001); +} + +//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float roughness + , fresnel + , kambient + , kdiffuse + , kspecular; +uniform sampler2D texture; + +varying vec3 f_normal + , f_lightDirection + , f_eyeDirection + , f_data; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + if (f_color.a == 0.0 || + outOfRange(clipBounds[0], clipBounds[1], f_data) + ) discard; + + vec3 N = normalize(f_normal); + vec3 L = normalize(f_lightDirection); + vec3 V = normalize(f_eyeDirection); + + if(gl_FrontFacing) { + N = -N; + } + + float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel))); + //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d + + float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); + + vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv); + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); + + gl_FragColor = litColor * f_color.a; +} +`]),c=s([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; +attribute vec4 color; +attribute vec2 uv; + +uniform mat4 model, view, projection; + +varying vec4 f_color; +varying vec3 f_data; +varying vec2 f_uv; + +void main() { + gl_Position = projection * (view * (model * vec4(position, 1.0))); + f_color = color; + f_data = position; + f_uv = uv; +}`]),f=s([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform sampler2D texture; +uniform float opacity; + +varying vec4 f_color; +varying vec3 f_data; +varying vec2 f_uv; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard; + + gl_FragColor = f_color * texture2D(texture, f_uv) * opacity; +}`]),h=s([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute vec4 color; +attribute vec2 uv; +attribute float pointSize; + +uniform mat4 model, view, projection; +uniform vec3 clipBounds[2]; + +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0); + } else { + gl_Position = projection * (view * (model * vec4(position, 1.0))); + } + gl_PointSize = pointSize; + f_color = color; + f_uv = uv; +}`]),v=s([`precision highp float; +#define GLSLIFY 1 + +uniform sampler2D texture; +uniform float opacity; + +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5); + if(dot(pointR, pointR) > 0.25) { + discard; + } + gl_FragColor = f_color * texture2D(texture, f_uv) * opacity; +}`]),d=s([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; +attribute vec4 id; + +uniform mat4 model, view, projection; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + gl_Position = projection * (view * (model * vec4(position, 1.0))); + f_id = id; + f_position = position; +}`]),_=s([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + + gl_FragColor = vec4(pickId, f_id.xyz); +}`]),b=s([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute float pointSize; +attribute vec4 id; + +uniform mat4 model, view, projection; +uniform vec3 clipBounds[2]; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0.0, 0.0, 0.0, 0.0); + } else { + gl_Position = projection * (view * (model * vec4(position, 1.0))); + gl_PointSize = pointSize; + } + f_id = id; + f_position = position; +}`]),p=s([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; + +uniform mat4 model, view, projection; + +void main() { + gl_Position = projection * (view * (model * vec4(position, 1.0))); +}`]),E=s([`precision highp float; +#define GLSLIFY 1 + +uniform vec3 contourColor; + +void main() { + gl_FragColor = vec4(contourColor, 1.0); +} +`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},a.wireShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},a.pointShader={vertex:h,fragment:v,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},a.pickShader={vertex:d,fragment:_,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},a.pointPickShader={vertex:b,fragment:_,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},a.contourShader={vertex:p,fragment:E,attributes:[{name:"position",type:"vec3"}]}},7201:function(i,a,o){"use strict";var s=1e-6,l=1e-6,u=o(9405),c=o(2762),f=o(8116),h=o(7766),v=o(8406),d=o(6760),_=o(7608),b=o(9618),p=o(6729),E=o(7765),k=o(1888),S=o(840),L=o(7626),x=S.meshShader,C=S.wireShader,M=S.pointShader,g=S.pickShader,P=S.pointPickShader,T=S.contourShader,F=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function q(ge,ie,Te,Ee,Ae,ze,Ce,me,De,ce,Ge,nt,ct,qt,rt,ot,It,kt,Ct,Yt,mr,er,Ke,bt,xt,Lt,St){this.gl=ge,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=ie,this.dirty=!0,this.triShader=Te,this.lineShader=Ee,this.pointShader=Ae,this.pickShader=ze,this.pointPickShader=Ce,this.contourShader=me,this.trianglePositions=De,this.triangleColors=Ge,this.triangleNormals=ct,this.triangleUVs=nt,this.triangleIds=ce,this.triangleVAO=qt,this.triangleCount=0,this.lineWidth=1,this.edgePositions=rt,this.edgeColors=It,this.edgeUVs=kt,this.edgeIds=ot,this.edgeVAO=Ct,this.edgeCount=0,this.pointPositions=Yt,this.pointColors=er,this.pointUVs=Ke,this.pointSizes=bt,this.pointIds=mr,this.pointVAO=xt,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=Lt,this.contourVAO=St,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=F,this._view=F,this._projection=F,this._resolution=[1,1]}var V=q.prototype;V.isOpaque=function(){return!this.hasAlpha},V.isTransparent=function(){return this.hasAlpha},V.pickSlots=1,V.setPickBase=function(ge){this.pickId=ge};function H(ge,ie){if(!ie||!ie.length)return 1;for(var Te=0;Tege&&Te>0){var Ee=(ie[Te][0]-ge)/(ie[Te][0]-ie[Te-1][0]);return ie[Te][1]*(1-Ee)+Ee*ie[Te-1][1]}}return 1}function X(ge,ie){for(var Te=p({colormap:ge,nshades:256,format:"rgba"}),Ee=new Uint8Array(256*4),Ae=0;Ae<256;++Ae){for(var ze=Te[Ae],Ce=0;Ce<3;++Ce)Ee[4*Ae+Ce]=ze[Ce];ie?Ee[4*Ae+3]=255*H(Ae/255,ie):Ee[4*Ae+3]=255*ze[3]}return b(Ee,[256,256,4],[4,0,1])}function G(ge){for(var ie=ge.length,Te=new Array(ie),Ee=0;Ee0){var ct=this.triShader;ct.bind(),ct.uniforms=me,this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var ct=this.lineShader;ct.bind(),ct.uniforms=me,this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var ct=this.pointShader;ct.bind(),ct.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var ct=this.contourShader;ct.bind(),ct.uniforms=me,this.contourVAO.bind(),ie.drawArrays(ie.LINES,0,this.contourCount),this.contourVAO.unbind()}},V.drawPick=function(ge){ge=ge||{};for(var ie=this.gl,Te=ge.model||F,Ee=ge.view||F,Ae=ge.projection||F,ze=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],Ce=0;Ce<3;++Ce)ze[0][Ce]=Math.max(ze[0][Ce],this.clipBounds[0][Ce]),ze[1][Ce]=Math.min(ze[1][Ce],this.clipBounds[1][Ce]);this._model=[].slice.call(Te),this._view=[].slice.call(Ee),this._projection=[].slice.call(Ae),this._resolution=[ie.drawingBufferWidth,ie.drawingBufferHeight];var me={model:Te,view:Ee,projection:Ae,clipBounds:ze,pickId:this.pickId/255},De=this.pickShader;if(De.bind(),De.uniforms=me,this.triangleCount>0&&(this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var De=this.pointPickShader;De.bind(),De.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}},V.pick=function(ge){if(!ge||ge.id!==this.pickId)return null;for(var ie=ge.value[0]+256*ge.value[1]+65536*ge.value[2],Te=this.cells[ie],Ee=this.positions,Ae=new Array(Te.length),ze=0;zeMath.abs(g))p.rotate(F,0,0,-M*P*Math.PI*x.rotateSpeed/window.innerWidth);else if(!x._ortho){var q=-x.zoomSpeed*T*g/window.innerHeight*(F-p.lastT())/20;p.pan(F,0,0,k*(Math.exp(q)-1))}}},!0)},x.enableMouseListeners(),x}},799:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision mediump float; +#define GLSLIFY 1 +attribute vec2 position; +varying vec2 uv; +void main() { + uv = position; + gl_Position = vec4(position, 0, 1); +}`]),c=s([`precision mediump float; +#define GLSLIFY 1 + +uniform sampler2D accumBuffer; +varying vec2 uv; + +void main() { + vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0)); + gl_FragColor = min(vec4(1,1,1,1), accum); +}`]);i.exports=function(f){return l(f,u,c,null,[{name:"position",type:"vec2"}])}},4100:function(i,a,o){"use strict";var s=o(4437),l=o(3837),u=o(5445),c=o(4449),f=o(3589),h=o(2260),v=o(7169),d=o(351),_=o(4772),b=o(4040),p=o(799),E=o(9216)({tablet:!0,featureDetect:!0});i.exports={createScene:C,createCamera:s};function k(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function S(g,P){var T=null;try{T=g.getContext("webgl",P),T||(T=g.getContext("experimental-webgl",P))}catch(F){return null}return T}function L(g){var P=Math.round(Math.log(Math.abs(g))/Math.log(10));if(P<0){var T=Math.round(Math.pow(10,-P));return Math.ceil(g*T)/T}else if(P>0){var T=Math.round(Math.pow(10,P));return Math.ceil(g/T)*T}return Math.ceil(g)}function x(g){return typeof g=="boolean"?g:!0}function C(g){g=g||{},g.camera=g.camera||{};var P=g.canvas;if(!P)if(P=document.createElement("canvas"),g.container){var T=g.container;T.appendChild(P)}else document.body.appendChild(P);var F=g.gl;if(F||(g.glOptions&&(E=!!g.glOptions.preserveDrawingBuffer),F=S(P,g.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:E})),!F)throw new Error("webgl not supported");var q=g.bounds||[[-10,-10,-10],[10,10,10]],V=new k,H=h(F,F.drawingBufferWidth,F.drawingBufferHeight,{preferFloat:!E}),X=p(F),G=g.cameraObject&&g.cameraObject._ortho===!0||g.camera.projection&&g.camera.projection.type==="orthographic"||!1,N={eye:g.camera.eye||[2,0,0],center:g.camera.center||[0,0,0],up:g.camera.up||[0,1,0],zoomMin:g.camera.zoomMax||.1,zoomMax:g.camera.zoomMin||100,mode:g.camera.mode||"turntable",_ortho:G},W=g.axes||{},re=l(F,W);re.enable=!W.disable;var ae=g.spikes||{},_e=c(F,ae),Me=[],ke=[],ge=[],ie=[],Te=!0,Ce=!0,Ee=new Array(16),Ae=new Array(16),ze={view:null,projection:Ee,model:Ae,_ortho:!1},Ce=!0,me=[F.drawingBufferWidth,F.drawingBufferHeight],De=g.cameraObject||s(P,N),ce={gl:F,contextLost:!1,pixelRatio:g.pixelRatio||1,canvas:P,selection:V,camera:De,axes:re,axesPixels:null,spikes:_e,bounds:q,objects:Me,shape:me,aspect:g.aspectRatio||[1,1,1],pickRadius:g.pickRadius||10,zNear:g.zNear||.01,zFar:g.zFar||1e3,fovy:g.fovy||Math.PI/4,clearColor:g.clearColor||[0,0,0,0],autoResize:x(g.autoResize),autoBounds:x(g.autoBounds),autoScale:!!g.autoScale,autoCenter:x(g.autoCenter),clipToBounds:x(g.clipToBounds),snapToData:!!g.snapToData,onselect:g.onselect||null,onrender:g.onrender||null,onclick:g.onclick||null,cameraParams:ze,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(Yt){this.aspect[0]=Yt.x,this.aspect[1]=Yt.y,this.aspect[2]=Yt.z,Ce=!0},setBounds:function(Yt,mr){this.bounds[0][Yt]=mr.min,this.bounds[1][Yt]=mr.max},setClearColor:function(Yt){this.clearColor=Yt},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},Ge=[F.drawingBufferWidth/ce.pixelRatio|0,F.drawingBufferHeight/ce.pixelRatio|0];function nt(){if(!ce._stopped&&ce.autoResize){var Yt=P.parentNode,mr=1,er=1;Yt&&Yt!==document.body?(mr=Yt.clientWidth,er=Yt.clientHeight):(mr=window.innerWidth,er=window.innerHeight);var Ke=Math.ceil(mr*ce.pixelRatio)|0,bt=Math.ceil(er*ce.pixelRatio)|0;if(Ke!==P.width||bt!==P.height){P.width=Ke,P.height=bt;var xt=P.style;xt.position=xt.position||"absolute",xt.left="0px",xt.top="0px",xt.width=mr+"px",xt.height=er+"px",Te=!0}}}ce.autoResize&&nt(),window.addEventListener("resize",nt);function ct(){for(var Yt=Me.length,mr=ie.length,er=0;er0&&ge[mr-1]===0;)ge.pop(),ie.pop().dispose()}ce.update=function(Yt){ce._stopped||(Yt=Yt||{},Te=!0,Ce=!0)},ce.add=function(Yt){ce._stopped||(Yt.axes=re,Me.push(Yt),ke.push(-1),Te=!0,Ce=!0,ct())},ce.remove=function(Yt){if(!ce._stopped){var mr=Me.indexOf(Yt);mr<0||(Me.splice(mr,1),ke.pop(),Te=!0,Ce=!0,ct())}},ce.dispose=function(){if(!ce._stopped&&(ce._stopped=!0,window.removeEventListener("resize",nt),P.removeEventListener("webglcontextlost",qt),ce.mouseListener.enabled=!1,!ce.contextLost)){re.dispose(),_e.dispose();for(var Yt=0;YtV.distance)continue;for(var dt=0;dt1e-6?(E=Math.acos(k),S=Math.sin(E),L=Math.sin((1-u)*E)/S,x=Math.sin(u*E)/S):(L=1-u,x=u),o[0]=L*c+x*d,o[1]=L*f+x*_,o[2]=L*h+x*b,o[3]=L*v+x*p,o}},5964:function(i){"use strict";i.exports=function(a){return!a&&a!==0?"":a.toString()}},9366:function(i,a,o){"use strict";var s=o(4359);i.exports=u;var l={};function u(c,f,h){var v=[f.style,f.weight,f.variant,f.family].join("_"),d=l[v];if(d||(d=l[v]={}),c in d)return d[c];var _={textAlign:"center",textBaseline:"middle",lineHeight:1,font:f.family,fontStyle:f.style,fontWeight:f.weight,fontVariant:f.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}};_.triangles=!0;var b=s(c,_);_.triangles=!1;var p=s(c,_),E,k;if(h&&h!==1){for(E=0;E max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute vec4 color; +attribute vec2 glyph; +attribute vec4 id; + +uniform vec4 highlightId; +uniform float highlightScale; +uniform mat4 model, view, projection; +uniform vec3 clipBounds[2]; + +varying vec4 interpColor; +varying vec4 pickId; +varying vec3 dataCoordinate; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0,0,0,0); + } else { + float scale = 1.0; + if(distance(highlightId, id) < 0.0001) { + scale = highlightScale; + } + + vec4 worldPosition = model * vec4(position, 1); + vec4 viewPosition = view * worldPosition; + viewPosition = viewPosition / viewPosition.w; + vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0)); + + gl_Position = clipPosition; + interpColor = color; + pickId = id; + dataCoordinate = position; + } +}`]),c=l([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute vec4 color; +attribute vec2 glyph; +attribute vec4 id; + +uniform mat4 model, view, projection; +uniform vec2 screenSize; +uniform vec3 clipBounds[2]; +uniform float highlightScale, pixelRatio; +uniform vec4 highlightId; + +varying vec4 interpColor; +varying vec4 pickId; +varying vec3 dataCoordinate; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0,0,0,0); + } else { + float scale = pixelRatio; + if(distance(highlightId.bgr, id.bgr) < 0.001) { + scale *= highlightScale; + } + + vec4 worldPosition = model * vec4(position, 1.0); + vec4 viewPosition = view * worldPosition; + vec4 clipPosition = projection * viewPosition; + clipPosition /= clipPosition.w; + + gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0); + interpColor = color; + pickId = id; + dataCoordinate = position; + } +}`]),f=l([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute vec4 color; +attribute vec2 glyph; +attribute vec4 id; + +uniform float highlightScale; +uniform vec4 highlightId; +uniform vec3 axes[2]; +uniform mat4 model, view, projection; +uniform vec2 screenSize; +uniform vec3 clipBounds[2]; +uniform float scale, pixelRatio; + +varying vec4 interpColor; +varying vec4 pickId; +varying vec3 dataCoordinate; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0,0,0,0); + } else { + float lscale = pixelRatio * scale; + if(distance(highlightId, id) < 0.0001) { + lscale *= highlightScale; + } + + vec4 clipCenter = projection * (view * (model * vec4(position, 1))); + vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y; + vec4 clipPosition = projection * (view * (model * vec4(dataPosition, 1))); + + gl_Position = clipPosition; + interpColor = color; + pickId = id; + dataCoordinate = dataPosition; + } +} +`]),h=l([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 fragClipBounds[2]; +uniform float opacity; + +varying vec4 interpColor; +varying vec3 dataCoordinate; + +void main() { + if ( + outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) || + interpColor.a * opacity == 0. + ) discard; + gl_FragColor = interpColor * opacity; +} +`]),v=l([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 fragClipBounds[2]; +uniform float pickGroup; + +varying vec4 pickId; +varying vec3 dataCoordinate; + +void main() { + if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard; + + gl_FragColor = vec4(pickGroup, pickId.bgr); +}`]),d=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],_={vertex:u,fragment:h,attributes:d},b={vertex:c,fragment:h,attributes:d},p={vertex:f,fragment:h,attributes:d},E={vertex:u,fragment:v,attributes:d},k={vertex:c,fragment:v,attributes:d},S={vertex:f,fragment:v,attributes:d};function L(x,C){var M=s(x,C),g=M.attributes;return g.position.location=0,g.color.location=1,g.glyph.location=2,g.id.location=3,M}a.createPerspective=function(x){return L(x,_)},a.createOrtho=function(x){return L(x,b)},a.createProject=function(x){return L(x,p)},a.createPickPerspective=function(x){return L(x,E)},a.createPickOrtho=function(x){return L(x,k)},a.createPickProject=function(x){return L(x,S)}},8418:function(i,a,o){"use strict";var s=o(5219),l=o(2762),u=o(8116),c=o(1888),f=o(6760),h=o(1283),v=o(9366),d=o(5964),_=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],b=ArrayBuffer,p=DataView;function E(Ae){return b.isView(Ae)&&!(Ae instanceof p)}function k(Ae){return Array.isArray(Ae)||E(Ae)}i.exports=Ee;function S(Ae,ze){var Ce=Ae[0],me=Ae[1],De=Ae[2],ce=Ae[3];return Ae[0]=ze[0]*Ce+ze[4]*me+ze[8]*De+ze[12]*ce,Ae[1]=ze[1]*Ce+ze[5]*me+ze[9]*De+ze[13]*ce,Ae[2]=ze[2]*Ce+ze[6]*me+ze[10]*De+ze[14]*ce,Ae[3]=ze[3]*Ce+ze[7]*me+ze[11]*De+ze[15]*ce,Ae}function L(Ae,ze,Ce,me){return S(me,me,Ce),S(me,me,ze),S(me,me,Ae)}function x(Ae,ze){this.index=Ae,this.dataCoordinate=this.position=ze}function C(Ae){return Ae===!0||Ae>1?1:Ae}function M(Ae,ze,Ce,me,De,ce,Ge,nt,ct,qt,rt,ot){this.gl=Ae,this.pixelRatio=1,this.shader=ze,this.orthoShader=Ce,this.projectShader=me,this.pointBuffer=De,this.colorBuffer=ce,this.glyphBuffer=Ge,this.idBuffer=nt,this.vao=ct,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[.6666666666666666,.6666666666666666,.6666666666666666],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=qt,this.pickOrthoShader=rt,this.pickProjectShader=ot,this.points=[],this._selectResult=new x(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}var g=M.prototype;g.pickSlots=1,g.setPickBase=function(Ae){this.pickId=Ae},g.isTransparent=function(){if(this.hasAlpha)return!0;for(var Ae=0;Ae<3;++Ae)if(this.axesProject[Ae]&&this.projectHasAlpha)return!0;return!1},g.isOpaque=function(){if(!this.hasAlpha)return!0;for(var Ae=0;Ae<3;++Ae)if(this.axesProject[Ae]&&!this.projectHasAlpha)return!0;return!1};var P=[0,0],T=[0,0,0],F=[0,0,0],q=[0,0,0,1],V=[0,0,0,1],H=_.slice(),X=[0,0,0],G=[[0,0,0],[0,0,0]];function N(Ae){return Ae[0]=Ae[1]=Ae[2]=0,Ae}function W(Ae,ze){return Ae[0]=ze[0],Ae[1]=ze[1],Ae[2]=ze[2],Ae[3]=1,Ae}function re(Ae,ze,Ce,me){return Ae[0]=ze[0],Ae[1]=ze[1],Ae[2]=ze[2],Ae[Ce]=me,Ae}function ae(Ae){for(var ze=G,Ce=0;Ce<2;++Ce)for(var me=0;me<3;++me)ze[Ce][me]=Math.max(Math.min(Ae[Ce][me],1e8),-1e8);return ze}function _e(Ae,ze,Ce,me){var De=ze.axesProject,ce=ze.gl,Ge=Ae.uniforms,nt=Ce.model||_,ct=Ce.view||_,qt=Ce.projection||_,rt=ze.axesBounds,ot=ae(ze.clipBounds),It;ze.axes&&ze.axes.lastCubeProps?It=ze.axes.lastCubeProps.axis:It=[1,1,1],P[0]=2/ce.drawingBufferWidth,P[1]=2/ce.drawingBufferHeight,Ae.bind(),Ge.view=ct,Ge.projection=qt,Ge.screenSize=P,Ge.highlightId=ze.highlightId,Ge.highlightScale=ze.highlightScale,Ge.clipBounds=ot,Ge.pickGroup=ze.pickId/255,Ge.pixelRatio=me;for(var kt=0;kt<3;++kt)if(De[kt]){Ge.scale=ze.projectScale[kt],Ge.opacity=ze.projectOpacity[kt];for(var Ct=H,Yt=0;Yt<16;++Yt)Ct[Yt]=0;for(var Yt=0;Yt<4;++Yt)Ct[5*Yt]=1;Ct[5*kt]=0,It[kt]<0?Ct[12+kt]=rt[0][kt]:Ct[12+kt]=rt[1][kt],f(Ct,nt,Ct),Ge.model=Ct;var mr=(kt+1)%3,er=(kt+2)%3,Ke=N(T),bt=N(F);Ke[mr]=1,bt[er]=1;var xt=L(qt,ct,nt,W(q,Ke)),Lt=L(qt,ct,nt,W(V,bt));if(Math.abs(xt[1])>Math.abs(Lt[1])){var St=xt;xt=Lt,Lt=St,St=Ke,Ke=bt,bt=St;var Et=mr;mr=er,er=Et}xt[0]<0&&(Ke[mr]=-1),Lt[1]>0&&(bt[er]=-1);for(var dt=0,Ht=0,Yt=0;Yt<4;++Yt)dt+=Math.pow(nt[4*mr+Yt],2),Ht+=Math.pow(nt[4*er+Yt],2);Ke[mr]/=Math.sqrt(dt),bt[er]/=Math.sqrt(Ht),Ge.axes[0]=Ke,Ge.axes[1]=bt,Ge.fragClipBounds[0]=re(X,ot[0],kt,-1e8),Ge.fragClipBounds[1]=re(X,ot[1],kt,1e8),ze.vao.bind(),ze.vao.draw(ce.TRIANGLES,ze.vertexCount),ze.lineWidth>0&&(ce.lineWidth(ze.lineWidth*me),ze.vao.draw(ce.LINES,ze.lineVertexCount,ze.vertexCount)),ze.vao.unbind()}}var Me=[-1e8,-1e8,-1e8],ke=[1e8,1e8,1e8],ge=[Me,ke];function ie(Ae,ze,Ce,me,De,ce,Ge){var nt=Ce.gl;if((ce===Ce.projectHasAlpha||Ge)&&_e(ze,Ce,me,De),ce===Ce.hasAlpha||Ge){Ae.bind();var ct=Ae.uniforms;ct.model=me.model||_,ct.view=me.view||_,ct.projection=me.projection||_,P[0]=2/nt.drawingBufferWidth,P[1]=2/nt.drawingBufferHeight,ct.screenSize=P,ct.highlightId=Ce.highlightId,ct.highlightScale=Ce.highlightScale,ct.fragClipBounds=ge,ct.clipBounds=Ce.axes.bounds,ct.opacity=Ce.opacity,ct.pickGroup=Ce.pickId/255,ct.pixelRatio=De,Ce.vao.bind(),Ce.vao.draw(nt.TRIANGLES,Ce.vertexCount),Ce.lineWidth>0&&(nt.lineWidth(Ce.lineWidth*De),Ce.vao.draw(nt.LINES,Ce.lineVertexCount,Ce.vertexCount)),Ce.vao.unbind()}}g.draw=function(Ae){var ze=this.useOrtho?this.orthoShader:this.shader;ie(ze,this.projectShader,this,Ae,this.pixelRatio,!1,!1)},g.drawTransparent=function(Ae){var ze=this.useOrtho?this.orthoShader:this.shader;ie(ze,this.projectShader,this,Ae,this.pixelRatio,!0,!1)},g.drawPick=function(Ae){var ze=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;ie(ze,this.pickProjectShader,this,Ae,1,!0,!0)},g.pick=function(Ae){if(!Ae||Ae.id!==this.pickId)return null;var ze=Ae.value[2]+(Ae.value[1]<<8)+(Ae.value[0]<<16);if(ze>=this.pointCount||ze<0)return null;var Ce=this.points[ze],me=this._selectResult;me.index=ze;for(var De=0;De<3;++De)me.position[De]=me.dataCoordinate[De]=Ce[De];return me},g.highlight=function(Ae){if(!Ae)this.highlightId=[1,1,1,1];else{var ze=Ae.index,Ce=ze&255,me=ze>>8&255,De=ze>>16&255;this.highlightId=[Ce/255,me/255,De/255,0]}};function Te(Ae,ze,Ce,me){var De;k(Ae)?ze0){var Nr=0,ut=er,Ne=[0,0,0,1],Ye=[0,0,0,1],Ve=k(It)&&k(It[0]),Xe=k(Yt)&&k(Yt[0]);e:for(var me=0;me0?1-Ht[0][0]:Vt<0?1+Ht[1][0]:1,ar*=ar>0?1-Ht[0][1]:ar<0?1+Ht[1][1]:1;for(var Qr=[Vt,ar],nn=Et.cells||[],Wi=Et.positions||[],Lt=0;Ltthis.buffer.length){l.free(this.buffer);for(var k=this.buffer=l.mallocUint8(c(E*p*4)),S=0;Sk)for(p=k;pE)for(p=E;p=0){for(var G=X.type.charAt(X.type.length-1)|0,N=new Array(G),W=0;W=0;)re+=1;V[H]=re}var ae=new Array(k.length);function _e(){x.program=c.program(C,x._vref,x._fref,q,V);for(var Me=0;Me=0){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new s("","Invalid data type for attribute "+x+": "+C);f(d,_,M[0],p,g,E,x)}else if(C.indexOf("mat")>=0){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new s("","Invalid data type for attribute "+x+": "+C);h(d,_,M,p,g,E,x)}else throw new s("","Unknown data type for attribute "+x+": "+C);break}}return E}},3327:function(i,a,o){"use strict";var s=o(216),l=o(8866);i.exports=f;function u(h){return function(){return h}}function c(h,v){for(var d=new Array(h),_=0;_4)throw new l("","Invalid data type");switch(re.charAt(0)){case"b":case"i":h["uniform"+ae+"iv"](_[V],H);break;case"v":h["uniform"+ae+"fv"](_[V],H);break;default:throw new l("","Unrecognized data type for vector "+name+": "+re)}}else if(re.indexOf("mat")===0&&re.length===4){if(ae=re.charCodeAt(re.length-1)-48,ae<2||ae>4)throw new l("","Invalid uniform dimension type for matrix "+name+": "+re);h["uniformMatrix"+ae+"fv"](_[V],!1,H);break}else throw new l("","Unknown uniform data type for "+name+": "+re)}}}}}function E(C,M){if(typeof M!="object")return[[C,M]];var g=[];for(var P in M){var T=M[P],F=C;parseInt(P)+""===P?F+="["+P+"]":F+="."+P,typeof T=="object"?g.push.apply(g,E(F,T)):g.push([F,T])}return g}function k(C){switch(C){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":return 0;case"float":return 0;default:var M=C.indexOf("vec");if(0<=M&&M<=1&&C.length===4+M){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new l("","Invalid data type");return C.charAt(0)==="b"?c(g,!1):c(g,0)}else if(C.indexOf("mat")===0&&C.length===4){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new l("","Invalid uniform dimension type for matrix "+name+": "+C);return c(g*g,0)}else throw new l("","Unknown uniform data type for "+name+": "+C)}}function S(C,M,g){if(typeof g=="object"){var P=L(g);Object.defineProperty(C,M,{get:u(P),set:p(g),enumerable:!0,configurable:!1})}else _[g]?Object.defineProperty(C,M,{get:b(g),set:p(g),enumerable:!0,configurable:!1}):C[M]=k(d[g].type)}function L(C){var M;if(Array.isArray(C)){M=new Array(C.length);for(var g=0;g1){d[0]in h||(h[d[0]]=[]),h=h[d[0]];for(var _=1;_1)for(var E=0;E 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} + +// Calculate the tube vertex and normal at the given index. +// +// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d. +// +// Each tube segment is made up of a ring of vertices. +// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array. +// The indexes of tube segments run from 0 to 8. +// +vec3 getTubePosition(vec3 d, float index, out vec3 normal) { + float segmentCount = 8.0; + + float angle = 2.0 * 3.14159 * (index / segmentCount); + + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); + + vec3 x = u * cos(angle) * length(d); + vec3 y = v * sin(angle) * length(d); + vec3 v3 = x + y; + + normal = normalize(v3); + + return v3; +} + +attribute vec4 vector; +attribute vec4 color, position; +attribute vec2 uv; + +uniform float vectorScale, tubeScale; +uniform mat4 model, view, projection, inverseModel; +uniform vec3 eyePosition, lightPosition; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + // Scale the vector magnitude to stay constant with + // model & view changes. + vec3 normal; + vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal); + vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * tubePosition; + cameraCoordinate.xyz /= cameraCoordinate.w; + f_lightDirection = lightPosition - cameraCoordinate.xyz; + f_eyeDirection = eyePosition - cameraCoordinate.xyz; + f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz); + + // vec4 m_position = model * vec4(tubePosition, 1.0); + vec4 t_position = view * tubePosition; + gl_Position = projection * t_position; + + f_color = color; + f_data = tubePosition.xyz; + f_position = position.xyz; + f_uv = uv; +} +`]),u=s([`#extension GL_OES_standard_derivatives : enable + +precision highp float; +#define GLSLIFY 1 + +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; +} + +float cookTorranceSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness, + float fresnel) { + + float VdotN = max(dot(viewDirection, surfaceNormal), 0.0); + float LdotN = max(dot(lightDirection, surfaceNormal), 0.0); + + //Half angle vector + vec3 H = normalize(lightDirection + viewDirection); + + //Geometric term + float NdotH = max(dot(surfaceNormal, H), 0.0); + float VdotH = max(dot(viewDirection, H), 0.000001); + float LdotH = max(dot(lightDirection, H), 0.000001); + float G1 = (2.0 * NdotH * VdotN) / VdotH; + float G2 = (2.0 * NdotH * LdotN) / LdotH; + float G = min(1.0, min(G1, G2)); + + //Distribution term + float D = beckmannDistribution(NdotH, roughness); + + //Fresnel term + float F = pow(1.0 - VdotN, fresnel); + + //Multiply terms and done + return G * F * D / max(3.14159265 * VdotN, 0.000001); +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; +uniform sampler2D texture; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + vec3 N = normalize(f_normal); + vec3 L = normalize(f_lightDirection); + vec3 V = normalize(f_eyeDirection); + + if(gl_FrontFacing) { + N = -N; + } + + float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel))); + float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); + + vec4 surfaceColor = f_color * texture2D(texture, f_uv); + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); + + gl_FragColor = litColor * opacity; +} +`]),c=s([`precision highp float; + +precision highp float; +#define GLSLIFY 1 + +vec3 getOrthogonalVector(vec3 v) { + // Return up-vector for only-z vector. + // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0). + // From the above if-statement we have ||a|| > 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} + +// Calculate the tube vertex and normal at the given index. +// +// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d. +// +// Each tube segment is made up of a ring of vertices. +// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array. +// The indexes of tube segments run from 0 to 8. +// +vec3 getTubePosition(vec3 d, float index, out vec3 normal) { + float segmentCount = 8.0; + + float angle = 2.0 * 3.14159 * (index / segmentCount); + + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); + + vec3 x = u * cos(angle) * length(d); + vec3 y = v * sin(angle) * length(d); + vec3 v3 = x + y; + + normal = normalize(v3); + + return v3; +} + +attribute vec4 vector; +attribute vec4 position; +attribute vec4 id; + +uniform mat4 model, view, projection; +uniform float tubeScale; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + vec3 normal; + vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal); + vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + + gl_Position = projection * (view * tubePosition); + f_id = id; + f_position = position.xyz; +} +`]),f=s([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + + gl_FragColor = vec4(pickId, f_id.xyz); +}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7815:function(i,a,o){"use strict";var s=o(2931),l=o(9970),u=["xyz","xzy","yxz","yzx","zxy","zyx"],c=function(S,L,x,C){for(var M=S.points,g=S.velocities,P=S.divergences,T=[],F=[],q=[],V=[],H=[],X=[],G=0,N=0,W=l.create(),re=l.create(),ae=8,_e=0;_e0)for(var ie=0;ieL)return C-1}return C},v=function(S,L,x){return Sx?x:S},d=function(S,L,x){var C=L.vectors,M=L.meshgrid,g=S[0],P=S[1],T=S[2],F=M[0].length,q=M[1].length,V=M[2].length,H=h(M[0],g),X=h(M[1],P),G=h(M[2],T),N=H+1,W=X+1,re=G+1;if(H=v(H,0,F-1),N=v(N,0,F-1),X=v(X,0,q-1),W=v(W,0,q-1),G=v(G,0,V-1),re=v(re,0,V-1),H<0||X<0||G<0||N>F-1||W>q-1||re>V-1)return s.create();var ae=M[0][H],_e=M[0][N],Me=M[1][X],ke=M[1][W],ge=M[2][G],ie=M[2][re],Te=(g-ae)/(_e-ae),Ee=(P-Me)/(ke-Me),Ae=(T-ge)/(ie-ge);isFinite(Te)||(Te=.5),isFinite(Ee)||(Ee=.5),isFinite(Ae)||(Ae=.5);var ze,Ce,me,De,ce,Ge;switch(x.reversedX&&(H=F-1-H,N=F-1-N),x.reversedY&&(X=q-1-X,W=q-1-W),x.reversedZ&&(G=V-1-G,re=V-1-re),x.filled){case 5:ce=G,Ge=re,me=X*V,De=W*V,ze=H*V*q,Ce=N*V*q;break;case 4:ce=G,Ge=re,ze=H*V,Ce=N*V,me=X*V*F,De=W*V*F;break;case 3:me=X,De=W,ce=G*q,Ge=re*q,ze=H*q*V,Ce=N*q*V;break;case 2:me=X,De=W,ze=H*q,Ce=N*q,ce=G*q*F,Ge=re*q*F;break;case 1:ze=H,Ce=N,ce=G*F,Ge=re*F,me=X*F*V,De=W*F*V;break;default:ze=H,Ce=N,me=X*F,De=W*F,ce=G*F*q,Ge=re*F*q;break}var nt=C[ze+me+ce],ct=C[ze+me+Ge],qt=C[ze+De+ce],rt=C[ze+De+Ge],ot=C[Ce+me+ce],It=C[Ce+me+Ge],kt=C[Ce+De+ce],Ct=C[Ce+De+Ge],Yt=s.create(),mr=s.create(),er=s.create(),Ke=s.create();s.lerp(Yt,nt,ot,Te),s.lerp(mr,ct,It,Te),s.lerp(er,qt,kt,Te),s.lerp(Ke,rt,Ct,Te);var bt=s.create(),xt=s.create();s.lerp(bt,Yt,er,Ee),s.lerp(xt,mr,Ke,Ee);var Lt=s.create();return s.lerp(Lt,bt,xt,Ae),Lt},_=function(S,L){var x=L[0],C=L[1],M=L[2];return S[0]=x<0?-x:x,S[1]=C<0?-C:C,S[2]=M<0?-M:M,S},b=function(S){var L=1/0;S.sort(function(g,P){return g-P});for(var x=S.length,C=1;CN||CtW||Ytre)},_e=s.distance(L[0],L[1]),Me=10*_e/C,ke=Me*Me,ge=1,ie=0,Te=x.length;Te>1&&(ge=p(x));for(var Ee=0;Eeie&&(ie=nt),ce.push(nt),V.push({points:ze,velocities:Ce,divergences:ce});for(var ct=0;ctke&&s.scale(qt,qt,Me/Math.sqrt(rt)),s.add(qt,qt,Ae),me=F(qt),s.squaredDistance(De,qt)-ke>-1e-4*ke){ze.push(qt),De=qt,Ce.push(me);var Ge=q(qt,me),nt=s.length(Ge);isFinite(nt)&&nt>ie&&(ie=nt),ce.push(nt)}Ae=qt}}var ot=f(V,S.colormap,ie,ge);return g?ot.tubeScale=g:(ie===0&&(ie=1),ot.tubeScale=M*.5*ge/ie),ot};var E=o(6740),k=o(6405).createMesh;i.exports.createTubeMesh=function(S,L){return k(S,L,{shaders:E,traceType:"streamtube"})}},990:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float; +#define GLSLIFY 1 + +attribute vec4 uv; +attribute vec3 f; +attribute vec3 normal; + +uniform vec3 objectOffset; +uniform mat4 model, view, projection, inverseModel; +uniform vec3 lightPosition, eyePosition; +uniform sampler2D colormap; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; + +void main() { + vec3 localCoordinate = vec3(uv.zw, f.x); + worldCoordinate = objectOffset + localCoordinate; + mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0)); + vec4 worldPosition = (model * objectOffsetTranslation) * vec4(localCoordinate, 1.0); + vec4 clipPosition = projection * (view * worldPosition); + gl_Position = clipPosition; + kill = f.y; + value = f.z; + planeCoordinate = uv.xy; + + vColor = texture2D(colormap, vec2(value, value)); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * worldPosition; + cameraCoordinate.xyz /= cameraCoordinate.w; + lightDirection = lightPosition - cameraCoordinate.xyz; + eyeDirection = eyePosition - cameraCoordinate.xyz; + surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz); +} +`]),c=l([`precision highp float; +#define GLSLIFY 1 + +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; +} + +float beckmannSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness) { + return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness); +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 lowerBound, upperBound; +uniform float contourTint; +uniform vec4 contourColor; +uniform sampler2D colormap; +uniform vec3 clipBounds[2]; +uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; +uniform float vertexColor; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; + +void main() { + if ( + kill > 0.0 || + vColor.a == 0.0 || + outOfRange(clipBounds[0], clipBounds[1], worldCoordinate) + ) discard; + + vec3 N = normalize(surfaceNormal); + vec3 V = normalize(eyeDirection); + vec3 L = normalize(lightDirection); + + if(gl_FrontFacing) { + N = -N; + } + + float specular = max(beckmannSpecular(L, V, N, roughness), 0.); + float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); + + //decide how to interpolate color \u2014 in vertex or in fragment + vec4 surfaceColor = + step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + + step(.5, vertexColor) * vColor; + + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); + + gl_FragColor = mix(litColor, contourColor, contourTint) * opacity; +} +`]),f=l([`precision highp float; +#define GLSLIFY 1 + +attribute vec4 uv; +attribute float f; + +uniform vec3 objectOffset; +uniform mat3 permutation; +uniform mat4 model, view, projection; +uniform float height, zOffset; +uniform sampler2D colormap; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; + +void main() { + vec3 dataCoordinate = permutation * vec3(uv.xy, height); + worldCoordinate = objectOffset + dataCoordinate; + mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0)); + vec4 worldPosition = (model * objectOffsetTranslation) * vec4(dataCoordinate, 1.0); + + vec4 clipPosition = projection * (view * worldPosition); + clipPosition.z += zOffset; + + gl_Position = clipPosition; + value = f + objectOffset.z; + kill = -1.0; + planeCoordinate = uv.zw; + + vColor = texture2D(colormap, vec2(value, value)); + + //Don't do lighting for contours + surfaceNormal = vec3(1,0,0); + eyeDirection = vec3(0,1,0); + lightDirection = vec3(0,0,1); +} +`]),h=l([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec2 shape; +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 surfaceNormal; + +vec2 splitFloat(float v) { + float vh = 255.0 * v; + float upper = floor(vh); + float lower = fract(vh); + return vec2(upper / 255.0, floor(lower * 16.0) / 16.0); +} + +void main() { + if ((kill > 0.0) || + (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard; + + vec2 ux = splitFloat(planeCoordinate.x / shape.x); + vec2 uy = splitFloat(planeCoordinate.y / shape.y); + gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0)); +} +`]);a.createShader=function(v){var d=s(v,u,c,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return d.attributes.uv.location=0,d.attributes.f.location=1,d.attributes.normal.location=2,d},a.createPickShader=function(v){var d=s(v,u,h,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return d.attributes.uv.location=0,d.attributes.f.location=1,d.attributes.normal.location=2,d},a.createContourShader=function(v){var d=s(v,f,c,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return d.attributes.uv.location=0,d.attributes.f.location=1,d},a.createPickContourShader=function(v){var d=s(v,f,h,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return d.attributes.uv.location=0,d.attributes.f.location=1,d}},9499:function(i,a,o){"use strict";i.exports=ze;var s=o(8828),l=o(2762),u=o(8116),c=o(7766),f=o(1888),h=o(6729),v=o(5298),d=o(9994),_=o(9618),b=o(3711),p=o(6760),E=o(7608),k=o(2478),S=o(6199),L=o(990),x=L.createShader,C=L.createContourShader,M=L.createPickShader,g=L.createPickContourShader,P=4*10,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],F=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],q=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];(function(){for(var Ce=0;Ce<3;++Ce){var me=q[Ce],De=(Ce+1)%3,ce=(Ce+2)%3;me[De+0]=1,me[ce+3]=1,me[Ce+6]=1}})();function V(Ce,me,De,ce,Ge){this.position=Ce,this.index=me,this.uv=De,this.level=ce,this.dataCoordinate=Ge}var H=256;function X(Ce,me,De,ce,Ge,nt,ct,qt,rt,ot,It,kt,Ct,Yt,mr){this.gl=Ce,this.shape=me,this.bounds=De,this.objectOffset=mr,this.intensityBounds=[],this._shader=ce,this._pickShader=Ge,this._coordinateBuffer=nt,this._vao=ct,this._colorMap=qt,this._contourShader=rt,this._contourPickShader=ot,this._contourBuffer=It,this._contourVAO=kt,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new V([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=Ct,this._dynamicVAO=Yt,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[_(f.mallocFloat(1024),[0,0]),_(f.mallocFloat(1024),[0,0]),_(f.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var G=X.prototype;G.genColormap=function(Ce,me){var De=!1,ce=d([h({colormap:Ce,nshades:H,format:"rgba"}).map(function(Ge,nt){var ct=me?N(nt/255,me):Ge[3];return ct<1&&(De=!0),[Ge[0],Ge[1],Ge[2],255*ct]})]);return v.divseq(ce,255),this.hasAlphaScale=De,ce},G.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},G.isOpaque=function(){return!this.isTransparent()},G.pickSlots=1,G.setPickBase=function(Ce){this.pickId=Ce};function N(Ce,me){if(!me||!me.length)return 1;for(var De=0;DeCe&&De>0){var ce=(me[De][0]-Ce)/(me[De][0]-me[De-1][0]);return me[De][1]*(1-ce)+ce*me[De-1][1]}}return 1}var W=[0,0,0],re={showSurface:!1,showContour:!1,projections:[T.slice(),T.slice(),T.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function ae(Ce,me){var De,ce,Ge,nt=me.axes&&me.axes.lastCubeProps.axis||W,ct=me.showSurface,qt=me.showContour;for(De=0;De<3;++De)for(ct=ct||me.surfaceProject[De],ce=0;ce<3;++ce)qt=qt||me.contourProject[De][ce];for(De=0;De<3;++De){var rt=re.projections[De];for(ce=0;ce<16;++ce)rt[ce]=0;for(ce=0;ce<4;++ce)rt[5*ce]=1;rt[5*De]=0,rt[12+De]=me.axesBounds[+(nt[De]>0)][De],p(rt,Ce.model,rt);var ot=re.clipBounds[De];for(Ge=0;Ge<2;++Ge)for(ce=0;ce<3;++ce)ot[Ge][ce]=Ce.clipBounds[Ge][ce];ot[0][De]=-1e8,ot[1][De]=1e8}return re.showSurface=ct,re.showContour=qt,re}var _e={model:T,view:T,projection:T,inverseModel:T.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},Me=T.slice(),ke=[1,0,0,0,1,0,0,0,1];function ge(Ce,me){Ce=Ce||{};var De=this.gl;De.disable(De.CULL_FACE),this._colorMap.bind(0);var ce=_e;ce.model=Ce.model||T,ce.view=Ce.view||T,ce.projection=Ce.projection||T,ce.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],ce.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],ce.objectOffset=this.objectOffset,ce.contourColor=this.contourColor[0],ce.inverseModel=E(ce.inverseModel,ce.model);for(var Ge=0;Ge<2;++Ge)for(var nt=ce.clipBounds[Ge],ct=0;ct<3;++ct)nt[ct]=Math.min(Math.max(this.clipBounds[Ge][ct],-1e8),1e8);ce.kambient=this.ambientLight,ce.kdiffuse=this.diffuseLight,ce.kspecular=this.specularLight,ce.roughness=this.roughness,ce.fresnel=this.fresnel,ce.opacity=this.opacity,ce.height=0,ce.permutation=ke,ce.vertexColor=this.vertexColor;var qt=Me;for(p(qt,ce.view,ce.model),p(qt,ce.projection,qt),E(qt,qt),Ge=0;Ge<3;++Ge)ce.eyePosition[Ge]=qt[12+Ge]/qt[15];var rt=qt[15];for(Ge=0;Ge<3;++Ge)rt+=this.lightPosition[Ge]*qt[4*Ge+3];for(Ge=0;Ge<3;++Ge){var ot=qt[12+Ge];for(ct=0;ct<3;++ct)ot+=qt[4*ct+Ge]*this.lightPosition[ct];ce.lightPosition[Ge]=ot/rt}var It=ae(ce,this);if(It.showSurface){for(this._shader.bind(),this._shader.uniforms=ce,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(De.TRIANGLES,this._vertexCount),Ge=0;Ge<3;++Ge)!this.surfaceProject[Ge]||!this.vertexCount||(this._shader.uniforms.model=It.projections[Ge],this._shader.uniforms.clipBounds=It.clipBounds[Ge],this._vao.draw(De.TRIANGLES,this._vertexCount));this._vao.unbind()}if(It.showContour){var kt=this._contourShader;ce.kambient=1,ce.kdiffuse=0,ce.kspecular=0,ce.opacity=1,kt.bind(),kt.uniforms=ce;var Ct=this._contourVAO;for(Ct.bind(),Ge=0;Ge<3;++Ge)for(kt.uniforms.permutation=q[Ge],De.lineWidth(this.contourWidth[Ge]*this.pixelRatio),ct=0;ct>4)/16)/255,Ge=Math.floor(ce),nt=ce-Ge,ct=me[1]*(Ce.value[1]+(Ce.value[2]&15)/16)/255,qt=Math.floor(ct),rt=ct-qt;Ge+=1,qt+=1;var ot=De.position;ot[0]=ot[1]=ot[2]=0;for(var It=0;It<2;++It)for(var kt=It?nt:1-nt,Ct=0;Ct<2;++Ct)for(var Yt=Ct?rt:1-rt,mr=Ge+It,er=qt+Ct,Ke=kt*Yt,bt=0;bt<3;++bt)ot[bt]+=this._field[bt].get(mr,er)*Ke;for(var xt=this._pickResult.level,Lt=0;Lt<3;++Lt)if(xt[Lt]=k.le(this.contourLevels[Lt],ot[Lt]),xt[Lt]<0)this.contourLevels[Lt].length>0&&(xt[Lt]=0);else if(xt[Lt]Math.abs(Et-ot[Lt])&&(xt[Lt]+=1)}for(De.index[0]=nt<.5?Ge:Ge+1,De.index[1]=rt<.5?qt:qt+1,De.uv[0]=ce/me[0],De.uv[1]=ct/me[1],bt=0;bt<3;++bt)De.dataCoordinate[bt]=this._field[bt].get(De.index[0],De.index[1]);return De},G.padField=function(Ce,me){var De=me.shape.slice(),ce=Ce.shape.slice();v.assign(Ce.lo(1,1).hi(De[0],De[1]),me),v.assign(Ce.lo(1).hi(De[0],1),me.hi(De[0],1)),v.assign(Ce.lo(1,ce[1]-1).hi(De[0],1),me.lo(0,De[1]-1).hi(De[0],1)),v.assign(Ce.lo(0,1).hi(1,De[1]),me.hi(1)),v.assign(Ce.lo(ce[0]-1,1).hi(1,De[1]),me.lo(De[0]-1)),Ce.set(0,0,me.get(0,0)),Ce.set(0,ce[1]-1,me.get(0,De[1]-1)),Ce.set(ce[0]-1,0,me.get(De[0]-1,0)),Ce.set(ce[0]-1,ce[1]-1,me.get(De[0]-1,De[1]-1))};function Te(Ce,me){return Array.isArray(Ce)?[me(Ce[0]),me(Ce[1]),me(Ce[2])]:[me(Ce),me(Ce),me(Ce)]}function Ee(Ce){return Array.isArray(Ce)?Ce.length===3?[Ce[0],Ce[1],Ce[2],1]:[Ce[0],Ce[1],Ce[2],Ce[3]]:[0,0,0,1]}function Ae(Ce){if(Array.isArray(Ce)){if(Array.isArray(Ce))return[Ee(Ce[0]),Ee(Ce[1]),Ee(Ce[2])];var me=Ee(Ce);return[me.slice(),me.slice(),me.slice()]}}G.update=function(Ce){Ce=Ce||{},this.objectOffset=Ce.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in Ce&&(this.contourWidth=Te(Ce.contourWidth,Number)),"showContour"in Ce&&(this.showContour=Te(Ce.showContour,Boolean)),"showSurface"in Ce&&(this.showSurface=!!Ce.showSurface),"contourTint"in Ce&&(this.contourTint=Te(Ce.contourTint,Boolean)),"contourColor"in Ce&&(this.contourColor=Ae(Ce.contourColor)),"contourProject"in Ce&&(this.contourProject=Te(Ce.contourProject,function(Gi){return Te(Gi,Boolean)})),"surfaceProject"in Ce&&(this.surfaceProject=Ce.surfaceProject),"dynamicColor"in Ce&&(this.dynamicColor=Ae(Ce.dynamicColor)),"dynamicTint"in Ce&&(this.dynamicTint=Te(Ce.dynamicTint,Number)),"dynamicWidth"in Ce&&(this.dynamicWidth=Te(Ce.dynamicWidth,Number)),"opacity"in Ce&&(this.opacity=Ce.opacity),"opacityscale"in Ce&&(this.opacityscale=Ce.opacityscale),"colorBounds"in Ce&&(this.colorBounds=Ce.colorBounds),"vertexColor"in Ce&&(this.vertexColor=Ce.vertexColor?1:0),"colormap"in Ce&&this._colorMap.setPixels(this.genColormap(Ce.colormap,this.opacityscale));var me=Ce.field||Ce.coords&&Ce.coords[2]||null,De=!1;if(me||(this._field[2].shape[0]||this._field[2].shape[2]?me=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):me=this._field[2].hi(0,0)),"field"in Ce||"coords"in Ce){var ce=(me.shape[0]+2)*(me.shape[1]+2);ce>this._field[2].data.length&&(f.freeFloat(this._field[2].data),this._field[2].data=f.mallocFloat(s.nextPow2(ce))),this._field[2]=_(this._field[2].data,[me.shape[0]+2,me.shape[1]+2]),this.padField(this._field[2],me),this.shape=me.shape.slice();for(var Ge=this.shape,nt=0;nt<2;++nt)this._field[2].size>this._field[nt].data.length&&(f.freeFloat(this._field[nt].data),this._field[nt].data=f.mallocFloat(this._field[2].size)),this._field[nt]=_(this._field[nt].data,[Ge[0]+2,Ge[1]+2]);if(Ce.coords){var ct=Ce.coords;if(!Array.isArray(ct)||ct.length!==3)throw new Error("gl-surface: invalid coordinates for x/y");for(nt=0;nt<2;++nt){var qt=ct[nt];for(Ct=0;Ct<2;++Ct)if(qt.shape[Ct]!==Ge[Ct])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[nt],qt)}}else if(Ce.ticks){var rt=Ce.ticks;if(!Array.isArray(rt)||rt.length!==2)throw new Error("gl-surface: invalid ticks");for(nt=0;nt<2;++nt){var ot=rt[nt];if((Array.isArray(ot)||ot.length)&&(ot=_(ot)),ot.shape[0]!==Ge[nt])throw new Error("gl-surface: invalid tick length");var It=_(ot.data,Ge);It.stride[nt]=ot.stride[0],It.stride[nt^1]=0,this.padField(this._field[nt],It)}}else{for(nt=0;nt<2;++nt){var kt=[0,0];kt[nt]=1,this._field[nt]=_(this._field[nt].data,[Ge[0]+2,Ge[1]+2],kt,0)}this._field[0].set(0,0,0);for(var Ct=0;Ct0){for(var Mi=0;Mi<5;++Mi)ai.pop();Ve-=1}continue e}}}nn.push(Ve)}this._contourOffsets[jr]=bi,this._contourCounts[jr]=nn}var Pi=f.mallocFloat(ai.length);for(nt=0;ntV||F<0||F>V)throw new Error("gl-texture2d: Invalid texture size");return P._shape=[T,F],P.bind(),q.texImage2D(q.TEXTURE_2D,0,P.format,T,F,0,P.format,P.type,null),P._mipLevels=[0],P}function p(P,T,F,q,V,H){this.gl=P,this.handle=T,this.format=V,this.type=H,this._shape=[F,q],this._mipLevels=[0],this._magFilter=P.NEAREST,this._minFilter=P.NEAREST,this._wrapS=P.CLAMP_TO_EDGE,this._wrapT=P.CLAMP_TO_EDGE,this._anisoSamples=1;var X=this,G=[this._wrapS,this._wrapT];Object.defineProperties(G,[{get:function(){return X._wrapS},set:function(W){return X.wrapS=W}},{get:function(){return X._wrapT},set:function(W){return X.wrapT=W}}]),this._wrapVector=G;var N=[this._shape[0],this._shape[1]];Object.defineProperties(N,[{get:function(){return X._shape[0]},set:function(W){return X.width=W}},{get:function(){return X._shape[1]},set:function(W){return X.height=W}}]),this._shapeVector=N}var E=p.prototype;Object.defineProperties(E,{minFilter:{get:function(){return this._minFilter},set:function(P){this.bind();var T=this.gl;if(this.type===T.FLOAT&&c.indexOf(P)>=0&&(T.getExtension("OES_texture_float_linear")||(P=T.NEAREST)),f.indexOf(P)<0)throw new Error("gl-texture2d: Unknown filter mode "+P);return T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MIN_FILTER,P),this._minFilter=P}},magFilter:{get:function(){return this._magFilter},set:function(P){this.bind();var T=this.gl;if(this.type===T.FLOAT&&c.indexOf(P)>=0&&(T.getExtension("OES_texture_float_linear")||(P=T.NEAREST)),f.indexOf(P)<0)throw new Error("gl-texture2d: Unknown filter mode "+P);return T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MAG_FILTER,P),this._magFilter=P}},mipSamples:{get:function(){return this._anisoSamples},set:function(P){var T=this._anisoSamples;if(this._anisoSamples=Math.max(P,1)|0,T!==this._anisoSamples){var F=this.gl.getExtension("EXT_texture_filter_anisotropic");F&&this.gl.texParameterf(this.gl.TEXTURE_2D,F.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error("gl-texture2d: Unknown wrap mode "+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,P),this._wrapS=P}},wrapT:{get:function(){return this._wrapT},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error("gl-texture2d: Unknown wrap mode "+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,P),this._wrapT=P}},wrap:{get:function(){return this._wrapVector},set:function(P){if(Array.isArray(P)||(P=[P,P]),P.length!==2)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var T=0;T<2;++T)if(h.indexOf(P[T])<0)throw new Error("gl-texture2d: Unknown wrap mode "+P);this._wrapS=P[0],this._wrapT=P[1];var F=this.gl;return this.bind(),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_S,this._wrapS),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_T,this._wrapT),P}},shape:{get:function(){return this._shapeVector},set:function(P){if(!Array.isArray(P))P=[P|0,P|0];else if(P.length!==2)throw new Error("gl-texture2d: Invalid texture shape");return b(this,P[0]|0,P[1]|0),[P[0]|0,P[1]|0]}},width:{get:function(){return this._shape[0]},set:function(P){return P=P|0,b(this,P,this._shape[1]),P}},height:{get:function(){return this._shape[1]},set:function(P){return P=P|0,b(this,this._shape[0],P),P}}}),E.bind=function(P){var T=this.gl;return P!==void 0&&T.activeTexture(T.TEXTURE0+(P|0)),T.bindTexture(T.TEXTURE_2D,this.handle),P!==void 0?P|0:T.getParameter(T.ACTIVE_TEXTURE)-T.TEXTURE0},E.dispose=function(){this.gl.deleteTexture(this.handle)},E.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var P=Math.min(this._shape[0],this._shape[1]),T=0;P>0;++T,P>>>=1)this._mipLevels.indexOf(T)<0&&this._mipLevels.push(T)},E.setPixels=function(P,T,F,q){var V=this.gl;this.bind(),Array.isArray(T)?(q=F,F=T[1]|0,T=T[0]|0):(T=T||0,F=F||0),q=q||0;var H=d(P)?P:P.raw;if(H){var X=this._mipLevels.indexOf(q)<0;X?(V.texImage2D(V.TEXTURE_2D,0,this.format,this.format,this.type,H),this._mipLevels.push(q)):V.texSubImage2D(V.TEXTURE_2D,q,T,F,this.format,this.type,H)}else if(P.shape&&P.stride&&P.data){if(P.shape.length<2||T+P.shape[1]>this._shape[1]>>>q||F+P.shape[0]>this._shape[0]>>>q||T<0||F<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");S(V,T,F,q,this.format,this.type,this._mipLevels,P)}else throw new Error("gl-texture2d: Unsupported data type")};function k(P,T){return P.length===3?T[2]===1&&T[1]===P[0]*P[2]&&T[0]===P[2]:T[0]===1&&T[1]===P[0]}function S(P,T,F,q,V,H,X,G){var N=G.dtype,W=G.shape.slice();if(W.length<2||W.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var re=0,ae=0,_e=k(W,G.stride.slice());N==="float32"?re=P.FLOAT:N==="float64"?(re=P.FLOAT,_e=!1,N="float32"):N==="uint8"?re=P.UNSIGNED_BYTE:(re=P.UNSIGNED_BYTE,_e=!1,N="uint8");var Me=1;if(W.length===2)ae=P.LUMINANCE,W=[W[0],W[1],1],G=s(G.data,W,[G.stride[0],G.stride[1],1],G.offset);else if(W.length===3){if(W[2]===1)ae=P.ALPHA;else if(W[2]===2)ae=P.LUMINANCE_ALPHA;else if(W[2]===3)ae=P.RGB;else if(W[2]===4)ae=P.RGBA;else throw new Error("gl-texture2d: Invalid shape for pixel coords");Me=W[2]}else throw new Error("gl-texture2d: Invalid shape for texture");if((ae===P.LUMINANCE||ae===P.ALPHA)&&(V===P.LUMINANCE||V===P.ALPHA)&&(ae=V),ae!==V)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var ke=G.size,ge=X.indexOf(q)<0;if(ge&&X.push(q),re===H&&_e)G.offset===0&&G.data.length===ke?ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,G.data):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,G.data):ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,G.data.subarray(G.offset,G.offset+ke)):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,G.data.subarray(G.offset,G.offset+ke));else{var ie;H===P.FLOAT?ie=u.mallocFloat32(ke):ie=u.mallocUint8(ke);var Te=s(ie,W,[W[2],W[2]*W[0],1]);re===P.FLOAT&&H===P.UNSIGNED_BYTE?_(Te,G):l.assign(Te,G),ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,ie.subarray(0,ke)):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,ie.subarray(0,ke)),H===P.FLOAT?u.freeFloat32(ie):u.freeUint8(ie)}}function L(P){var T=P.createTexture();return P.bindTexture(P.TEXTURE_2D,T),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MIN_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MAG_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_S,P.CLAMP_TO_EDGE),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_T,P.CLAMP_TO_EDGE),T}function x(P,T,F,q,V){var H=P.getParameter(P.MAX_TEXTURE_SIZE);if(T<0||T>H||F<0||F>H)throw new Error("gl-texture2d: Invalid texture shape");if(V===P.FLOAT&&!P.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var X=L(P);return P.texImage2D(P.TEXTURE_2D,0,q,T,F,0,q,V,null),new p(P,X,T,F,q,V)}function C(P,T,F,q,V,H){var X=L(P);return P.texImage2D(P.TEXTURE_2D,0,V,V,H,T),new p(P,X,F,q,V,H)}function M(P,T){var F=T.dtype,q=T.shape.slice(),V=P.getParameter(P.MAX_TEXTURE_SIZE);if(q[0]<0||q[0]>V||q[1]<0||q[1]>V)throw new Error("gl-texture2d: Invalid texture size");var H=k(q,T.stride.slice()),X=0;F==="float32"?X=P.FLOAT:F==="float64"?(X=P.FLOAT,H=!1,F="float32"):F==="uint8"?X=P.UNSIGNED_BYTE:(X=P.UNSIGNED_BYTE,H=!1,F="uint8");var G=0;if(q.length===2)G=P.LUMINANCE,q=[q[0],q[1],1],T=s(T.data,q,[T.stride[0],T.stride[1],1],T.offset);else if(q.length===3)if(q[2]===1)G=P.ALPHA;else if(q[2]===2)G=P.LUMINANCE_ALPHA;else if(q[2]===3)G=P.RGB;else if(q[2]===4)G=P.RGBA;else throw new Error("gl-texture2d: Invalid shape for pixel coords");else throw new Error("gl-texture2d: Invalid shape for texture");X===P.FLOAT&&!P.getExtension("OES_texture_float")&&(X=P.UNSIGNED_BYTE,H=!1);var N,W,re=T.size;if(H)T.offset===0&&T.data.length===re?N=T.data:N=T.data.subarray(T.offset,T.offset+re);else{var ae=[q[2],q[2]*q[0],1];W=u.malloc(re,F);var _e=s(W,q,ae,0);(F==="float32"||F==="float64")&&X===P.UNSIGNED_BYTE?_(_e,T):l.assign(_e,T),N=W.subarray(0,re)}var Me=L(P);return P.texImage2D(P.TEXTURE_2D,0,G,q[0],q[1],0,G,X,N),H||u.free(W),new p(P,Me,q[0],q[1],G,X)}function g(P){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");if(c||v(P),typeof arguments[1]=="number")return x(P,arguments[1],arguments[2],arguments[3]||P.RGBA,arguments[4]||P.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return x(P,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(typeof arguments[1]=="object"){var T=arguments[1],F=d(T)?T:T.raw;if(F)return C(P,F,T.width|0,T.height|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(T.shape&&T.data&&T.stride)return M(P,T)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")}},1433:function(i){"use strict";function a(o,s,l){s?s.bind():o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,null);var u=o.getParameter(o.MAX_VERTEX_ATTRIBS)|0;if(l){if(l.length>u)throw new Error("gl-vao: Too many vertex attributes");for(var c=0;c1?0:Math.acos(_)}},9226:function(i){i.exports=a;function a(o,s){return o[0]=Math.ceil(s[0]),o[1]=Math.ceil(s[1]),o[2]=Math.ceil(s[2]),o}},3126:function(i){i.exports=a;function a(o){var s=new Float32Array(3);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s}},3990:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o}},1091:function(i){i.exports=a;function a(){var o=new Float32Array(3);return o[0]=0,o[1]=0,o[2]=0,o}},5911:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],v=l[1],d=l[2];return o[0]=c*d-f*v,o[1]=f*h-u*d,o[2]=u*v-c*h,o}},5455:function(i,a,o){i.exports=o(7056)},7056:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return Math.sqrt(l*l+u*u+c*c)}},4008:function(i,a,o){i.exports=o(6690)},6690:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o}},244:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]}},2613:function(i){i.exports=1e-6},9922:function(i,a,o){i.exports=l;var s=o(2613);function l(u,c){var f=u[0],h=u[1],v=u[2],d=c[0],_=c[1],b=c[2];return Math.abs(f-d)<=s*Math.max(1,Math.abs(f),Math.abs(d))&&Math.abs(h-_)<=s*Math.max(1,Math.abs(h),Math.abs(_))&&Math.abs(v-b)<=s*Math.max(1,Math.abs(v),Math.abs(b))}},9265:function(i){i.exports=a;function a(o,s){return o[0]===s[0]&&o[1]===s[1]&&o[2]===s[2]}},2681:function(i){i.exports=a;function a(o,s){return o[0]=Math.floor(s[0]),o[1]=Math.floor(s[1]),o[2]=Math.floor(s[2]),o}},5137:function(i,a,o){i.exports=l;var s=o(1091)();function l(u,c,f,h,v,d){var _,b;for(c||(c=3),f||(f=0),h?b=Math.min(h*c+f,u.length):b=u.length,_=f;_0&&(f=1/Math.sqrt(f),o[0]=s[0]*f,o[1]=s[1]*f,o[2]=s[2]*f),o}},7636:function(i){i.exports=a;function a(o,s){s=s||1;var l=Math.random()*2*Math.PI,u=Math.random()*2-1,c=Math.sqrt(1-u*u)*s;return o[0]=Math.cos(l)*c,o[1]=Math.sin(l)*c,o[2]=u*s,o}},6894:function(i){i.exports=a;function a(o,s,l,u){var c=l[1],f=l[2],h=s[1]-c,v=s[2]-f,d=Math.sin(u),_=Math.cos(u);return o[0]=s[0],o[1]=c+h*_-v*d,o[2]=f+h*d+v*_,o}},109:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[2],h=s[0]-c,v=s[2]-f,d=Math.sin(u),_=Math.cos(u);return o[0]=c+v*d+h*_,o[1]=s[1],o[2]=f+v*_-h*d,o}},8692:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[1],h=s[0]-c,v=s[1]-f,d=Math.sin(u),_=Math.cos(u);return o[0]=c+h*_-v*d,o[1]=f+h*d+v*_,o[2]=s[2],o}},2447:function(i){i.exports=a;function a(o,s){return o[0]=Math.round(s[0]),o[1]=Math.round(s[1]),o[2]=Math.round(s[2]),o}},6621:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o}},8489:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o}},1463:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s,o[1]=l,o[2]=u,o}},6141:function(i,a,o){i.exports=o(2953)},5486:function(i,a,o){i.exports=o(3066)},2953:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return l*l+u*u+c*c}},3066:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return s*s+l*l+u*u}},2229:function(i,a,o){i.exports=o(6843)},6843:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o}},492:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2];return o[0]=u*l[0]+c*l[3]+f*l[6],o[1]=u*l[1]+c*l[4]+f*l[7],o[2]=u*l[2]+c*l[5]+f*l[8],o}},5673:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[3]*u+l[7]*c+l[11]*f+l[15];return h=h||1,o[0]=(l[0]*u+l[4]*c+l[8]*f+l[12])/h,o[1]=(l[1]*u+l[5]*c+l[9]*f+l[13])/h,o[2]=(l[2]*u+l[6]*c+l[10]*f+l[14])/h,o}},264:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],v=l[1],d=l[2],_=l[3],b=_*u+v*f-d*c,p=_*c+d*u-h*f,E=_*f+h*c-v*u,k=-h*u-v*c-d*f;return o[0]=b*_+k*-h+p*-d-E*-v,o[1]=p*_+k*-v+E*-h-b*-d,o[2]=E*_+k*-d+b*-v-p*-h,o}},4361:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o[3]=s[3]+l[3],o}},2335:function(i){i.exports=a;function a(o){var s=new Float32Array(4);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s}},2933:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o}},7536:function(i){i.exports=a;function a(){var o=new Float32Array(4);return o[0]=0,o[1]=0,o[2]=0,o[3]=0,o}},4691:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return Math.sqrt(l*l+u*u+c*c+f*f)}},1373:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o[3]=s[3]/l[3],o}},3750:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]+o[3]*s[3]}},3390:function(i){i.exports=a;function a(o,s,l,u){var c=new Float32Array(4);return c[0]=o,c[1]=s,c[2]=l,c[3]=u,c}},9970:function(i,a,o){i.exports={create:o(7536),clone:o(2335),fromValues:o(3390),copy:o(2933),set:o(4578),add:o(4361),subtract:o(6860),multiply:o(3576),divide:o(1373),min:o(2334),max:o(160),scale:o(9288),scaleAndAdd:o(4844),distance:o(4691),squaredDistance:o(7960),length:o(6808),squaredLength:o(483),negate:o(1498),inverse:o(4494),normalize:o(5177),dot:o(3750),lerp:o(2573),random:o(9131),transformMat4:o(5352),transformQuat:o(4041)}},4494:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o[3]=1/s[3],o}},6808:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return Math.sqrt(s*s+l*l+u*u+c*c)}},2573:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2],v=s[3];return o[0]=c+u*(l[0]-c),o[1]=f+u*(l[1]-f),o[2]=h+u*(l[2]-h),o[3]=v+u*(l[3]-v),o}},160:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o[3]=Math.max(s[3],l[3]),o}},2334:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o[3]=Math.min(s[3],l[3]),o}},3576:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o[3]=s[3]*l[3],o}},1498:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o[3]=-s[3],o}},5177:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=l*l+u*u+c*c+f*f;return h>0&&(h=1/Math.sqrt(h),o[0]=l*h,o[1]=u*h,o[2]=c*h,o[3]=f*h),o}},9131:function(i,a,o){var s=o(5177),l=o(9288);i.exports=u;function u(c,f){return f=f||1,c[0]=Math.random(),c[1]=Math.random(),c[2]=Math.random(),c[3]=Math.random(),s(c,c),l(c,c,f),c}},9288:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o[3]=s[3]*l,o}},4844:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o[3]=s[3]+l[3]*u,o}},4578:function(i){i.exports=a;function a(o,s,l,u,c){return o[0]=s,o[1]=l,o[2]=u,o[3]=c,o}},7960:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return l*l+u*u+c*c+f*f}},483:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return s*s+l*l+u*u+c*c}},6860:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o[3]=s[3]-l[3],o}},5352:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3];return o[0]=l[0]*u+l[4]*c+l[8]*f+l[12]*h,o[1]=l[1]*u+l[5]*c+l[9]*f+l[13]*h,o[2]=l[2]*u+l[6]*c+l[10]*f+l[14]*h,o[3]=l[3]*u+l[7]*c+l[11]*f+l[15]*h,o}},4041:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],v=l[1],d=l[2],_=l[3],b=_*u+v*f-d*c,p=_*c+d*u-h*f,E=_*f+h*c-v*u,k=-h*u-v*c-d*f;return o[0]=b*_+k*-h+p*-d-E*-v,o[1]=p*_+k*-v+E*-h-b*-d,o[2]=E*_+k*-d+b*-v-p*-h,o[3]=s[3],o}},1848:function(i,a,o){var s=o(4905),l=o(6468);i.exports=u;function u(c){for(var f=Array.isArray(c)?c:s(c),h=0;h0)continue;Lt=Ke.slice(0,1).join("")}return De(Lt),ke+=Lt.length,N=N.slice(Lt.length),N.length}while(!0)}function Ct(){return/[^a-fA-F0-9]/.test(X)?(De(N.join("")),H=h,q):(N.push(X),G=X,q+1)}function Yt(){return X==="."||/[eE]/.test(X)?(N.push(X),H=k,G=X,q+1):X==="x"&&N.length===1&&N[0]==="0"?(H=g,N.push(X),G=X,q+1):/[^\d]/.test(X)?(De(N.join("")),H=h,q):(N.push(X),G=X,q+1)}function mr(){return X==="f"&&(N.push(X),G=X,q+=1),/[eE]/.test(X)||(X==="-"||X==="+")&&/[eE]/.test(G)?(N.push(X),G=X,q+1):/[^\d]/.test(X)?(De(N.join("")),H=h,q):(N.push(X),G=X,q+1)}function er(){if(/[^\d\w_]/.test(X)){var Ke=N.join("");return me[Ke]?H=x:Ce[Ke]?H=L:H=S,De(N.join("")),H=h,q}return N.push(X),G=X,q+1}}},3508:function(i,a,o){var s=o(6852);s=s.slice().filter(function(l){return!/^(gl\_|texture)/.test(l)}),i.exports=s.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},6852:function(i){i.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},7932:function(i,a,o){var s=o(620);i.exports=s.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},620:function(i){i.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},7827:function(i){i.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},4905:function(i,a,o){var s=o(5874);i.exports=l;function l(u,c){var f=s(c),h=[];return h=h.concat(f(u)),h=h.concat(f(null)),h}},3236:function(i){i.exports=function(a){typeof a=="string"&&(a=[a]);for(var o=[].slice.call(arguments,1),s=[],l=0;l>1,b=-7,p=l?c-1:0,E=l?-1:1,k=o[s+p];for(p+=E,f=k&(1<<-b)-1,k>>=-b,b+=v;b>0;f=f*256+o[s+p],p+=E,b-=8);for(h=f&(1<<-b)-1,f>>=-b,b+=u;b>0;h=h*256+o[s+p],p+=E,b-=8);if(f===0)f=1-_;else{if(f===d)return h?NaN:(k?-1:1)*(1/0);h=h+Math.pow(2,u),f=f-_}return(k?-1:1)*h*Math.pow(2,f-u)},a.write=function(o,s,l,u,c,f){var h,v,d,_=f*8-c-1,b=(1<<_)-1,p=b>>1,E=c===23?Math.pow(2,-24)-Math.pow(2,-77):0,k=u?0:f-1,S=u?1:-1,L=s<0||s===0&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(v=isNaN(s)?1:0,h=b):(h=Math.floor(Math.log(s)/Math.LN2),s*(d=Math.pow(2,-h))<1&&(h--,d*=2),h+p>=1?s+=E/d:s+=E*Math.pow(2,1-p),s*d>=2&&(h++,d/=2),h+p>=b?(v=0,h=b):h+p>=1?(v=(s*d-1)*Math.pow(2,c),h=h+p):(v=s*Math.pow(2,p-1)*Math.pow(2,c),h=0));c>=8;o[l+k]=v&255,k+=S,v/=256,c-=8);for(h=h<0;o[l+k]=h&255,k+=S,h/=256,_-=8);o[l+k-S]|=L*128}},8954:function(i,a,o){"use strict";i.exports=p;var s=o(3250),l=o(6803).Fw;function u(E,k,S){this.vertices=E,this.adjacent=k,this.boundary=S,this.lastVisited=-1}u.prototype.flip=function(){var E=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=E;var k=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=k};function c(E,k,S){this.vertices=E,this.cell=k,this.index=S}function f(E,k){return l(E.vertices,k.vertices)}function h(E){return function(){var k=this.tuple;return E.apply(this,k)}}function v(E){var k=s[E+1];return k||(k=s),h(k)}var d=[];function _(E,k,S){this.dimension=E,this.vertices=k,this.simplices=S,this.interior=S.filter(function(C){return!C.boundary}),this.tuple=new Array(E+1);for(var L=0;L<=E;++L)this.tuple[L]=this.vertices[L];var x=d[E];x||(x=d[E]=v(E)),this.orient=x}var b=_.prototype;b.handleBoundaryDegeneracy=function(E,k){var S=this.dimension,L=this.vertices.length-1,x=this.tuple,C=this.vertices,M=[E];for(E.lastVisited=-L;M.length>0;){E=M.pop();for(var g=E.adjacent,P=0;P<=S;++P){var T=g[P];if(!(!T.boundary||T.lastVisited<=-L)){for(var F=T.vertices,q=0;q<=S;++q){var V=F[q];V<0?x[q]=k:x[q]=C[V]}var H=this.orient();if(H>0)return T;T.lastVisited=-L,H===0&&M.push(T)}}}return null},b.walk=function(E,k){var S=this.vertices.length-1,L=this.dimension,x=this.vertices,C=this.tuple,M=k?this.interior.length*Math.random()|0:this.interior.length-1,g=this.interior[M];e:for(;!g.boundary;){for(var P=g.vertices,T=g.adjacent,F=0;F<=L;++F)C[F]=x[P[F]];g.lastVisited=S;for(var F=0;F<=L;++F){var q=T[F];if(!(q.lastVisited>=S)){var V=C[F];C[F]=E;var H=this.orient();if(C[F]=V,H<0){g=q;continue e}else q.boundary?q.lastVisited=-S:q.lastVisited=S}}return}return g},b.addPeaks=function(E,k){var S=this.vertices.length-1,L=this.dimension,x=this.vertices,C=this.tuple,M=this.interior,g=this.simplices,P=[k];k.lastVisited=S,k.vertices[k.vertices.indexOf(-1)]=S,k.boundary=!1,M.push(k);for(var T=[];P.length>0;){var k=P.pop(),F=k.vertices,q=k.adjacent,V=F.indexOf(S);if(!(V<0)){for(var H=0;H<=L;++H)if(H!==V){var X=q[H];if(!(!X.boundary||X.lastVisited>=S)){var G=X.vertices;if(X.lastVisited!==-S){for(var N=0,W=0;W<=L;++W)G[W]<0?(N=W,C[W]=E):C[W]=x[G[W]];var re=this.orient();if(re>0){G[N]=S,X.boundary=!1,M.push(X),P.push(X),X.lastVisited=S;continue}else X.lastVisited=-S}var ae=X.adjacent,_e=F.slice(),Me=q.slice(),ke=new u(_e,Me,!0);g.push(ke);var ge=ae.indexOf(k);if(!(ge<0)){ae[ge]=ke,Me[V]=X,_e[H]=-1,Me[H]=k,q[H]=ke,ke.flip();for(var W=0;W<=L;++W){var ie=_e[W];if(!(ie<0||ie===S)){for(var Te=new Array(L-1),Ee=0,Ae=0;Ae<=L;++Ae){var ze=_e[Ae];ze<0||Ae===W||(Te[Ee++]=ze)}T.push(new c(Te,ke,W))}}}}}}}T.sort(f);for(var H=0;H+1=0?M[P++]=g[F]:T=F&1;if(T===(E&1)){var q=M[0];M[0]=M[1],M[1]=q}k.push(M)}}return k};function p(E,k){var S=E.length;if(S===0)throw new Error("Must have at least d+1 points");var L=E[0].length;if(S<=L)throw new Error("Must input at least d+1 points");var x=E.slice(0,L+1),C=s.apply(void 0,x);if(C===0)throw new Error("Input not in general position");for(var M=new Array(L+1),g=0;g<=L;++g)M[g]=g;C<0&&(M[0]=1,M[1]=0);for(var P=new u(M,new Array(L+1),!1),T=P.adjacent,F=new Array(L+2),g=0;g<=L;++g){for(var q=M.slice(),V=0;V<=L;++V)V===g&&(q[V]=-1);var H=q[0];q[0]=q[1],q[1]=H;var X=new u(q,new Array(L+1),!0);T[g]=X,F[g]=X}F[L+1]=P;for(var g=0;g<=L;++g)for(var q=T[g].vertices,G=T[g].adjacent,V=0;V<=L;++V){var N=q[V];if(N<0){G[V]=P;continue}for(var W=0;W<=L;++W)T[W].vertices.indexOf(N)<0&&(G[V]=T[W])}for(var re=new _(L,x,F),ae=!!k,g=L+1;g3*(F+1)?_(this,T):this.left.insert(T):this.left=C([T]);else if(T[0]>this.mid)this.right?4*(this.right.count+1)>3*(F+1)?_(this,T):this.right.insert(T):this.right=C([T]);else{var q=s.ge(this.leftPoints,T,L),V=s.ge(this.rightPoints,T,x);this.leftPoints.splice(q,0,T),this.rightPoints.splice(V,0,T)}},h.remove=function(T){var F=this.count-this.leftPoints;if(T[1]3*(F-1))return b(this,T);var V=this.left.remove(T);return V===c?(this.left=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else if(T[0]>this.mid){if(!this.right)return l;var H=this.left?this.left.count:0;if(4*H>3*(F-1))return b(this,T);var V=this.right.remove(T);return V===c?(this.right=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else{if(this.count===1)return this.leftPoints[0]===T?c:l;if(this.leftPoints.length===1&&this.leftPoints[0]===T){if(this.left&&this.right){for(var X=this,G=this.left;G.right;)X=G,G=G.right;if(X===this)G.right=this.right;else{var N=this.left,V=this.right;X.count-=G.count,X.right=G.left,G.left=N,G.right=V}v(this,G),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?v(this,this.left):v(this,this.right);return u}for(var N=s.ge(this.leftPoints,T,L);N=0&&T[V][1]>=F;--V){var H=q(T[V]);if(H)return H}}function k(T,F){for(var q=0;qthis.mid){if(this.right){var q=this.right.queryPoint(T,F);if(q)return q}return E(this.rightPoints,T,F)}else return k(this.leftPoints,F)},h.queryInterval=function(T,F,q){if(Tthis.mid&&this.right){var V=this.right.queryInterval(T,F,q);if(V)return V}return Fthis.mid?E(this.rightPoints,T,q):k(this.leftPoints,q)};function S(T,F){return T-F}function L(T,F){var q=T[0]-F[0];return q||T[1]-F[1]}function x(T,F){var q=T[1]-F[1];return q||T[0]-F[0]}function C(T){if(T.length===0)return null;for(var F=[],q=0;q>1],H=[],X=[],G=[],q=0;q13)&&s!==32&&s!==133&&s!==160&&s!==5760&&s!==6158&&(s<8192||s>8205)&&s!==8232&&s!==8233&&s!==8239&&s!==8287&&s!==8288&&s!==12288&&s!==65279)return!1;return!0}},395:function(i){function a(o,s,l){return o*(1-l)+s*l}i.exports=a},2652:function(i,a,o){var s=o(4335),l=o(6864),u=o(1903),c=o(9921),f=o(7608),h=o(5665),v={length:o(1387),normalize:o(3536),dot:o(244),cross:o(5911)},d=l(),_=l(),b=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],E=[0,0,0];i.exports=function(C,M,g,P,T,F){if(M||(M=[0,0,0]),g||(g=[0,0,0]),P||(P=[0,0,0]),T||(T=[0,0,0,1]),F||(F=[0,0,0,1]),!s(d,C)||(u(_,d),_[3]=0,_[7]=0,_[11]=0,_[15]=1,Math.abs(c(_)<1e-8)))return!1;var q=d[3],V=d[7],H=d[11],X=d[12],G=d[13],N=d[14],W=d[15];if(q!==0||V!==0||H!==0){b[0]=q,b[1]=V,b[2]=H,b[3]=W;var re=f(_,_);if(!re)return!1;h(_,_),k(T,b,_)}else T[0]=T[1]=T[2]=0,T[3]=1;if(M[0]=X,M[1]=G,M[2]=N,S(p,d),g[0]=v.length(p[0]),v.normalize(p[0],p[0]),P[0]=v.dot(p[0],p[1]),L(p[1],p[1],p[0],1,-P[0]),g[1]=v.length(p[1]),v.normalize(p[1],p[1]),P[0]/=g[1],P[1]=v.dot(p[0],p[2]),L(p[2],p[2],p[0],1,-P[1]),P[2]=v.dot(p[1],p[2]),L(p[2],p[2],p[1],1,-P[2]),g[2]=v.length(p[2]),v.normalize(p[2],p[2]),P[1]/=g[2],P[2]/=g[2],v.cross(E,p[1],p[2]),v.dot(p[0],E)<0)for(var ae=0;ae<3;ae++)g[ae]*=-1,p[ae][0]*=-1,p[ae][1]*=-1,p[ae][2]*=-1;return F[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),F[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),F[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),F[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(F[0]=-F[0]),p[0][2]>p[2][0]&&(F[1]=-F[1]),p[1][0]>p[0][1]&&(F[2]=-F[2]),!0};function k(x,C,M){var g=C[0],P=C[1],T=C[2],F=C[3];return x[0]=M[0]*g+M[4]*P+M[8]*T+M[12]*F,x[1]=M[1]*g+M[5]*P+M[9]*T+M[13]*F,x[2]=M[2]*g+M[6]*P+M[10]*T+M[14]*F,x[3]=M[3]*g+M[7]*P+M[11]*T+M[15]*F,x}function S(x,C){x[0][0]=C[0],x[0][1]=C[1],x[0][2]=C[2],x[1][0]=C[4],x[1][1]=C[5],x[1][2]=C[6],x[2][0]=C[8],x[2][1]=C[9],x[2][2]=C[10]}function L(x,C,M,g,P){x[0]=C[0]*g+M[0]*P,x[1]=C[1]*g+M[1]*P,x[2]=C[2]*g+M[2]*P}},4335:function(i){i.exports=function(o,s){var l=s[15];if(l===0)return!1;for(var u=1/l,c=0;c<16;c++)o[c]=s[c]*u;return!0}},7442:function(i,a,o){var s=o(6658),l=o(7182),u=o(2652),c=o(9921),f=o(8648),h=b(),v=b(),d=b();i.exports=_;function _(k,S,L,x){if(c(S)===0||c(L)===0)return!1;var C=u(S,h.translate,h.scale,h.skew,h.perspective,h.quaternion),M=u(L,v.translate,v.scale,v.skew,v.perspective,v.quaternion);return!C||!M?!1:(s(d.translate,h.translate,v.translate,x),s(d.skew,h.skew,v.skew,x),s(d.scale,h.scale,v.scale,x),s(d.perspective,h.perspective,v.perspective,x),f(d.quaternion,h.quaternion,v.quaternion,x),l(k,d.translate,d.scale,d.skew,d.perspective,d.quaternion),!0)}function b(){return{translate:p(),scale:p(1),skew:p(),perspective:E(),quaternion:E()}}function p(k){return[k||0,k||0,k||0]}function E(){return[0,0,0,1]}},7182:function(i,a,o){var s={identity:o(7894),translate:o(7656),multiply:o(6760),create:o(6864),scale:o(2504),fromRotationTranslation:o(6743)},l=s.create(),u=s.create();i.exports=function(f,h,v,d,_,b){return s.identity(f),s.fromRotationTranslation(f,b,h),f[3]=_[0],f[7]=_[1],f[11]=_[2],f[15]=_[3],s.identity(u),d[2]!==0&&(u[9]=d[2],s.multiply(f,f,u)),d[1]!==0&&(u[9]=0,u[8]=d[1],s.multiply(f,f,u)),d[0]!==0&&(u[8]=0,u[4]=d[0],s.multiply(f,f,u)),s.scale(f,f,v),f}},1811:function(i,a,o){"use strict";var s=o(2478),l=o(7442),u=o(7608),c=o(5567),f=o(2408),h=o(7089),v=o(6582),d=o(7656),_=o(2504),b=o(3536),p=[0,0,0];i.exports=L;function E(x){this._components=x.slice(),this._time=[0],this.prevMatrix=x.slice(),this.nextMatrix=x.slice(),this.computedMatrix=x.slice(),this.computedInverse=x.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}var k=E.prototype;k.recalcMatrix=function(x){var C=this._time,M=s.le(C,x),g=this.computedMatrix;if(!(M<0)){var P=this._components;if(M===C.length-1)for(var T=16*M,F=0;F<16;++F)g[F]=P[T++];else{for(var q=C[M+1]-C[M],T=16*M,V=this.prevMatrix,H=!0,F=0;F<16;++F)V[F]=P[T++];for(var X=this.nextMatrix,F=0;F<16;++F)X[F]=P[T++],H=H&&V[F]===X[F];if(q<1e-6||H)for(var F=0;F<16;++F)g[F]=V[F];else l(g,V,X,(x-C[M])/q)}var G=this.computedUp;G[0]=g[1],G[1]=g[5],G[2]=g[9],b(G,G);var N=this.computedInverse;u(N,g);var W=this.computedEye,re=N[15];W[0]=N[12]/re,W[1]=N[13]/re,W[2]=N[14]/re;for(var ae=this.computedCenter,_e=Math.exp(this.computedRadius[0]),F=0;F<3;++F)ae[F]=W[F]-g[2+4*F]*_e}},k.idle=function(x){if(!(x1&&s(u[v[p-2]],u[v[p-1]],b)<=0;)p-=1,v.pop();for(v.push(_),p=d.length;p>1&&s(u[d[p-2]],u[d[p-1]],b)>=0;)p-=1,d.pop();d.push(_)}for(var E=new Array(d.length+v.length-2),k=0,f=0,S=v.length;f0;--L)E[k++]=d[L];return E}},351:function(i,a,o){"use strict";i.exports=l;var s=o(4687);function l(u,c){c||(c=u,u=window);var f=0,h=0,v=0,d={shift:!1,alt:!1,control:!1,meta:!1},_=!1;function b(T){var F=!1;return"altKey"in T&&(F=F||T.altKey!==d.alt,d.alt=!!T.altKey),"shiftKey"in T&&(F=F||T.shiftKey!==d.shift,d.shift=!!T.shiftKey),"ctrlKey"in T&&(F=F||T.ctrlKey!==d.control,d.control=!!T.ctrlKey),"metaKey"in T&&(F=F||T.metaKey!==d.meta,d.meta=!!T.metaKey),F}function p(T,F){var q=s.x(F),V=s.y(F);"buttons"in F&&(T=F.buttons|0),(T!==f||q!==h||V!==v||b(F))&&(f=T|0,h=q||0,v=V||0,c&&c(f,h,v,d))}function E(T){p(0,T)}function k(){(f||h||v||d.shift||d.alt||d.meta||d.control)&&(h=v=0,f=0,d.shift=d.alt=d.control=d.meta=!1,c&&c(0,0,0,d))}function S(T){b(T)&&c&&c(f,h,v,d)}function L(T){s.buttons(T)===0?p(0,T):p(f,T)}function x(T){p(f|s.buttons(T),T)}function C(T){p(f&~s.buttons(T),T)}function M(){_||(_=!0,u.addEventListener("mousemove",L),u.addEventListener("mousedown",x),u.addEventListener("mouseup",C),u.addEventListener("mouseleave",E),u.addEventListener("mouseenter",E),u.addEventListener("mouseout",E),u.addEventListener("mouseover",E),u.addEventListener("blur",k),u.addEventListener("keyup",S),u.addEventListener("keydown",S),u.addEventListener("keypress",S),u!==window&&(window.addEventListener("blur",k),window.addEventListener("keyup",S),window.addEventListener("keydown",S),window.addEventListener("keypress",S)))}function g(){_&&(_=!1,u.removeEventListener("mousemove",L),u.removeEventListener("mousedown",x),u.removeEventListener("mouseup",C),u.removeEventListener("mouseleave",E),u.removeEventListener("mouseenter",E),u.removeEventListener("mouseout",E),u.removeEventListener("mouseover",E),u.removeEventListener("blur",k),u.removeEventListener("keyup",S),u.removeEventListener("keydown",S),u.removeEventListener("keypress",S),u!==window&&(window.removeEventListener("blur",k),window.removeEventListener("keyup",S),window.removeEventListener("keydown",S),window.removeEventListener("keypress",S)))}M();var P={element:u};return Object.defineProperties(P,{enabled:{get:function(){return _},set:function(T){T?M():g()},enumerable:!0},buttons:{get:function(){return f},enumerable:!0},x:{get:function(){return h},enumerable:!0},y:{get:function(){return v},enumerable:!0},mods:{get:function(){return d},enumerable:!0}}),P}},24:function(i){var a={left:0,top:0};i.exports=o;function o(l,u,c){u=u||l.currentTarget||l.srcElement,Array.isArray(c)||(c=[0,0]);var f=l.clientX||0,h=l.clientY||0,v=s(u);return c[0]=f-v.left,c[1]=h-v.top,c}function s(l){return l===window||l===document||l===document.body?a:l.getBoundingClientRect()}},4687:function(i,a){"use strict";function o(c){if(typeof c=="object"){if("buttons"in c)return c.buttons;if("which"in c){var f=c.which;if(f===2)return 4;if(f===3)return 2;if(f>0)return 1<=0)return 1<0){if(Me=1,ie[Ee++]=d(M[F],k,S,L),F+=re,x>0)for(_e=1,q=M[F],Ae=ie[Ee]=d(q,k,S,L),me=ie[Ee+ze],Ge=ie[Ee+De],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,S,L),rt=Te[Ee]=ke++),Ee+=1,F+=re,_e=2;_e0)for(_e=1,q=M[F],Ae=ie[Ee]=d(q,k,S,L),me=ie[Ee+ze],Ge=ie[Ee+De],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,S,L),rt=Te[Ee]=ke++,qt!==Ge&&v(Te[Ee+De],rt,G,W,Ge,qt,k,S,L)),Ee+=1,F+=re,_e=2;_e0){if(_e=1,ie[Ee++]=d(M[F],k,S,L),F+=re,C>0)for(Me=1,q=M[F],Ae=ie[Ee]=d(q,k,S,L),Ge=ie[Ee+De],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,S,L),rt=Te[Ee]=ke++),Ee+=1,F+=re,Me=2;Me0)for(Me=1,q=M[F],Ae=ie[Ee]=d(q,k,S,L),Ge=ie[Ee+De],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,S,L),rt=Te[Ee]=ke++,qt!==Ge&&v(Te[Ee+De],rt,W,H,qt,Ge,k,S,L)),Ee+=1,F+=re,Me=2;Me 0"),typeof f.vertex!="function"&&h("Must specify vertex creation function"),typeof f.cell!="function"&&h("Must specify cell creation function"),typeof f.phase!="function"&&h("Must specify phase function");for(var b=f.getters||[],p=new Array(d),E=0;E=0?p[E]=!0:p[E]=!1;return u(f.vertex,f.cell,f.phase,_,v,p)}},6199:function(i,a,o){"use strict";var s=o(1338),l={zero:function(L,x,C,M){var g=L[0],P=C[0];M|=0;var T=0,F=P;for(T=0;T2&&T[1]>2&&M(P.pick(-1,-1).lo(1,1).hi(T[0]-2,T[1]-2),g.pick(-1,-1,0).lo(1,1).hi(T[0]-2,T[1]-2),g.pick(-1,-1,1).lo(1,1).hi(T[0]-2,T[1]-2)),T[1]>2&&(C(P.pick(0,-1).lo(1).hi(T[1]-2),g.pick(0,-1,1).lo(1).hi(T[1]-2)),x(g.pick(0,-1,0).lo(1).hi(T[1]-2))),T[1]>2&&(C(P.pick(T[0]-1,-1).lo(1).hi(T[1]-2),g.pick(T[0]-1,-1,1).lo(1).hi(T[1]-2)),x(g.pick(T[0]-1,-1,0).lo(1).hi(T[1]-2))),T[0]>2&&(C(P.pick(-1,0).lo(1).hi(T[0]-2),g.pick(-1,0,0).lo(1).hi(T[0]-2)),x(g.pick(-1,0,1).lo(1).hi(T[0]-2))),T[0]>2&&(C(P.pick(-1,T[1]-1).lo(1).hi(T[0]-2),g.pick(-1,T[1]-1,0).lo(1).hi(T[0]-2)),x(g.pick(-1,T[1]-1,1).lo(1).hi(T[0]-2))),g.set(0,0,0,0),g.set(0,0,1,0),g.set(T[0]-1,0,0,0),g.set(T[0]-1,0,1,0),g.set(0,T[1]-1,0,0),g.set(0,T[1]-1,1,0),g.set(T[0]-1,T[1]-1,0,0),g.set(T[0]-1,T[1]-1,1,0),g}}function S(L){var x=L.join(),T=d[x];if(T)return T;for(var C=L.length,M=[b,p],g=1;g<=C;++g)M.push(E(g));var P=k,T=P.apply(void 0,M);return d[x]=T,T}i.exports=function(x,C,M){if(Array.isArray(M)||(typeof M=="string"?M=s(C.dimension,M):M=s(C.dimension,"clamp")),C.size===0)return x;if(C.dimension===0)return x.set(0),x;var g=S(M);return g(x,C)}},4317:function(i){"use strict";function a(c,f){var h=Math.floor(f),v=f-h,d=0<=h&&h0;){G<64?(x=G,G=0):(x=64,G-=64);for(var N=d[1]|0;N>0;){N<64?(C=N,N=0):(C=64,N-=64),p=H+G*g+N*P,S=X+G*F+N*q;var W=0,re=0,ae=0,_e=T,Me=g-M*T,ke=P-x*g,ge=V,ie=F-M*V,Te=q-x*F;for(ae=0;ae0;){q<64?(x=q,q=0):(x=64,q-=64);for(var V=d[0]|0;V>0;){V<64?(L=V,V=0):(L=64,V-=64),p=T+q*M+V*C,S=F+q*P+V*g;var H=0,X=0,G=M,N=C-x*M,W=P,re=g-x*P;for(X=0;X0;){X<64?(C=X,X=0):(C=64,X-=64);for(var G=d[0]|0;G>0;){G<64?(L=G,G=0):(L=64,G-=64);for(var N=d[1]|0;N>0;){N<64?(x=N,N=0):(x=64,N-=64),p=V+X*P+G*M+N*g,S=H+X*q+G*T+N*F;var W=0,re=0,ae=0,_e=P,Me=M-C*P,ke=g-L*M,ge=q,ie=T-C*q,Te=F-L*T;for(ae=0;aeE;){W=0,re=H-x;t:for(G=0;G_e)break t;re+=T,W+=F}for(W=H,re=H-x,G=0;G>1,N=G-V,W=G+V,re=H,ae=N,_e=G,Me=W,ke=X,ge=k+1,ie=S-1,Te=!0,Ee,Ae,ze,Ce,me,De,ce,Ge,nt,ct=0,qt=0,rt=0,ot,It,kt,Ct,Yt,mr,er,Ke,bt,xt,Lt,St,Et,dt,Ht,$t,fr=P,xr=b(fr),Br=b(fr);It=C*re,kt=C*ae,$t=x;e:for(ot=0;ot0){Ae=re,re=ae,ae=Ae;break e}if(rt<0)break e;$t+=F}It=C*Me,kt=C*ke,$t=x;e:for(ot=0;ot0){Ae=Me,Me=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}It=C*re,kt=C*_e,$t=x;e:for(ot=0;ot0){Ae=re,re=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}It=C*ae,kt=C*_e,$t=x;e:for(ot=0;ot0){Ae=ae,ae=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}It=C*re,kt=C*Me,$t=x;e:for(ot=0;ot0){Ae=re,re=Me,Me=Ae;break e}if(rt<0)break e;$t+=F}It=C*_e,kt=C*Me,$t=x;e:for(ot=0;ot0){Ae=_e,_e=Me,Me=Ae;break e}if(rt<0)break e;$t+=F}It=C*ae,kt=C*ke,$t=x;e:for(ot=0;ot0){Ae=ae,ae=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}It=C*ae,kt=C*_e,$t=x;e:for(ot=0;ot0){Ae=ae,ae=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}It=C*Me,kt=C*ke,$t=x;e:for(ot=0;ot0){Ae=Me,Me=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}for(It=C*re,kt=C*ae,Ct=C*_e,Yt=C*Me,mr=C*ke,er=C*H,Ke=C*G,bt=C*X,Ht=0,$t=x,ot=0;ot0)ie--;else if(rt<0){for(It=C*De,kt=C*ge,Ct=C*ie,$t=x,ot=0;ot0)for(;;){ce=x+ie*C,Ht=0;e:for(ot=0;ot0){if(--ieX){e:for(;;){for(ce=x+ge*C,Ht=0,$t=x,ot=0;ot1&&E?S(p,E[0],E[1]):S(p)}var v={"uint32,1,0":function(_,b){return function(p){var E=p.data,k=p.offset|0,S=p.shape,L=p.stride,x=L[0]|0,C=S[0]|0,M=L[1]|0,g=S[1]|0,P=M,T=M,F=1;C<=32?_(0,C-1,E,k,x,M,C,g,P,T,F):b(0,C-1,E,k,x,M,C,g,P,T,F)}}};function d(_,b){var p=[b,_].join(","),E=v[p],k=c(_,b),S=h(_,b,k);return E(k,S)}i.exports=d},446:function(i,a,o){"use strict";var s=o(7640),l={};function u(c){var f=c.order,h=c.dtype,v=[f,h],d=v.join(":"),_=l[d];return _||(l[d]=_=s(f,h)),_(c),c}i.exports=u},9618:function(i,a,o){var s=o(7163),l=typeof Float64Array!="undefined";function u(b,p){return b[0]-p[0]}function c(){var b=this.stride,p=new Array(b.length),E;for(E=0;E=0&&(M=x|0,C+=P*M,g-=M),new k(this.data,g,P,C)},S.step=function(x){var C=this.shape[0],M=this.stride[0],g=this.offset,P=0,T=Math.ceil;return typeof x=="number"&&(P=x|0,P<0?(g+=M*(C-1),C=T(-C/P)):C=T(C/P),M*=P),new k(this.data,C,M,g)},S.transpose=function(x){x=x===void 0?0:x|0;var C=this.shape,M=this.stride;return new k(this.data,C[x],M[x],this.offset)},S.pick=function(x){var C=[],M=[],g=this.offset;typeof x=="number"&&x>=0?g=g+this.stride[0]*x|0:(C.push(this.shape[0]),M.push(this.stride[0]));var P=p[C.length+1];return P(this.data,C,M,g)},function(x,C,M,g){return new k(x,C[0],M[0],g)}},2:function(b,p,E){function k(L,x,C,M,g,P){this.data=L,this.shape=[x,C],this.stride=[M,g],this.offset=P|0}var S=k.prototype;return S.dtype=b,S.dimension=2,Object.defineProperty(S,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(S,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),S.set=function(x,C,M){return b==="generic"?this.data.set(this.offset+this.stride[0]*x+this.stride[1]*C,M):this.data[this.offset+this.stride[0]*x+this.stride[1]*C]=M},S.get=function(x,C){return b==="generic"?this.data.get(this.offset+this.stride[0]*x+this.stride[1]*C):this.data[this.offset+this.stride[0]*x+this.stride[1]*C]},S.index=function(x,C){return this.offset+this.stride[0]*x+this.stride[1]*C},S.hi=function(x,C){return new k(this.data,typeof x!="number"||x<0?this.shape[0]:x|0,typeof C!="number"||C<0?this.shape[1]:C|0,this.stride[0],this.stride[1],this.offset)},S.lo=function(x,C){var M=this.offset,g=0,P=this.shape[0],T=this.shape[1],F=this.stride[0],q=this.stride[1];return typeof x=="number"&&x>=0&&(g=x|0,M+=F*g,P-=g),typeof C=="number"&&C>=0&&(g=C|0,M+=q*g,T-=g),new k(this.data,P,T,F,q,M)},S.step=function(x,C){var M=this.shape[0],g=this.shape[1],P=this.stride[0],T=this.stride[1],F=this.offset,q=0,V=Math.ceil;return typeof x=="number"&&(q=x|0,q<0?(F+=P*(M-1),M=V(-M/q)):M=V(M/q),P*=q),typeof C=="number"&&(q=C|0,q<0?(F+=T*(g-1),g=V(-g/q)):g=V(g/q),T*=q),new k(this.data,M,g,P,T,F)},S.transpose=function(x,C){x=x===void 0?0:x|0,C=C===void 0?1:C|0;var M=this.shape,g=this.stride;return new k(this.data,M[x],M[C],g[x],g[C],this.offset)},S.pick=function(x,C){var M=[],g=[],P=this.offset;typeof x=="number"&&x>=0?P=P+this.stride[0]*x|0:(M.push(this.shape[0]),g.push(this.stride[0])),typeof C=="number"&&C>=0?P=P+this.stride[1]*C|0:(M.push(this.shape[1]),g.push(this.stride[1]));var T=p[M.length+1];return T(this.data,M,g,P)},function(x,C,M,g){return new k(x,C[0],C[1],M[0],M[1],g)}},3:function(b,p,E){function k(L,x,C,M,g,P,T,F){this.data=L,this.shape=[x,C,M],this.stride=[g,P,T],this.offset=F|0}var S=k.prototype;return S.dtype=b,S.dimension=3,Object.defineProperty(S,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(S,"order",{get:function(){var x=Math.abs(this.stride[0]),C=Math.abs(this.stride[1]),M=Math.abs(this.stride[2]);return x>C?C>M?[2,1,0]:x>M?[1,2,0]:[1,0,2]:x>M?[2,0,1]:M>C?[0,1,2]:[0,2,1]}}),S.set=function(x,C,M,g){return b==="generic"?this.data.set(this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*M,g):this.data[this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*M]=g},S.get=function(x,C,M){return b==="generic"?this.data.get(this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*M):this.data[this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*M]},S.index=function(x,C,M){return this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*M},S.hi=function(x,C,M){return new k(this.data,typeof x!="number"||x<0?this.shape[0]:x|0,typeof C!="number"||C<0?this.shape[1]:C|0,typeof M!="number"||M<0?this.shape[2]:M|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},S.lo=function(x,C,M){var g=this.offset,P=0,T=this.shape[0],F=this.shape[1],q=this.shape[2],V=this.stride[0],H=this.stride[1],X=this.stride[2];return typeof x=="number"&&x>=0&&(P=x|0,g+=V*P,T-=P),typeof C=="number"&&C>=0&&(P=C|0,g+=H*P,F-=P),typeof M=="number"&&M>=0&&(P=M|0,g+=X*P,q-=P),new k(this.data,T,F,q,V,H,X,g)},S.step=function(x,C,M){var g=this.shape[0],P=this.shape[1],T=this.shape[2],F=this.stride[0],q=this.stride[1],V=this.stride[2],H=this.offset,X=0,G=Math.ceil;return typeof x=="number"&&(X=x|0,X<0?(H+=F*(g-1),g=G(-g/X)):g=G(g/X),F*=X),typeof C=="number"&&(X=C|0,X<0?(H+=q*(P-1),P=G(-P/X)):P=G(P/X),q*=X),typeof M=="number"&&(X=M|0,X<0?(H+=V*(T-1),T=G(-T/X)):T=G(T/X),V*=X),new k(this.data,g,P,T,F,q,V,H)},S.transpose=function(x,C,M){x=x===void 0?0:x|0,C=C===void 0?1:C|0,M=M===void 0?2:M|0;var g=this.shape,P=this.stride;return new k(this.data,g[x],g[C],g[M],P[x],P[C],P[M],this.offset)},S.pick=function(x,C,M){var g=[],P=[],T=this.offset;typeof x=="number"&&x>=0?T=T+this.stride[0]*x|0:(g.push(this.shape[0]),P.push(this.stride[0])),typeof C=="number"&&C>=0?T=T+this.stride[1]*C|0:(g.push(this.shape[1]),P.push(this.stride[1])),typeof M=="number"&&M>=0?T=T+this.stride[2]*M|0:(g.push(this.shape[2]),P.push(this.stride[2]));var F=p[g.length+1];return F(this.data,g,P,T)},function(x,C,M,g){return new k(x,C[0],C[1],C[2],M[0],M[1],M[2],g)}},4:function(b,p,E){function k(L,x,C,M,g,P,T,F,q,V){this.data=L,this.shape=[x,C,M,g],this.stride=[P,T,F,q],this.offset=V|0}var S=k.prototype;return S.dtype=b,S.dimension=4,Object.defineProperty(S,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(S,"order",{get:E}),S.set=function(x,C,M,g,P){return b==="generic"?this.data.set(this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g,P):this.data[this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g]=P},S.get=function(x,C,M,g){return b==="generic"?this.data.get(this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g):this.data[this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g]},S.index=function(x,C,M,g){return this.offset+this.stride[0]*x+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g},S.hi=function(x,C,M,g){return new k(this.data,typeof x!="number"||x<0?this.shape[0]:x|0,typeof C!="number"||C<0?this.shape[1]:C|0,typeof M!="number"||M<0?this.shape[2]:M|0,typeof g!="number"||g<0?this.shape[3]:g|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},S.lo=function(x,C,M,g){var P=this.offset,T=0,F=this.shape[0],q=this.shape[1],V=this.shape[2],H=this.shape[3],X=this.stride[0],G=this.stride[1],N=this.stride[2],W=this.stride[3];return typeof x=="number"&&x>=0&&(T=x|0,P+=X*T,F-=T),typeof C=="number"&&C>=0&&(T=C|0,P+=G*T,q-=T),typeof M=="number"&&M>=0&&(T=M|0,P+=N*T,V-=T),typeof g=="number"&&g>=0&&(T=g|0,P+=W*T,H-=T),new k(this.data,F,q,V,H,X,G,N,W,P)},S.step=function(x,C,M,g){var P=this.shape[0],T=this.shape[1],F=this.shape[2],q=this.shape[3],V=this.stride[0],H=this.stride[1],X=this.stride[2],G=this.stride[3],N=this.offset,W=0,re=Math.ceil;return typeof x=="number"&&(W=x|0,W<0?(N+=V*(P-1),P=re(-P/W)):P=re(P/W),V*=W),typeof C=="number"&&(W=C|0,W<0?(N+=H*(T-1),T=re(-T/W)):T=re(T/W),H*=W),typeof M=="number"&&(W=M|0,W<0?(N+=X*(F-1),F=re(-F/W)):F=re(F/W),X*=W),typeof g=="number"&&(W=g|0,W<0?(N+=G*(q-1),q=re(-q/W)):q=re(q/W),G*=W),new k(this.data,P,T,F,q,V,H,X,G,N)},S.transpose=function(x,C,M,g){x=x===void 0?0:x|0,C=C===void 0?1:C|0,M=M===void 0?2:M|0,g=g===void 0?3:g|0;var P=this.shape,T=this.stride;return new k(this.data,P[x],P[C],P[M],P[g],T[x],T[C],T[M],T[g],this.offset)},S.pick=function(x,C,M,g){var P=[],T=[],F=this.offset;typeof x=="number"&&x>=0?F=F+this.stride[0]*x|0:(P.push(this.shape[0]),T.push(this.stride[0])),typeof C=="number"&&C>=0?F=F+this.stride[1]*C|0:(P.push(this.shape[1]),T.push(this.stride[1])),typeof M=="number"&&M>=0?F=F+this.stride[2]*M|0:(P.push(this.shape[2]),T.push(this.stride[2])),typeof g=="number"&&g>=0?F=F+this.stride[3]*g|0:(P.push(this.shape[3]),T.push(this.stride[3]));var q=p[P.length+1];return q(this.data,P,T,F)},function(x,C,M,g){return new k(x,C[0],C[1],C[2],C[3],M[0],M[1],M[2],M[3],g)}},5:function(p,E,k){function S(x,C,M,g,P,T,F,q,V,H,X,G){this.data=x,this.shape=[C,M,g,P,T],this.stride=[F,q,V,H,X],this.offset=G|0}var L=S.prototype;return L.dtype=p,L.dimension=5,Object.defineProperty(L,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(L,"order",{get:k}),L.set=function(C,M,g,P,T,F){return p==="generic"?this.data.set(this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T,F):this.data[this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T]=F},L.get=function(C,M,g,P,T){return p==="generic"?this.data.get(this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T):this.data[this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T]},L.index=function(C,M,g,P,T){return this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T},L.hi=function(C,M,g,P,T){return new S(this.data,typeof C!="number"||C<0?this.shape[0]:C|0,typeof M!="number"||M<0?this.shape[1]:M|0,typeof g!="number"||g<0?this.shape[2]:g|0,typeof P!="number"||P<0?this.shape[3]:P|0,typeof T!="number"||T<0?this.shape[4]:T|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},L.lo=function(C,M,g,P,T){var F=this.offset,q=0,V=this.shape[0],H=this.shape[1],X=this.shape[2],G=this.shape[3],N=this.shape[4],W=this.stride[0],re=this.stride[1],ae=this.stride[2],_e=this.stride[3],Me=this.stride[4];return typeof C=="number"&&C>=0&&(q=C|0,F+=W*q,V-=q),typeof M=="number"&&M>=0&&(q=M|0,F+=re*q,H-=q),typeof g=="number"&&g>=0&&(q=g|0,F+=ae*q,X-=q),typeof P=="number"&&P>=0&&(q=P|0,F+=_e*q,G-=q),typeof T=="number"&&T>=0&&(q=T|0,F+=Me*q,N-=q),new S(this.data,V,H,X,G,N,W,re,ae,_e,Me,F)},L.step=function(C,M,g,P,T){var F=this.shape[0],q=this.shape[1],V=this.shape[2],H=this.shape[3],X=this.shape[4],G=this.stride[0],N=this.stride[1],W=this.stride[2],re=this.stride[3],ae=this.stride[4],_e=this.offset,Me=0,ke=Math.ceil;return typeof C=="number"&&(Me=C|0,Me<0?(_e+=G*(F-1),F=ke(-F/Me)):F=ke(F/Me),G*=Me),typeof M=="number"&&(Me=M|0,Me<0?(_e+=N*(q-1),q=ke(-q/Me)):q=ke(q/Me),N*=Me),typeof g=="number"&&(Me=g|0,Me<0?(_e+=W*(V-1),V=ke(-V/Me)):V=ke(V/Me),W*=Me),typeof P=="number"&&(Me=P|0,Me<0?(_e+=re*(H-1),H=ke(-H/Me)):H=ke(H/Me),re*=Me),typeof T=="number"&&(Me=T|0,Me<0?(_e+=ae*(X-1),X=ke(-X/Me)):X=ke(X/Me),ae*=Me),new S(this.data,F,q,V,H,X,G,N,W,re,ae,_e)},L.transpose=function(C,M,g,P,T){C=C===void 0?0:C|0,M=M===void 0?1:M|0,g=g===void 0?2:g|0,P=P===void 0?3:P|0,T=T===void 0?4:T|0;var F=this.shape,q=this.stride;return new S(this.data,F[C],F[M],F[g],F[P],F[T],q[C],q[M],q[g],q[P],q[T],this.offset)},L.pick=function(C,M,g,P,T){var F=[],q=[],V=this.offset;typeof C=="number"&&C>=0?V=V+this.stride[0]*C|0:(F.push(this.shape[0]),q.push(this.stride[0])),typeof M=="number"&&M>=0?V=V+this.stride[1]*M|0:(F.push(this.shape[1]),q.push(this.stride[1])),typeof g=="number"&&g>=0?V=V+this.stride[2]*g|0:(F.push(this.shape[2]),q.push(this.stride[2])),typeof P=="number"&&P>=0?V=V+this.stride[3]*P|0:(F.push(this.shape[3]),q.push(this.stride[3])),typeof T=="number"&&T>=0?V=V+this.stride[4]*T|0:(F.push(this.shape[4]),q.push(this.stride[4]));var H=E[F.length+1];return H(this.data,F,q,V)},function(C,M,g,P){return new S(C,M[0],M[1],M[2],M[3],M[4],g[0],g[1],g[2],g[3],g[4],P)}}};function h(b,p){var E=p===-1?"T":String(p),k=f[E];return p===-1?k(b):p===0?k(b,d[b][0]):k(b,d[b],c)}function v(b){if(s(b))return"buffer";if(l)switch(Object.prototype.toString.call(b)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8ClampedArray]":return"uint8_clamped";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object BigInt64Array]":return"bigint64";case"[object BigUint64Array]":return"biguint64"}return Array.isArray(b)?"array":"generic"}var d={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function _(b,p,E,k){if(b===void 0){var g=d.array[0];return g([])}else typeof b=="number"&&(b=[b]);p===void 0&&(p=[b.length]);var S=p.length;if(E===void 0){E=new Array(S);for(var L=S-1,x=1;L>=0;--L)E[L]=x,x*=p[L]}if(k===void 0){k=0;for(var L=0;L>>0;i.exports=c;function c(f,h){if(isNaN(f)||isNaN(h))return NaN;if(f===h)return f;if(f===0)return h<0?-l:l;var v=s.hi(f),d=s.lo(f);return h>f==f>0?d===u?(v+=1,d=0):d+=1:d===0?(d=u,v-=1):d-=1,s.pack(d,v)}},8406:function(i,a){var o=1e-6,s=1e-6;a.vertexNormals=function(l,u,c){for(var f=u.length,h=new Array(f),v=c===void 0?o:c,d=0;dv)for(var F=h[p],q=1/Math.sqrt(M*P),T=0;T<3;++T){var V=(T+1)%3,H=(T+2)%3;F[T]+=q*(g[V]*C[H]-g[H]*C[V])}}for(var d=0;dv)for(var q=1/Math.sqrt(X),T=0;T<3;++T)F[T]*=q;else for(var T=0;T<3;++T)F[T]=0}return h},a.faceNormals=function(l,u,c){for(var f=l.length,h=new Array(f),v=c===void 0?s:c,d=0;dv?L=1/Math.sqrt(L):L=0;for(var p=0;p<3;++p)S[p]*=L;h[d]=S}return h}},4081:function(i){"use strict";i.exports=a;function a(o,s,l,u,c,f,h,v,d,_){var b=s+f+_;if(p>0){var p=Math.sqrt(b+1);o[0]=.5*(h-d)/p,o[1]=.5*(v-u)/p,o[2]=.5*(l-f)/p,o[3]=.5*p}else{var E=Math.max(s,f,_),p=Math.sqrt(2*E-b+1);s>=E?(o[0]=.5*p,o[1]=.5*(c+l)/p,o[2]=.5*(v+u)/p,o[3]=.5*(h-d)/p):f>=E?(o[0]=.5*(l+c)/p,o[1]=.5*p,o[2]=.5*(d+h)/p,o[3]=.5*(v-u)/p):(o[0]=.5*(u+v)/p,o[1]=.5*(h+d)/p,o[2]=.5*p,o[3]=.5*(l-c)/p)}return o}},9977:function(i,a,o){"use strict";i.exports=p;var s=o(9215),l=o(6582),u=o(7399),c=o(7608),f=o(4081);function h(E,k,S){return Math.sqrt(Math.pow(E,2)+Math.pow(k,2)+Math.pow(S,2))}function v(E,k,S,L){return Math.sqrt(Math.pow(E,2)+Math.pow(k,2)+Math.pow(S,2)+Math.pow(L,2))}function d(E,k){var S=k[0],L=k[1],x=k[2],C=k[3],M=v(S,L,x,C);M>1e-6?(E[0]=S/M,E[1]=L/M,E[2]=x/M,E[3]=C/M):(E[0]=E[1]=E[2]=0,E[3]=1)}function _(E,k,S){this.radius=s([S]),this.center=s(k),this.rotation=s(E),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var b=_.prototype;b.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},b.recalcMatrix=function(E){this.radius.curve(E),this.center.curve(E),this.rotation.curve(E);var k=this.computedRotation;d(k,k);var S=this.computedMatrix;u(S,k);var L=this.computedCenter,x=this.computedEye,C=this.computedUp,M=Math.exp(this.computedRadius[0]);x[0]=L[0]+M*S[2],x[1]=L[1]+M*S[6],x[2]=L[2]+M*S[10],C[0]=S[1],C[1]=S[5],C[2]=S[9];for(var g=0;g<3;++g){for(var P=0,T=0;T<3;++T)P+=S[g+4*T]*x[T];S[12+g]=-P}},b.getMatrix=function(E,k){this.recalcMatrix(E);var S=this.computedMatrix;if(k){for(var L=0;L<16;++L)k[L]=S[L];return k}return S},b.idle=function(E){this.center.idle(E),this.radius.idle(E),this.rotation.idle(E)},b.flush=function(E){this.center.flush(E),this.radius.flush(E),this.rotation.flush(E)},b.pan=function(E,k,S,L){k=k||0,S=S||0,L=L||0,this.recalcMatrix(E);var x=this.computedMatrix,C=x[1],M=x[5],g=x[9],P=h(C,M,g);C/=P,M/=P,g/=P;var T=x[0],F=x[4],q=x[8],V=T*C+F*M+q*g;T-=C*V,F-=M*V,q-=g*V;var H=h(T,F,q);T/=H,F/=H,q/=H;var X=x[2],G=x[6],N=x[10],W=X*C+G*M+N*g,re=X*T+G*F+N*q;X-=W*C+re*T,G-=W*M+re*F,N-=W*g+re*q;var ae=h(X,G,N);X/=ae,G/=ae,N/=ae;var _e=T*k+C*S,Me=F*k+M*S,ke=q*k+g*S;this.center.move(E,_e,Me,ke);var ge=Math.exp(this.computedRadius[0]);ge=Math.max(1e-4,ge+L),this.radius.set(E,Math.log(ge))},b.rotate=function(E,k,S,L){this.recalcMatrix(E),k=k||0,S=S||0;var x=this.computedMatrix,C=x[0],M=x[4],g=x[8],P=x[1],T=x[5],F=x[9],q=x[2],V=x[6],H=x[10],X=k*C+S*P,G=k*M+S*T,N=k*g+S*F,W=-(V*N-H*G),re=-(H*X-q*N),ae=-(q*G-V*X),_e=Math.sqrt(Math.max(0,1-Math.pow(W,2)-Math.pow(re,2)-Math.pow(ae,2))),Me=v(W,re,ae,_e);Me>1e-6?(W/=Me,re/=Me,ae/=Me,_e/=Me):(W=re=ae=0,_e=1);var ke=this.computedRotation,ge=ke[0],ie=ke[1],Te=ke[2],Ee=ke[3],Ae=ge*_e+Ee*W+ie*ae-Te*re,ze=ie*_e+Ee*re+Te*W-ge*ae,Ce=Te*_e+Ee*ae+ge*re-ie*W,me=Ee*_e-ge*W-ie*re-Te*ae;if(L){W=q,re=V,ae=H;var De=Math.sin(L)/h(W,re,ae);W*=De,re*=De,ae*=De,_e=Math.cos(k),Ae=Ae*_e+me*W+ze*ae-Ce*re,ze=ze*_e+me*re+Ce*W-Ae*ae,Ce=Ce*_e+me*ae+Ae*re-ze*W,me=me*_e-Ae*W-ze*re-Ce*ae}var ce=v(Ae,ze,Ce,me);ce>1e-6?(Ae/=ce,ze/=ce,Ce/=ce,me/=ce):(Ae=ze=Ce=0,me=1),this.rotation.set(E,Ae,ze,Ce,me)},b.lookAt=function(E,k,S,L){this.recalcMatrix(E),S=S||this.computedCenter,k=k||this.computedEye,L=L||this.computedUp;var x=this.computedMatrix;l(x,k,S,L);var C=this.computedRotation;f(C,x[0],x[1],x[2],x[4],x[5],x[6],x[8],x[9],x[10]),d(C,C),this.rotation.set(E,C[0],C[1],C[2],C[3]);for(var M=0,g=0;g<3;++g)M+=Math.pow(S[g]-k[g],2);this.radius.set(E,.5*Math.log(Math.max(M,1e-6))),this.center.set(E,S[0],S[1],S[2])},b.translate=function(E,k,S,L){this.center.move(E,k||0,S||0,L||0)},b.setMatrix=function(E,k){var S=this.computedRotation;f(S,k[0],k[1],k[2],k[4],k[5],k[6],k[8],k[9],k[10]),d(S,S),this.rotation.set(E,S[0],S[1],S[2],S[3]);var L=this.computedMatrix;c(L,k);var x=L[15];if(Math.abs(x)>1e-6){var C=L[12]/x,M=L[13]/x,g=L[14]/x;this.recalcMatrix(E);var P=Math.exp(this.computedRadius[0]);this.center.set(E,C-L[2]*P,M-L[6]*P,g-L[10]*P),this.radius.idle(E)}else this.center.idle(E),this.radius.idle(E)},b.setDistance=function(E,k){k>0&&this.radius.set(E,Math.log(k))},b.setDistanceLimits=function(E,k){E>0?E=Math.log(E):E=-1/0,k>0?k=Math.log(k):k=1/0,k=Math.max(k,E),this.radius.bounds[0][0]=E,this.radius.bounds[1][0]=k},b.getDistanceLimits=function(E){var k=this.radius.bounds;return E?(E[0]=Math.exp(k[0][0]),E[1]=Math.exp(k[1][0]),E):[Math.exp(k[0][0]),Math.exp(k[1][0])]},b.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},b.fromJSON=function(E){var k=this.lastT(),S=E.center;S&&this.center.set(k,S[0],S[1],S[2]);var L=E.rotation;L&&this.rotation.set(k,L[0],L[1],L[2],L[3]);var x=E.distance;x&&x>0&&this.radius.set(k,Math.log(x)),this.setDistanceLimits(E.zoomMin,E.zoomMax)};function p(E){E=E||{};var k=E.center||[0,0,0],S=E.rotation||[0,0,0,1],L=E.radius||1;k=[].slice.call(k,0,3),S=[].slice.call(S,0,4),d(S,S);var x=new _(S,k,Math.log(L));return x.setDistanceLimits(E.zoomMin,E.zoomMax),("eye"in E||"up"in E)&&x.lookAt(0,E.eye,E.center,E.up),x}},1371:function(i,a,o){"use strict";var s=o(3233);i.exports=function(u,c,f){return f=typeof f!="undefined"?f+"":" ",s(f,c)+u}},3202:function(i){i.exports=function(o,s){s||(s=[0,""]),o=String(o);var l=parseFloat(o,10);return s[0]=l,s[1]=o.match(/[\d.\-\+]*\s*(.*)/)[1]||"",s}},3088:function(i,a,o){"use strict";i.exports=l;var s=o(3140);function l(u,c){for(var f=c.length|0,h=u.length,v=[new Array(f),new Array(f)],d=0;d0){F=v[H][P][0],V=H;break}q=F[V^1];for(var X=0;X<2;++X)for(var G=v[X][P],N=0;N0&&(F=W,q=re,V=X)}return T||F&&p(F,V),q}function k(g,P){var T=v[P][g][0],F=[g];p(T,P);for(var q=T[P^1],V=P;;){for(;q!==g;)F.push(q),q=E(F[F.length-2],q,!1);if(v[0][g].length+v[1][g].length===0)break;var H=F[F.length-1],X=g,G=F[1],N=E(H,X,!0);if(s(c[H],c[X],c[G],c[N])<0)break;F.push(g),q=E(H,X)}return F}function S(g,P){return P[1]===P[P.length-1]}for(var d=0;d0;){var C=v[0][d].length,M=k(d,L);S(x,M)?x.push.apply(x,M):(x.length>0&&b.push(x),x=M)}x.length>0&&b.push(x)}return b}},5609:function(i,a,o){"use strict";i.exports=l;var s=o(3134);function l(u,c){for(var f=s(u,c.length),h=new Array(c.length),v=new Array(c.length),d=[],_=0;_0;){var p=d.pop();h[p]=!1;for(var E=f[p],_=0;_0}C=C.filter(M);for(var g=C.length,P=new Array(g),T=new Array(g),x=0;x0;){var ce=Ce.pop(),Ge=Me[ce];h(Ge,function(ot,It){return ot-It});var nt=Ge.length,ct=me[ce],qt;if(ct===0){var G=C[ce];qt=[G]}for(var x=0;x=0)&&(me[rt]=ct^1,Ce.push(rt),ct===0)){var G=C[rt];ze(G)||(G.reverse(),qt.push(G))}}ct===0&&De.push(qt)}return De}},5085:function(i,a,o){i.exports=E;var s=o(3250)[3],l=o(4209),u=o(3352),c=o(2478);function f(){return!0}function h(k){return function(S,L){var x=k[S];return x?!!x.queryPoint(L,f):!1}}function v(k){for(var S={},L=0;L0&&S[x]===L[0])C=k[x-1];else return 1;for(var M=1;C;){var g=C.key,P=s(L,g[0],g[1]);if(g[0][0]0)M=-1,C=C.right;else return 0;else if(P>0)C=C.left;else if(P<0)M=1,C=C.right;else return 0}return M}}function _(k){return 1}function b(k){return function(L){return k(L[0],L[1])?0:1}}function p(k,S){return function(x){return k(x[0],x[1])?0:S(x)}}function E(k){for(var S=k.length,L=[],x=[],C=0,M=0;M=_?(g=1,T=_+2*E+S):(g=-E/_,T=E*g+S)):(g=0,k>=0?(P=0,T=S):-k>=p?(P=1,T=p+2*k+S):(P=-k/p,T=k*P+S));else if(P<0)P=0,E>=0?(g=0,T=S):-E>=_?(g=1,T=_+2*E+S):(g=-E/_,T=E*g+S);else{var F=1/M;g*=F,P*=F,T=g*(_*g+b*P+2*E)+P*(b*g+p*P+2*k)+S}else{var q,V,H,X;g<0?(q=b+E,V=p+k,V>q?(H=V-q,X=_-2*b+p,H>=X?(g=1,P=0,T=_+2*E+S):(g=H/X,P=1-g,T=g*(_*g+b*P+2*E)+P*(b*g+p*P+2*k)+S)):(g=0,V<=0?(P=1,T=p+2*k+S):k>=0?(P=0,T=S):(P=-k/p,T=k*P+S))):P<0?(q=b+k,V=_+E,V>q?(H=V-q,X=_-2*b+p,H>=X?(P=1,g=0,T=p+2*k+S):(P=H/X,g=1-P,T=g*(_*g+b*P+2*E)+P*(b*g+p*P+2*k)+S)):(P=0,V<=0?(g=1,T=_+2*E+S):E>=0?(g=0,T=S):(g=-E/_,T=E*g+S))):(H=p+k-b-E,H<=0?(g=0,P=1,T=p+2*k+S):(X=_-2*b+p,H>=X?(g=1,P=0,T=_+2*E+S):(g=H/X,P=1-g,T=g*(_*g+b*P+2*E)+P*(b*g+p*P+2*k)+S)))}for(var G=1-g-P,d=0;d0){var p=f[v-1];if(s(_,p)===0&&u(p)!==b){v-=1;continue}}f[v++]=_}}return f.length=v,f}},3233:function(i){"use strict";var a="",o;i.exports=s;function s(l,u){if(typeof l!="string")throw new TypeError("expected a string");if(u===1)return l;if(u===2)return l+l;var c=l.length*u;if(o!==l||typeof o=="undefined")o=l,a="";else if(a.length>=c)return a.substr(0,c);for(;c>a.length&&u>1;)u&1&&(a+=l),u>>=1,l+=l;return a+=l,a=a.substr(0,c),a}},3025:function(i,a,o){i.exports=o.g.performance&&o.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(i){"use strict";i.exports=a;function a(o){for(var s=o.length,l=o[o.length-1],u=s,c=s-2;c>=0;--c){var f=l,h=o[c];l=f+h;var v=l-f,d=h-v;d&&(o[--u]=l,l=d)}for(var _=0,c=u;c0){if(V<=0)return H;X=q+V}else if(q<0){if(V>=0)return H;X=-(q+V)}else return H;var G=v*X;return H>=G||H<=-G?H:k(P,T,F)},function(P,T,F,q){var V=P[0]-q[0],H=T[0]-q[0],X=F[0]-q[0],G=P[1]-q[1],N=T[1]-q[1],W=F[1]-q[1],re=P[2]-q[2],ae=T[2]-q[2],_e=F[2]-q[2],Me=H*W,ke=X*N,ge=X*G,ie=V*W,Te=V*N,Ee=H*G,Ae=re*(Me-ke)+ae*(ge-ie)+_e*(Te-Ee),ze=(Math.abs(Me)+Math.abs(ke))*Math.abs(re)+(Math.abs(ge)+Math.abs(ie))*Math.abs(ae)+(Math.abs(Te)+Math.abs(Ee))*Math.abs(_e),Ce=d*ze;return Ae>Ce||-Ae>Ce?Ae:S(P,T,F,q)}];function x(g){var P=L[g.length];return P||(P=L[g.length]=E(g.length)),P.apply(void 0,g)}function C(g,P,T,F,q,V,H){return function(G,N,W,re,ae){switch(arguments.length){case 0:case 1:return 0;case 2:return F(G,N);case 3:return q(G,N,W);case 4:return V(G,N,W,re);case 5:return H(G,N,W,re,ae)}for(var _e=new Array(arguments.length),Me=0;Me0&&_>0||d<0&&_<0)return!1;var b=s(h,c,f),p=s(v,c,f);return b>0&&p>0||b<0&&p<0?!1:d===0&&_===0&&b===0&&p===0?l(c,f,h,v):!0}},8545:function(i){"use strict";i.exports=o;function a(s,l){var u=s+l,c=u-s,f=u-c,h=l-c,v=s-f,d=v+h;return d?[d,u]:[u]}function o(s,l){var u=s.length|0,c=l.length|0;if(u===1&&c===1)return a(s[0],-l[0]);var f=u+c,h=new Array(f),v=0,d=0,_=0,b=Math.abs,p=s[d],E=b(p),k=-l[_],S=b(k),L,x;E=c?(L=p,d+=1,d=c?(L=p,d+=1,d>1,k=f[2*E+1];if(k===_)return E;_>1,k=f[2*E+1];if(k===_)return E;_>1,k=f[2*E+1];if(k===_)return E;_>1,k=f[2*E+1];if(k===_)return E;_>1,X=v(P[H],T);X<=0?(X===0&&(V=H),F=H+1):X>0&&(q=H-1)}return V}s=p;function E(P,T){for(var F=new Array(P.length),q=0,V=F.length;q=P.length||v(P[Me],H)!==0););}return F}s=E;function k(P,T){if(!T)return E(b(L(P,0)),P,0);for(var F=new Array(T),q=0;q>>W&1&&N.push(V[W]);T.push(N)}return _(T)}s=S;function L(P,T){if(T<0)return[];for(var F=[],q=(1<0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,v=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--v;u[c]=h<>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},2014:function(i,a,o){"use strict";"use restrict";var s=o(3105),l=o(4623);function u(g){for(var P=0,T=Math.max,F=0,q=g.length;F>1,H=h(g[V],P);H<=0?(H===0&&(q=V),T=V+1):H>0&&(F=V-1)}return q}a.findCell=b;function p(g,P){for(var T=new Array(g.length),F=0,q=T.length;F=g.length||h(g[_e],V)!==0););}return T}a.incidence=p;function E(g,P){if(!P)return p(_(S(g,0)),g,0);for(var T=new Array(P),F=0;F>>N&1&&G.push(q[N]);P.push(G)}return d(P)}a.explode=k;function S(g,P){if(P<0)return[];for(var T=[],F=(1<>1:(ie>>1)-1}function F(ie){for(var Te=P(ie);;){var Ee=Te,Ae=2*ie+1,ze=2*(ie+1),Ce=ie;if(Ae0;){var Ee=T(ie);if(Ee>=0){var Ae=P(Ee);if(Te0){var ie=G[0];return g(0,re-1),re-=1,F(0),ie}return-1}function H(ie,Te){var Ee=G[ie];return E[Ee]===Te?ie:(E[Ee]=-1/0,q(ie),V(),E[Ee]=Te,re+=1,q(re-1))}function X(ie){if(!k[ie]){k[ie]=!0;var Te=b[ie],Ee=p[ie];b[Ee]>=0&&(b[Ee]=Te),p[Te]>=0&&(p[Te]=Ee),N[Te]>=0&&H(N[Te],M(Te)),N[Ee]>=0&&H(N[Ee],M(Ee))}}for(var G=[],N=new Array(d),S=0;S>1;S>=0;--S)F(S);for(;;){var ae=V();if(ae<0||E[ae]>v)break;X(ae)}for(var _e=[],S=0;S=0&&Ee>=0&&Te!==Ee){var Ae=N[Te],ze=N[Ee];Ae!==ze&&ge.push([Ae,ze])}}),l.unique(l.normalize(ge)),{positions:_e,edges:ge}}},1303:function(i,a,o){"use strict";i.exports=u;var s=o(3250);function l(c,f){var h,v;if(f[0][0]f[1][0])h=f[1],v=f[0];else{var d=Math.min(c[0][1],c[1][1]),_=Math.max(c[0][1],c[1][1]),b=Math.min(f[0][1],f[1][1]),p=Math.max(f[0][1],f[1][1]);return _p?d-p:_-p}var E,k;c[0][1]f[1][0])h=f[1],v=f[0];else return l(f,c);var d,_;if(c[0][0]c[1][0])d=c[1],_=c[0];else return-l(c,f);var b=s(h,v,_),p=s(h,v,d);if(b<0){if(p<=0)return b}else if(b>0){if(p>=0)return b}else if(p)return p;if(b=s(_,d,v),p=s(_,d,h),b<0){if(p<=0)return b}else if(b>0){if(p>=0)return b}else if(p)return p;return v[0]-_[0]}},4209:function(i,a,o){"use strict";i.exports=p;var s=o(2478),l=o(3840),u=o(3250),c=o(1303);function f(E,k,S){this.slabs=E,this.coordinates=k,this.horizontal=S}var h=f.prototype;function v(E,k){return E.y-k}function d(E,k){for(var S=null;E;){var L=E.key,x,C;L[0][0]0)if(k[0]!==L[1][0])S=E,E=E.right;else{var g=d(E.right,k);if(g)return g;E=E.left}else{if(k[0]!==L[1][0])return E;var g=d(E.right,k);if(g)return g;E=E.left}}return S}h.castUp=function(E){var k=s.le(this.coordinates,E[0]);if(k<0)return-1;var S=this.slabs[k],L=d(this.slabs[k],E),x=-1;if(L&&(x=L.value),this.coordinates[k]===E[0]){var C=null;if(L&&(C=L.key),k>0){var M=d(this.slabs[k-1],E);M&&(C?c(M.key,C)>0&&(C=M.key,x=M.value):(x=M.value,C=M.key))}var g=this.horizontal[k];if(g.length>0){var P=s.ge(g,E[1],v);if(P=g.length)return x;T=g[P]}}if(T.start)if(C){var F=u(C[0],C[1],[E[0],T.y]);C[0][0]>C[1][0]&&(F=-F),F>0&&(x=T.index)}else x=T.index;else T.y!==E[1]&&(x=T.index)}}}return x};function _(E,k,S,L){this.y=E,this.index=k,this.start=S,this.closed=L}function b(E,k,S,L){this.x=E,this.segment=k,this.create=S,this.index=L}function p(E){for(var k=E.length,S=2*k,L=new Array(S),x=0;x1&&(k=1);for(var S=1-k,L=d.length,x=new Array(L),C=0;C0||E>0&&x<0){var C=c(k,x,S,E);b.push(C),p.push(C.slice())}x<0?p.push(S.slice()):x>0?b.push(S.slice()):(b.push(S.slice()),p.push(S.slice())),E=x}return{positive:b,negative:p}}function h(d,_){for(var b=[],p=u(d[d.length-1],_),E=d[d.length-1],k=d[0],S=0;S0||p>0&&L<0)&&b.push(c(E,L,k,p)),L>=0&&b.push(k.slice()),p=L}return b}function v(d,_){for(var b=[],p=u(d[d.length-1],_),E=d[d.length-1],k=d[0],S=0;S0||p>0&&L<0)&&b.push(c(E,L,k,p)),L<=0&&b.push(k.slice()),p=L}return b}},3387:function(i,a,o){var s;(function(){"use strict";var l={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function u(d){return f(v(d),arguments)}function c(d,_){return u.apply(null,[d].concat(_||[]))}function f(d,_){var b=1,p=d.length,E,k="",S,L,x,C,M,g,P,T;for(S=0;S=0),x.type){case"b":E=parseInt(E,10).toString(2);break;case"c":E=String.fromCharCode(parseInt(E,10));break;case"d":case"i":E=parseInt(E,10);break;case"j":E=JSON.stringify(E,null,x.width?parseInt(x.width):0);break;case"e":E=x.precision?parseFloat(E).toExponential(x.precision):parseFloat(E).toExponential();break;case"f":E=x.precision?parseFloat(E).toFixed(x.precision):parseFloat(E);break;case"g":E=x.precision?String(Number(E.toPrecision(x.precision))):parseFloat(E);break;case"o":E=(parseInt(E,10)>>>0).toString(8);break;case"s":E=String(E),E=x.precision?E.substring(0,x.precision):E;break;case"t":E=String(!!E),E=x.precision?E.substring(0,x.precision):E;break;case"T":E=Object.prototype.toString.call(E).slice(8,-1).toLowerCase(),E=x.precision?E.substring(0,x.precision):E;break;case"u":E=parseInt(E,10)>>>0;break;case"v":E=E.valueOf(),E=x.precision?E.substring(0,x.precision):E;break;case"x":E=(parseInt(E,10)>>>0).toString(16);break;case"X":E=(parseInt(E,10)>>>0).toString(16).toUpperCase();break}l.json.test(x.type)?k+=E:(l.number.test(x.type)&&(!P||x.sign)?(T=P?"+":"-",E=E.toString().replace(l.sign,"")):T="",M=x.pad_char?x.pad_char==="0"?"0":x.pad_char.charAt(1):" ",g=x.width-(T+E).length,C=x.width&&g>0?M.repeat(g):"",k+=x.align?T+E+C:M==="0"?T+C+E:C+T+E)}return k}var h=Object.create(null);function v(d){if(h[d])return h[d];for(var _=d,b,p=[],E=0;_;){if((b=l.text.exec(_))!==null)p.push(b[0]);else if((b=l.modulo.exec(_))!==null)p.push("%");else if((b=l.placeholder.exec(_))!==null){if(b[2]){E|=1;var k=[],S=b[2],L=[];if((L=l.key.exec(S))!==null)for(k.push(L[1]);(S=S.substring(L[0].length))!=="";)if((L=l.key_access.exec(S))!==null)k.push(L[1]);else if((L=l.index_access.exec(S))!==null)k.push(L[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");b[2]=k}else E|=2;if(E===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");p.push({placeholder:b[0],param_no:b[1],keys:b[2],sign:b[3],pad_char:b[4],align:b[5],width:b[6],precision:b[7],type:b[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");_=_.substring(b[0].length)}return h[d]=p}a.sprintf=u,a.vsprintf=c,typeof window!="undefined"&&(window.sprintf=u,window.vsprintf=c,s=function(){return{sprintf:u,vsprintf:c}}.call(a,o,a,i),s!==void 0&&(i.exports=s))})()},3711:function(i,a,o){"use strict";i.exports=v;var s=o(2640),l=o(781),u={"2d":function(d,_,b){var p=d({order:_,scalarArguments:3,getters:b==="generic"?[0]:void 0,phase:function(k,S,L,x){return k>x|0},vertex:function(k,S,L,x,C,M,g,P,T,F,q,V,H){var X=(g<<0)+(P<<1)+(T<<2)+(F<<3)|0;if(!(X===0||X===15))switch(X){case 0:q.push([k-.5,S-.5]);break;case 1:q.push([k-.25-.25*(x+L-2*H)/(L-x),S-.25-.25*(C+L-2*H)/(L-C)]);break;case 2:q.push([k-.75-.25*(-x-L+2*H)/(x-L),S-.25-.25*(M+x-2*H)/(x-M)]);break;case 3:q.push([k-.5,S-.5-.5*(C+L+M+x-4*H)/(L-C+x-M)]);break;case 4:q.push([k-.25-.25*(M+C-2*H)/(C-M),S-.75-.25*(-C-L+2*H)/(C-L)]);break;case 5:q.push([k-.5-.5*(x+L+M+C-4*H)/(L-x+C-M),S-.5]);break;case 6:q.push([k-.5-.25*(-x-L+M+C)/(x-L+C-M),S-.5-.25*(-C-L+M+x)/(C-L+x-M)]);break;case 7:q.push([k-.75-.25*(M+C-2*H)/(C-M),S-.75-.25*(M+x-2*H)/(x-M)]);break;case 8:q.push([k-.75-.25*(-M-C+2*H)/(M-C),S-.75-.25*(-M-x+2*H)/(M-x)]);break;case 9:q.push([k-.5-.25*(x+L+-M-C)/(L-x+M-C),S-.5-.25*(C+L+-M-x)/(L-C+M-x)]);break;case 10:q.push([k-.5-.5*(-x-L+-M-C+4*H)/(x-L+M-C),S-.5]);break;case 11:q.push([k-.25-.25*(-M-C+2*H)/(M-C),S-.75-.25*(C+L-2*H)/(L-C)]);break;case 12:q.push([k-.5,S-.5-.5*(-C-L+-M-x+4*H)/(C-L+M-x)]);break;case 13:q.push([k-.75-.25*(x+L-2*H)/(L-x),S-.25-.25*(-M-x+2*H)/(M-x)]);break;case 14:q.push([k-.25-.25*(-x-L+2*H)/(x-L),S-.25-.25*(-C-L+2*H)/(C-L)]);break;case 15:q.push([k-.5,S-.5]);break}},cell:function(k,S,L,x,C,M,g,P,T){C?P.push([k,S]):P.push([S,k])}});return function(E,k){var S=[],L=[];return p(E,S,L,k),{positions:S,cells:L}}}};function c(d,_){var b=d.length+"d",p=u[b];if(p)return p(s,d,_)}function f(d,_){for(var b=l(d,_),p=b.length,E=new Array(p),k=new Array(p),S=0;SMath.max(x,C)?M[2]=1:x>Math.max(L,C)?M[0]=1:M[1]=1;for(var g=0,P=0,T=0;T<3;++T)g+=S[T]*S[T],P+=M[T]*S[T];for(var T=0;T<3;++T)M[T]-=P/g*S[T];return f(M,M),M}function b(S,L,x,C,M,g,P,T){this.center=s(x),this.up=s(C),this.right=s(M),this.radius=s([g]),this.angle=s([P,T]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(S,L),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var F=0;F<16;++F)this.computedMatrix[F]=.5;this.recalcMatrix(0)}var p=b.prototype;p.setDistanceLimits=function(S,L){S>0?S=Math.log(S):S=-1/0,L>0?L=Math.log(L):L=1/0,L=Math.max(L,S),this.radius.bounds[0][0]=S,this.radius.bounds[1][0]=L},p.getDistanceLimits=function(S){var L=this.radius.bounds[0];return S?(S[0]=Math.exp(L[0][0]),S[1]=Math.exp(L[1][0]),S):[Math.exp(L[0][0]),Math.exp(L[1][0])]},p.recalcMatrix=function(S){this.center.curve(S),this.up.curve(S),this.right.curve(S),this.radius.curve(S),this.angle.curve(S);for(var L=this.computedUp,x=this.computedRight,C=0,M=0,g=0;g<3;++g)M+=L[g]*x[g],C+=L[g]*L[g];for(var P=Math.sqrt(C),T=0,g=0;g<3;++g)x[g]-=L[g]*M/C,T+=x[g]*x[g],L[g]/=P;for(var F=Math.sqrt(T),g=0;g<3;++g)x[g]/=F;var q=this.computedToward;c(q,L,x),f(q,q);for(var V=Math.exp(this.computedRadius[0]),H=this.computedAngle[0],X=this.computedAngle[1],G=Math.cos(H),N=Math.sin(H),W=Math.cos(X),re=Math.sin(X),ae=this.computedCenter,_e=G*W,Me=N*W,ke=re,ge=-G*re,ie=-N*re,Te=W,Ee=this.computedEye,Ae=this.computedMatrix,g=0;g<3;++g){var ze=_e*x[g]+Me*q[g]+ke*L[g];Ae[4*g+1]=ge*x[g]+ie*q[g]+Te*L[g],Ae[4*g+2]=ze,Ae[4*g+3]=0}var Ce=Ae[1],me=Ae[5],De=Ae[9],ce=Ae[2],Ge=Ae[6],nt=Ae[10],ct=me*nt-De*Ge,qt=De*ce-Ce*nt,rt=Ce*Ge-me*ce,ot=v(ct,qt,rt);ct/=ot,qt/=ot,rt/=ot,Ae[0]=ct,Ae[4]=qt,Ae[8]=rt;for(var g=0;g<3;++g)Ee[g]=ae[g]+Ae[2+4*g]*V;for(var g=0;g<3;++g){for(var T=0,It=0;It<3;++It)T+=Ae[g+4*It]*Ee[It];Ae[12+g]=-T}Ae[15]=1},p.getMatrix=function(S,L){this.recalcMatrix(S);var x=this.computedMatrix;if(L){for(var C=0;C<16;++C)L[C]=x[C];return L}return x};var E=[0,0,0];p.rotate=function(S,L,x,C){if(this.angle.move(S,L,x),C){this.recalcMatrix(S);var M=this.computedMatrix;E[0]=M[2],E[1]=M[6],E[2]=M[10];for(var g=this.computedUp,P=this.computedRight,T=this.computedToward,F=0;F<3;++F)M[4*F]=g[F],M[4*F+1]=P[F],M[4*F+2]=T[F];u(M,M,C,E);for(var F=0;F<3;++F)g[F]=M[4*F],P[F]=M[4*F+1];this.up.set(S,g[0],g[1],g[2]),this.right.set(S,P[0],P[1],P[2])}},p.pan=function(S,L,x,C){L=L||0,x=x||0,C=C||0,this.recalcMatrix(S);var M=this.computedMatrix,g=Math.exp(this.computedRadius[0]),P=M[1],T=M[5],F=M[9],q=v(P,T,F);P/=q,T/=q,F/=q;var V=M[0],H=M[4],X=M[8],G=V*P+H*T+X*F;V-=P*G,H-=T*G,X-=F*G;var N=v(V,H,X);V/=N,H/=N,X/=N;var W=V*L+P*x,re=H*L+T*x,ae=X*L+F*x;this.center.move(S,W,re,ae);var _e=Math.exp(this.computedRadius[0]);_e=Math.max(1e-4,_e+C),this.radius.set(S,Math.log(_e))},p.translate=function(S,L,x,C){this.center.move(S,L||0,x||0,C||0)},p.setMatrix=function(S,L,x,C){var M=1;typeof x=="number"&&(M=x|0),(M<0||M>3)&&(M=1);var g=(M+2)%3,P=(M+1)%3;L||(this.recalcMatrix(S),L=this.computedMatrix);var T=L[M],F=L[M+4],q=L[M+8];if(C){var H=Math.abs(T),X=Math.abs(F),G=Math.abs(q),N=Math.max(H,X,G);H===N?(T=T<0?-1:1,F=q=0):G===N?(q=q<0?-1:1,T=F=0):(F=F<0?-1:1,T=q=0)}else{var V=v(T,F,q);T/=V,F/=V,q/=V}var W=L[g],re=L[g+4],ae=L[g+8],_e=W*T+re*F+ae*q;W-=T*_e,re-=F*_e,ae-=q*_e;var Me=v(W,re,ae);W/=Me,re/=Me,ae/=Me;var ke=F*ae-q*re,ge=q*W-T*ae,ie=T*re-F*W,Te=v(ke,ge,ie);ke/=Te,ge/=Te,ie/=Te,this.center.jump(S,er,Ke,bt),this.radius.idle(S),this.up.jump(S,T,F,q),this.right.jump(S,W,re,ae);var Ee,Ae;if(M===2){var ze=L[1],Ce=L[5],me=L[9],De=ze*W+Ce*re+me*ae,ce=ze*ke+Ce*ge+me*ie;qt<0?Ee=-Math.PI/2:Ee=Math.PI/2,Ae=Math.atan2(ce,De)}else{var Ge=L[2],nt=L[6],ct=L[10],qt=Ge*T+nt*F+ct*q,rt=Ge*W+nt*re+ct*ae,ot=Ge*ke+nt*ge+ct*ie;Ee=Math.asin(d(qt)),Ae=Math.atan2(ot,rt)}this.angle.jump(S,Ae,Ee),this.recalcMatrix(S);var It=L[2],kt=L[6],Ct=L[10],Yt=this.computedMatrix;l(Yt,L);var mr=Yt[15],er=Yt[12]/mr,Ke=Yt[13]/mr,bt=Yt[14]/mr,xt=Math.exp(this.computedRadius[0]);this.center.jump(S,er-It*xt,Ke-kt*xt,bt-Ct*xt)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(S){this.center.idle(S),this.up.idle(S),this.right.idle(S),this.radius.idle(S),this.angle.idle(S)},p.flush=function(S){this.center.flush(S),this.up.flush(S),this.right.flush(S),this.radius.flush(S),this.angle.flush(S)},p.setDistance=function(S,L){L>0&&this.radius.set(S,Math.log(L))},p.lookAt=function(S,L,x,C){this.recalcMatrix(S),L=L||this.computedEye,x=x||this.computedCenter,C=C||this.computedUp;var M=C[0],g=C[1],P=C[2],T=v(M,g,P);if(!(T<1e-6)){M/=T,g/=T,P/=T;var F=L[0]-x[0],q=L[1]-x[1],V=L[2]-x[2],H=v(F,q,V);if(!(H<1e-6)){F/=H,q/=H,V/=H;var X=this.computedRight,G=X[0],N=X[1],W=X[2],re=M*G+g*N+P*W;G-=re*M,N-=re*g,W-=re*P;var ae=v(G,N,W);if(!(ae<.01&&(G=g*V-P*q,N=P*F-M*V,W=M*q-g*F,ae=v(G,N,W),ae<1e-6))){G/=ae,N/=ae,W/=ae,this.up.set(S,M,g,P),this.right.set(S,G,N,W),this.center.set(S,x[0],x[1],x[2]),this.radius.set(S,Math.log(H));var _e=g*W-P*N,Me=P*G-M*W,ke=M*N-g*G,ge=v(_e,Me,ke);_e/=ge,Me/=ge,ke/=ge;var ie=M*F+g*q+P*V,Te=G*F+N*q+W*V,Ee=_e*F+Me*q+ke*V,Ae=Math.asin(d(ie)),ze=Math.atan2(Ee,Te),Ce=this.angle._state,me=Ce[Ce.length-1],De=Ce[Ce.length-2];me=me%(2*Math.PI);var ce=Math.abs(me+2*Math.PI-ze),Ge=Math.abs(me-ze),nt=Math.abs(me-2*Math.PI-ze);ce0?W.pop():new ArrayBuffer(G)}a.mallocArrayBuffer=E;function k(X){return new Uint8Array(E(X),0,X)}a.mallocUint8=k;function S(X){return new Uint16Array(E(2*X),0,X)}a.mallocUint16=S;function L(X){return new Uint32Array(E(4*X),0,X)}a.mallocUint32=L;function x(X){return new Int8Array(E(X),0,X)}a.mallocInt8=x;function C(X){return new Int16Array(E(2*X),0,X)}a.mallocInt16=C;function M(X){return new Int32Array(E(4*X),0,X)}a.mallocInt32=M;function g(X){return new Float32Array(E(4*X),0,X)}a.mallocFloat32=a.mallocFloat=g;function P(X){return new Float64Array(E(8*X),0,X)}a.mallocFloat64=a.mallocDouble=P;function T(X){return c?new Uint8ClampedArray(E(X),0,X):k(X)}a.mallocUint8Clamped=T;function F(X){return f?new BigUint64Array(E(8*X),0,X):null}a.mallocBigUint64=F;function q(X){return h?new BigInt64Array(E(8*X),0,X):null}a.mallocBigInt64=q;function V(X){return new DataView(E(X),0,X)}a.mallocDataView=V;function H(X){X=s.nextPow2(X);var G=s.log2(X),N=_[G];return N.length>0?N.pop():new u(X)}a.mallocBuffer=H,a.clearCache=function(){for(var G=0;G<32;++G)v.UINT8[G].length=0,v.UINT16[G].length=0,v.UINT32[G].length=0,v.INT8[G].length=0,v.INT16[G].length=0,v.INT32[G].length=0,v.FLOAT[G].length=0,v.DOUBLE[G].length=0,v.BIGUINT64[G].length=0,v.BIGINT64[G].length=0,v.UINT8C[G].length=0,d[G].length=0,_[G].length=0}},1755:function(i){"use strict";"use restrict";i.exports=a;function a(s){this.roots=new Array(s),this.ranks=new Array(s);for(var l=0;l",W="",re=N.length,ae=W.length,_e=H[0]===E||H[0]===L,Me=0,ke=-ae;Me>-1&&(Me=X.indexOf(N,Me),!(Me===-1||(ke=X.indexOf(W,Me+re),ke===-1)||ke<=Me));){for(var ge=Me;ge=ke)G[ge]=null,X=X.substr(0,ge)+" "+X.substr(ge+1);else if(G[ge]!==null){var ie=G[ge].indexOf(H[0]);ie===-1?G[ge]+=H:_e&&(G[ge]=G[ge].substr(0,ie+1)+(1+parseInt(G[ge][ie+1]))+G[ge].substr(ie+2))}var Te=Me+re,Ee=X.substr(Te,ke-Te),Ae=Ee.indexOf(N);Ae!==-1?Me=Ae:Me=ke+ae}return G}function M(V,H,X){for(var G=H.textAlign||"start",N=H.textBaseline||"alphabetic",W=[1<<30,1<<30],re=[0,0],ae=V.length,_e=0;_e/g,` +`):X=X.replace(/\/g," ");var re="",ae=[];for(me=0;me-1?parseInt(Ke[1+Lt]):0,dt=St>-1?parseInt(bt[1+St]):0;Et!==dt&&(xt=xt.replace(rt(),"?px "),Ge*=Math.pow(.75,dt-Et),xt=xt.replace("?px ",rt())),ce+=.25*ie*(dt-Et)}if(W.superscripts===!0){var Ht=Ke.indexOf(E),$t=bt.indexOf(E),fr=Ht>-1?parseInt(Ke[1+Ht]):0,xr=$t>-1?parseInt(bt[1+$t]):0;fr!==xr&&(xt=xt.replace(rt(),"?px "),Ge*=Math.pow(.75,xr-fr),xt=xt.replace("?px ",rt())),ce-=.25*ie*(xr-fr)}if(W.bolds===!0){var Br=Ke.indexOf(d)>-1,Or=bt.indexOf(d)>-1;!Br&&Or&&(Nr?xt=xt.replace("italic ","italic bold "):xt="bold "+xt),Br&&!Or&&(xt=xt.replace("bold ",""))}if(W.italics===!0){var Nr=Ke.indexOf(b)>-1,ut=bt.indexOf(b)>-1;!Nr&&ut&&(xt="italic "+xt),Nr&&!ut&&(xt=xt.replace("italic ",""))}H.font=xt}for(Ce=0;Ce0&&(N=G.size),G.lineSpacing&&G.lineSpacing>0&&(W=G.lineSpacing),G.styletags&&G.styletags.breaklines&&(re.breaklines=!!G.styletags.breaklines),G.styletags&&G.styletags.bolds&&(re.bolds=!!G.styletags.bolds),G.styletags&&G.styletags.italics&&(re.italics=!!G.styletags.italics),G.styletags&&G.styletags.subscripts&&(re.subscripts=!!G.styletags.subscripts),G.styletags&&G.styletags.superscripts&&(re.superscripts=!!G.styletags.superscripts)),X.font=[G.fontStyle,G.fontVariant,G.fontWeight,N+"px",G.font].filter(function(_e){return _e}).join(" "),X.textAlign="start",X.textBaseline="alphabetic",X.direction="ltr";var ae=g(H,X,V,N,W,re);return F(ae,G,N)}},1538:function(i){(function(){"use strict";if(typeof ses!="undefined"&&ses.ok&&!ses.ok())return;function o(T){T.permitHostObjects___&&T.permitHostObjects___(o)}typeof ses!="undefined"&&(ses.weakMapPermitHostObjects=o);var s=!1;if(typeof WeakMap=="function"){var l=WeakMap;if(!(typeof navigator!="undefined"&&/Firefox/.test(navigator.userAgent))){var u=new l,c=Object.freeze({});if(u.set(c,1),u.get(c)!==1)s=!0;else{i.exports=WeakMap;return}}}var f=Object.prototype.hasOwnProperty,h=Object.getOwnPropertyNames,v=Object.defineProperty,d=Object.isExtensible,_="weakmap:",b=_+"ident:"+Math.random()+"___";if(typeof crypto!="undefined"&&typeof crypto.getRandomValues=="function"&&typeof ArrayBuffer=="function"&&typeof Uint8Array=="function"){var p=new ArrayBuffer(25),E=new Uint8Array(p);crypto.getRandomValues(E),b=_+"rand:"+Array.prototype.map.call(E,function(T){return(T%36).toString(36)}).join("")+"___"}function k(T){return!(T.substr(0,_.length)==_&&T.substr(T.length-3)==="___")}if(v(Object,"getOwnPropertyNames",{value:function(F){return h(F).filter(k)}}),"getPropertyNames"in Object){var S=Object.getPropertyNames;v(Object,"getPropertyNames",{value:function(F){return S(F).filter(k)}})}function L(T){if(T!==Object(T))throw new TypeError("Not an object: "+T);var F=T[b];if(F&&F.key===T)return F;if(d(T)){F={key:T};try{return v(T,b,{value:F,writable:!1,enumerable:!1,configurable:!1}),F}catch(q){return}}}(function(){var T=Object.freeze;v(Object,"freeze",{value:function(H){return L(H),T(H)}});var F=Object.seal;v(Object,"seal",{value:function(H){return L(H),F(H)}});var q=Object.preventExtensions;v(Object,"preventExtensions",{value:function(H){return L(H),q(H)}})})();function x(T){return T.prototype=null,Object.freeze(T)}var C=!1;function M(){!C&&typeof console!="undefined"&&(C=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}var g=0,P=function(){this instanceof P||M();var T=[],F=[],q=g++;function V(N,W){var re,ae=L(N);return ae?q in ae?ae[q]:W:(re=T.indexOf(N),re>=0?F[re]:W)}function H(N){var W=L(N);return W?q in W:T.indexOf(N)>=0}function X(N,W){var re,ae=L(N);return ae?ae[q]=W:(re=T.indexOf(N),re>=0?F[re]=W:(re=T.length,F[re]=W,T[re]=N)),this}function G(N){var W=L(N),re,ae;return W?q in W&&delete W[q]:(re=T.indexOf(N),re<0?!1:(ae=T.length-1,T[re]=void 0,F[re]=F[ae],T[re]=T[ae],T.length=ae,F.length=ae,!0))}return Object.create(P.prototype,{get___:{value:x(V)},has___:{value:x(H)},set___:{value:x(X)},delete___:{value:x(G)}})};P.prototype=Object.create(Object.prototype,{get:{value:function(F,q){return this.get___(F,q)},writable:!0,configurable:!0},has:{value:function(F){return this.has___(F)},writable:!0,configurable:!0},set:{value:function(F,q){return this.set___(F,q)},writable:!0,configurable:!0},delete:{value:function(F){return this.delete___(F)},writable:!0,configurable:!0}}),typeof l=="function"?function(){s&&typeof Proxy!="undefined"&&(Proxy=void 0);function T(){this instanceof P||M();var F=new l,q=void 0,V=!1;function H(W,re){return q?F.has(W)?F.get(W):q.get___(W,re):F.get(W,re)}function X(W){return F.has(W)||(q?q.has___(W):!1)}var G;s?G=function(W,re){return F.set(W,re),F.has(W)||(q||(q=new P),q.set(W,re)),this}:G=function(W,re){if(V)try{F.set(W,re)}catch(ae){q||(q=new P),q.set___(W,re)}else F.set(W,re);return this};function N(W){var re=!!F.delete(W);return q&&q.delete___(W)||re}return Object.create(P.prototype,{get___:{value:x(H)},has___:{value:x(X)},set___:{value:x(G)},delete___:{value:x(N)},permitHostObjects___:{value:x(function(W){if(W===o)V=!0;else throw new Error("bogus call to permitHostObjects___")})}})}T.prototype=P.prototype,i.exports=T,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy!="undefined"&&(Proxy=void 0),i.exports=P)})()},236:function(i,a,o){var s=o(8284);i.exports=l;function l(){var u={};return function(c){if((typeof c!="object"||c===null)&&typeof c!="function")throw new Error("Weakmap-shim: Key must be object");var f=c.valueOf(u);return f&&f.identity===u?f:s(c,u)}}},8284:function(i){i.exports=a;function a(o,s){var l={identity:s},u=o.valueOf;return Object.defineProperty(o,"valueOf",{value:function(c){return c!==s?u.apply(this,arguments):l},writable:!0}),l}},606:function(i,a,o){var s=o(236);i.exports=l;function l(){var u=s();return{get:function(c,f){var h=u(c);return h.hasOwnProperty("value")?h.value:f},set:function(c,f){return u(c).value=f,this},has:function(c){return"value"in u(c)},delete:function(c){return delete u(c).value}}}},3349:function(i){"use strict";function a(){return function(f,h,v,d,_,b){var p=f[0],E=v[0],k=[0],S=E;d|=0;var L=0,x=E;for(L=0;L=0!=M>=0&&_.push(k[0]+.5+.5*(C+M)/(C-M))}d+=x,++k[0]}}}function o(){return a()}var s=o;function l(f){var h={};return function(d,_,b){var p=d.dtype,E=d.order,k=[p,E.join()].join(),S=h[k];return S||(h[k]=S=f([p,E])),S(d.shape.slice(0),d.data,d.stride,d.offset|0,_,b)}}function u(f){return l(s.bind(void 0,f))}function c(f){return u({funcName:f.funcName})}i.exports=c({funcName:"zeroCrossings"})},781:function(i,a,o){"use strict";i.exports=l;var s=o(3349);function l(u,c){var f=[];return c=+c||0,s(u.hi(u.shape[0]-1),f,c),f}},7790:function(){}},t={};function r(i){var a=t[i];if(a!==void 0)return a.exports;var o=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}(function(){r.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(i){if(typeof window=="object")return window}}()})(),function(){r.nmd=function(i){return i.paths=[],i.children||(i.children=[]),i}}();var n=r(1964);MLe.exports=n})()});var kLe=ye((Jvr,ELe)=>{"use strict";ELe.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var ILe=ye(($vr,PLe)=>{"use strict";var CLe=kLe();PLe.exports=OLt;var LLe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function OLt(e){var t,r=[],n=1,i;if(typeof e=="string")if(e=e.toLowerCase(),CLe[e])r=CLe[e].slice(),i="rgb";else if(e==="transparent")n=0,i="rgb",r=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i="rgb"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(e)){var l=t[1],u=l==="rgb",a=l.replace(/a$/,"");i=a;var o=a==="cmyk"?4:a==="gray"?1:3;r=t[2].trim().split(/\s*[,\/]\s*|\s+/).map(function(h,v){if(/%$/.test(h))return v===o?parseFloat(h)/100:a==="rgb"?parseFloat(h)*255/100:parseFloat(h);if(a[v]==="h"){if(/deg$/.test(h))return parseFloat(h);if(LLe[h]!==void 0)return LLe[h]}return parseFloat(h)}),l===a&&r.push(1),n=u||r[o]===void 0?1:r[o],r=r.slice(0,o)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(c){return parseFloat(c)}),i=e.match(/([a-z])/ig).join("").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(r=[e[0],e[1],e[2]],i="rgb",n=e.length===4?e[3]:1):e instanceof Object&&(e.r!=null||e.red!=null||e.R!=null?(i="rgb",r=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(i="hsl",r=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),n=e.a||e.alpha||e.opacity||1,e.opacity!=null&&(n/=100)):(i="rgb",r=[e>>>16,(e&65280)>>>8,e&255]);return{space:i,values:r,alpha:n}}});var RLe=ye((Qvr,DLe)=>{"use strict";DLe.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}});var FLe=ye((epr,zLe)=>{"use strict";var BLt=RLe();zLe.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l;if(r===0)return l=n*255,[l,l,l];n<.5?a=n*(1+r):a=n+r-n*r,i=2*n-a,s=[0,0,0];for(var u=0;u<3;u++)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,6*o<1?l=i+(a-i)*6*o:2*o<1?l=a:3*o<2?l=i+(a-i)*(2/3-o)*6:l=i,s[u]=l*255;return s}};BLt.hsl=function(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=a-i,s,l,u;return a===i?s=0:t===a?s=(r-n)/o:r===a?s=2+(n-t)/o:n===a&&(s=4+(t-r)/o),s=Math.min(s*60,360),s<0&&(s+=360),u=(i+a)/2,a===i?l=0:u<=.5?l=o/(a+i):l=o/(2-a-i),[s,l*100,u*100]}});var Y5=ye((tpr,qLe)=>{qLe.exports=NLt;function NLt(e,t,r){return tr?r:e:et?t:e}});var mZ=ye((rpr,OLe)=>{"use strict";var ULt=ILe(),VLt=FLe(),nz=Y5();OLe.exports=function(t){var r,n,i,a=ULt(t);return a.space?(r=Array(3),r[0]=nz(a.values[0],0,255),r[1]=nz(a.values[1],0,255),r[2]=nz(a.values[2],0,255),a.space[0]==="h"&&(r=VLt.rgb(r)),r.push(nz(a.alpha,0,1)),r):[]}});var az=ye((ipr,BLe)=>{BLe.exports=function(e){switch(e){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}});var ax=ye((npr,NLe)=>{"use strict";var HLt=mZ(),oz=Y5(),GLt=az();NLe.exports=function(t,r){(r==="float"||!r)&&(r="array"),r==="uint"&&(r="uint8"),r==="uint_clamped"&&(r="uint8_clamped");var n=GLt(r),i=new n(4),a=r!=="uint8"&&r!=="uint8_clamped";return(!t.length||typeof t=="string")&&(t=HLt(t),t[0]/=255,t[1]/=255,t[2]/=255),jLt(t)?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:255,a&&(i[0]/=255,i[1]/=255,i[2]/=255,i[3]/=255),i):(a?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:1):(i[0]=oz(Math.floor(t[0]*255),0,255),i[1]=oz(Math.floor(t[1]*255),0,255),i[2]=oz(Math.floor(t[2]*255),0,255),i[3]=t[3]==null?255:oz(Math.floor(t[3]*255),0,255)),i)};function jLt(e){return!!(e instanceof Uint8Array||e instanceof Uint8ClampedArray||Array.isArray(e)&&(e[0]>1||e[0]===0)&&(e[1]>1||e[1]===0)&&(e[2]>1||e[2]===0)&&(!e[3]||e[3]>1))}});var e1=ye((apr,ULe)=>{"use strict";var WLt=ax();function ZLt(e){return e?WLt(e):[0,0,0,1]}ULe.exports=ZLt});var t1=ye((opr,XLe)=>{"use strict";var WLe=uo(),XLt=ad(),sz=ax(),lz=Mu(),YLt=ph().defaultLine,VLe=pv().isArrayOrTypedArray,yZ=sz(YLt),ZLe=1;function HLe(e,t){var r=e;return r[3]*=t,r}function GLe(e){if(WLe(e))return yZ;var t=sz(e);return t.length?t:yZ}function jLe(e){return WLe(e)?e:ZLe}function KLt(e,t,r){var n=e.color;n&&n._inputArray&&(n=n._inputArray);var i=VLe(n),a=VLe(t),o=lz.extractOpts(e),s=[],l,u,c,f,h;if(o.colorscale!==void 0?l=lz.makeColorScaleFuncFromTrace(e):l=GLe,i?u=function(d,_){return d[_]===void 0?yZ:sz(l(d[_]))}:u=GLe,a?c=function(d,_){return d[_]===void 0?ZLe:jLe(d[_])}:c=jLe,i||a)for(var v=0;v{"use strict";YLe.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}});var uz=ye((lpr,KLe)=>{"use strict";KLe.exports={circle:"\u25CF","circle-open":"\u25CB",square:"\u25A0","square-open":"\u25A1",diamond:"\u25C6","diamond-open":"\u25C7",cross:"+",x:"\u274C"}});var $Le=ye((upr,JLe)=>{"use strict";var $Lt=ya();function xZ(e,t,r,n){if(!t||!t.visible)return null;for(var i=$Lt.getComponentMethod("errorbars","makeComputeError")(t),a=new Array(e.length),o=0;o0){var f=n.c2l(u);n._lowerLogErrorBound||(n._lowerLogErrorBound=f),n._lowerErrorBound=Math.min(n._lowerLogErrorBound,f)}}else a[o]=[-s[0]*r,s[1]*r]}return a}function QLt(e){for(var t=0;t{"use strict";var tPt=Rd().gl_line3d,QLe=Rd().gl_scatter3d,rPt=Rd().gl_error3d,iPt=Rd().gl_mesh3d,nPt=Rd().delaunay_triangulate,r1=Ar(),nPe=e1(),cz=t1().formatColor,aPt=F3(),bZ=_Z(),oPt=uz(),sPt=Xa(),lPt=np().appendArrayPointValue,uPt=$Le();function aPe(e,t){this.scene=e,this.uid=t,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode="",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var TZ=aPe.prototype;TZ.handlePick=function(e){if(e.object&&(e.object===this.linePlot||e.object===this.delaunayMesh||e.object===this.textMarkers||e.object===this.scatterPlot)){var t=e.index=e.data.index;return e.object.highlight&&e.object.highlight(null),this.scatterPlot&&(e.object=this.scatterPlot,this.scatterPlot.highlight(e.data)),e.textLabel="",this.textLabels&&(r1.isArrayOrTypedArray(this.textLabels)?(this.textLabels[t]||this.textLabels[t]===0)&&(e.textLabel=this.textLabels[t]):e.textLabel=this.textLabels),e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]],!0}};function cPt(e,t,r){var n=(r+1)%3,i=(r+2)%3,a=[],o=[],s;for(s=0;s-1?-1:e.indexOf("right")>-1?1:0}function tPe(e){return e==null?0:e.indexOf("top")>-1?-1:e.indexOf("bottom")>-1?1:0}function hPt(e){var t=0,r=0,n=[t,r];if(Array.isArray(e))for(var i=0;i=0){var u=cPt(s.position,s.delaunayColor,s.delaunayAxis);u.opacity=e.opacity,this.delaunayMesh?this.delaunayMesh.update(u):(u.gl=t,this.delaunayMesh=iPt(u),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)};TZ.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())};function gPt(e,t){var r=new aPe(e,t.uid);return r.update(t),r}oPe.exports=gPt});var kZ=ye((fpr,cPe)=>{"use strict";var i1=Uc(),mPt=Su(),EZ=Kl(),AZ=Oc().axisHoverFormat,yPt=Wo().hovertemplateAttrs,_Pt=Wo().texttemplateAttrs,lPe=vl(),xPt=_Z(),bPt=uz(),Jg=no().extendFlat,wPt=Bu().overrideAll,uPe=$1(),TPt=i1.line,Y2=i1.marker,APt=Y2.line,SPt=Jg({width:TPt.width,dash:{valType:"enumerated",values:uPe(xPt),dflt:"solid"}},EZ("line"));function SZ(e){return{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}}}var MZ=cPe.exports=wPt({x:i1.x,y:i1.y,z:{valType:"data_array"},text:Jg({},i1.text,{}),texttemplate:_Pt({},{}),hovertext:Jg({},i1.hovertext,{}),hovertemplate:yPt(),xhoverformat:AZ("x"),yhoverformat:AZ("y"),zhoverformat:AZ("z"),mode:Jg({},i1.mode,{dflt:"lines+markers"}),surfaceaxis:{valType:"enumerated",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:"color"},projection:{x:SZ("x"),y:SZ("y"),z:SZ("z")},connectgaps:i1.connectgaps,line:SPt,marker:Jg({symbol:{valType:"enumerated",values:uPe(bPt),dflt:"circle",arrayOk:!0},size:Jg({},Y2.size,{dflt:8}),sizeref:Y2.sizeref,sizemin:Y2.sizemin,sizemode:Y2.sizemode,opacity:Jg({},Y2.opacity,{arrayOk:!1}),colorbar:Y2.colorbar,line:Jg({width:Jg({},APt.width,{arrayOk:!1})},EZ("marker.line"))},EZ("marker")),textposition:Jg({},i1.textposition,{dflt:"top center"}),textfont:mPt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:"calc",colorEditType:"style",arrayOk:!0,variantValues:["normal","small-caps"]}),opacity:lPe.opacity,hoverinfo:Jg({},lPe.hoverinfo)},"calc","nested");MZ.x.editType=MZ.y.editType=MZ.z.editType="calc+clearAxisTypes"});var dPe=ye((hpr,hPe)=>{"use strict";var fPe=ya(),MPt=Ar(),CZ=lu(),EPt=t0(),kPt=q0(),CPt=O0(),LPt=kZ();hPe.exports=function(t,r,n,i){function a(v,d){return MPt.coerce(t,r,LPt,v,d)}var o=PPt(t,r,a,i);if(!o){r.visible=!1;return}a("text"),a("hovertext"),a("hovertemplate"),a("xhoverformat"),a("yhoverformat"),a("zhoverformat"),a("mode"),CZ.hasMarkers(r)&&EPt(t,r,n,i,a,{noSelect:!0,noAngle:!0}),CZ.hasLines(r)&&(a("connectgaps"),kPt(t,r,n,i,a)),CZ.hasText(r)&&(a("texttemplate"),CPt(t,r,i,a,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var s=(r.line||{}).color,l=(r.marker||{}).color;a("surfaceaxis")>=0&&a("surfacecolor",s||l);for(var u=["x","y","z"],c=0;c<3;++c){var f="projection."+u[c];a(f+".show")&&(a(f+".opacity"),a(f+".scale"))}var h=fPe.getComponentMethod("errorbars","supplyDefaults");h(t,r,s||l||n,{axis:"z"}),h(t,r,s||l||n,{axis:"y",inherit:"z"}),h(t,r,s||l||n,{axis:"x",inherit:"z"})};function PPt(e,t,r,n){var i=0,a=r("x"),o=r("y"),s=r("z"),l=fPe.getComponentMethod("calendars","handleTraceDefaults");return l(e,t,["x","y","z"],n),a&&o&&s&&(i=Math.min(a.length,o.length,s.length),t._length=t._xlength=t._ylength=t._zlength=i),i}});var pPe=ye((dpr,vPe)=>{"use strict";var IPt=Lm(),DPt=B0();vPe.exports=function(t,r){var n=[{x:!1,y:!1,trace:r,t:{}}];return IPt(n,r),DPt(t,r),n}});var mPe=ye((vpr,gPe)=>{gPe.exports=RPt;function RPt(e,t){if(typeof e!="string")throw new TypeError("must specify type string");if(t=t||{},typeof document=="undefined"&&!t.canvas)return null;var r=t.canvas||document.createElement("canvas");typeof t.width=="number"&&(r.width=t.width),typeof t.height=="number"&&(r.height=t.height);var n=t,i;try{var a=[e];e.indexOf("webgl")===0&&a.push("experimental-"+e);for(var o=0;o{var zPt=mPe();yPe.exports=function(t){return zPt("webgl",t)}});var LZ=ye((gpr,bPe)=>{"use strict";var xPe=va(),FPt=function(){};bPe.exports=function(t){for(var r in t)typeof t[r]=="function"&&(t[r]=FPt);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var n=document.createElement("div");n.className="no-webgl",n.style.cursor="pointer",n.style.fontSize="24px",n.style.color=xPe.defaults[0],n.style.position="absolute",n.style.left=n.style.top="0px",n.style.width=n.style.height="100%",n.style["background-color"]=xPe.lightLine,n.style["z-index"]=30;var i=document.createElement("p");return i.textContent="WebGL is not supported by your browser - visit https://get.webgl.org for more info",i.style.position="relative",i.style.top="50%",i.style.left="50%",i.style.height="30%",i.style.width="50%",i.style.margin="-15% 0 0 -25%",n.appendChild(i),t.container.appendChild(n),t.container.style.background="#FFFFFF",t.container.onclick=function(){window.open("https://get.webgl.org")},!1}});var APe=ye((mpr,TPe)=>{"use strict";var K2=e1(),qPt=Ar(),OPt=["xaxis","yaxis","zaxis"];function wPe(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickFontWeight=["normal","normal","normal","normal"],this.tickFontStyle=["normal","normal","normal","normal"],this.tickFontVariant=["normal","normal","normal","normal"],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["Open Sans","Open Sans","Open Sans"],this.labelSize=[20,20,20],this.labelFontWeight=["normal","normal","normal","normal"],this.labelFontStyle=["normal","normal","normal","normal"],this.labelFontVariant=["normal","normal","normal","normal"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}var BPt=wPe.prototype;BPt.merge=function(e,t){for(var r=this,n=0;n<3;++n){var i=t[OPt[n]];if(!i.visible){r.tickEnable[n]=!1,r.labelEnable[n]=!1,r.lineEnable[n]=!1,r.lineTickEnable[n]=!1,r.gridEnable[n]=!1,r.zeroEnable[n]=!1,r.backgroundEnable[n]=!1;continue}r.labels[n]=e._meta?qPt.templateString(i.title.text,e._meta):i.title.text,"font"in i.title&&(i.title.font.color&&(r.labelColor[n]=K2(i.title.font.color)),i.title.font.family&&(r.labelFont[n]=i.title.font.family),i.title.font.size&&(r.labelSize[n]=i.title.font.size),i.title.font.weight&&(r.labelFontWeight[n]=i.title.font.weight),i.title.font.style&&(r.labelFontStyle[n]=i.title.font.style),i.title.font.variant&&(r.labelFontVariant[n]=i.title.font.variant)),"showline"in i&&(r.lineEnable[n]=i.showline),"linecolor"in i&&(r.lineColor[n]=K2(i.linecolor)),"linewidth"in i&&(r.lineWidth[n]=i.linewidth),"showgrid"in i&&(r.gridEnable[n]=i.showgrid),"gridcolor"in i&&(r.gridColor[n]=K2(i.gridcolor)),"gridwidth"in i&&(r.gridWidth[n]=i.gridwidth),i.type==="log"?r.zeroEnable[n]=!1:"zeroline"in i&&(r.zeroEnable[n]=i.zeroline),"zerolinecolor"in i&&(r.zeroLineColor[n]=K2(i.zerolinecolor)),"zerolinewidth"in i&&(r.zeroLineWidth[n]=i.zerolinewidth),"ticks"in i&&i.ticks?r.lineTickEnable[n]=!0:r.lineTickEnable[n]=!1,"ticklen"in i&&(r.lineTickLength[n]=r._defaultLineTickLength[n]=i.ticklen),"tickcolor"in i&&(r.lineTickColor[n]=K2(i.tickcolor)),"tickwidth"in i&&(r.lineTickWidth[n]=i.tickwidth),"tickangle"in i&&(r.tickAngle[n]=i.tickangle==="auto"?-3600:Math.PI*-i.tickangle/180),"showticklabels"in i&&(r.tickEnable[n]=i.showticklabels),"tickfont"in i&&(i.tickfont.color&&(r.tickColor[n]=K2(i.tickfont.color)),i.tickfont.family&&(r.tickFont[n]=i.tickfont.family),i.tickfont.size&&(r.tickSize[n]=i.tickfont.size),i.tickfont.weight&&(r.tickFontWeight[n]=i.tickfont.weight),i.tickfont.style&&(r.tickFontStyle[n]=i.tickfont.style),i.tickfont.variant&&(r.tickFontVariant[n]=i.tickfont.variant)),"mirror"in i?["ticks","all","allticks"].indexOf(i.mirror)!==-1?(r.lineTickMirror[n]=!0,r.lineMirror[n]=!0):i.mirror===!0?(r.lineTickMirror[n]=!1,r.lineMirror[n]=!0):(r.lineTickMirror[n]=!1,r.lineMirror[n]=!1):r.lineMirror[n]=!1,"showbackground"in i&&i.showbackground!==!1?(r.backgroundEnable[n]=!0,r.backgroundColor[n]=K2(i.backgroundcolor)):r.backgroundEnable[n]=!1}};function NPt(e,t){var r=new wPe;return r.merge(e,t),r}TPe.exports=NPt});var EPe=ye((ypr,MPe)=>{"use strict";var UPt=e1(),VPt=["xaxis","yaxis","zaxis"];function SPe(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}var HPt=SPe.prototype;HPt.merge=function(e){for(var t=0;t<3;++t){var r=e[VPt[t]];if(!r.visible){this.enabled[t]=!1,this.drawSides[t]=!1;continue}this.enabled[t]=r.showspikes,this.colors[t]=UPt(r.spikecolor),this.drawSides[t]=r.spikesides,this.lineWidth[t]=r.spikethickness}};function GPt(e){var t=new SPe;return t.merge(e),t}MPe.exports=GPt});var LPe=ye((_pr,CPe)=>{"use strict";CPe.exports=YPt;var kPe=Xa(),jPt=Ar(),WPt=["xaxis","yaxis","zaxis"],ZPt=[0,0,0];function XPt(e){for(var t=new Array(3),r=0;r<3;++r){for(var n=e[r],i=new Array(n.length),a=0;a/g," "));i[a]=u,o.tickmode=s}}t.ticks=i;for(var a=0;a<3;++a){ZPt[a]=.5*(e.glplot.bounds[0][a]+e.glplot.bounds[1][a]);for(var c=0;c<2;++c)t.bounds[c][a]=e.glplot.bounds[c][a]}e.contourLevels=XPt(i)}});var qPe=ye((xpr,FPe)=>{"use strict";var DPe=Rd().gl_plot3d,KPt=DPe.createCamera,PPe=DPe.createScene,JPt=_Pe(),$Pt=WL(),dz=ya(),hp=Ar(),hz=hp.preserveDrawingBuffer(),vz=Xa(),$g=Nc(),QPt=e1(),eIt=LZ(),tIt=XU(),rIt=APe(),iIt=EPe(),nIt=LPe(),aIt=Ag().applyAutorangeOptions,nk,fz,RPe=!1;function zPe(e,t){var r=document.createElement("div"),n=e.container;this.graphDiv=e.graphDiv;var i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.style.position="absolute",i.style.top=i.style.left="0px",i.style.width=i.style.height="100%",i.style["z-index"]=20,i.style["pointer-events"]="none",r.appendChild(i),this.svgContainer=i,r.id=e.id,r.style.position="absolute",r.style.top=r.style.left="0px",r.style.width=r.style.height="100%",n.appendChild(r),this.fullLayout=t,this.id=e.id||"scene",this.fullSceneLayout=t[this.id],this.plotArgs=[[],{},{}],this.axesOptions=rIt(t,t[this.id]),this.spikeOptions=iIt(t[this.id]),this.container=r,this.staticMode=!!e.staticPlot,this.pixelRatio=this.pixelRatio||e.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=dz.getComponentMethod("annotations3d","convert"),this.drawAnnotations=dz.getComponentMethod("annotations3d","draw"),this.initializeGLPlot()}var Av=zPe.prototype;Av.prepareOptions=function(){var e=this,t={canvas:e.canvas,gl:e.gl,glOptions:{preserveDrawingBuffer:hz,premultipliedAlpha:!0,antialias:!0},container:e.container,axes:e.axesOptions,spikes:e.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:e.camera,pixelRatio:e.pixelRatio};if(e.staticMode){if(!fz&&(nk=document.createElement("canvas"),fz=JPt({canvas:nk,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!fz))throw new Error("error creating static canvas/context for image server");t.gl=fz,t.canvas=nk}return t};var IPe=!0;Av.tryCreatePlot=function(){var e=this,t=e.prepareOptions(),r=!0;try{e.glplot=PPe(t)}catch(n){if(e.staticMode||!IPe||hz)r=!1;else{hp.warn(["webgl setup failed possibly due to","false preserveDrawingBuffer config.","The mobile/tablet device may not be detected by is-mobile module.","Enabling preserveDrawingBuffer in second attempt to create webgl scene..."].join(" "));try{hz=t.glOptions.preserveDrawingBuffer=!0,e.glplot=PPe(t)}catch(i){hz=t.glOptions.preserveDrawingBuffer=!1,r=!1}}}return IPe=!1,r};Av.initializeGLCamera=function(){var e=this,t=e.fullSceneLayout.camera,r=t.projection.type==="orthographic";e.camera=KPt(e.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:r,zoomMin:.01,zoomMax:100,mode:"orbit"})};Av.initializeGLPlot=function(){var e=this;e.initializeGLCamera();var t=e.tryCreatePlot();if(!t)return eIt(e);e.traces={},e.make4thDimension();var r=e.graphDiv,n=r.layout,i=function(){var o={};return e.isCameraChanged(n)&&(o[e.id+".camera"]=e.getCamera()),e.isAspectChanged(n)&&(o[e.id+".aspectratio"]=e.glplot.getAspectratio(),n[e.id].aspectmode!=="manual"&&(e.fullSceneLayout.aspectmode=n[e.id].aspectmode=o[e.id+".aspectmode"]="manual")),o},a=function(o){if(o.fullSceneLayout.dragmode!==!1){var s=i();o.saveLayout(n),o.graphDiv.emit("plotly_relayout",s)}};return e.glplot.canvas&&(e.glplot.canvas.addEventListener("mouseup",function(){a(e)}),e.glplot.canvas.addEventListener("touchstart",function(){RPe=!0}),e.glplot.canvas.addEventListener("wheel",function(o){if(r._context._scrollZoom.gl3d){if(e.camera._ortho){var s=o.deltaX>o.deltaY?1.1:.9090909090909091,l=e.glplot.getAspectratio();e.glplot.setAspectratio({x:s*l.x,y:s*l.y,z:s*l.z})}a(e)}},$Pt?{passive:!1}:!1),e.glplot.canvas.addEventListener("mousemove",function(){if(e.fullSceneLayout.dragmode!==!1&&e.camera.mouseListener.buttons!==0){var o=i();e.graphDiv.emit("plotly_relayouting",o)}}),e.staticMode||e.glplot.canvas.addEventListener("webglcontextlost",function(o){r&&r.emit&&r.emit("plotly_webglcontextlost",{event:o,layer:e.id})},!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0};Av.render=function(){var e=this,t=e.graphDiv,r,n=e.svgContainer,i=e.container.getBoundingClientRect();t._fullLayout._calcInverseTransform(t);var a=t._fullLayout._invScaleX,o=t._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),nIt(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,f=e.glplot.selection,h=0;h")):r.type==="isosurface"||r.type==="volume"?(p.valueLabel=vz.hoverLabelText(e._mockAxis,e._mockAxis.d2l(f.traceCoordinate[3]),r.valuehoverformat),x.push("value: "+p.valueLabel),f.textLabel&&x.push(f.textLabel),L=x.join("
")):L=f.textLabel;var C={x:f.traceCoordinate[0],y:f.traceCoordinate[1],z:f.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:b};$g.appendArrayPointValue(C,_,b),r._module.eventData&&(C=_._module.eventData(C,f,_,{},b));var M={points:[C]};if(e.fullSceneLayout.hovermode){var g=[];$g.loneHover({trace:_,x:(.5+.5*d[0]/d[3])*s,y:(.5-.5*d[1]/d[3])*l,xLabel:p.xLabel,yLabel:p.yLabel,zLabel:p.zLabel,text:L,name:c.name,color:$g.castHoverOption(_,b,"bgcolor")||c.color,borderColor:$g.castHoverOption(_,b,"bordercolor"),fontFamily:$g.castHoverOption(_,b,"font.family"),fontSize:$g.castHoverOption(_,b,"font.size"),fontColor:$g.castHoverOption(_,b,"font.color"),nameLength:$g.castHoverOption(_,b,"namelength"),textAlign:$g.castHoverOption(_,b,"align"),hovertemplate:hp.castOption(_,b,"hovertemplate"),hovertemplateLabels:hp.extendFlat({},C,p),eventData:[C]},{container:n,gd:t,inOut_bbox:g}),C.bbox=g[0]}f.distance<5&&(f.buttons||RPe)?t.emit("plotly_click",M):t.emit("plotly_hover",M),this.oldEventData=M}else $g.loneUnhover(n),this.oldEventData&&t.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)};Av.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){if(e.glplot.gl.isContextLost()){requestAnimationFrame(t);return}if(!e.initializeGLPlot()){hp.error("Catastrophic and unrecoverable WebGL error. Context lost.");return}e.plot.apply(e,e.plotArgs)};requestAnimationFrame(t)};var ak=["xaxis","yaxis","zaxis"];function oIt(e,t,r){for(var n=e.fullSceneLayout,i=0;i<3;i++){var a=ak[i],o=a.charAt(0),s=n[a],l=t[o],u=t[o+"calendar"],c=t["_"+o+"length"];if(!hp.isArrayOrTypedArray(l))r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],c-1);else for(var f,h=0;h<(c||l.length);h++)if(hp.isArrayOrTypedArray(l[h]))for(var v=0;v_[1][o])_[0][o]=-1,_[1][o]=1;else{var T=_[1][o]-_[0][o];_[0][o]-=T/32,_[1][o]+=T/32}if(E=[_[0][o],_[1][o]],E=aIt(E,l),_[0][o]=E[0],_[1][o]=E[1],l.isReversed()){var F=_[0][o];_[0][o]=_[1][o],_[1][o]=F}}else E=l.range,_[0][o]=l.r2l(E[0]),_[1][o]=l.r2l(E[1]);_[0][o]===_[1][o]&&(_[0][o]-=1,_[1][o]+=1),b[o]=_[1][o]-_[0][o],l.range=[_[0][o],_[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*v[o],max:l.range[1]*v[o]})}var q,V=c.aspectmode;if(V==="cube")q=[1,1,1];else if(V==="manual"){var H=c.aspectratio;q=[H.x,H.y,H.z]}else if(V==="auto"||V==="data"){var X=[1,1,1];for(o=0;o<3;++o){l=c[ak[o]],u=l.type;var G=p[u];X[o]=Math.pow(G.acc,1/G.count)/v[o]}V==="data"||Math.max.apply(null,X)/Math.min.apply(null,X)<=4?q=X:q=[1,1,1]}else throw new Error("scene.js aspectRatio was not one of the enumerated types");c.aspectratio.x=f.aspectratio.x=q[0],c.aspectratio.y=f.aspectratio.y=q[1],c.aspectratio.z=f.aspectratio.z=q[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var N=c.domain||null,W=t._size||null;if(N&&W){var re=n.container.style;re.position="absolute",re.left=W.l+N.x[0]*W.w+"px",re.top=W.t+(1-N.y[1])*W.h+"px",re.width=W.w*(N.x[1]-N.x[0])+"px",re.height=W.h*(N.y[1]-N.y[0])+"px"}n.glplot.redraw()}};Av.destroy=function(){var e=this;e.glplot&&(e.camera.mouseListener.enabled=!1,e.container.removeEventListener("wheel",e.camera.wheelListener),e.camera=null,e.glplot.dispose(),e.container.parentNode.removeChild(e.container),e.glplot=null)};function lIt(e){return[[e.eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]}function uIt(e){return{up:{x:e.up[0],y:e.up[1],z:e.up[2]},center:{x:e.center[0],y:e.center[1],z:e.center[2]},eye:{x:e.eye[0],y:e.eye[1],z:e.eye[2]},projection:{type:e._ortho===!0?"orthographic":"perspective"}}}Av.getCamera=function(){var e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),uIt(e.camera)};Av.setViewport=function(e){var t=this,r=e.camera;t.camera.lookAt.apply(this,lIt(r)),t.glplot.setAspectratio(e.aspectratio);var n=r.projection.type==="orthographic",i=t.camera._ortho;n!==i&&(t.glplot.redraw(),t.glplot.clearRGBA(),t.glplot.dispose(),t.initializeGLPlot())};Av.isCameraChanged=function(e){var t=this,r=t.getCamera(),n=hp.nestedProperty(e,t.id+".camera"),i=n.get();function a(u,c,f,h){var v=["up","center","eye"],d=["x","y","z"];return c[v[f]]&&u[v[f]][d[h]]===c[v[f]][d[h]]}var o=!1;if(i===void 0)o=!0;else{for(var s=0;s<3;s++)for(var l=0;l<3;l++)if(!a(r,i,s,l)){o=!0;break}(!i.projection||r.projection&&r.projection.type!==i.projection.type)&&(o=!0)}return o};Av.isAspectChanged=function(e){var t=this,r=t.glplot.getAspectratio(),n=hp.nestedProperty(e,t.id+".aspectratio"),i=n.get();return i===void 0||i.x!==r.x||i.y!==r.y||i.z!==r.z};Av.saveLayout=function(e){var t=this,r=t.fullLayout,n,i,a,o,s,l,u=t.isCameraChanged(e),c=t.isAspectChanged(e),f=u||c;if(f){var h={};if(u&&(n=t.getCamera(),i=hp.nestedProperty(e,t.id+".camera"),a=i.get(),h[t.id+".camera"]=a),c&&(o=t.glplot.getAspectratio(),s=hp.nestedProperty(e,t.id+".aspectratio"),l=s.get(),h[t.id+".aspectratio"]=l),dz.call("_storeDirectGUIEdit",e,r._preGUI,h),u){i.set(n);var v=hp.nestedProperty(r,t.id+".camera");v.set(n)}if(c){s.set(o);var d=hp.nestedProperty(r,t.id+".aspectratio");d.set(o),t.glplot.redraw()}}return f};Av.updateFx=function(e,t){var r=this,n=r.camera;if(n)if(e==="orbit")n.mode="orbit",n.keyBindingMode="rotate";else if(e==="turntable"){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var c=r.id+".camera.up",f={x:0,y:0,z:1},h={};h[c]=f;var v=i.layout;dz.call("_storeDirectGUIEdit",v,a._preGUI,h),o.up=f,hp.nestedProperty(v,c).set(f)}}else n.keyBindingMode=e;r.fullSceneLayout.hovermode=t};function cIt(e,t,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)e[a+l]=Math.min(s*e[a+l],255)}}Av.toImage=function(e){var t=this;e||(e="png"),t.staticMode&&t.container.appendChild(nk),t.glplot.redraw();var r=t.glplot.gl,n=r.drawingBufferWidth,i=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var a=new Uint8Array(n*i*4);r.readPixels(0,0,n,i,r.RGBA,r.UNSIGNED_BYTE,a),cIt(a,n,i),fIt(a,n,i);var o=document.createElement("canvas");o.width=n,o.height=i;var s=o.getContext("2d",{willReadFrequently:!0}),l=s.createImageData(n,i);l.data.set(a),s.putImageData(l,0,0);var u;switch(e){case"jpeg":u=o.toDataURL("image/jpeg");break;case"webp":u=o.toDataURL("image/webp");break;default:u=o.toDataURL("image/png")}return t.staticMode&&t.container.removeChild(nk),u};Av.setConvert=function(){for(var e=this,t=0;t<3;t++){var r=e.fullSceneLayout[ak[t]];vz.setConvert(r,e.fullLayout),r.setScale=hp.noop}};Av.make4thDimension=function(){var e=this,t=e.graphDiv,r=t._fullLayout;e._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},vz.setConvert(e._mockAxis,r)};FPe.exports=zPe});var BPe=ye((bpr,OPe)=>{"use strict";OPe.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}});var IZ=ye((wpr,NPe)=>{"use strict";var hIt=va(),fs=Ld(),PZ=no().extendFlat,dIt=Bu().overrideAll;NPe.exports=dIt({visible:fs.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:hIt.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:fs.color,categoryorder:fs.categoryorder,categoryarray:fs.categoryarray,title:{text:fs.title.text,font:fs.title.font},type:PZ({},fs.type,{values:["-","linear","log","date","category"]}),autotypenumbers:fs.autotypenumbers,autorange:fs.autorange,autorangeoptions:{minallowed:fs.autorangeoptions.minallowed,maxallowed:fs.autorangeoptions.maxallowed,clipmin:fs.autorangeoptions.clipmin,clipmax:fs.autorangeoptions.clipmax,include:fs.autorangeoptions.include,editType:"plot"},rangemode:fs.rangemode,minallowed:fs.minallowed,maxallowed:fs.maxallowed,range:PZ({},fs.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:fs.minor.tickmode,nticks:fs.nticks,tick0:fs.tick0,dtick:fs.dtick,tickvals:fs.tickvals,ticktext:fs.ticktext,ticks:fs.ticks,mirror:fs.mirror,ticklen:fs.ticklen,tickwidth:fs.tickwidth,tickcolor:fs.tickcolor,showticklabels:fs.showticklabels,labelalias:fs.labelalias,tickfont:fs.tickfont,tickangle:fs.tickangle,tickprefix:fs.tickprefix,showtickprefix:fs.showtickprefix,ticksuffix:fs.ticksuffix,showticksuffix:fs.showticksuffix,showexponent:fs.showexponent,exponentformat:fs.exponentformat,minexponent:fs.minexponent,separatethousands:fs.separatethousands,tickformat:fs.tickformat,tickformatstops:fs.tickformatstops,hoverformat:fs.hoverformat,showline:fs.showline,linecolor:fs.linecolor,linewidth:fs.linewidth,showgrid:fs.showgrid,gridcolor:PZ({},fs.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:fs.gridwidth,zeroline:fs.zeroline,zerolinecolor:fs.zerolinecolor,zerolinewidth:fs.zerolinewidth},"plot","from-root")});var FZ=ye((Tpr,UPe)=>{"use strict";var DZ=IZ(),vIt=Ju().attributes,RZ=no().extendFlat,pIt=Ar().counterRegex;function zZ(e,t,r){return{x:{valType:"number",dflt:e,editType:"camera"},y:{valType:"number",dflt:t,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}UPe.exports={_arrayAttrRegexps:[pIt("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:RZ(zZ(0,0,1),{}),center:RZ(zZ(0,0,0),{}),eye:RZ(zZ(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:vIt({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:DZ,yaxis:DZ,zaxis:DZ,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot"}});var jPe=ye((Apr,GPe)=>{"use strict";var gIt=ad().mix,VPe=Ar(),mIt=Vs(),yIt=IZ(),_It=IU(),xIt=h4(),HPe=["xaxis","yaxis","zaxis"],bIt=100*136/187;GPe.exports=function(t,r,n){var i,a;function o(u,c){return VPe.coerce(i,a,yIt,u,c)}for(var s=0;s{"use strict";var wIt=Ar(),TIt=va(),AIt=ya(),SIt=F_(),MIt=jPe(),WPe=FZ(),EIt=Cd().getSubplotData,ZPe="gl3d";XPe.exports=function(t,r,n){var i=r._basePlotModules.length>1;function a(o){if(!i){var s=wIt.validate(t[o],WPe[o]);if(s)return t[o]}}SIt(t,r,n,{type:ZPe,attributes:WPe,handleDefaults:kIt,fullLayout:r,font:r.font,fullData:n,getDfltFromLayout:a,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,calendar:r.calendar})};function kIt(e,t,r,n){for(var i=r("bgcolor"),a=TIt.combine(i,n.paper_bgcolor),o=["up","center","eye"],s=0;s.999)&&(h="turntable")}else h="turntable";r("dragmode",h),r("hovermode",n.getDfltFromLayout("hovermode"))}});var ox=ye(dp=>{"use strict";var CIt=Bu().overrideAll,LIt=H1(),PIt=qPe(),IIt=Cd().getSubplotData,DIt=Ar(),RIt=Kp(),K5="gl3d",qZ="scene";dp.name=K5;dp.attr=qZ;dp.idRoot=qZ;dp.idRegex=dp.attrRegex=DIt.counterRegex("scene");dp.attributes=BPe();dp.layoutAttributes=FZ();dp.baseLayoutAttrOverrides=CIt({hoverlabel:LIt.hoverlabel},"plot","nested");dp.supplyLayoutDefaults=YPe();dp.plot=function(t){for(var r=t._fullLayout,n=t._fullData,i=r._subplots[K5],a=0;a{"use strict";KPe.exports={plot:sPe(),attributes:kZ(),markerSymbols:uz(),supplyDefaults:dPe(),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:pPe(),moduleType:"trace",name:"scatter3d",basePlotModule:ox(),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}});var QPe=ye((kpr,$Pe)=>{"use strict";$Pe.exports=JPe()});var ok=ye((Cpr,rIe)=>{"use strict";var eIe=va(),zIt=Kl(),OZ=Oc().axisHoverFormat,FIt=Wo().hovertemplateAttrs,tIe=vl(),BZ=no().extendFlat,qIt=Bu().overrideAll;function NZ(e){return{valType:"boolean",dflt:!1}}function UZ(e){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:NZ("x"),y:NZ("y"),z:NZ("z")},color:{valType:"color",dflt:eIe.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:eIe.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var pz=rIe.exports=qIt(BZ({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:FIt(),xhoverformat:OZ("x"),yhoverformat:OZ("y"),zhoverformat:OZ("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},zIt("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:UZ("x"),y:UZ("y"),z:UZ("z")},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},hoverinfo:BZ({},tIe.hoverinfo),showlegend:BZ({},tIe.showlegend,{dflt:!1})}),"calc","nested");pz.x.editType=pz.y.editType=pz.z.editType="calc+clearAxisTypes";pz.transforms=void 0});var HZ=ye((Lpr,aIe)=>{"use strict";var OIt=ya(),iIe=Ar(),BIt=Hh(),NIt=ok(),VZ=.1;function UIt(e,t){for(var r=[],n=32,i=0;i{"use strict";var oIe=qv();sIe.exports=function(t,r){r.surfacecolor?oIe(t,r,{vals:r.surfacecolor,containerStr:"",cLetter:"c"}):oIe(t,r,{vals:r.z,containerStr:"",cLetter:"c"})}});var vIe=ye((Ipr,dIe)=>{"use strict";var GIt=Rd().gl_surface3d,J5=Rd().ndarray,jIt=Rd().ndarray_linear_interpolate.d2,WIt=g8(),ZIt=m8(),sk=Ar().isArrayOrTypedArray,XIt=t1().parseColorScale,uIe=e1(),YIt=Mu().extractOpts;function fIe(e,t,r){this.scene=e,this.uid=r,this.surface=t,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var Qg=fIe.prototype;Qg.getXat=function(e,t,r,n){var i=sk(this.data.x)?sk(this.data.x[0])?this.data.x[t][e]:this.data.x[e]:e;return r===void 0?i:n.d2l(i,0,r)};Qg.getYat=function(e,t,r,n){var i=sk(this.data.y)?sk(this.data.y[0])?this.data.y[t][e]:this.data.y[t]:t;return r===void 0?i:n.d2l(i,0,r)};Qg.getZat=function(e,t,r,n){var i=this.data.z[t][e];return i===null&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[t][e]),r===void 0?i:n.d2l(i,0,r)};Qg.handlePick=function(e){if(e.object===this.surface){var t=(e.data.index[0]-1)/this.dataScaleX-1,r=(e.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(t),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);e.index=[n,i],e.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],e.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){var o=e.dataCoordinate[a];o!=null&&(e.dataCoordinate[a]*=this.scene.dataScale[a])}var s=this.data.hovertext||this.data.text;return sk(s)&&s[i]&&s[i][n]!==void 0?e.textLabel=s[i][n]:s?e.textLabel=s:e.textLabel="",e.data.dataCoordinate=e.dataCoordinate.slice(),this.surface.highlight(e.data),this.scene.glplot.spikes.position=e.dataCoordinate,!0}};function KIt(e){var t=e[0].rgb,r=e[e.length-1].rgb;return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]&&t[3]===r[3]}var $5=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function JIt(e,t){if(e0){r=$5[n];break}return r}function QIt(e,t){if(!(e<1||t<1)){for(var r=GZ(e),n=GZ(t),i=1,a=0;a<$5.length;a++)i*=Math.pow($5[a],Math.max(r[a],n[a]));return i}}function e8t(e){if(e.length!==0){for(var t=1,r=0;rgz;)n--,n/=$It(n),n++,n1?i:1};function t8t(e,t,r){var n=r[8]+r[2]*t[0]+r[5]*t[1];return e[0]=(r[6]+r[0]*t[0]+r[3]*t[1])/n,e[1]=(r[7]+r[1]*t[0]+r[4]*t[1])/n,e}function r8t(e,t,r){return i8t(e,t,t8t,r),e}function i8t(e,t,r,n){for(var i=[0,0],a=e.shape[0],o=e.shape[1],s=0;s0&&this.contourStart[n]!==null&&this.contourEnd[n]!==null&&this.contourEnd[n]>this.contourStart[n]))for(t[n]=!0,i=this.contourStart[n];ih&&(this.minValues[u]=h),this.maxValues[u]{"use strict";pIe.exports={attributes:ok(),supplyDefaults:HZ().supplyDefaults,colorbar:{min:"cmin",max:"cmax"},calc:lIe(),plot:vIe(),moduleType:"trace",name:"surface",basePlotModule:ox(),categories:["gl3d","2dMap","showLegend"],meta:{}}});var yIe=ye((Rpr,mIe)=>{"use strict";mIe.exports=gIe()});var Q5=ye((zpr,xIe)=>{"use strict";var o8t=Kl(),jZ=Oc().axisHoverFormat,s8t=Wo().hovertemplateAttrs,sx=ok(),_Ie=vl(),lx=no().extendFlat;xIe.exports=lx({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:s8t({editType:"calc"}),xhoverformat:jZ("x"),yhoverformat:jZ("y"),zhoverformat:jZ("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},o8t("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:sx.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:lx({},sx.contours.x.show,{}),color:sx.contours.x.color,width:sx.contours.x.width,editType:"calc"},lightposition:{x:lx({},sx.lightposition.x,{dflt:1e5}),y:lx({},sx.lightposition.y,{dflt:1e5}),z:lx({},sx.lightposition.z,{dflt:0}),editType:"calc"},lighting:lx({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},sx.lighting),hoverinfo:lx({},_Ie.hoverinfo,{editType:"calc"}),showlegend:lx({},_Ie.showlegend,{dflt:!1})})});var yz=ye((Fpr,wIe)=>{"use strict";var l8t=Kl(),mz=Oc().axisHoverFormat,u8t=Wo().hovertemplateAttrs,lk=Q5(),bIe=vl(),WZ=no().extendFlat,c8t=Bu().overrideAll;function ZZ(e){return{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}}function XZ(e){return{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}}var J2=wIe.exports=c8t(WZ({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:ZZ("x"),y:ZZ("y"),z:ZZ("z")},caps:{x:XZ("x"),y:XZ("y"),z:XZ("z")},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:u8t(),xhoverformat:mz("x"),yhoverformat:mz("y"),zhoverformat:mz("z"),valuehoverformat:mz("value",1),showlegend:WZ({},bIe.showlegend,{dflt:!1})},l8t("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:lk.opacity,lightposition:lk.lightposition,lighting:lk.lighting,flatshading:lk.flatshading,contour:lk.contour,hoverinfo:WZ({},bIe.hoverinfo)}),"calc","nested");J2.flatshading.dflt=!0;J2.lighting.facenormalsepsilon.dflt=0;J2.x.editType=J2.y.editType=J2.z.editType=J2.value.editType="calc+clearAxisTypes";J2.transforms=void 0});var YZ=ye((qpr,AIe)=>{"use strict";var f8t=Ar(),h8t=ya(),d8t=yz(),v8t=Hh();function p8t(e,t,r,n){function i(a,o){return f8t.coerce(e,t,d8t,a,o)}TIe(e,t,r,n,i)}function TIe(e,t,r,n,i){var a=i("isomin"),o=i("isomax");o!=null&&a!==void 0&&a!==null&&a>o&&(t.isomin=null,t.isomax=null);var s=i("x"),l=i("y"),u=i("z"),c=i("value");if(!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length){t.visible=!1;return}var f=h8t.getComponentMethod("calendars","handleTraceDefaults");f(e,t,["x","y","z"],n),i("valuehoverformat"),["x","y","z"].forEach(function(_){i(_+"hoverformat");var b="caps."+_,p=i(b+".show");p&&i(b+".fill");var E="slices."+_,k=i(E+".show");k&&(i(E+".fill"),i(E+".locations"))});var h=i("spaceframe.show");h&&i("spaceframe.fill");var v=i("surface.show");v&&(i("surface.count"),i("surface.fill"),i("surface.pattern"));var d=i("contour.show");d&&(i("contour.color"),i("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach(function(_){i(_)}),v8t(e,t,n,i,{prefix:"",cLetter:"c"}),t._length=null}AIe.exports={supplyDefaults:p8t,supplyIsoDefaults:TIe}});var _z=ye((Opr,MIe)=>{"use strict";var JZ=Ar(),g8t=qv();function m8t(e,t){t._len=Math.min(t.u.length,t.v.length,t.w.length,t.x.length,t.y.length,t.z.length),t._u=Wm(t.u,t._len),t._v=Wm(t.v,t._len),t._w=Wm(t.w,t._len),t._x=Wm(t.x,t._len),t._y=Wm(t.y,t._len),t._z=Wm(t.z,t._len);var r=SIe(t);t._gridFill=r.fill,t._Xs=r.Xs,t._Ys=r.Ys,t._Zs=r.Zs,t._len=r.len;var n=0,i,a,o;t.starts&&(i=Wm(t.starts.x||[]),a=Wm(t.starts.y||[]),o=Wm(t.starts.z||[]),n=Math.min(i.length,a.length,o.length)),t._startsX=i||[],t._startsY=a||[],t._startsZ=o||[];var s=0,l=1/0,u;for(u=0;u1&&(k=t[i-1],L=r[i-1],C=n[i-1]),a=0;ak?"-":"+")+"x"),d=d.replace("y",(S>L?"-":"+")+"y"),d=d.replace("z",(x>C?"-":"+")+"z");var T=function(){i=0,M=[],g=[],P=[]};(!i||i{"use strict";var y8t=qv(),_8t=_z().processGrid,xz=_z().filter;EIe.exports=function(t,r){r._len=Math.min(r.x.length,r.y.length,r.z.length,r.value.length),r._x=xz(r.x,r._len),r._y=xz(r.y,r._len),r._z=xz(r.z,r._len),r._value=xz(r.value,r._len);var n=_8t(r);r._gridFill=n.fill,r._Xs=n.Xs,r._Ys=n.Ys,r._Zs=n.Zs,r._len=n.len;for(var i=1/0,a=-1/0,o=0;o{"use strict";kIe.exports=function(t,r,n,i){i=i||t.length;for(var a=new Array(i),o=0;o{"use strict";var x8t=Rd().gl_mesh3d,b8t=t1().parseColorScale,w8t=Ar().isArrayOrTypedArray,T8t=e1(),A8t=Mu().extractOpts,CIe=eA(),uk=function(e,t){for(var r=t.length-1;r>0;r--){var n=Math.min(t[r],t[r-1]),i=Math.max(t[r],t[r-1]);if(i>n&&n-1}function ae(xt,Lt){return xt===null?Lt:xt}function _e(xt,Lt,St){T();var Et=[Lt],dt=[St];if(G>=1)Et=[Lt],dt=[St];else if(G>0){var Ht=W(Lt,St);Et=Ht.xyzv,dt=Ht.abc}for(var $t=0;$t-1?St[xr]:P(Br,Or,Nr);Ne>-1?fr[xr]=Ne:fr[xr]=q(Br,Or,Nr,ae(xt,ut))}V(fr[0],fr[1],fr[2])}}function Me(xt,Lt,St){var Et=function(dt,Ht,$t){_e(xt,[Lt[dt],Lt[Ht],Lt[$t]],[St[dt],St[Ht],St[$t]])};Et(0,1,2),Et(2,3,0)}function ke(xt,Lt,St){var Et=function(dt,Ht,$t){_e(xt,[Lt[dt],Lt[Ht],Lt[$t]],[St[dt],St[Ht],St[$t]])};Et(0,1,2),Et(3,0,1),Et(2,3,0),Et(1,2,3)}function ge(xt,Lt,St,Et){var dt=xt[3];dtEt&&(dt=Et);for(var Ht=(xt[3]-dt)/(xt[3]-Lt[3]+1e-9),$t=[],fr=0;fr<4;fr++)$t[fr]=(1-Ht)*xt[fr]+Ht*Lt[fr];return $t}function ie(xt,Lt,St){return xt>=Lt&&xt<=St}function Te(xt){var Lt=.001*(L-S);return xt>=S-Lt&&xt<=L+Lt}function Ee(xt){for(var Lt=[],St=0;St<4;St++){var Et=xt[St];Lt.push([e._x[Et],e._y[Et],e._z[Et],e._value[Et]])}return Lt}var Ae=3;function ze(xt,Lt,St,Et,dt,Ht){Ht||(Ht=1),St=[-1,-1,-1];var $t=!1,fr=[ie(Lt[0][3],Et,dt),ie(Lt[1][3],Et,dt),ie(Lt[2][3],Et,dt)];if(!fr[0]&&!fr[1]&&!fr[2])return!1;var xr=function(Or,Nr,ut){return Te(Nr[0][3])&&Te(Nr[1][3])&&Te(Nr[2][3])?(_e(Or,Nr,ut),!0):Htfr?[E,Ht]:[Ht,k];kt(Lt,xr[0],xr[1])}}var Br=[[Math.min(S,k),Math.max(S,k)],[Math.min(E,L),Math.max(E,L)]];["x","y","z"].forEach(function(Or){for(var Nr=[],ut=0;ut0&&(Le.push(lt.id),Or==="x"?xe.push([lt.distRatio,0,0]):Or==="y"?xe.push([0,lt.distRatio,0]):xe.push([0,0,lt.distRatio]))}else Or==="x"?ht=er(1,v-1):Or==="y"?ht=er(1,d-1):ht=er(1,_-1);Le.length>0&&(Or==="x"?Nr[Ne]=Ct(xt,Le,Ye,Ve,xe,Nr[Ne]):Or==="y"?Nr[Ne]=Yt(xt,Le,Ye,Ve,xe,Nr[Ne]):Nr[Ne]=mr(xt,Le,Ye,Ve,xe,Nr[Ne]),Ne++),ht.length>0&&(Or==="x"?Nr[Ne]=ct(xt,ht,Ye,Ve,Nr[Ne]):Or==="y"?Nr[Ne]=qt(xt,ht,Ye,Ve,Nr[Ne]):Nr[Ne]=rt(xt,ht,Ye,Ve,Nr[Ne]),Ne++)}var Gt=e.caps[Or];Gt.show&&Gt.fill&&(N(Gt.fill),Or==="x"?Nr[Ne]=ct(xt,[0,v-1],Ye,Ve,Nr[Ne]):Or==="y"?Nr[Ne]=qt(xt,[0,d-1],Ye,Ve,Nr[Ne]):Nr[Ne]=rt(xt,[0,_-1],Ye,Ve,Nr[Ne]),Ne++)}}),s===0&&F(),e._meshX=x,e._meshY=C,e._meshZ=M,e._meshIntensity=g,e._Xs=c,e._Ys=f,e._Zs=h}return bt(),e}function M8t(e,t){var r=e.glplot.gl,n=x8t({gl:r}),i=new LIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}IIe.exports={findNearestOnAxis:uk,generateIsoMeshes:PIe,createIsosurfaceTrace:M8t}});var RIe=ye((Vpr,DIe)=>{"use strict";DIe.exports={attributes:yz(),supplyDefaults:YZ().supplyDefaults,calc:$Z(),colorbar:{min:"cmin",max:"cmax"},plot:bz().createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:ox(),categories:["gl3d","showLegend"],meta:{}}});var FIe=ye((Hpr,zIe)=>{"use strict";zIe.exports=RIe()});var tX=ye((Gpr,OIe)=>{"use strict";var E8t=Kl(),Th=yz(),k8t=ok(),qIe=vl(),eX=no().extendFlat,C8t=Bu().overrideAll,ck=OIe.exports=C8t(eX({x:Th.x,y:Th.y,z:Th.z,value:Th.value,isomin:Th.isomin,isomax:Th.isomax,surface:Th.surface,spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:1}},slices:Th.slices,caps:Th.caps,text:Th.text,hovertext:Th.hovertext,xhoverformat:Th.xhoverformat,yhoverformat:Th.yhoverformat,zhoverformat:Th.zhoverformat,valuehoverformat:Th.valuehoverformat,hovertemplate:Th.hovertemplate},E8t("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:Th.colorbar,opacity:Th.opacity,opacityscale:k8t.opacityscale,lightposition:Th.lightposition,lighting:Th.lighting,flatshading:Th.flatshading,contour:Th.contour,hoverinfo:eX({},qIe.hoverinfo),showlegend:eX({},qIe.showlegend,{dflt:!1})}),"calc","nested");ck.x.editType=ck.y.editType=ck.z.editType=ck.value.editType="calc+clearAxisTypes";ck.transforms=void 0});var NIe=ye((jpr,BIe)=>{"use strict";var L8t=Ar(),P8t=tX(),I8t=YZ().supplyIsoDefaults,D8t=HZ().opacityscaleDefaults;BIe.exports=function(t,r,n,i){function a(o,s){return L8t.coerce(t,r,P8t,o,s)}I8t(t,r,n,i,a),D8t(t,r,i,a)}});var GIe=ye((Wpr,HIe)=>{"use strict";var R8t=Rd().gl_mesh3d,z8t=t1().parseColorScale,F8t=Ar().isArrayOrTypedArray,q8t=e1(),O8t=Mu().extractOpts,UIe=eA(),rX=bz().findNearestOnAxis,B8t=bz().generateIsoMeshes;function VIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.data=null,this.showContour=!1}var iX=VIe.prototype;iX.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=rX(r,this.data._Xs).id,l=rX(n,this.data._Ys).id,u=rX(i,this.data._Zs).id,c=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[c],this.data._meshY[c],this.data._meshZ[c],this.data._value[c]];var f=this.data.hovertext||this.data.text;return F8t(f)&&f[c]!==void 0?e.textLabel=f[c]:f&&(e.textLabel=f),!0}};iX.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=B8t(e);function n(l,u,c,f){return u.map(function(h){return l.d2l(h,0,f)*c})}var i=UIe(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=UIe(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,opacityscale:e.opacityscale,contourEnable:e.contour.show,contourColor:q8t(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=O8t(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=z8t(e),this.mesh.update(o)};iX.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function N8t(e,t){var r=e.glplot.gl,n=R8t({gl:r}),i=new VIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}HIe.exports=N8t});var WIe=ye((Zpr,jIe)=>{"use strict";jIe.exports={attributes:tX(),supplyDefaults:NIe(),calc:$Z(),colorbar:{min:"cmin",max:"cmax"},plot:GIe(),moduleType:"trace",name:"volume",basePlotModule:ox(),categories:["gl3d","showLegend"],meta:{}}});var XIe=ye((Xpr,ZIe)=>{"use strict";ZIe.exports=WIe()});var JIe=ye((Ypr,KIe)=>{"use strict";var U8t=ya(),YIe=Ar(),V8t=Hh(),H8t=Q5();KIe.exports=function(t,r,n,i){function a(c,f){return YIe.coerce(t,r,H8t,c,f)}function o(c){var f=c.map(function(h){var v=a(h);return v&&YIe.isArrayOrTypedArray(v)?v:null});return f.every(function(h){return h&&h.length===f[0].length})&&f}var s=o(["x","y","z"]);if(!s){r.visible=!1;return}if(o(["i","j","k"]),r.i&&(!r.j||!r.k)||r.j&&(!r.k||!r.i)||r.k&&(!r.i||!r.j)){r.visible=!1;return}var l=U8t.getComponentMethod("calendars","handleTraceDefaults");l(t,r,["x","y","z"],i),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","alphahull","delaunayaxis","opacity"].forEach(function(c){a(c)});var u=a("contour.show");u&&(a("contour.color"),a("contour.width")),"intensity"in t?(a("intensity"),a("intensitymode"),V8t(t,r,i,a,{prefix:"",cLetter:"c"})):(r.showscale=!1,"facecolor"in t?a("facecolor"):"vertexcolor"in t?a("vertexcolor"):a("color",n)),a("text"),a("hovertext"),a("hovertemplate"),a("xhoverformat"),a("yhoverformat"),a("zhoverformat"),r._length=null}});var QIe=ye((Kpr,$Ie)=>{"use strict";var G8t=qv();$Ie.exports=function(t,r){r.intensity&&G8t(t,r,{vals:r.intensity,containerStr:"",cLetter:"c"})}});var n8e=ye((Jpr,i8e)=>{"use strict";var j8t=Rd().gl_mesh3d,W8t=Rd().delaunay_triangulate,Z8t=Rd().alpha_shape,X8t=Rd().convex_hull,Y8t=t1().parseColorScale,K8t=Ar().isArrayOrTypedArray,sX=e1(),J8t=Mu().extractOpts,e8e=eA();function r8e(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var lX=r8e.prototype;lX.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index;e.data._cellCenter?e.traceCoordinate=e.data.dataCoordinate:e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]];var r=this.data.hovertext||this.data.text;return K8t(r)&&r[t]!==void 0?e.textLabel=r[t]:r&&(e.textLabel=r),!0}};function t8e(e){for(var t=[],r=e.length,n=0;n=t-.5)return!1;return!0}lX.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e;var n=e.x.length,i=e8e(nX(r.xaxis,e.x,t.dataScale[0],e.xcalendar),nX(r.yaxis,e.y,t.dataScale[1],e.ycalendar),nX(r.zaxis,e.z,t.dataScale[2],e.zcalendar)),a;if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!oX(e.i,n)||!oX(e.j,n)||!oX(e.k,n))return;a=e8e(aX(e.i),aX(e.j),aX(e.k))}else e.alphahull===0?a=X8t(i):e.alphahull>0?a=Z8t(e.alphahull,i):a=$8t(e.delaunayaxis,i);var o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:sX(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading};if(e.intensity){var s=J8t(e);this.color="#fff";var l=e.intensitymode;o[l+"Intensity"]=e.intensity,o[l+"IntensityBounds"]=[s.min,s.max],o.colormap=Y8t(e)}else e.vertexcolor?(this.color=e.vertexcolor[0],o.vertexColors=t8e(e.vertexcolor)):e.facecolor?(this.color=e.facecolor[0],o.cellColors=t8e(e.facecolor)):(this.color=e.color,o.meshColor=sX(e.color));this.mesh.update(o)};lX.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function Q8t(e,t){var r=e.glplot.gl,n=j8t({gl:r}),i=new r8e(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}i8e.exports=Q8t});var o8e=ye(($pr,a8e)=>{"use strict";a8e.exports={attributes:Q5(),supplyDefaults:JIe(),calc:QIe(),colorbar:{min:"cmin",max:"cmax"},plot:n8e(),moduleType:"trace",name:"mesh3d",basePlotModule:ox(),categories:["gl3d","showLegend"],meta:{}}});var l8e=ye((Qpr,s8e)=>{"use strict";s8e.exports=o8e()});var cX=ye((e0r,c8e)=>{"use strict";var eDt=Kl(),tA=Oc().axisHoverFormat,tDt=Wo().hovertemplateAttrs,rDt=Q5(),u8e=vl(),uX=no().extendFlat,fk={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute","raw"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:tDt({editType:"calc"},{keys:["norm"]}),uhoverformat:tA("u",1),vhoverformat:tA("v",1),whoverformat:tA("w",1),xhoverformat:tA("x"),yhoverformat:tA("y"),zhoverformat:tA("z"),showlegend:uX({},u8e.showlegend,{dflt:!1})};uX(fk,eDt("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));var iDt=["opacity","lightposition","lighting"];iDt.forEach(function(e){fk[e]=rDt[e]});fk.hoverinfo=uX({},u8e.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"});fk.transforms=void 0;c8e.exports=fk});var h8e=ye((t0r,f8e)=>{"use strict";var nDt=Ar(),aDt=Hh(),oDt=cX();f8e.exports=function(t,r,n,i){function a(v,d){return nDt.coerce(t,r,oDt,v,d)}var o=a("u"),s=a("v"),l=a("w"),u=a("x"),c=a("y"),f=a("z");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}var h=a("sizemode");a("sizeref",h==="raw"?1:.5),a("anchor"),a("lighting.ambient"),a("lighting.diffuse"),a("lighting.specular"),a("lighting.roughness"),a("lighting.fresnel"),a("lightposition.x"),a("lightposition.y"),a("lightposition.z"),aDt(t,r,i,a,{prefix:"",cLetter:"c"}),a("text"),a("hovertext"),a("hovertemplate"),a("uhoverformat"),a("vhoverformat"),a("whoverformat"),a("xhoverformat"),a("yhoverformat"),a("zhoverformat"),r._length=null}});var v8e=ye((r0r,d8e)=>{"use strict";var sDt=qv();d8e.exports=function(t,r){for(var n=r.u,i=r.v,a=r.w,o=Math.min(r.x.length,r.y.length,r.z.length,n.length,i.length,a.length),s=-1/0,l=1/0,u=0;u{"use strict";var lDt=Rd().gl_cone3d,uDt=Rd().gl_cone3d.createConeMesh,cDt=Ar().simpleMap,fDt=t1().parseColorScale,hDt=Mu().extractOpts,dDt=Ar().isArrayOrTypedArray,p8e=eA();function g8e(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var fX=g8e.prototype;fX.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index,r=this.data.x[t],n=this.data.y[t],i=this.data.z[t],a=this.data.u[t],o=this.data.v[t],s=this.data.w[t];e.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.hovertext||this.data.text;return dDt(l)&&l[t]!==void 0?e.textLabel=l[t]:l&&(e.textLabel=l),!0}};var vDt={xaxis:0,yaxis:1,zaxis:2},pDt={tip:1,tail:0,cm:.25,center:.5},gDt={tip:1,tail:1,cm:.75,center:.5};function m8e(e,t){var r=e.fullSceneLayout,n=e.dataScale,i={};function a(c,f){var h=r[f],v=n[vDt[f]];return cDt(c,function(d){return h.d2l(d)*v})}i.vectors=p8e(a(t.u,"xaxis"),a(t.v,"yaxis"),a(t.w,"zaxis"),t._len),i.positions=p8e(a(t.x,"xaxis"),a(t.y,"yaxis"),a(t.z,"zaxis"),t._len);var o=hDt(t);i.colormap=fDt(t),i.vertexIntensityBounds=[o.min/t._normMax,o.max/t._normMax],i.coneOffset=pDt[t.anchor];var s=t.sizemode;s==="scaled"?i.coneSize=t.sizeref||.5:s==="absolute"?i.coneSize=t.sizeref&&t._normMax?t.sizeref/t._normMax:.5:s==="raw"&&(i.coneSize=t.sizeref),i.coneSizemode=s;var l=lDt(i),u=t.lightposition;return l.lightPosition=[u.x,u.y,u.z],l.ambient=t.lighting.ambient,l.diffuse=t.lighting.diffuse,l.specular=t.lighting.specular,l.roughness=t.lighting.roughness,l.fresnel=t.lighting.fresnel,l.opacity=t.opacity,t._pad=gDt[t.anchor]*l.vectorScale*l.coneScale*t._normMax,l}fX.update=function(e){this.data=e;var t=m8e(this.scene,e);this.mesh.update(t)};fX.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function mDt(e,t){var r=e.glplot.gl,n=m8e(e,t),i=uDt(r,n),a=new g8e(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}y8e.exports=mDt});var b8e=ye((n0r,x8e)=>{"use strict";x8e.exports={moduleType:"trace",name:"cone",basePlotModule:ox(),categories:["gl3d","showLegend"],attributes:cX(),supplyDefaults:h8e(),colorbar:{min:"cmin",max:"cmax"},calc:v8e(),plot:_8e(),eventData:function(e,t){return e.norm=t.traceCoordinate[6],e},meta:{}}});var T8e=ye((a0r,w8e)=>{"use strict";w8e.exports=b8e()});var dX=ye((o0r,S8e)=>{"use strict";var yDt=Kl(),rA=Oc().axisHoverFormat,_Dt=Wo().hovertemplateAttrs,xDt=Q5(),A8e=vl(),hX=no().extendFlat,hk={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},starts:{x:{valType:"data_array",editType:"calc"},y:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},editType:"calc"},maxdisplayed:{valType:"integer",min:0,dflt:1e3,editType:"calc"},sizeref:{valType:"number",editType:"calc",min:0,dflt:1},text:{valType:"string",dflt:"",editType:"calc"},hovertext:{valType:"string",dflt:"",editType:"calc"},hovertemplate:_Dt({editType:"calc"},{keys:["tubex","tubey","tubez","tubeu","tubev","tubew","norm","divergence"]}),uhoverformat:rA("u",1),vhoverformat:rA("v",1),whoverformat:rA("w",1),xhoverformat:rA("x"),yhoverformat:rA("y"),zhoverformat:rA("z"),showlegend:hX({},A8e.showlegend,{dflt:!1})};hX(hk,yDt("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));var bDt=["opacity","lightposition","lighting"];bDt.forEach(function(e){hk[e]=xDt[e]});hk.hoverinfo=hX({},A8e.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","divergence","text","name"],dflt:"x+y+z+norm+text+name"});hk.transforms=void 0;S8e.exports=hk});var E8e=ye((s0r,M8e)=>{"use strict";var wDt=Ar(),TDt=Hh(),ADt=dX();M8e.exports=function(t,r,n,i){function a(h,v){return wDt.coerce(t,r,ADt,h,v)}var o=a("u"),s=a("v"),l=a("w"),u=a("x"),c=a("y"),f=a("z");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}a("starts.x"),a("starts.y"),a("starts.z"),a("maxdisplayed"),a("sizeref"),a("lighting.ambient"),a("lighting.diffuse"),a("lighting.specular"),a("lighting.roughness"),a("lighting.fresnel"),a("lightposition.x"),a("lightposition.y"),a("lightposition.z"),TDt(t,r,i,a,{prefix:"",cLetter:"c"}),a("text"),a("hovertext"),a("hovertemplate"),a("uhoverformat"),a("vhoverformat"),a("whoverformat"),a("xhoverformat"),a("yhoverformat"),a("zhoverformat"),r._length=null}});var z8e=ye((l0r,R8e)=>{"use strict";var L8e=Rd().gl_streamtube3d,SDt=L8e.createTubeMesh,MDt=Ar(),EDt=t1().parseColorScale,kDt=Mu().extractOpts,k8e=eA(),P8e={xaxis:0,yaxis:1,zaxis:2};function I8e(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var pX=I8e.prototype;pX.handlePick=function(e){var t=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(o,s){var l=t[s],u=r[P8e[s]];return l.l2c(o)/u}if(e.object===this.mesh){var i=e.data.position,a=e.data.velocity;return e.traceCoordinate=[n(i[0],"xaxis"),n(i[1],"yaxis"),n(i[2],"zaxis"),n(a[0],"xaxis"),n(a[1],"yaxis"),n(a[2],"zaxis"),e.data.intensity*this.data._normMax,e.data.divergence],e.textLabel=this.data.hovertext||this.data.text,!0}};function C8e(e){var t=e.length,r;return t>2?r=e.slice(1,t-1):t===2?r=[(e[0]+e[1])/2]:r=e,r}function vX(e){var t=e.length;return t===1?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function D8e(e,t){var r=e.fullSceneLayout,n=e.dataScale,i=t._len,a={};function o(F,q){var V=r[q],H=n[P8e[q]];return MDt.simpleMap(F,function(X){return V.d2l(X)*H})}if(a.vectors=k8e(o(t._u,"xaxis"),o(t._v,"yaxis"),o(t._w,"zaxis"),i),!i)return{positions:[],cells:[]};var s=o(t._Xs,"xaxis"),l=o(t._Ys,"yaxis"),u=o(t._Zs,"zaxis");a.meshgrid=[s,l,u],a.gridFill=t._gridFill;var c=t._slen;if(c)a.startingPositions=k8e(o(t._startsX,"xaxis"),o(t._startsY,"yaxis"),o(t._startsZ,"zaxis"));else{for(var f=l[0],h=C8e(s),v=C8e(u),d=new Array(h.length*v.length),_=0,b=0;b{"use strict";F8e.exports={moduleType:"trace",name:"streamtube",basePlotModule:ox(),categories:["gl3d","showLegend"],attributes:dX(),supplyDefaults:E8e(),colorbar:{min:"cmin",max:"cmax"},calc:_z().calc,plot:z8e(),eventData:function(e,t){return e.tubex=e.x,e.tubey=e.y,e.tubez=e.z,e.tubeu=t.traceCoordinate[3],e.tubev=t.traceCoordinate[4],e.tubew=t.traceCoordinate[5],e.norm=t.traceCoordinate[6],e.divergence=t.traceCoordinate[7],delete e.x,delete e.y,delete e.z,e},meta:{}}});var B8e=ye((c0r,O8e)=>{"use strict";O8e.exports=q8e()});var Q2=ye((f0r,V8e)=>{"use strict";var LDt=Wo().hovertemplateAttrs,PDt=Wo().texttemplateAttrs,IDt=Cg(),Zm=Uc(),DDt=vl(),N8e=Kl(),RDt=kd().dash,$2=no().extendFlat,zDt=Bu().overrideAll,ng=Zm.marker,U8e=Zm.line,FDt=ng.line;V8e.exports=zDt({lon:{valType:"data_array"},lat:{valType:"data_array"},locations:{valType:"data_array"},locationmode:{valType:"enumerated",values:["ISO-3","USA-states","country names","geojson-id"],dflt:"ISO-3"},geojson:{valType:"any",editType:"calc"},featureidkey:{valType:"string",editType:"calc",dflt:"id"},mode:$2({},Zm.mode,{dflt:"markers"}),text:$2({},Zm.text,{}),texttemplate:PDt({editType:"plot"},{keys:["lat","lon","location","text"]}),hovertext:$2({},Zm.hovertext,{}),textfont:Zm.textfont,textposition:Zm.textposition,line:{color:U8e.color,width:U8e.width,dash:RDt},connectgaps:Zm.connectgaps,marker:$2({symbol:ng.symbol,opacity:ng.opacity,angle:ng.angle,angleref:$2({},ng.angleref,{values:["previous","up","north"]}),standoff:ng.standoff,size:ng.size,sizeref:ng.sizeref,sizemin:ng.sizemin,sizemode:ng.sizemode,colorbar:ng.colorbar,line:$2({width:FDt.width},N8e("marker.line")),gradient:ng.gradient},N8e("marker")),fill:{valType:"enumerated",values:["none","toself"],dflt:"none"},fillcolor:IDt(),selected:Zm.selected,unselected:Zm.unselected,hoverinfo:$2({},DDt.hoverinfo,{flags:["lon","lat","location","text","name"]}),hovertemplate:LDt()},"calc","nested")});var G8e=ye((h0r,H8e)=>{"use strict";var gX=Ar(),mX=lu(),qDt=t0(),ODt=q0(),BDt=O0(),NDt=Rg(),UDt=Q2();H8e.exports=function(t,r,n,i){function a(v,d){return gX.coerce(t,r,UDt,v,d)}var o=a("locations"),s;if(o&&o.length){var l=a("geojson"),u;(typeof l=="string"&&l!==""||gX.isPlainObject(l))&&(u="geojson-id");var c=a("locationmode",u);c==="geojson-id"&&a("featureidkey"),s=o.length}else{var f=a("lon")||[],h=a("lat")||[];s=Math.min(f.length,h.length)}if(!s){r.visible=!1;return}r._length=s,a("text"),a("hovertext"),a("hovertemplate"),a("mode"),mX.hasMarkers(r)&&qDt(t,r,n,i,a,{gradient:!0}),mX.hasLines(r)&&(ODt(t,r,n,i,a),a("connectgaps")),mX.hasText(r)&&(a("texttemplate"),BDt(t,r,i,a)),a("fill"),r.fill!=="none"&&NDt(t,r,n,a),gX.coerceSelectionMarkerOpacity(r,a)}});var Z8e=ye((d0r,W8e)=>{"use strict";var j8e=Xa();W8e.exports=function(t,r,n){var i={},a=n[r.geo]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=j8e.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=j8e.tickText(o,o.c2l(s[1]),!0).text,i}});var wz=ye((v0r,J8e)=>{"use strict";var yX=uo(),X8e=Yo().BADNUM,VDt=B0(),HDt=Lm(),GDt=N0(),jDt=Ar().isArrayOrTypedArray,Y8e=Ar()._;function K8e(e){return e&&typeof e=="string"}J8e.exports=function(t,r){var n=jDt(r.locations),i=n?r.locations.length:r._length,a=new Array(i),o;r.geojson?o=function(h){return K8e(h)||yX(h)}:o=K8e;for(var s=0;s{"use strict";Sv.projNames={airy:"airy",aitoff:"aitoff","albers usa":"albersUsa",albers:"albers",august:"august","azimuthal equal area":"azimuthalEqualArea","azimuthal equidistant":"azimuthalEquidistant",baker:"baker",bertin1953:"bertin1953",boggs:"boggs",bonne:"bonne",bottomley:"bottomley",bromley:"bromley",collignon:"collignon","conic conformal":"conicConformal","conic equal area":"conicEqualArea","conic equidistant":"conicEquidistant",craig:"craig",craster:"craster","cylindrical equal area":"cylindricalEqualArea","cylindrical stereographic":"cylindricalStereographic",eckert1:"eckert1",eckert2:"eckert2",eckert3:"eckert3",eckert4:"eckert4",eckert5:"eckert5",eckert6:"eckert6",eisenlohr:"eisenlohr","equal earth":"equalEarth",equirectangular:"equirectangular",fahey:"fahey","foucaut sinusoidal":"foucautSinusoidal",foucaut:"foucaut",ginzburg4:"ginzburg4",ginzburg5:"ginzburg5",ginzburg6:"ginzburg6",ginzburg8:"ginzburg8",ginzburg9:"ginzburg9",gnomonic:"gnomonic","gringorten quincuncial":"gringortenQuincuncial",gringorten:"gringorten",guyou:"guyou",hammer:"hammer",hill:"hill",homolosine:"homolosine",hufnagel:"hufnagel",hyperelliptical:"hyperelliptical",kavrayskiy7:"kavrayskiy7",lagrange:"lagrange",larrivee:"larrivee",laskowski:"laskowski",loximuthal:"loximuthal",mercator:"mercator",miller:"miller",mollweide:"mollweide","mt flat polar parabolic":"mtFlatPolarParabolic","mt flat polar quartic":"mtFlatPolarQuartic","mt flat polar sinusoidal":"mtFlatPolarSinusoidal","natural earth":"naturalEarth","natural earth1":"naturalEarth1","natural earth2":"naturalEarth2","nell hammer":"nellHammer",nicolosi:"nicolosi",orthographic:"orthographic",patterson:"patterson","peirce quincuncial":"peirceQuincuncial",polyconic:"polyconic","rectangular polyconic":"rectangularPolyconic",robinson:"robinson",satellite:"satellite","sinu mollweide":"sinuMollweide",sinusoidal:"sinusoidal",stereographic:"stereographic",times:"times","transverse mercator":"transverseMercator","van der grinten":"vanDerGrinten","van der grinten2":"vanDerGrinten2","van der grinten3":"vanDerGrinten3","van der grinten4":"vanDerGrinten4",wagner4:"wagner4",wagner6:"wagner6",wiechel:"wiechel","winkel tripel":"winkel3",winkel3:"winkel3"};Sv.axesNames=["lonaxis","lataxis"];Sv.lonaxisSpan={orthographic:180,"azimuthal equal area":360,"azimuthal equidistant":360,"conic conformal":180,gnomonic:160,stereographic:180,"transverse mercator":180,"*":360};Sv.lataxisSpan={"conic conformal":150,stereographic:179.5,"*":180};Sv.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:"equirectangular",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:"albers usa"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:"conic conformal",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:"mercator",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:"mercator",projRotate:[0,0,0]},"north america":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:"conic conformal",projRotate:[-100,0,0],projParallels:[29.5,45.5]},"south america":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:"mercator",projRotate:[0,0,0]}};Sv.clipPad=.001;Sv.precision=.1;Sv.landColor="#F0DC82";Sv.waterColor="#3399FF";Sv.locationmodeToLayer={"ISO-3":"countries","USA-states":"subunits","country names":"countries"};Sv.sphereSVG={type:"Sphere"};Sv.fillLayers={ocean:1,land:1,lakes:1};Sv.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1};Sv.layers=["bg","ocean","land","lakes","subunits","countries","coastlines","rivers","lataxis","lonaxis","frame","backplot","frontplot"];Sv.layersForChoropleth=["bg","ocean","land","subunits","countries","coastlines","lataxis","lonaxis","frame","backplot","rivers","lakes","frontplot"];Sv.layerNameToAdjective={ocean:"ocean",land:"land",lakes:"lake",subunits:"subunit",countries:"country",coastlines:"coastline",rivers:"river",frame:"frame"}});var _X=ye((Tz,$8e)=>{(function(e,t){typeof Tz=="object"&&typeof $8e!="undefined"?t(Tz):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.topojson=e.topojson||{}))})(Tz,function(e){"use strict";function t(k){return k}function r(k){if(k==null)return t;var S,L,x=k.scale[0],C=k.scale[1],M=k.translate[0],g=k.translate[1];return function(P,T){T||(S=L=0);var F=2,q=P.length,V=new Array(q);for(V[0]=(S+=P[0])*x+M,V[1]=(L+=P[1])*C+g;FM&&(M=F[0]),F[1]g&&(g=F[1])}function T(F){switch(F.type){case"GeometryCollection":F.geometries.forEach(T);break;case"Point":P(F.coordinates);break;case"MultiPoint":F.coordinates.forEach(P);break}}k.arcs.forEach(function(F){for(var q=-1,V=F.length,H;++qM&&(M=H[0]),H[1]g&&(g=H[1])});for(L in k.objects)T(k.objects[L]);return[x,C,M,g]}function i(k,S){for(var L,x=k.length,C=x-S;C<--x;)L=k[C],k[C++]=k[x],k[x]=L}function a(k,S){return typeof S=="string"&&(S=k.objects[S]),S.type==="GeometryCollection"?{type:"FeatureCollection",features:S.geometries.map(function(L){return o(k,L)})}:o(k,S)}function o(k,S){var L=S.id,x=S.bbox,C=S.properties==null?{}:S.properties,M=s(k,S);return L==null&&x==null?{type:"Feature",properties:C,geometry:M}:x==null?{type:"Feature",id:L,properties:C,geometry:M}:{type:"Feature",id:L,bbox:x,properties:C,geometry:M}}function s(k,S){var L=r(k.transform),x=k.arcs;function C(q,V){V.length&&V.pop();for(var H=x[q<0?~q:q],X=0,G=H.length;X1)x=f(k,S,L);else for(C=0,x=new Array(M=k.arcs.length);C1)for(var V=1,H=P(F[0]),X,G;VH&&(G=F[0],F[0]=F[V],F[V]=G,H=X);return F}).filter(function(T){return T.length>0})}}function _(k,S){for(var L=0,x=k.length;L>>1;k[C]=2))throw new Error("n must be \u22652");T=k.bbox||n(k);var L=T[0],x=T[1],C=T[2],M=T[3],g;S={scale:[C-L?(C-L)/(g-1):1,M-x?(M-x)/(g-1):1],translate:[L,x]}}else T=k.bbox;var P=p(S),T,F,q=k.objects,V={};function H(N){return P(N)}function X(N){var W;switch(N.type){case"GeometryCollection":W={type:"GeometryCollection",geometries:N.geometries.map(X)};break;case"Point":W={type:"Point",coordinates:H(N.coordinates)};break;case"MultiPoint":W={type:"MultiPoint",coordinates:N.coordinates.map(H)};break;default:return N}return N.id!=null&&(W.id=N.id),N.bbox!=null&&(W.bbox=N.bbox),N.properties!=null&&(W.properties=N.properties),W}function G(N){var W=0,re=1,ae=N.length,_e,Me=new Array(ae);for(Me[0]=P(N[0],0);++W{"use strict";var xX=Q8e.exports={},WDt=dk().locationmodeToLayer,ZDt=_X().feature;xX.getTopojsonName=function(e){return[e.scope.replace(/ /g,"-"),"_",e.resolution.toString(),"m"].join("")};xX.getTopojsonPath=function(e,t){return e+t+".json"};xX.getTopojsonFeatures=function(e,t){var r=WDt[e.locationmode],n=t.objects[r];return ZDt(t,n).features}});var ux=ye(vk=>{"use strict";var XDt=Yo().BADNUM;vk.calcTraceToLineCoords=function(e){for(var t=e[0].trace,r=t.connectgaps,n=[],i=[],a=0;a0&&(n.push(i),i=[])}return i.length>0&&n.push(i),n};vk.makeLine=function(e){return e.length===1?{type:"LineString",coordinates:e[0]}:{type:"MultiLineString",coordinates:e}};vk.makePolygon=function(e){if(e.length===1)return{type:"Polygon",coordinates:e};for(var t=new Array(e.length),r=0;r{eDe.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|\xE7)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|\xE9)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|\xE9)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|\xE3)o.?tom(e|\xE9)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}});var Ez=ye(ku=>{"use strict";Object.defineProperty(ku,"__esModule",{value:!0});var Np=63710088e-1,wX={centimeters:Np*100,centimetres:Np*100,degrees:360/(2*Math.PI),feet:Np*3.28084,inches:Np*39.37,kilometers:Np/1e3,kilometres:Np/1e3,meters:Np,metres:Np,miles:Np/1609.344,millimeters:Np*1e3,millimetres:Np*1e3,nauticalmiles:Np/1852,radians:1,yards:Np*1.0936},bX={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:29155334959812285e-23,millimeters:1e6,millimetres:1e6,yards:1.195990046};function cx(e,t,r={}){let n={type:"Feature"};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function YDt(e,t,r={}){switch(e){case"Point":return TX(t).geometry;case"LineString":return SX(t).geometry;case"Polygon":return AX(t).geometry;case"MultiPoint":return iDe(t).geometry;case"MultiLineString":return rDe(t).geometry;case"MultiPolygon":return nDe(t).geometry;default:throw new Error(e+" is invalid")}}function TX(e,t,r={}){if(!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!Sz(e[0])||!Sz(e[1]))throw new Error("coordinates must contain numbers");return cx({type:"Point",coordinates:e},t,r)}function KDt(e,t,r={}){return Mz(e.map(n=>TX(n,t)),r)}function AX(e,t,r={}){for(let i of e){if(i.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(i[i.length-1].length!==i[0].length)throw new Error("First and last Position are not equivalent.");for(let a=0;aAX(n,t)),r)}function SX(e,t,r={}){if(e.length<2)throw new Error("coordinates must be an array of two or more positions");return cx({type:"LineString",coordinates:e},t,r)}function $Dt(e,t,r={}){return Mz(e.map(n=>SX(n,t)),r)}function Mz(e,t={}){let r={type:"FeatureCollection"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function rDe(e,t,r={}){return cx({type:"MultiLineString",coordinates:e},t,r)}function iDe(e,t,r={}){return cx({type:"MultiPoint",coordinates:e},t,r)}function nDe(e,t,r={}){return cx({type:"MultiPolygon",coordinates:e},t,r)}function QDt(e,t,r={}){return cx({type:"GeometryCollection",geometries:e},t,r)}function eRt(e,t=0){if(t&&!(t>=0))throw new Error("precision must be a positive number");let r=Math.pow(10,t||0);return Math.round(e*r)/r}function aDe(e,t="kilometers"){let r=wX[t];if(!r)throw new Error(t+" units is invalid");return e*r}function MX(e,t="kilometers"){let r=wX[t];if(!r)throw new Error(t+" units is invalid");return e/r}function tRt(e,t){return oDe(MX(e,t))}function rRt(e){let t=e%360;return t<0&&(t+=360),t}function iRt(e){return e=e%360,e>0?e>180?e-360:e:e<-180?e+360:e}function oDe(e){return e%(2*Math.PI)*180/Math.PI}function nRt(e){return e%360*Math.PI/180}function aRt(e,t="kilometers",r="kilometers"){if(!(e>=0))throw new Error("length must be a positive number");return aDe(MX(e,t),r)}function oRt(e,t="meters",r="kilometers"){if(!(e>=0))throw new Error("area must be a positive number");let n=bX[t];if(!n)throw new Error("invalid original units");let i=bX[r];if(!i)throw new Error("invalid final units");return e/n*i}function Sz(e){return!isNaN(e)&&e!==null&&!Array.isArray(e)}function sRt(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function lRt(e){if(!e)throw new Error("bbox is required");if(!Array.isArray(e))throw new Error("bbox must be an Array");if(e.length!==4&&e.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");e.forEach(t=>{if(!Sz(t))throw new Error("bbox must only contain numbers")})}function uRt(e){if(!e)throw new Error("id is required");if(["string","number"].indexOf(typeof e)===-1)throw new Error("id must be a number or a string")}ku.areaFactors=bX;ku.azimuthToBearing=iRt;ku.bearingToAzimuth=rRt;ku.convertArea=oRt;ku.convertLength=aRt;ku.degreesToRadians=nRt;ku.earthRadius=Np;ku.factors=wX;ku.feature=cx;ku.featureCollection=Mz;ku.geometry=YDt;ku.geometryCollection=QDt;ku.isNumber=Sz;ku.isObject=sRt;ku.lengthToDegrees=tRt;ku.lengthToRadians=MX;ku.lineString=SX;ku.lineStrings=$Dt;ku.multiLineString=rDe;ku.multiPoint=iDe;ku.multiPolygon=nDe;ku.point=TX;ku.points=KDt;ku.polygon=AX;ku.polygons=JDt;ku.radiansToDegrees=oDe;ku.radiansToLength=aDe;ku.round=eRt;ku.validateBBox=lRt;ku.validateId=uRt});var Cz=ye(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});var Zv=Ez();function pk(e,t,r){if(e!==null)for(var n,i,a,o,s,l,u,c=0,f=0,h,v=e.type,d=v==="FeatureCollection",_=v==="Feature",b=d?e.features.length:1,p=0;pl||d>u||_>c){s=f,l=n,u=d,c=_,a=0;return}var b=Zv.lineString.call(void 0,[s,f],r.properties);if(t(b,n,i,_,a)===!1)return!1;a++,s=f})===!1)return!1}}})}function gRt(e,t,r){var n=r,i=!1;return uDe(e,function(a,o,s,l,u){i===!1&&r===void 0?n=a:n=t(n,a,o,s,l,u),i=!0}),n}function cDe(e,t){if(!e)throw new Error("geojson is required");kz(e,function(r,n,i){if(r.geometry!==null){var a=r.geometry.type,o=r.geometry.coordinates;switch(a){case"LineString":if(t(r,n,i,0,0)===!1)return!1;break;case"Polygon":for(var s=0;s{"use strict";Object.defineProperty(Lz,"__esModule",{value:!0});var fDe=Ez(),xRt=Cz();function vDe(e){return xRt.geomReduce.call(void 0,e,(t,r)=>t+bRt(r),0)}function bRt(e){let t=0,r;switch(e.type){case"Polygon":return hDe(e.coordinates);case"MultiPolygon":for(r=0;r0){t+=Math.abs(dDe(e[0]));for(let r=1;r=t?(n+2)%t:n+2],s=i[0]*kX,l=a[1]*kX,u=o[0]*kX;r+=(u-s)*Math.sin(l),n++}return r*wRt}var TRt=vDe;Lz.area=vDe;Lz.default=TRt});var mDe=ye(Pz=>{"use strict";Object.defineProperty(Pz,"__esModule",{value:!0});var ARt=Ez(),SRt=Cz();function gDe(e,t={}){let r=0,n=0,i=0;return SRt.coordEach.call(void 0,e,function(a){r+=a[0],n+=a[1],i++},!0),ARt.point.call(void 0,[r/i,n/i],t.properties)}var MRt=gDe;Pz.centroid=gDe;Pz.default=MRt});var _De=ye(Iz=>{"use strict";Object.defineProperty(Iz,"__esModule",{value:!0});var ERt=Cz();function yDe(e,t={}){if(e.bbox!=null&&t.recompute!==!0)return e.bbox;let r=[1/0,1/0,-1/0,-1/0];return ERt.coordEach.call(void 0,e,n=>{r[0]>n[0]&&(r[0]=n[0]),r[1]>n[1]&&(r[1]=n[1]),r[2]{"use strict";var CRt=ba(),wDe=tDe(),{area:LRt}=pDe(),{centroid:PRt}=mDe(),{bbox:IRt}=_De(),xDe=KS(),iA=Z1(),DRt=yy(),RRt=BS(),Dz=FM(),bDe=Object.keys(wDe),zRt={"ISO-3":xDe,"USA-states":xDe,"country names":FRt};function FRt(e){for(var t=0;t0&&c[f+1][0]<0)return f;return null}switch(n==="RUS"||n==="FJI"?a=function(c){var f;if(u(c)===null)f=c;else for(f=new Array(c.length),l=0;lf?h[v++]=[c[l][0]+360,c[l][1]]:l===f?(h[v++]=c[l],h[v++]=[c[l][0],-90]):h[v++]=c[l];var d=Dz.tester(h);d.pts.pop(),i.push(d)}:a=function(c){i.push(Dz.tester(c))},t.type){case"MultiPolygon":for(o=0;o0?d.properties.ct=NRt(d):d.properties.ct=[NaN,NaN],h.fIn=c,h.fOut=d,i.push(d)}else iA.log(["Location",h.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete n[f]}switch(r.type){case"FeatureCollection":var l=r.features;for(a=0;ai&&(i=s,r=o)}else r=t;return PRt(r).geometry.coordinates}function URt(e){var t=window.PlotlyGeoAssets||{},r=[];function n(l){return new Promise(function(u,c){CRt.json(l,function(f,h){if(f){delete t[l];var v=f.status===404?'GeoJSON at URL "'+l+'" does not exist.':"Unexpected error while fetching from "+l;return c(new Error(v))}return t[l]=h,u(h)})})}function i(l){return new Promise(function(u,c){var f=0,h=setInterval(function(){if(t[l]&&t[l]!=="pending")return clearInterval(h),u(t[l]);if(f>100)return clearInterval(h),c("Unexpected error while fetching from "+l);f++},50)})}for(var a=0;a{"use strict";var HRt=ba(),GRt=ao(),SDe=va(),MDe=up(),jRt=MDe.stylePoints,WRt=MDe.styleText;EDe.exports=function(t,r){r&&ZRt(t,r)};function ZRt(e,t){var r=t[0].trace,n=t[0].node3;n.style("opacity",t[0].trace.opacity),jRt(n,r,e),WRt(n,r,e),n.selectAll("path.js-line").style("fill","none").each(function(i){var a=HRt.select(this),o=i.trace,s=o.line||{};a.call(SDe.stroke,s.color).call(GRt.dashLine,s.dash||"",s.width||0),o.fill!=="none"&&a.call(SDe.fill,o.fillcolor)})}});var DX=ye((M0r,LDe)=>{"use strict";var kDe=ba(),zz=Ar(),XRt=Az().getTopojsonFeatures,LX=ux(),Rz=fx(),CDe=Ag().findExtremes,IX=Yo().BADNUM,YRt=U0().calcMarkerSize,PX=lu(),KRt=CX();function JRt(e,t,r){var n=t.layers.frontplot.select(".scatterlayer"),i=zz.makeTraceGroups(n,r,"trace scattergeo");function a(o,s){o.lonlat[0]===IX&&kDe.select(s).remove()}i.selectAll("*").remove(),i.each(function(o){var s=kDe.select(this),l=o[0].trace;if(PX.hasLines(l)||l.fill!=="none"){var u=LX.calcTraceToLineCoords(o),c=l.fill!=="none"?LX.makePolygon(u):LX.makeLine(u);s.selectAll("path.js-line").data([{geojson:c,trace:l}]).enter().append("path").classed("js-line",!0).style("stroke-miterlimit",2)}PX.hasMarkers(l)&&s.selectAll("path.point").data(zz.identity).enter().append("path").classed("point",!0).each(function(f){a(f,this)}),PX.hasText(l)&&s.selectAll("g").data(zz.identity).enter().append("g").append("text").each(function(f){a(f,this)}),KRt(e,o)})}function $Rt(e,t){var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r._length,o,s;if(zz.isArrayOrTypedArray(r.locations)){var l=r.locationmode,u=l==="geojson-id"?Rz.extractTraceFeature(e):XRt(r,i.topojson);for(o=0;o{"use strict";var QRt=Nc(),ezt=Yo().BADNUM,tzt=mT(),rzt=Ar().fillText,izt=Q2();PDe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.xa,s=t.ya,l=t.subplot,u=l.projection.isLonLatOverEdges,c=l.project;function f(E){var k=E.lonlat;if(k[0]===ezt||u(k))return 1/0;var S=c(k),L=c([r,n]),x=Math.abs(S[0]-L[0]),C=Math.abs(S[1]-L[1]),M=Math.max(3,E.mrc||0);return Math.max(Math.sqrt(x*x+C*C)-M,1-3/M)}if(QRt.getClosest(i,f,t),t.index!==!1){var h=i[t.index],v=h.lonlat,d=[o.c2p(v),s.c2p(v)],_=h.mrc||1;t.x0=d[0]-_,t.x1=d[0]+_,t.y0=d[1]-_,t.y1=d[1]+_,t.loc=h.loc,t.lon=v[0],t.lat=v[1];var b={};b[a.geo]={_subplot:l};var p=a._module.formatLabels(h,a,b);return t.lonLabel=p.lonLabel,t.latLabel=p.latLabel,t.color=tzt(a,h),t.extraText=nzt(a,h,t,i[0].t.labels),t.hovertemplate=a.hovertemplate,[t]}};function nzt(e,t,r,n){if(e.hovertemplate)return;var i=t.hi||e.hoverinfo,a=i==="all"?izt.hoverinfo.flags:i.split("+"),o=a.indexOf("location")!==-1&&Array.isArray(e.locations),s=a.indexOf("lon")!==-1,l=a.indexOf("lat")!==-1,u=a.indexOf("text")!==-1,c=[];function f(h){return h+"\xB0"}return o?c.push(t.loc):s&&l?c.push("("+f(r.latLabel)+", "+f(r.lonLabel)+")"):s?c.push(n.lon+f(r.lonLabel)):l&&c.push(n.lat+f(r.latLabel)),u&&rzt(t,e,c),c.join("
")}});var RDe=ye((k0r,DDe)=>{"use strict";DDe.exports=function(t,r,n,i,a){t.lon=r.lon,t.lat=r.lat,t.location=r.loc?r.loc:null;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t}});var qDe=ye((C0r,FDe)=>{"use strict";var zDe=lu(),azt=Yo().BADNUM;FDe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h,v=!zDe.hasMarkers(s)&&!zDe.hasText(s);if(v)return[];if(r===!1)for(h=0;h{(function(e,t){typeof Fz=="object"&&typeof ODe!="undefined"?t(Fz):typeof define=="function"&&define.amd?define(["exports"],t):t(e.d3=e.d3||{})})(Fz,function(e){"use strict";function t(Ee,Ae){return EeAe?1:Ee>=Ae?0:NaN}function r(Ee){return Ee.length===1&&(Ee=n(Ee)),{left:function(Ae,ze,Ce,me){for(Ce==null&&(Ce=0),me==null&&(me=Ae.length);Ce>>1;Ee(Ae[De],ze)<0?Ce=De+1:me=De}return Ce},right:function(Ae,ze,Ce,me){for(Ce==null&&(Ce=0),me==null&&(me=Ae.length);Ce>>1;Ee(Ae[De],ze)>0?me=De:Ce=De+1}return Ce}}}function n(Ee){return function(Ae,ze){return t(Ee(Ae),ze)}}var i=r(t),a=i.right,o=i.left;function s(Ee,Ae){Ae==null&&(Ae=l);for(var ze=0,Ce=Ee.length-1,me=Ee[0],De=new Array(Ce<0?0:Ce);zeEe?1:Ae>=Ee?0:NaN}function f(Ee){return Ee===null?NaN:+Ee}function h(Ee,Ae){var ze=Ee.length,Ce=0,me=-1,De=0,ce,Ge,nt=0;if(Ae==null)for(;++me1)return nt/(Ce-1)}function v(Ee,Ae){var ze=h(Ee,Ae);return ze&&Math.sqrt(ze)}function d(Ee,Ae){var ze=Ee.length,Ce=-1,me,De,ce;if(Ae==null){for(;++Ce=me)for(De=ce=me;++Ceme&&(De=me),ce=me)for(De=ce=me;++Ceme&&(De=me),ce0)return[Ee];if((Ce=Ae0)for(Ee=Math.ceil(Ee/Ge),Ae=Math.floor(Ae/Ge),ce=new Array(De=Math.ceil(Ae-Ee+1));++me=0?(De>=L?10:De>=x?5:De>=C?2:1)*Math.pow(10,me):-Math.pow(10,-me)/(De>=L?10:De>=x?5:De>=C?2:1)}function P(Ee,Ae,ze){var Ce=Math.abs(Ae-Ee)/Math.max(0,ze),me=Math.pow(10,Math.floor(Math.log(Ce)/Math.LN10)),De=Ce/me;return De>=L?me*=10:De>=x?me*=5:De>=C&&(me*=2),Aert;)ot.pop(),--It;var kt=new Array(It+1),Ct;for(De=0;De<=It;++De)Ct=kt[De]=[],Ct.x0=De>0?ot[De-1]:qt,Ct.x1=De=1)return+ze(Ee[Ce-1],Ce-1,Ee);var Ce,me=(Ce-1)*Ae,De=Math.floor(me),ce=+ze(Ee[De],De,Ee),Ge=+ze(Ee[De+1],De+1,Ee);return ce+(Ge-ce)*(me-De)}}function V(Ee,Ae,ze){return Ee=p.call(Ee,f).sort(t),Math.ceil((ze-Ae)/(2*(q(Ee,.75)-q(Ee,.25))*Math.pow(Ee.length,-1/3)))}function H(Ee,Ae,ze){return Math.ceil((ze-Ae)/(3.5*v(Ee)*Math.pow(Ee.length,-1/3)))}function X(Ee,Ae){var ze=Ee.length,Ce=-1,me,De;if(Ae==null){for(;++Ce=me)for(De=me;++CeDe&&(De=me)}else for(;++Ce=me)for(De=me;++CeDe&&(De=me);return De}function G(Ee,Ae){var ze=Ee.length,Ce=ze,me=-1,De,ce=0;if(Ae==null)for(;++me=0;)for(ce=Ee[Ae],ze=ce.length;--ze>=0;)De[--me]=ce[ze];return De}function re(Ee,Ae){var ze=Ee.length,Ce=-1,me,De;if(Ae==null){for(;++Ce=me)for(De=me;++Ceme&&(De=me)}else for(;++Ce=me)for(De=me;++Ceme&&(De=me);return De}function ae(Ee,Ae){for(var ze=Ae.length,Ce=new Array(ze);ze--;)Ce[ze]=Ee[Ae[ze]];return Ce}function _e(Ee,Ae){if(ze=Ee.length){var ze,Ce=0,me=0,De,ce=Ee[me];for(Ae==null&&(Ae=t);++Ce{(function(e,t){typeof qz=="object"&&typeof BDe!="undefined"?t(qz,gk()):typeof define=="function"&&define.amd?define(["exports","d3-array"],t):(e=e||self,t(e.d3=e.d3||{},e.d3))})(qz,function(e,t){"use strict";function r(){return new n}function n(){this.reset()}n.prototype={constructor:n,reset:function(){this.s=this.t=0},add:function(gt){a(i,gt,this.t),a(this,i.s,this.s),this.s?this.t+=i.t:this.s=i.t},valueOf:function(){return this.s}};var i=new n;function a(gt,Bt,wr){var vr=gt.s=Bt+wr,Ur=vr-Bt,fi=vr-Ur;gt.t=Bt-fi+(wr-Ur)}var o=1e-6,s=1e-12,l=Math.PI,u=l/2,c=l/4,f=l*2,h=180/l,v=l/180,d=Math.abs,_=Math.atan,b=Math.atan2,p=Math.cos,E=Math.ceil,k=Math.exp,S=Math.log,L=Math.pow,x=Math.sin,C=Math.sign||function(gt){return gt>0?1:gt<0?-1:0},M=Math.sqrt,g=Math.tan;function P(gt){return gt>1?0:gt<-1?l:Math.acos(gt)}function T(gt){return gt>1?u:gt<-1?-u:Math.asin(gt)}function F(gt){return(gt=x(gt/2))*gt}function q(){}function V(gt,Bt){gt&&X.hasOwnProperty(gt.type)&&X[gt.type](gt,Bt)}var H={Feature:function(gt,Bt){V(gt.geometry,Bt)},FeatureCollection:function(gt,Bt){for(var wr=gt.features,vr=-1,Ur=wr.length;++vr=0?1:-1,Ur=vr*wr,fi=p(Bt),xi=x(Bt),Fi=ie*xi,Xi=ge*fi+Fi*p(Ur),hn=Fi*vr*x(Ur);re.add(b(hn,Xi)),ke=gt,ge=fi,ie=xi}function me(gt){return ae.reset(),W(gt,Te),ae*2}function De(gt){return[b(gt[1],gt[0]),T(gt[2])]}function ce(gt){var Bt=gt[0],wr=gt[1],vr=p(wr);return[vr*p(Bt),vr*x(Bt),x(wr)]}function Ge(gt,Bt){return gt[0]*Bt[0]+gt[1]*Bt[1]+gt[2]*Bt[2]}function nt(gt,Bt){return[gt[1]*Bt[2]-gt[2]*Bt[1],gt[2]*Bt[0]-gt[0]*Bt[2],gt[0]*Bt[1]-gt[1]*Bt[0]]}function ct(gt,Bt){gt[0]+=Bt[0],gt[1]+=Bt[1],gt[2]+=Bt[2]}function qt(gt,Bt){return[gt[0]*Bt,gt[1]*Bt,gt[2]*Bt]}function rt(gt){var Bt=M(gt[0]*gt[0]+gt[1]*gt[1]+gt[2]*gt[2]);gt[0]/=Bt,gt[1]/=Bt,gt[2]/=Bt}var ot,It,kt,Ct,Yt,mr,er,Ke,bt=r(),xt,Lt,St={point:Et,lineStart:Ht,lineEnd:$t,polygonStart:function(){St.point=fr,St.lineStart=xr,St.lineEnd=Br,bt.reset(),Te.polygonStart()},polygonEnd:function(){Te.polygonEnd(),St.point=Et,St.lineStart=Ht,St.lineEnd=$t,re<0?(ot=-(kt=180),It=-(Ct=90)):bt>o?Ct=90:bt<-o&&(It=-90),Lt[0]=ot,Lt[1]=kt},sphere:function(){ot=-(kt=180),It=-(Ct=90)}};function Et(gt,Bt){xt.push(Lt=[ot=gt,kt=gt]),BtCt&&(Ct=Bt)}function dt(gt,Bt){var wr=ce([gt*v,Bt*v]);if(Ke){var vr=nt(Ke,wr),Ur=[vr[1],-vr[0],0],fi=nt(Ur,vr);rt(fi),fi=De(fi);var xi=gt-Yt,Fi=xi>0?1:-1,Xi=fi[0]*h*Fi,hn,Ti=d(xi)>180;Ti^(Fi*YtCt&&(Ct=hn)):(Xi=(Xi+360)%360-180,Ti^(Fi*YtCt&&(Ct=Bt))),Ti?gtOr(ot,kt)&&(kt=gt):Or(gt,kt)>Or(ot,kt)&&(ot=gt):kt>=ot?(gtkt&&(kt=gt)):gt>Yt?Or(ot,gt)>Or(ot,kt)&&(kt=gt):Or(gt,kt)>Or(ot,kt)&&(ot=gt)}else xt.push(Lt=[ot=gt,kt=gt]);BtCt&&(Ct=Bt),Ke=wr,Yt=gt}function Ht(){St.point=dt}function $t(){Lt[0]=ot,Lt[1]=kt,St.point=Et,Ke=null}function fr(gt,Bt){if(Ke){var wr=gt-Yt;bt.add(d(wr)>180?wr+(wr>0?360:-360):wr)}else mr=gt,er=Bt;Te.point(gt,Bt),dt(gt,Bt)}function xr(){Te.lineStart()}function Br(){fr(mr,er),Te.lineEnd(),d(bt)>o&&(ot=-(kt=180)),Lt[0]=ot,Lt[1]=kt,Ke=null}function Or(gt,Bt){return(Bt-=gt)<0?Bt+360:Bt}function Nr(gt,Bt){return gt[0]-Bt[0]}function ut(gt,Bt){return gt[0]<=gt[1]?gt[0]<=Bt&&Bt<=gt[1]:BtOr(vr[0],vr[1])&&(vr[1]=Ur[1]),Or(Ur[0],vr[1])>Or(vr[0],vr[1])&&(vr[0]=Ur[0])):fi.push(vr=Ur);for(xi=-1/0,wr=fi.length-1,Bt=0,vr=fi[wr];Bt<=wr;vr=Ur,++Bt)Ur=fi[Bt],(Fi=Or(vr[1],Ur[0]))>xi&&(xi=Fi,ot=Ur[0],kt=vr[1])}return xt=Lt=null,ot===1/0||It===1/0?[[NaN,NaN],[NaN,NaN]]:[[ot,It],[kt,Ct]]}var Ye,Ve,Xe,ht,Le,xe,Se,lt,Gt,Vt,ar,Qr,ai,jr,ri,bi,nn={sphere:q,point:Wi,lineStart:_n,lineEnd:Wn,polygonStart:function(){nn.lineStart=Dt,nn.lineEnd=ft},polygonEnd:function(){nn.lineStart=_n,nn.lineEnd=Wn}};function Wi(gt,Bt){gt*=v,Bt*=v;var wr=p(Bt);Ni(wr*p(gt),wr*x(gt),x(Bt))}function Ni(gt,Bt,wr){++Ye,Xe+=(gt-Xe)/Ye,ht+=(Bt-ht)/Ye,Le+=(wr-Le)/Ye}function _n(){nn.point=$i}function $i(gt,Bt){gt*=v,Bt*=v;var wr=p(Bt);jr=wr*p(gt),ri=wr*x(gt),bi=x(Bt),nn.point=zn,Ni(jr,ri,bi)}function zn(gt,Bt){gt*=v,Bt*=v;var wr=p(Bt),vr=wr*p(gt),Ur=wr*x(gt),fi=x(Bt),xi=b(M((xi=ri*fi-bi*Ur)*xi+(xi=bi*vr-jr*fi)*xi+(xi=jr*Ur-ri*vr)*xi),jr*vr+ri*Ur+bi*fi);Ve+=xi,xe+=xi*(jr+(jr=vr)),Se+=xi*(ri+(ri=Ur)),lt+=xi*(bi+(bi=fi)),Ni(jr,ri,bi)}function Wn(){nn.point=Wi}function Dt(){nn.point=jt}function ft(){Zt(Qr,ai),nn.point=Wi}function jt(gt,Bt){Qr=gt,ai=Bt,gt*=v,Bt*=v,nn.point=Zt;var wr=p(Bt);jr=wr*p(gt),ri=wr*x(gt),bi=x(Bt),Ni(jr,ri,bi)}function Zt(gt,Bt){gt*=v,Bt*=v;var wr=p(Bt),vr=wr*p(gt),Ur=wr*x(gt),fi=x(Bt),xi=ri*fi-bi*Ur,Fi=bi*vr-jr*fi,Xi=jr*Ur-ri*vr,hn=M(xi*xi+Fi*Fi+Xi*Xi),Ti=T(hn),qi=hn&&-Ti/hn;Gt+=qi*xi,Vt+=qi*Fi,ar+=qi*Xi,Ve+=Ti,xe+=Ti*(jr+(jr=vr)),Se+=Ti*(ri+(ri=Ur)),lt+=Ti*(bi+(bi=fi)),Ni(jr,ri,bi)}function _r(gt){Ye=Ve=Xe=ht=Le=xe=Se=lt=Gt=Vt=ar=0,W(gt,nn);var Bt=Gt,wr=Vt,vr=ar,Ur=Bt*Bt+wr*wr+vr*vr;return Url?gt+Math.round(-gt/f)*f:gt,Bt]}Vr.invert=Vr;function gi(gt,Bt,wr){return(gt%=f)?Bt||wr?Zr(Mi(gt),Pi(Bt,wr)):Mi(gt):Bt||wr?Pi(Bt,wr):Vr}function Si(gt){return function(Bt,wr){return Bt+=gt,[Bt>l?Bt-f:Bt<-l?Bt+f:Bt,wr]}}function Mi(gt){var Bt=Si(gt);return Bt.invert=Si(-gt),Bt}function Pi(gt,Bt){var wr=p(gt),vr=x(gt),Ur=p(Bt),fi=x(Bt);function xi(Fi,Xi){var hn=p(Xi),Ti=p(Fi)*hn,qi=x(Fi)*hn,Ii=x(Xi),mi=Ii*wr+Ti*vr;return[b(qi*Ur-mi*fi,Ti*wr-Ii*vr),T(mi*Ur+qi*fi)]}return xi.invert=function(Fi,Xi){var hn=p(Xi),Ti=p(Fi)*hn,qi=x(Fi)*hn,Ii=x(Xi),mi=Ii*Ur-qi*fi;return[b(qi*Ur+Ii*fi,Ti*wr+mi*vr),T(mi*wr-Ti*vr)]},xi}function Gi(gt){gt=gi(gt[0]*v,gt[1]*v,gt.length>2?gt[2]*v:0);function Bt(wr){return wr=gt(wr[0]*v,wr[1]*v),wr[0]*=h,wr[1]*=h,wr}return Bt.invert=function(wr){return wr=gt.invert(wr[0]*v,wr[1]*v),wr[0]*=h,wr[1]*=h,wr},Bt}function Ki(gt,Bt,wr,vr,Ur,fi){if(wr){var xi=p(Bt),Fi=x(Bt),Xi=vr*wr;Ur==null?(Ur=Bt+vr*f,fi=Bt-Xi/2):(Ur=Ca(xi,Ur),fi=Ca(xi,fi),(vr>0?Urfi)&&(Ur+=vr*f));for(var hn,Ti=Ur;vr>0?Ti>fi:Ti1&>.push(gt.pop().concat(gt.shift()))},result:function(){var wr=gt;return gt=[],Bt=null,wr}}}function Fa(gt,Bt){return d(gt[0]-Bt[0])=0;--Fi)Ur.point((qi=Ti[Fi])[0],qi[1]);else vr(Ii.x,Ii.p.x,-1,Ur);Ii=Ii.p}Ii=Ii.o,Ti=Ii.z,mi=!mi}while(!Ii.v);Ur.lineEnd()}}}function sa(gt){if(Bt=gt.length){for(var Bt,wr=0,vr=gt[0],Ur;++wr=0?1:-1,es=As*Xo,_s=es>l,No=Ea*Ua;if(Sn.add(b(No*As*x(es),Ta*mo+No*p(es))),xi+=_s?Xo+As*f:Xo,_s^mi>=wr^Cn>=wr){var yl=nt(ce(Ii),ce(qa));rt(yl);var Gs=nt(fi,yl);rt(Gs);var Rs=(_s^Xo>=0?-1:1)*T(Gs[2]);(vr>Rs||vr===Rs&&(yl[0]||yl[1]))&&(Fi+=_s^Xo>=0?1:-1)}}return(xi<-o||xi0){for(Xi||(Ur.polygonStart(),Xi=!0),Ur.lineStart(),mo=0;mo1&&sn&2&&Ua.push(Ua.pop().concat(Ua.shift())),Ti.push(Ua.filter(_t))}}return Ii}}function _t(gt){return gt.length>1}function br(gt,Bt){return((gt=gt.x)[0]<0?gt[1]-u-o:u-gt[1])-((Bt=Bt.x)[0]<0?Bt[1]-u-o:u-Bt[1])}var Hr=xn(function(){return!0},ti,Yi,[-l,-u]);function ti(gt){var Bt=NaN,wr=NaN,vr=NaN,Ur;return{lineStart:function(){gt.lineStart(),Ur=1},point:function(fi,xi){var Fi=fi>0?l:-l,Xi=d(fi-Bt);d(Xi-l)0?u:-u),gt.point(vr,wr),gt.lineEnd(),gt.lineStart(),gt.point(Fi,wr),gt.point(fi,wr),Ur=0):vr!==Fi&&Xi>=l&&(d(Bt-vr)o?_((x(Bt)*(fi=p(vr))*x(wr)-x(vr)*(Ur=p(Bt))*x(gt))/(Ur*fi*xi)):(Bt+vr)/2}function Yi(gt,Bt,wr,vr){var Ur;if(gt==null)Ur=wr*u,vr.point(-l,Ur),vr.point(0,Ur),vr.point(l,Ur),vr.point(l,0),vr.point(l,-Ur),vr.point(0,-Ur),vr.point(-l,-Ur),vr.point(-l,0),vr.point(-l,Ur);else if(d(gt[0]-Bt[0])>o){var fi=gt[0]0,Ur=d(Bt)>o;function fi(Ti,qi,Ii,mi){Ki(mi,gt,wr,Ii,Ti,qi)}function xi(Ti,qi){return p(Ti)*p(qi)>Bt}function Fi(Ti){var qi,Ii,mi,Pn,Ea;return{lineStart:function(){Pn=mi=!1,Ea=1},point:function(Ta,ka){var qa=[Ta,ka],Cn,sn=xi(Ta,ka),Ua=vr?sn?0:hn(Ta,ka):sn?hn(Ta+(Ta<0?l:-l),ka):0;if(!qi&&(Pn=mi=sn)&&Ti.lineStart(),sn!==mi&&(Cn=Xi(qi,qa),(!Cn||Fa(qi,Cn)||Fa(qa,Cn))&&(qa[2]=1)),sn!==mi)Ea=0,sn?(Ti.lineStart(),Cn=Xi(qa,qi),Ti.point(Cn[0],Cn[1])):(Cn=Xi(qi,qa),Ti.point(Cn[0],Cn[1],2),Ti.lineEnd()),qi=Cn;else if(Ur&&qi&&vr^sn){var mo;!(Ua&Ii)&&(mo=Xi(qa,qi,!0))&&(Ea=0,vr?(Ti.lineStart(),Ti.point(mo[0][0],mo[0][1]),Ti.point(mo[1][0],mo[1][1]),Ti.lineEnd()):(Ti.point(mo[1][0],mo[1][1]),Ti.lineEnd(),Ti.lineStart(),Ti.point(mo[0][0],mo[0][1],3)))}sn&&(!qi||!Fa(qi,qa))&&Ti.point(qa[0],qa[1]),qi=qa,mi=sn,Ii=Ua},lineEnd:function(){mi&&Ti.lineEnd(),qi=null},clean:function(){return Ea|(Pn&&mi)<<1}}}function Xi(Ti,qi,Ii){var mi=ce(Ti),Pn=ce(qi),Ea=[1,0,0],Ta=nt(mi,Pn),ka=Ge(Ta,Ta),qa=Ta[0],Cn=ka-qa*qa;if(!Cn)return!Ii&&Ti;var sn=Bt*ka/Cn,Ua=-Bt*qa/Cn,mo=nt(Ea,Ta),Xo=qt(Ea,sn),As=qt(Ta,Ua);ct(Xo,As);var es=mo,_s=Ge(Xo,es),No=Ge(es,es),yl=_s*_s-No*(Ge(Xo,Xo)-1);if(!(yl<0)){var Gs=M(yl),Rs=qt(es,(-_s-Gs)/No);if(ct(Rs,Xo),Rs=De(Rs),!Ii)return Rs;var ia=Ti[0],Ja=qi[0],ps=Ti[1],Jo=qi[1],iu;Ja0^Rs[1]<(d(Rs[0]-ia)l^(ia<=Rs[0]&&Rs[0]<=Ja)){var bu=qt(es,(-_s+Gs)/No);return ct(bu,Xo),[Rs,De(bu)]}}}function hn(Ti,qi){var Ii=vr?gt:l-gt,mi=0;return Ti<-Ii?mi|=1:Ti>Ii&&(mi|=2),qi<-Ii?mi|=4:qi>Ii&&(mi|=8),mi}return xn(xi,Fi,fi,vr?[0,-gt]:[-l,gt-l])}function hi(gt,Bt,wr,vr,Ur,fi){var xi=gt[0],Fi=gt[1],Xi=Bt[0],hn=Bt[1],Ti=0,qi=1,Ii=Xi-xi,mi=hn-Fi,Pn;if(Pn=wr-xi,!(!Ii&&Pn>0)){if(Pn/=Ii,Ii<0){if(Pn0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}if(Pn=Ur-xi,!(!Ii&&Pn<0)){if(Pn/=Ii,Ii<0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}else if(Ii>0){if(Pn0)){if(Pn/=mi,mi<0){if(Pn0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}if(Pn=fi-Fi,!(!mi&&Pn<0)){if(Pn/=mi,mi<0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}else if(mi>0){if(Pn0&&(gt[0]=xi+Ti*Ii,gt[1]=Fi+Ti*mi),qi<1&&(Bt[0]=xi+qi*Ii,Bt[1]=Fi+qi*mi),!0}}}}}var Ji=1e9,ca=-Ji;function Fn(gt,Bt,wr,vr){function Ur(hn,Ti){return gt<=hn&&hn<=wr&&Bt<=Ti&&Ti<=vr}function fi(hn,Ti,qi,Ii){var mi=0,Pn=0;if(hn==null||(mi=xi(hn,qi))!==(Pn=xi(Ti,qi))||Xi(hn,Ti)<0^qi>0)do Ii.point(mi===0||mi===3?gt:wr,mi>1?vr:Bt);while((mi=(mi+qi+4)%4)!==Pn);else Ii.point(Ti[0],Ti[1])}function xi(hn,Ti){return d(hn[0]-gt)0?0:3:d(hn[0]-wr)0?2:1:d(hn[1]-Bt)0?1:0:Ti>0?3:2}function Fi(hn,Ti){return Xi(hn.x,Ti.x)}function Xi(hn,Ti){var qi=xi(hn,1),Ii=xi(Ti,1);return qi!==Ii?qi-Ii:qi===0?Ti[1]-hn[1]:qi===1?hn[0]-Ti[0]:qi===2?hn[1]-Ti[1]:Ti[0]-hn[0]}return function(hn){var Ti=hn,qi=ua(),Ii,mi,Pn,Ea,Ta,ka,qa,Cn,sn,Ua,mo,Xo={point:As,lineStart:yl,lineEnd:Gs,polygonStart:_s,polygonEnd:No};function As(ia,Ja){Ur(ia,Ja)&&Ti.point(ia,Ja)}function es(){for(var ia=0,Ja=0,ps=mi.length;Javr&&(Kc-mf)*(vr-bu)>(Ru-bu)*(gt-mf)&&++ia:Ru<=vr&&(Kc-mf)*(vr-bu)<(Ru-bu)*(gt-mf)&&--ia;return ia}function _s(){Ti=qi,Ii=[],mi=[],mo=!0}function No(){var ia=es(),Ja=mo&&ia,ps=(Ii=t.merge(Ii)).length;(Ja||ps)&&(hn.polygonStart(),Ja&&(hn.lineStart(),fi(null,null,1,hn),hn.lineEnd()),ps&&jo(Ii,Fi,ia,fi,hn),hn.polygonEnd()),Ti=hn,Ii=mi=Pn=null}function yl(){Xo.point=Rs,mi&&mi.push(Pn=[]),Ua=!0,sn=!1,qa=Cn=NaN}function Gs(){Ii&&(Rs(Ea,Ta),ka&&sn&&qi.rejoin(),Ii.push(qi.result())),Xo.point=As,sn&&Ti.lineEnd()}function Rs(ia,Ja){var ps=Ur(ia,Ja);if(mi&&Pn.push([ia,Ja]),Ua)Ea=ia,Ta=Ja,ka=ps,Ua=!1,ps&&(Ti.lineStart(),Ti.point(ia,Ja));else if(ps&&sn)Ti.point(ia,Ja);else{var Jo=[qa=Math.max(ca,Math.min(Ji,qa)),Cn=Math.max(ca,Math.min(Ji,Cn))],iu=[ia=Math.max(ca,Math.min(Ji,ia)),Ja=Math.max(ca,Math.min(Ji,Ja))];hi(Jo,iu,gt,Bt,wr,vr)?(sn||(Ti.lineStart(),Ti.point(Jo[0],Jo[1])),Ti.point(iu[0],iu[1]),ps||Ti.lineEnd(),mo=!1):ps&&(Ti.lineStart(),Ti.point(ia,Ja),mo=!1)}qa=ia,Cn=Ja,sn=ps}return Xo}}function Ma(){var gt=0,Bt=0,wr=960,vr=500,Ur,fi,xi;return xi={stream:function(Fi){return Ur&&fi===Fi?Ur:Ur=Fn(gt,Bt,wr,vr)(fi=Fi)},extent:function(Fi){return arguments.length?(gt=+Fi[0][0],Bt=+Fi[0][1],wr=+Fi[1][0],vr=+Fi[1][1],Ur=fi=null,xi):[[gt,Bt],[wr,vr]]}}}var go=r(),Bo,ho,Mo,xo={sphere:q,point:q,lineStart:qs,lineEnd:q,polygonStart:q,polygonEnd:q};function qs(){xo.point=Zs,xo.lineEnd=Cs}function Cs(){xo.point=xo.lineEnd=q}function Zs(gt,Bt){gt*=v,Bt*=v,Bo=gt,ho=x(Bt),Mo=p(Bt),xo.point=Xs}function Xs(gt,Bt){gt*=v,Bt*=v;var wr=x(Bt),vr=p(Bt),Ur=d(gt-Bo),fi=p(Ur),xi=x(Ur),Fi=vr*xi,Xi=Mo*wr-ho*vr*fi,hn=ho*wr+Mo*vr*fi;go.add(b(M(Fi*Fi+Xi*Xi),hn)),Bo=gt,ho=wr,Mo=vr}function wl(gt){return go.reset(),W(gt,xo),+go}var os=[null,null],cl={type:"LineString",coordinates:os};function Ls(gt,Bt){return os[0]=gt,os[1]=Bt,wl(cl)}var ml={Feature:function(gt,Bt){return Hs(gt.geometry,Bt)},FeatureCollection:function(gt,Bt){for(var wr=gt.features,vr=-1,Ur=wr.length;++vr0&&(Ur=Ls(gt[fi],gt[fi-1]),Ur>0&&wr<=Ur&&vr<=Ur&&(wr+vr-Ur)*(1-Math.pow((wr-vr)/Ur,2))o}).map(Ii)).concat(t.range(E(fi/hn)*hn,Ur,hn).filter(function(Cn){return d(Cn%qi)>o}).map(mi))}return ka.lines=function(){return qa().map(function(Cn){return{type:"LineString",coordinates:Cn}})},ka.outline=function(){return{type:"Polygon",coordinates:[Pn(vr).concat(Ea(xi).slice(1),Pn(wr).reverse().slice(1),Ea(Fi).reverse().slice(1))]}},ka.extent=function(Cn){return arguments.length?ka.extentMajor(Cn).extentMinor(Cn):ka.extentMinor()},ka.extentMajor=function(Cn){return arguments.length?(vr=+Cn[0][0],wr=+Cn[1][0],Fi=+Cn[0][1],xi=+Cn[1][1],vr>wr&&(Cn=vr,vr=wr,wr=Cn),Fi>xi&&(Cn=Fi,Fi=xi,xi=Cn),ka.precision(Ta)):[[vr,Fi],[wr,xi]]},ka.extentMinor=function(Cn){return arguments.length?(Bt=+Cn[0][0],gt=+Cn[1][0],fi=+Cn[0][1],Ur=+Cn[1][1],Bt>gt&&(Cn=Bt,Bt=gt,gt=Cn),fi>Ur&&(Cn=fi,fi=Ur,Ur=Cn),ka.precision(Ta)):[[Bt,fi],[gt,Ur]]},ka.step=function(Cn){return arguments.length?ka.stepMajor(Cn).stepMinor(Cn):ka.stepMinor()},ka.stepMajor=function(Cn){return arguments.length?(Ti=+Cn[0],qi=+Cn[1],ka):[Ti,qi]},ka.stepMinor=function(Cn){return arguments.length?(Xi=+Cn[0],hn=+Cn[1],ka):[Xi,hn]},ka.precision=function(Cn){return arguments.length?(Ta=+Cn,Ii=on(fi,Ur,90),mi=ha(Bt,gt,Ta),Pn=on(Fi,xi,90),Ea=ha(vr,wr,Ta),ka):Ta},ka.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function Il(){return Qu()()}function vo(gt,Bt){var wr=gt[0]*v,vr=gt[1]*v,Ur=Bt[0]*v,fi=Bt[1]*v,xi=p(vr),Fi=x(vr),Xi=p(fi),hn=x(fi),Ti=xi*p(wr),qi=xi*x(wr),Ii=Xi*p(Ur),mi=Xi*x(Ur),Pn=2*T(M(F(fi-vr)+xi*Xi*F(Ur-wr))),Ea=x(Pn),Ta=Pn?function(ka){var qa=x(ka*=Pn)/Ea,Cn=x(Pn-ka)/Ea,sn=Cn*Ti+qa*Ii,Ua=Cn*qi+qa*mi,mo=Cn*Fi+qa*hn;return[b(Ua,sn)*h,b(mo,M(sn*sn+Ua*Ua))*h]}:function(){return[wr*h,vr*h]};return Ta.distance=Pn,Ta}function Wl(gt){return gt}var Ks=r(),Zl=r(),Ec,Zn,ko,Co,Tl={point:q,lineStart:q,lineEnd:q,polygonStart:function(){Tl.lineStart=uf,Tl.lineEnd=nh},polygonEnd:function(){Tl.lineStart=Tl.lineEnd=Tl.point=q,Ks.add(d(Zl)),Zl.reset()},result:function(){var gt=Ks/2;return Ks.reset(),gt}};function uf(){Tl.point=So}function So(gt,Bt){Tl.point=cf,Ec=ko=gt,Zn=Co=Bt}function cf(gt,Bt){Zl.add(Co*gt-ko*Bt),ko=gt,Co=Bt}function nh(){cf(Ec,Zn)}var Al=1/0,Hc=Al,Ql=-Al,Ps=Ql,mu={point:kc,lineStart:q,lineEnd:q,polygonStart:q,polygonEnd:q,result:function(){var gt=[[Al,Hc],[Ql,Ps]];return Ql=Ps=-(Hc=Al=1/0),gt}};function kc(gt,Bt){gtQl&&(Ql=gt),BtPs&&(Ps=Bt)}var Bf=0,Gc=0,pd=0,Nf=0,ss=0,ff=0,ah=0,Ul=0,Js=0,hc,Cc,Ts,$s,ds={point:Es,lineStart:dc,lineEnd:Is,polygonStart:function(){ds.lineStart=sv,ds.lineEnd=wo},polygonEnd:function(){ds.point=Es,ds.lineStart=dc,ds.lineEnd=Is},result:function(){var gt=Js?[ah/Js,Ul/Js]:ff?[Nf/ff,ss/ff]:pd?[Bf/pd,Gc/pd]:[NaN,NaN];return Bf=Gc=pd=Nf=ss=ff=ah=Ul=Js=0,gt}};function Es(gt,Bt){Bf+=gt,Gc+=Bt,++pd}function dc(){ds.point=Sl}function Sl(gt,Bt){ds.point=ec,Es(Ts=gt,$s=Bt)}function ec(gt,Bt){var wr=gt-Ts,vr=Bt-$s,Ur=M(wr*wr+vr*vr);Nf+=Ur*(Ts+gt)/2,ss+=Ur*($s+Bt)/2,ff+=Ur,Es(Ts=gt,$s=Bt)}function Is(){ds.point=Es}function sv(){ds.point=Bd}function wo(){Qo(hc,Cc)}function Bd(gt,Bt){ds.point=Qo,Es(hc=Ts=gt,Cc=$s=Bt)}function Qo(gt,Bt){var wr=gt-Ts,vr=Bt-$s,Ur=M(wr*wr+vr*vr);Nf+=Ur*(Ts+gt)/2,ss+=Ur*($s+Bt)/2,ff+=Ur,Ur=$s*gt-Ts*Bt,ah+=Ur*(Ts+gt),Ul+=Ur*($s+Bt),Js+=Ur*3,Es(Ts=gt,$s=Bt)}function $a(gt){this._context=gt}$a.prototype={_radius:4.5,pointRadius:function(gt){return this._radius=gt,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(gt,Bt){switch(this._point){case 0:{this._context.moveTo(gt,Bt),this._point=1;break}case 1:{this._context.lineTo(gt,Bt);break}default:{this._context.moveTo(gt+this._radius,Bt),this._context.arc(gt,Bt,this._radius,0,f);break}}},result:q};var Ef=r(),tc,uu,Ch,jc,kf,Ml={point:q,lineStart:function(){Ml.point=Jh},lineEnd:function(){tc&&Lh(uu,Ch),Ml.point=q},polygonStart:function(){tc=!0},polygonEnd:function(){tc=null},result:function(){var gt=+Ef;return Ef.reset(),gt}};function Jh(gt,Bt){Ml.point=Lh,uu=jc=gt,Ch=kf=Bt}function Lh(gt,Bt){jc-=gt,kf-=Bt,Ef.add(M(jc*jc+kf*kf)),jc=gt,kf=Bt}function oh(){this._string=[]}oh.prototype={_radius:4.5,_circle:hf(4.5),pointRadius:function(gt){return(gt=+gt)!==this._radius&&(this._radius=gt,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push("Z"),this._point=NaN},point:function(gt,Bt){switch(this._point){case 0:{this._string.push("M",gt,",",Bt),this._point=1;break}case 1:{this._string.push("L",gt,",",Bt);break}default:{this._circle==null&&(this._circle=hf(this._radius)),this._string.push("M",gt,",",Bt,this._circle);break}}},result:function(){if(this._string.length){var gt=this._string.join("");return this._string=[],gt}else return null}};function hf(gt){return"m0,"+gt+"a"+gt+","+gt+" 0 1,1 0,"+-2*gt+"a"+gt+","+gt+" 0 1,1 0,"+2*gt+"z"}function Ph(gt,Bt){var wr=4.5,vr,Ur;function fi(xi){return xi&&(typeof wr=="function"&&Ur.pointRadius(+wr.apply(this,arguments)),W(xi,vr(Ur))),Ur.result()}return fi.area=function(xi){return W(xi,vr(Tl)),Tl.result()},fi.measure=function(xi){return W(xi,vr(Ml)),Ml.result()},fi.bounds=function(xi){return W(xi,vr(mu)),mu.result()},fi.centroid=function(xi){return W(xi,vr(ds)),ds.result()},fi.projection=function(xi){return arguments.length?(vr=xi==null?(gt=null,Wl):(gt=xi).stream,fi):gt},fi.context=function(xi){return arguments.length?(Ur=xi==null?(Bt=null,new oh):new $a(Bt=xi),typeof wr!="function"&&Ur.pointRadius(wr),fi):Bt},fi.pointRadius=function(xi){return arguments.length?(wr=typeof xi=="function"?xi:(Ur.pointRadius(+xi),+xi),fi):wr},fi.projection(gt).context(Bt)}function $h(gt){return{stream:rc(gt)}}function rc(gt){return function(Bt){var wr=new sh;for(var vr in gt)wr[vr]=gt[vr];return wr.stream=Bt,wr}}function sh(){}sh.prototype={constructor:sh,point:function(gt,Bt){this.stream.point(gt,Bt)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function Wc(gt,Bt,wr){var vr=gt.clipExtent&>.clipExtent();return gt.scale(150).translate([0,0]),vr!=null&>.clipExtent(null),W(wr,gt.stream(mu)),Bt(mu.result()),vr!=null&>.clipExtent(vr),gt}function df(gt,Bt,wr){return Wc(gt,function(vr){var Ur=Bt[1][0]-Bt[0][0],fi=Bt[1][1]-Bt[0][1],xi=Math.min(Ur/(vr[1][0]-vr[0][0]),fi/(vr[1][1]-vr[0][1])),Fi=+Bt[0][0]+(Ur-xi*(vr[1][0]+vr[0][0]))/2,Xi=+Bt[0][1]+(fi-xi*(vr[1][1]+vr[0][1]))/2;gt.scale(150*xi).translate([Fi,Xi])},wr)}function Cu(gt,Bt,wr){return df(gt,[[0,0],Bt],wr)}function Uf(gt,Bt,wr){return Wc(gt,function(vr){var Ur=+Bt,fi=Ur/(vr[1][0]-vr[0][0]),xi=(Ur-fi*(vr[1][0]+vr[0][0]))/2,Fi=-fi*vr[0][1];gt.scale(150*fi).translate([xi,Fi])},wr)}function Zc(gt,Bt,wr){return Wc(gt,function(vr){var Ur=+Bt,fi=Ur/(vr[1][1]-vr[0][1]),xi=-fi*vr[0][0],Fi=(Ur-fi*(vr[1][1]+vr[0][1]))/2;gt.scale(150*fi).translate([xi,Fi])},wr)}var vs=16,Ih=p(30*v);function Nd(gt,Bt){return+Bt?Cf(gt,Bt):Qh(gt)}function Qh(gt){return rc({point:function(Bt,wr){Bt=gt(Bt,wr),this.stream.point(Bt[0],Bt[1])}})}function Cf(gt,Bt){function wr(vr,Ur,fi,xi,Fi,Xi,hn,Ti,qi,Ii,mi,Pn,Ea,Ta){var ka=hn-vr,qa=Ti-Ur,Cn=ka*ka+qa*qa;if(Cn>4*Bt&&Ea--){var sn=xi+Ii,Ua=Fi+mi,mo=Xi+Pn,Xo=M(sn*sn+Ua*Ua+mo*mo),As=T(mo/=Xo),es=d(d(mo)-1)Bt||d((ka*Gs+qa*Rs)/Cn-.5)>.3||xi*Ii+Fi*mi+Xi*Pn2?ia[2]%360*v:0,Gs()):[Fi*h,Xi*h,hn*h]},No.angle=function(ia){return arguments.length?(qi=ia%360*v,Gs()):qi*h},No.reflectX=function(ia){return arguments.length?(Ii=ia?-1:1,Gs()):Ii<0},No.reflectY=function(ia){return arguments.length?(mi=ia?-1:1,Gs()):mi<0},No.precision=function(ia){return arguments.length?(mo=Nd(Xo,Ua=ia*ia),Rs()):M(Ua)},No.fitExtent=function(ia,Ja){return df(No,ia,Ja)},No.fitSize=function(ia,Ja){return Cu(No,ia,Ja)},No.fitWidth=function(ia,Ja){return Uf(No,ia,Ja)},No.fitHeight=function(ia,Ja){return Zc(No,ia,Ja)};function Gs(){var ia=eu(wr,0,0,Ii,mi,qi).apply(null,Bt(fi,xi)),Ja=(qi?eu:ed)(wr,vr-ia[0],Ur-ia[1],Ii,mi,qi);return Ti=gi(Fi,Xi,hn),Xo=Zr(Bt,Ja),As=Zr(Ti,Xo),mo=Nd(Xo,Ua),Rs()}function Rs(){return es=_s=null,No}return function(){return Bt=gt.apply(this,arguments),No.invert=Bt.invert&&yl,Gs()}}function fl(gt){var Bt=0,wr=l/3,vr=Lc(gt),Ur=vr(Bt,wr);return Ur.parallels=function(fi){return arguments.length?vr(Bt=fi[0]*v,wr=fi[1]*v):[Bt*h,wr*h]},Ur}function Xc(gt){var Bt=p(gt);function wr(vr,Ur){return[vr*Bt,x(Ur)/Bt]}return wr.invert=function(vr,Ur){return[vr/Bt,T(Ur*Bt)]},wr}function ic(gt,Bt){var wr=x(gt),vr=(wr+x(Bt))/2;if(d(vr)=.12&&Ta<.234&&Ea>=-.425&&Ea<-.214?Ur:Ta>=.166&&Ta<.234&&Ea>=-.214&&Ea<-.115?xi:wr).invert(Ii)},Ti.stream=function(Ii){return gt&&Bt===Ii?gt:gt=td([wr.stream(Bt=Ii),Ur.stream(Ii),xi.stream(Ii)])},Ti.precision=function(Ii){return arguments.length?(wr.precision(Ii),Ur.precision(Ii),xi.precision(Ii),qi()):wr.precision()},Ti.scale=function(Ii){return arguments.length?(wr.scale(Ii),Ur.scale(Ii*.35),xi.scale(Ii),Ti.translate(wr.translate())):wr.scale()},Ti.translate=function(Ii){if(!arguments.length)return wr.translate();var mi=wr.scale(),Pn=+Ii[0],Ea=+Ii[1];return vr=wr.translate(Ii).clipExtent([[Pn-.455*mi,Ea-.238*mi],[Pn+.455*mi,Ea+.238*mi]]).stream(hn),fi=Ur.translate([Pn-.307*mi,Ea+.201*mi]).clipExtent([[Pn-.425*mi+o,Ea+.12*mi+o],[Pn-.214*mi-o,Ea+.234*mi-o]]).stream(hn),Fi=xi.translate([Pn-.205*mi,Ea+.212*mi]).clipExtent([[Pn-.214*mi+o,Ea+.166*mi+o],[Pn-.115*mi-o,Ea+.234*mi-o]]).stream(hn),qi()},Ti.fitExtent=function(Ii,mi){return df(Ti,Ii,mi)},Ti.fitSize=function(Ii,mi){return Cu(Ti,Ii,mi)},Ti.fitWidth=function(Ii,mi){return Uf(Ti,Ii,mi)},Ti.fitHeight=function(Ii,mi){return Zc(Ti,Ii,mi)};function qi(){return gt=Bt=null,Ti}return Ti.scale(1070)}function Wu(gt){return function(Bt,wr){var vr=p(Bt),Ur=p(wr),fi=gt(vr*Ur);return[fi*Ur*x(Bt),fi*x(wr)]}}function Pc(gt){return function(Bt,wr){var vr=M(Bt*Bt+wr*wr),Ur=gt(vr),fi=x(Ur),xi=p(Ur);return[b(Bt*fi,vr*xi),T(vr&&wr*fi/vr)]}}var vc=Wu(function(gt){return M(2/(1+gt))});vc.invert=Pc(function(gt){return 2*T(gt/2)});function lv(){return Pu(vc).scale(124.75).clipAngle(180-.001)}var Lf=Wu(function(gt){return(gt=P(gt))&>/x(gt)});Lf.invert=Pc(function(gt){return gt});function Vf(){return Pu(Lf).scale(79.4188).clipAngle(180-.001)}function Iu(gt,Bt){return[gt,S(g((u+Bt)/2))]}Iu.invert=function(gt,Bt){return[gt,2*_(k(Bt))-u]};function lh(){return tu(Iu).scale(961/f)}function tu(gt){var Bt=Pu(gt),wr=Bt.center,vr=Bt.scale,Ur=Bt.translate,fi=Bt.clipExtent,xi=null,Fi,Xi,hn;Bt.scale=function(qi){return arguments.length?(vr(qi),Ti()):vr()},Bt.translate=function(qi){return arguments.length?(Ur(qi),Ti()):Ur()},Bt.center=function(qi){return arguments.length?(wr(qi),Ti()):wr()},Bt.clipExtent=function(qi){return arguments.length?(qi==null?xi=Fi=Xi=hn=null:(xi=+qi[0][0],Fi=+qi[0][1],Xi=+qi[1][0],hn=+qi[1][1]),Ti()):xi==null?null:[[xi,Fi],[Xi,hn]]};function Ti(){var qi=l*vr(),Ii=Bt(Gi(Bt.rotate()).invert([0,0]));return fi(xi==null?[[Ii[0]-qi,Ii[1]-qi],[Ii[0]+qi,Ii[1]+qi]]:gt===Iu?[[Math.max(Ii[0]-qi,xi),Fi],[Math.min(Ii[0]+qi,Xi),hn]]:[[xi,Math.max(Ii[1]-qi,Fi)],[Xi,Math.min(Ii[1]+qi,hn)]])}return Ti()}function vf(gt){return g((u+gt)/2)}function yd(gt,Bt){var wr=p(gt),vr=gt===Bt?x(gt):S(wr/p(Bt))/S(vf(Bt)/vf(gt)),Ur=wr*L(vf(gt),vr)/vr;if(!vr)return Iu;function fi(xi,Fi){Ur>0?Fi<-u+o&&(Fi=-u+o):Fi>u-o&&(Fi=u-o);var Xi=Ur/L(vf(Fi),vr);return[Xi*x(vr*xi),Ur-Xi*p(vr*xi)]}return fi.invert=function(xi,Fi){var Xi=Ur-Fi,hn=C(vr)*M(xi*xi+Xi*Xi),Ti=b(xi,d(Xi))*C(Xi);return Xi*vr<0&&(Ti-=l*C(xi)*C(Xi)),[Ti/vr,2*_(L(Ur/hn,1/vr))-u]},fi}function uh(){return fl(yd).scale(109.5).parallels([30,30])}function Os(gt,Bt){return[gt,Bt]}Os.invert=Os;function _u(){return Pu(Os).scale(152.63)}function xu(gt,Bt){var wr=p(gt),vr=gt===Bt?x(gt):(wr-p(Bt))/(Bt-gt),Ur=wr/vr+gt;if(d(vr)o&&--vr>0);return[gt/(.8707+(fi=wr*wr)*(-.131979+fi*(-.013791+fi*fi*fi*(.003971-.001529*fi)))),wr]};function gc(){return Pu(Dc).scale(175.295)}function hl(gt,Bt){return[p(Bt)*x(gt),x(Bt)]}hl.invert=Pc(T);function ru(){return Pu(hl).scale(249.5).clipAngle(90+o)}function mc(gt,Bt){var wr=p(Bt),vr=1+p(gt)*wr;return[wr*x(gt)/vr,x(Bt)/vr]}mc.invert=Pc(function(gt){return 2*_(gt)});function Yc(){return Pu(mc).scale(250).clipAngle(142)}function nc(gt,Bt){return[S(g((u+Bt)/2)),-gt]}nc.invert=function(gt,Bt){return[-Bt,2*_(k(gt))-u]};function gf(){var gt=tu(nc),Bt=gt.center,wr=gt.rotate;return gt.center=function(vr){return arguments.length?Bt([-vr[1],vr[0]]):(vr=Bt(),[vr[1],-vr[0]])},gt.rotate=function(vr){return arguments.length?wr([vr[0],vr[1],vr.length>2?vr[2]+90:90]):(vr=wr(),[vr[0],vr[1],vr[2]-90])},wr([0,0,90]).scale(159.155)}e.geoAlbers=Qs,e.geoAlbersUsa=md,e.geoArea=me,e.geoAzimuthalEqualArea=lv,e.geoAzimuthalEqualAreaRaw=vc,e.geoAzimuthalEquidistant=Vf,e.geoAzimuthalEquidistantRaw=Lf,e.geoBounds=Ne,e.geoCentroid=_r,e.geoCircle=jn,e.geoClipAntimeridian=Hr,e.geoClipCircle=an,e.geoClipExtent=Ma,e.geoClipRectangle=Fn,e.geoConicConformal=uh,e.geoConicConformalRaw=yd,e.geoConicEqualArea=yu,e.geoConicEqualAreaRaw=ic,e.geoConicEquidistant=Dh,e.geoConicEquidistantRaw=xu,e.geoContains=ys,e.geoDistance=Ls,e.geoEqualEarth=Rh,e.geoEqualEarthRaw=pf,e.geoEquirectangular=_u,e.geoEquirectangularRaw=Os,e.geoGnomonic=zh,e.geoGnomonicRaw=Dl,e.geoGraticule=Qu,e.geoGraticule10=Il,e.geoIdentity=Xu,e.geoInterpolate=vo,e.geoLength=wl,e.geoMercator=lh,e.geoMercatorRaw=Iu,e.geoNaturalEarth1=gc,e.geoNaturalEarth1Raw=Dc,e.geoOrthographic=ru,e.geoOrthographicRaw=hl,e.geoPath=Ph,e.geoProjection=Pu,e.geoProjectionMutator=Lc,e.geoRotation=Gi,e.geoStereographic=Yc,e.geoStereographicRaw=mc,e.geoStream=W,e.geoTransform=$h,e.geoTransverseMercator=gf,e.geoTransverseMercatorRaw=nc,Object.defineProperty(e,"__esModule",{value:!0})})});var UDe=ye((Oz,NDe)=>{(function(e,t){typeof Oz=="object"&&typeof NDe!="undefined"?t(Oz,RX(),gk()):typeof define=="function"&&define.amd?define(["exports","d3-geo","d3-array"],t):t(e.d3=e.d3||{},e.d3,e.d3)})(Oz,function(e,t,r){"use strict";var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,u=Math.log,c=Math.max,f=Math.min,h=Math.pow,v=Math.round,d=Math.sign||function(he){return he>0?1:he<0?-1:0},_=Math.sin,b=Math.tan,p=1e-6,E=1e-12,k=Math.PI,S=k/2,L=k/4,x=Math.SQRT1_2,C=H(2),M=H(k),g=k*2,P=180/k,T=k/180;function F(he){return he?he/Math.sin(he):1}function q(he){return he>1?S:he<-1?-S:Math.asin(he)}function V(he){return he>1?0:he<-1?k:Math.acos(he)}function H(he){return he>0?Math.sqrt(he):0}function X(he){return he=s(2*he),(he-1)/(he+1)}function G(he){return(s(he)-s(-he))/2}function N(he){return(s(he)+s(-he))/2}function W(he){return u(he+H(he*he+1))}function re(he){return u(he+H(he*he-1))}function ae(he){var be=b(he/2),Pe=2*u(o(he/2))/(be*be);function Oe(Je,He){var et=o(Je),Mt=o(He),Rt=_(He),Ut=Mt*et,tr=-((1-Ut?u((1+Ut)/2)/(1-Ut):-.5)+Pe/(1+Ut));return[tr*Mt*_(Je),tr*Rt]}return Oe.invert=function(Je,He){var et=H(Je*Je+He*He),Mt=-he/2,Rt=50,Ut;if(!et)return[0,0];do{var tr=Mt/2,yr=o(tr),Dr=_(tr),zr=Dr/yr,Xr=-u(n(yr));Mt-=Ut=(2/zr*Xr-Pe*zr-et)/(-Xr/(Dr*Dr)+1-Pe/(2*yr*yr))*(yr<0?.7:1)}while(n(Ut)>p&&--Rt>0);var di=_(Mt);return[a(Je*di,et*o(Mt)),q(He*di/et)]},Oe}function _e(){var he=S,be=t.geoProjectionMutator(ae),Pe=be(he);return Pe.radius=function(Oe){return arguments.length?be(he=Oe*T):he*P},Pe.scale(179.976).clipAngle(147)}function Me(he,be){var Pe=o(be),Oe=F(V(Pe*o(he/=2)));return[2*Pe*_(he)*Oe,_(be)*Oe]}Me.invert=function(he,be){if(!(he*he+4*be*be>k*k+p)){var Pe=he,Oe=be,Je=25;do{var He=_(Pe),et=_(Pe/2),Mt=o(Pe/2),Rt=_(Oe),Ut=o(Oe),tr=_(2*Oe),yr=Rt*Rt,Dr=Ut*Ut,zr=et*et,Xr=1-Dr*Mt*Mt,di=Xr?V(Ut*Mt)*H(Li=1/Xr):Li=0,Li,Ci=2*di*Ut*et-he,Qi=di*Rt-be,Mn=Li*(Dr*zr+di*Ut*Mt*yr),pa=Li*(.5*He*tr-di*2*Rt*et),ea=Li*.25*(tr*et-di*Rt*Dr*He),Ga=Li*(yr*Mt+di*zr*Ut),To=pa*ea-Ga*Mn;if(!To)break;var Wa=(Qi*pa-Ci*Ga)/To,co=(Ci*ea-Qi*Mn)/To;Pe-=Wa,Oe-=co}while((n(Wa)>p||n(co)>p)&&--Je>0);return[Pe,Oe]}};function ke(){return t.geoProjection(Me).scale(152.63)}function ge(he){var be=_(he),Pe=o(he),Oe=he>=0?1:-1,Je=b(Oe*he),He=(1+be-Pe)/2;function et(Mt,Rt){var Ut=o(Rt),tr=o(Mt/=2);return[(1+Ut)*_(Mt),(Oe*Rt>-a(tr,Je)-.001?0:-Oe*10)+He+_(Rt)*Pe-(1+Ut)*be*tr]}return et.invert=function(Mt,Rt){var Ut=0,tr=0,yr=50;do{var Dr=o(Ut),zr=_(Ut),Xr=o(tr),di=_(tr),Li=1+Xr,Ci=Li*zr-Mt,Qi=He+di*Pe-Li*be*Dr-Rt,Mn=Li*Dr/2,pa=-zr*di,ea=be*Li*zr/2,Ga=Pe*Xr+be*Dr*di,To=pa*ea-Ga*Mn,Wa=(Qi*pa-Ci*Ga)/To/2,co=(Ci*ea-Qi*Mn)/To;n(co)>2&&(co/=2),Ut-=Wa,tr-=co}while((n(Wa)>p||n(co)>p)&&--yr>0);return Oe*tr>-a(o(Ut),Je)-.001?[Ut*2,tr]:null},et}function ie(){var he=20*T,be=he>=0?1:-1,Pe=b(be*he),Oe=t.geoProjectionMutator(ge),Je=Oe(he),He=Je.stream;return Je.parallel=function(et){return arguments.length?(Pe=b((be=(he=et*T)>=0?1:-1)*he),Oe(he)):he*P},Je.stream=function(et){var Mt=Je.rotate(),Rt=He(et),Ut=(Je.rotate([0,0]),He(et)),tr=Je.precision();return Je.rotate(Mt),Rt.sphere=function(){Ut.polygonStart(),Ut.lineStart();for(var yr=be*-180;be*yr<180;yr+=be*90)Ut.point(yr,be*90);if(he)for(;be*(yr-=3*be*tr)>=-180;)Ut.point(yr,be*-a(o(yr*T/2),Pe)*P);Ut.lineEnd(),Ut.polygonEnd()},Rt},Je.scale(218.695).center([0,28.0974])}function Te(he,be){var Pe=b(be/2),Oe=H(1-Pe*Pe),Je=1+Oe*o(he/=2),He=_(he)*Oe/Je,et=Pe/Je,Mt=He*He,Rt=et*et;return[4/3*He*(3+Mt-3*Rt),4/3*et*(3+3*Mt-Rt)]}Te.invert=function(he,be){if(he*=3/8,be*=3/8,!he&&n(be)>1)return null;var Pe=he*he,Oe=be*be,Je=1+Pe+Oe,He=H((Je-H(Je*Je-4*be*be))/2),et=q(He)/3,Mt=He?re(n(be/He))/3:W(n(he))/3,Rt=o(et),Ut=N(Mt),tr=Ut*Ut-Rt*Rt;return[d(he)*2*a(G(Mt)*Rt,.25-tr),d(be)*2*a(Ut*_(et),.25+tr)]};function Ee(){return t.geoProjection(Te).scale(66.1603)}var Ae=H(8),ze=u(1+C);function Ce(he,be){var Pe=n(be);return PeE&&--Oe>0);return[he/(o(Pe)*(Ae-1/_(Pe))),d(be)*Pe]};function me(){return t.geoProjection(Ce).scale(112.314)}function De(he){var be=2*k/he;function Pe(Oe,Je){var He=t.geoAzimuthalEquidistantRaw(Oe,Je);if(n(Oe)>S){var et=a(He[1],He[0]),Mt=H(He[0]*He[0]+He[1]*He[1]),Rt=be*v((et-S)/be)+S,Ut=a(_(et-=Rt),2-o(et));et=Rt+q(k/Mt*_(Ut))-Ut,He[0]=Mt*o(et),He[1]=Mt*_(et)}return He}return Pe.invert=function(Oe,Je){var He=H(Oe*Oe+Je*Je);if(He>S){var et=a(Je,Oe),Mt=be*v((et-S)/be)+S,Rt=et>Mt?-1:1,Ut=He*o(Mt-et),tr=1/b(Rt*V((Ut-k)/H(k*(k-2*Ut)+He*He)));et=Mt+2*i((tr+Rt*H(tr*tr-3))/3),Oe=He*o(et),Je=He*_(et)}return t.geoAzimuthalEquidistantRaw.invert(Oe,Je)},Pe}function ce(){var he=5,be=t.geoProjectionMutator(De),Pe=be(he),Oe=Pe.stream,Je=.01,He=-o(Je*T),et=_(Je*T);return Pe.lobes=function(Mt){return arguments.length?be(he=+Mt):he},Pe.stream=function(Mt){var Rt=Pe.rotate(),Ut=Oe(Mt),tr=(Pe.rotate([0,0]),Oe(Mt));return Pe.rotate(Rt),Ut.sphere=function(){tr.polygonStart(),tr.lineStart();for(var yr=0,Dr=360/he,zr=2*k/he,Xr=90-180/he,di=S;yr0&&n(Je)>p);return Oe<0?NaN:Pe}function rt(he,be,Pe){return be===void 0&&(be=40),Pe===void 0&&(Pe=E),function(Oe,Je,He,et){var Mt,Rt,Ut;He=He===void 0?0:+He,et=et===void 0?0:+et;for(var tr=0;trMt){He-=Rt/=2,et-=Ut/=2;continue}Mt=Xr;var di=(He>0?-1:1)*Pe,Li=(et>0?-1:1)*Pe,Ci=he(He+di,et),Qi=he(He,et+Li),Mn=(Ci[0]-yr[0])/di,pa=(Ci[1]-yr[1])/di,ea=(Qi[0]-yr[0])/Li,Ga=(Qi[1]-yr[1])/Li,To=Ga*Mn-pa*ea,Wa=(n(To)<.5?.5:1)/To;if(Rt=(zr*ea-Dr*Ga)*Wa,Ut=(Dr*pa-zr*Mn)*Wa,He+=Rt,et+=Ut,n(Rt)0&&(Mt[1]*=1+Rt/1.5*Mt[0]*Mt[0]),Mt}return Oe.invert=rt(Oe),Oe}function It(){return t.geoProjection(ot()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function kt(he,be){var Pe=he*_(be),Oe=30,Je;do be-=Je=(be+_(be)-Pe)/(1+o(be));while(n(Je)>p&&--Oe>0);return be/2}function Ct(he,be,Pe){function Oe(Je,He){return[he*Je*o(He=kt(Pe,He)),be*_(He)]}return Oe.invert=function(Je,He){return He=q(He/be),[Je/(he*o(He)),q((2*He+_(2*He))/Pe)]},Oe}var Yt=Ct(C/S,C,k);function mr(){return t.geoProjection(Yt).scale(169.529)}var er=2.00276,Ke=1.11072;function bt(he,be){var Pe=kt(k,be);return[er*he/(1/o(be)+Ke/o(Pe)),(be+C*_(Pe))/er]}bt.invert=function(he,be){var Pe=er*be,Oe=be<0?-L:L,Je=25,He,et;do et=Pe-C*_(Oe),Oe-=He=(_(2*Oe)+2*Oe-k*_(et))/(2*o(2*Oe)+2+k*o(et)*C*o(Oe));while(n(He)>p&&--Je>0);return et=Pe-C*_(Oe),[he*(1/o(et)+Ke/o(Oe))/er,et]};function xt(){return t.geoProjection(bt).scale(160.857)}function Lt(he){var be=0,Pe=t.geoProjectionMutator(he),Oe=Pe(be);return Oe.parallel=function(Je){return arguments.length?Pe(be=Je*T):be*P},Oe}function St(he,be){return[he*o(be),be]}St.invert=function(he,be){return[he/o(be),be]};function Et(){return t.geoProjection(St).scale(152.63)}function dt(he){if(!he)return St;var be=1/b(he);function Pe(Oe,Je){var He=be+he-Je,et=He&&Oe*o(Je)/He;return[He*_(et),be-He*o(et)]}return Pe.invert=function(Oe,Je){var He=H(Oe*Oe+(Je=be-Je)*Je),et=be+he-He;return[He/o(et)*a(Oe,Je),et]},Pe}function Ht(){return Lt(dt).scale(123.082).center([0,26.1441]).parallel(45)}function $t(he){function be(Pe,Oe){var Je=S-Oe,He=Je&&Pe*he*_(Je)/Je;return[Je*_(He)/he,S-Je*o(He)]}return be.invert=function(Pe,Oe){var Je=Pe*he,He=S-Oe,et=H(Je*Je+He*He),Mt=a(Je,He);return[(et?et/_(et):1)*Mt/he,S-et]},be}function fr(){var he=.5,be=t.geoProjectionMutator($t),Pe=be(he);return Pe.fraction=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(158.837)}var xr=Ct(1,4/k,k);function Br(){return t.geoProjection(xr).scale(152.63)}function Or(he,be,Pe,Oe,Je,He){var et=o(He),Mt;if(n(he)>1||n(He)>1)Mt=V(Pe*Je+be*Oe*et);else{var Rt=_(he/2),Ut=_(He/2);Mt=2*q(H(Rt*Rt+be*Oe*Ut*Ut))}return n(Mt)>p?[Mt,a(Oe*_(He),be*Je-Pe*Oe*et)]:[0,0]}function Nr(he,be,Pe){return V((he*he+be*be-Pe*Pe)/(2*he*be))}function ut(he){return he-2*k*l((he+k)/(2*k))}function Ne(he,be,Pe){for(var Oe=[[he[0],he[1],_(he[1]),o(he[1])],[be[0],be[1],_(be[1]),o(be[1])],[Pe[0],Pe[1],_(Pe[1]),o(Pe[1])]],Je=Oe[2],He,et=0;et<3;++et,Je=He)He=Oe[et],Je.v=Or(He[1]-Je[1],Je[3],Je[2],He[3],He[2],He[0]-Je[0]),Je.point=[0,0];var Mt=Nr(Oe[0].v[0],Oe[2].v[0],Oe[1].v[0]),Rt=Nr(Oe[0].v[0],Oe[1].v[0],Oe[2].v[0]),Ut=k-Mt;Oe[2].point[1]=0,Oe[0].point[0]=-(Oe[1].point[0]=Oe[0].v[0]/2);var tr=[Oe[2].point[0]=Oe[0].point[0]+Oe[2].v[0]*o(Mt),2*(Oe[0].point[1]=Oe[1].point[1]=Oe[2].v[0]*_(Mt))];function yr(Dr,zr){var Xr=_(zr),di=o(zr),Li=new Array(3),Ci;for(Ci=0;Ci<3;++Ci){var Qi=Oe[Ci];if(Li[Ci]=Or(zr-Qi[1],Qi[3],Qi[2],di,Xr,Dr-Qi[0]),!Li[Ci][0])return Qi.point;Li[Ci][1]=ut(Li[Ci][1]-Qi.v[1])}var Mn=tr.slice();for(Ci=0;Ci<3;++Ci){var pa=Ci==2?0:Ci+1,ea=Nr(Oe[Ci].v[0],Li[Ci][0],Li[pa][0]);Li[Ci][1]<0&&(ea=-ea),Ci?Ci==1?(ea=Rt-ea,Mn[0]-=Li[Ci][0]*o(ea),Mn[1]-=Li[Ci][0]*_(ea)):(ea=Ut-ea,Mn[0]+=Li[Ci][0]*o(ea),Mn[1]+=Li[Ci][0]*_(ea)):(Mn[0]+=Li[Ci][0]*o(ea),Mn[1]-=Li[Ci][0]*_(ea))}return Mn[0]/=3,Mn[1]/=3,Mn}return yr}function Ye(he){return he[0]*=T,he[1]*=T,he}function Ve(){return Xe([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Xe(he,be,Pe){var Oe=t.geoCentroid({type:"MultiPoint",coordinates:[he,be,Pe]}),Je=[-Oe[0],-Oe[1]],He=t.geoRotation(Je),et=Ne(Ye(He(he)),Ye(He(be)),Ye(He(Pe)));et.invert=rt(et);var Mt=t.geoProjection(et).rotate(Je),Rt=Mt.center;return delete Mt.rotate,Mt.center=function(Ut){return arguments.length?Rt(He(Ut)):He.invert(Rt())},Mt.clipAngle(90)}function ht(he,be){var Pe=H(1-_(be));return[2/M*he*Pe,M*(1-Pe)]}ht.invert=function(he,be){var Pe=(Pe=be/M-1)*Pe;return[Pe>0?he*H(k/Pe)/2:0,q(1-Pe)]};function Le(){return t.geoProjection(ht).scale(95.6464).center([0,30])}function xe(he){var be=b(he);function Pe(Oe,Je){return[Oe,(Oe?Oe/_(Oe):1)*(_(Je)*o(Oe)-be*o(Je))]}return Pe.invert=be?function(Oe,Je){Oe&&(Je*=_(Oe)/Oe);var He=o(Oe);return[Oe,2*a(H(He*He+be*be-Je*Je)-He,be-Je)]}:function(Oe,Je){return[Oe,q(Oe?Je*b(Oe)/Oe:Je)]},Pe}function Se(){return Lt(xe).scale(249.828).clipAngle(90)}var lt=H(3);function Gt(he,be){return[lt*he*(2*o(2*be/3)-1)/M,lt*M*_(be/3)]}Gt.invert=function(he,be){var Pe=3*q(be/(lt*M));return[M*he/(lt*(2*o(2*Pe/3)-1)),Pe]};function Vt(){return t.geoProjection(Gt).scale(156.19)}function ar(he){var be=o(he);function Pe(Oe,Je){return[Oe*be,_(Je)/be]}return Pe.invert=function(Oe,Je){return[Oe/be,q(Je*be)]},Pe}function Qr(){return Lt(ar).parallel(38.58).scale(195.044)}function ai(he){var be=o(he);function Pe(Oe,Je){return[Oe*be,(1+be)*b(Je/2)]}return Pe.invert=function(Oe,Je){return[Oe/be,i(Je/(1+be))*2]},Pe}function jr(){return Lt(ai).scale(124.75)}function ri(he,be){var Pe=H(8/(3*k));return[Pe*he*(1-n(be)/k),Pe*be]}ri.invert=function(he,be){var Pe=H(8/(3*k)),Oe=be/Pe;return[he/(Pe*(1-n(Oe)/k)),Oe]};function bi(){return t.geoProjection(ri).scale(165.664)}function nn(he,be){var Pe=H(4-3*_(n(be)));return[2/H(6*k)*he*Pe,d(be)*H(2*k/3)*(2-Pe)]}nn.invert=function(he,be){var Pe=2-n(be)/H(2*k/3);return[he*H(6*k)/(2*Pe),d(be)*q((4-Pe*Pe)/3)]};function Wi(){return t.geoProjection(nn).scale(165.664)}function Ni(he,be){var Pe=H(k*(4+k));return[2/Pe*he*(1+H(1-4*be*be/(k*k))),4/Pe*be]}Ni.invert=function(he,be){var Pe=H(k*(4+k))/2;return[he*Pe/(1+H(1-be*be*(4+k)/(4*k))),be*Pe/2]};function _n(){return t.geoProjection(Ni).scale(180.739)}function $i(he,be){var Pe=(2+S)*_(be);be/=2;for(var Oe=0,Je=1/0;Oe<10&&n(Je)>p;Oe++){var He=o(be);be-=Je=(be+_(be)*(He+2)-Pe)/(2*He*(1+He))}return[2/H(k*(4+k))*he*(1+o(be)),2*H(k/(4+k))*_(be)]}$i.invert=function(he,be){var Pe=be*H((4+k)/k)/2,Oe=q(Pe),Je=o(Oe);return[he/(2/H(k*(4+k))*(1+Je)),q((Oe+Pe*(Je+2))/(2+S))]};function zn(){return t.geoProjection($i).scale(180.739)}function Wn(he,be){return[he*(1+o(be))/H(2+k),2*be/H(2+k)]}Wn.invert=function(he,be){var Pe=H(2+k),Oe=be*Pe/2;return[Pe*he/(1+o(Oe)),Oe]};function Dt(){return t.geoProjection(Wn).scale(173.044)}function ft(he,be){for(var Pe=(1+S)*_(be),Oe=0,Je=1/0;Oe<10&&n(Je)>p;Oe++)be-=Je=(be+_(be)-Pe)/(1+o(be));return Pe=H(2+k),[he*(1+o(be))/Pe,2*be/Pe]}ft.invert=function(he,be){var Pe=1+S,Oe=H(Pe/2);return[he*2*Oe/(1+o(be*=Oe)),q((be+_(be))/Pe)]};function jt(){return t.geoProjection(ft).scale(173.044)}var Zt=3+2*C;function _r(he,be){var Pe=_(he/=2),Oe=o(he),Je=H(o(be)),He=o(be/=2),et=_(be)/(He+C*Oe*Je),Mt=H(2/(1+et*et)),Rt=H((C*He+(Oe+Pe)*Je)/(C*He+(Oe-Pe)*Je));return[Zt*(Mt*(Rt-1/Rt)-2*u(Rt)),Zt*(Mt*et*(Rt+1/Rt)-2*i(et))]}_r.invert=function(he,be){if(!(He=Te.invert(he/1.2,be*1.065)))return null;var Pe=He[0],Oe=He[1],Je=20,He;he/=Zt,be/=Zt;do{var et=Pe/2,Mt=Oe/2,Rt=_(et),Ut=o(et),tr=_(Mt),yr=o(Mt),Dr=o(Oe),zr=H(Dr),Xr=tr/(yr+C*Ut*zr),di=Xr*Xr,Li=H(2/(1+di)),Ci=C*yr+(Ut+Rt)*zr,Qi=C*yr+(Ut-Rt)*zr,Mn=Ci/Qi,pa=H(Mn),ea=pa-1/pa,Ga=pa+1/pa,To=Li*ea-2*u(pa)-he,Wa=Li*Xr*Ga-2*i(Xr)-be,co=tr&&x*zr*Rt*di/tr,Do=(C*Ut*yr+zr)/(2*(yr+C*Ut*zr)*(yr+C*Ut*zr)*zr),zs=-.5*Xr*Li*Li*Li,Ss=zs*co,yo=zs*Do,po=(po=2*yr+C*zr*(Ut-Rt))*po*pa,_l=(C*Ut*yr*zr+Dr)/po,Vl=-(C*Rt*tr)/(zr*po),Yu=ea*Ss-2*_l/pa+Li*(_l+_l/Mn),cu=ea*yo-2*Vl/pa+Li*(Vl+Vl/Mn),el=Xr*Ga*Ss-2*co/(1+di)+Li*Ga*co+Li*Xr*(_l-_l/Mn),nu=Xr*Ga*yo-2*Do/(1+di)+Li*Ga*Do+Li*Xr*(Vl-Vl/Mn),zc=cu*el-nu*Yu;if(!zc)break;var Rl=(Wa*cu-To*nu)/zc,zl=(To*el-Wa*Yu)/zc;Pe-=Rl,Oe=c(-S,f(S,Oe-zl))}while((n(Rl)>p||n(zl)>p)&&--Je>0);return n(n(Oe)-S)Oe){var yr=H(tr),Dr=a(Ut,Rt),zr=Pe*v(Dr/Pe),Xr=Dr-zr,di=he*o(Xr),Li=(he*_(Xr)-Xr*_(di))/(S-di),Ci=Fa(Xr,Li),Qi=(k-he)/Da(Ci,di,k);Rt=yr;var Mn=50,pa;do Rt-=pa=(he+Da(Ci,di,Rt)*Qi-yr)/(Ci(Rt)*Qi);while(n(pa)>p&&--Mn>0);Ut=Xr*_(Rt),RtOe){var Rt=H(Mt),Ut=a(et,He),tr=Pe*v(Ut/Pe),yr=Ut-tr;He=Rt*o(yr),et=Rt*_(yr);for(var Dr=He-S,zr=_(He),Xr=et/zr,di=Hep||n(Xr)>p)&&--di>0);return[yr,Dr]},Rt}var Sn=sa(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function Ha(){return t.geoProjection(Sn).scale(149.995)}var oo=sa(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function xn(){return t.geoProjection(oo).scale(153.93)}var _t=sa(5/6*k,-.62636,-.0344,0,1.3493,-.05524,0,.045);function br(){return t.geoProjection(_t).scale(130.945)}function Hr(he,be){var Pe=he*he,Oe=be*be;return[he*(1-.162388*Oe)*(.87-952426e-9*Pe*Pe),be*(1+Oe/12)]}Hr.invert=function(he,be){var Pe=he,Oe=be,Je=50,He;do{var et=Oe*Oe;Oe-=He=(Oe*(1+et/12)-be)/(1+et/4)}while(n(He)>p&&--Je>0);Je=50,he/=1-.162388*et;do{var Mt=(Mt=Pe*Pe)*Mt;Pe-=He=(Pe*(.87-952426e-9*Mt)-he)/(.87-.00476213*Mt)}while(n(He)>p&&--Je>0);return[Pe,Oe]};function ti(){return t.geoProjection(Hr).scale(131.747)}var zi=sa(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Yi(){return t.geoProjection(zi).scale(131.087)}function an(he){var be=he(S,0)[0]-he(-S,0)[0];function Pe(Oe,Je){var He=Oe>0?-.5:.5,et=he(Oe+He*k,Je);return et[0]-=He*be,et}return he.invert&&(Pe.invert=function(Oe,Je){var He=Oe>0?-.5:.5,et=he.invert(Oe+He*be,Je),Mt=et[0]-He*k;return Mt<-k?Mt+=2*k:Mt>k&&(Mt-=2*k),et[0]=Mt,et}),Pe}function hi(he,be){var Pe=d(he),Oe=d(be),Je=o(be),He=o(he)*Je,et=_(he)*Je,Mt=_(Oe*be);he=n(a(et,Mt)),be=q(He),n(he-S)>p&&(he%=S);var Rt=Ji(he>k/4?S-he:he,be);return he>k/4&&(Mt=Rt[0],Rt[0]=-Rt[1],Rt[1]=-Mt),Rt[0]*=Pe,Rt[1]*=-Oe,Rt}hi.invert=function(he,be){n(he)>1&&(he=d(he)*2-he),n(be)>1&&(be=d(be)*2-be);var Pe=d(he),Oe=d(be),Je=-Pe*he,He=-Oe*be,et=He/Je<1,Mt=ca(et?He:Je,et?Je:He),Rt=Mt[0],Ut=Mt[1],tr=o(Ut);return et&&(Rt=-S-Rt),[Pe*(a(_(Rt)*tr,-_(Ut))+k),Oe*q(o(Rt)*tr)]};function Ji(he,be){if(be===S)return[0,0];var Pe=_(be),Oe=Pe*Pe,Je=Oe*Oe,He=1+Je,et=1+3*Je,Mt=1-Je,Rt=q(1/H(He)),Ut=Mt+Oe*He*Rt,tr=(1-Pe)/Ut,yr=H(tr),Dr=tr*He,zr=H(Dr),Xr=yr*Mt,di,Li;if(he===0)return[0,-(Xr+Oe*zr)];var Ci=o(be),Qi=1/Ci,Mn=2*Pe*Ci,pa=(-3*Oe+Rt*et)*Mn,ea=(-Ut*Ci-(1-Pe)*pa)/(Ut*Ut),Ga=.5*ea/yr,To=Mt*Ga-2*Oe*yr*Mn,Wa=Oe*He*ea+tr*et*Mn,co=-Qi*Mn,Do=-Qi*Wa,zs=-2*Qi*To,Ss=4*he/k,yo;if(he>.222*k||be.175*k){if(di=(Xr+Oe*H(Dr*(1+Je)-Xr*Xr))/(1+Je),he>k/4)return[di,di];var po=di,_l=.5*di;di=.5*(_l+po),Li=50;do{var Vl=H(Dr-di*di),Yu=di*(zs+co*Vl)+Do*q(di/zr)-Ss;if(!Yu)break;Yu<0?_l=di:po=di,di=.5*(_l+po)}while(n(po-_l)>p&&--Li>0)}else{di=p,Li=25;do{var cu=di*di,el=H(Dr-cu),nu=zs+co*el,zc=di*nu+Do*q(di/zr)-Ss,Rl=nu+(Do-co*cu)/el;di-=yo=el?zc/Rl:0}while(n(yo)>p&&--Li>0)}return[di,-Xr-Oe*H(Dr-di*di)]}function ca(he,be){for(var Pe=0,Oe=1,Je=.5,He=50;;){var et=Je*Je,Mt=H(Je),Rt=q(1/H(1+et)),Ut=1-et+Je*(1+et)*Rt,tr=(1-Mt)/Ut,yr=H(tr),Dr=tr*(1+et),zr=yr*(1-et),Xr=Dr-he*he,di=H(Xr),Li=be+zr+Je*di;if(n(Oe-Pe)0?Pe=Je:Oe=Je,Je=.5*(Pe+Oe)}if(!He)return null;var Ci=q(Mt),Qi=o(Ci),Mn=1/Qi,pa=2*Mt*Qi,ea=(-3*Je+Rt*(1+3*et))*pa,Ga=(-Ut*Qi-(1-Mt)*ea)/(Ut*Ut),To=.5*Ga/yr,Wa=(1-et)*To-2*Je*yr*pa,co=-2*Mn*Wa,Do=-Mn*pa,zs=-Mn*(Je*(1+et)*Ga+tr*(1+3*et)*pa);return[k/4*(he*(co+Do*di)+zs*q(he/H(Dr))),Ci]}function Fn(){return t.geoProjection(an(hi)).scale(239.75)}function Ma(he,be,Pe){var Oe,Je,He;return he?(Oe=go(he,Pe),be?(Je=go(be,1-Pe),He=Je[1]*Je[1]+Pe*Oe[0]*Oe[0]*Je[0]*Je[0],[[Oe[0]*Je[2]/He,Oe[1]*Oe[2]*Je[0]*Je[1]/He],[Oe[1]*Je[1]/He,-Oe[0]*Oe[2]*Je[0]*Je[2]/He],[Oe[2]*Je[1]*Je[2]/He,-Pe*Oe[0]*Oe[1]*Je[0]/He]]):[[Oe[0],0],[Oe[1],0],[Oe[2],0]]):(Je=go(be,1-Pe),[[0,Je[0]/Je[1]],[1/Je[1],0],[Je[2]/Je[1],0]])}function go(he,be){var Pe,Oe,Je,He,et;if(be=1-p)return Pe=(1-be)/4,Oe=N(he),He=X(he),Je=1/Oe,et=Oe*G(he),[He+Pe*(et-he)/(Oe*Oe),Je-Pe*He*Je*(et-he),Je+Pe*He*Je*(et+he),2*i(s(he))-S+Pe*(et-he)/Oe];var Mt=[1,0,0,0,0,0,0,0,0],Rt=[H(be),0,0,0,0,0,0,0,0],Ut=0;for(Oe=H(1-be),et=1;n(Rt[Ut]/Mt[Ut])>p&&Ut<8;)Pe=Mt[Ut++],Rt[Ut]=(Pe-Oe)/2,Mt[Ut]=(Pe+Oe)/2,Oe=H(Pe*Oe),et*=2;Je=et*Mt[Ut]*he;do He=Rt[Ut]*_(Oe=Je)/Mt[Ut],Je=(q(He)+Je)/2;while(--Ut);return[_(Je),He=o(Je),He/o(Je-Oe),Je]}function Bo(he,be,Pe){var Oe=n(he),Je=n(be),He=G(Je);if(Oe){var et=1/_(Oe),Mt=1/(b(Oe)*b(Oe)),Rt=-(Mt+Pe*(He*He*et*et)-1+Pe),Ut=(Pe-1)*Mt,tr=(-Rt+H(Rt*Rt-4*Ut))/2;return[ho(i(1/H(tr)),Pe)*d(he),ho(i(H((tr/Mt-1)/Pe)),1-Pe)*d(be)]}return[0,ho(i(He),1-Pe)*d(be)]}function ho(he,be){if(!be)return he;if(be===1)return u(b(he/2+L));for(var Pe=1,Oe=H(1-be),Je=H(be),He=0;n(Je)>p;He++){if(he%k){var et=i(Oe*b(he)/Pe);et<0&&(et+=k),he+=et+~~(he/k)*k}else he+=he;Je=(Pe+Oe)/2,Oe=H(Pe*Oe),Je=((Pe=Je)-Oe)/2}return he/(h(2,He)*Pe)}function Mo(he,be){var Pe=(C-1)/(C+1),Oe=H(1-Pe*Pe),Je=ho(S,Oe*Oe),He=-1,et=u(b(k/4+n(be)/2)),Mt=s(He*et)/H(Pe),Rt=xo(Mt*o(He*he),Mt*_(He*he)),Ut=Bo(Rt[0],Rt[1],Oe*Oe);return[-Ut[1],(be>=0?1:-1)*(.5*Je-Ut[0])]}function xo(he,be){var Pe=he*he,Oe=be+1,Je=1-Pe-be*be;return[.5*((he>=0?S:-S)-a(Je,2*he)),-.25*u(Je*Je+4*Pe)+.5*u(Oe*Oe+Pe)]}function qs(he,be){var Pe=be[0]*be[0]+be[1]*be[1];return[(he[0]*be[0]+he[1]*be[1])/Pe,(he[1]*be[0]-he[0]*be[1])/Pe]}Mo.invert=function(he,be){var Pe=(C-1)/(C+1),Oe=H(1-Pe*Pe),Je=ho(S,Oe*Oe),He=-1,et=Ma(.5*Je-be,-he,Oe*Oe),Mt=qs(et[0],et[1]),Rt=a(Mt[1],Mt[0])/He;return[Rt,2*i(s(.5/He*u(Pe*Mt[0]*Mt[0]+Pe*Mt[1]*Mt[1])))-S]};function Cs(){return t.geoProjection(an(Mo)).scale(151.496)}function Zs(he){var be=_(he),Pe=o(he),Oe=Xs(he);Oe.invert=Xs(-he);function Je(He,et){var Mt=Oe(He,et);He=Mt[0],et=Mt[1];var Rt=_(et),Ut=o(et),tr=o(He),yr=V(be*Rt+Pe*Ut*tr),Dr=_(yr),zr=n(Dr)>p?yr/Dr:1;return[zr*Pe*_(He),(n(He)>S?zr:-zr)*(be*Ut-Pe*Rt*tr)]}return Je.invert=function(He,et){var Mt=H(He*He+et*et),Rt=-_(Mt),Ut=o(Mt),tr=Mt*Ut,yr=-et*Rt,Dr=Mt*be,zr=H(tr*tr+yr*yr-Dr*Dr),Xr=a(tr*Dr+yr*zr,yr*Dr-tr*zr),di=(Mt>S?-1:1)*a(He*Rt,Mt*o(Xr)*Ut+et*_(Xr)*Rt);return Oe.invert(di,Xr)},Je}function Xs(he){var be=_(he),Pe=o(he);return function(Oe,Je){var He=o(Je),et=o(Oe)*He,Mt=_(Oe)*He,Rt=_(Je);return[a(Mt,et*Pe-Rt*be),q(Rt*Pe+et*be)]}}function wl(){var he=0,be=t.geoProjectionMutator(Zs),Pe=be(he),Oe=Pe.rotate,Je=Pe.stream,He=t.geoCircle();return Pe.parallel=function(et){if(!arguments.length)return he*P;var Mt=Pe.rotate();return be(he=et*T).rotate(Mt)},Pe.rotate=function(et){return arguments.length?(Oe.call(Pe,[et[0],et[1]-he*P]),He.center([-et[0],-et[1]]),Pe):(et=Oe.call(Pe),et[1]+=he*P,et)},Pe.stream=function(et){return et=Je(et),et.sphere=function(){et.polygonStart();var Mt=.01,Rt=He.radius(90-Mt)().coordinates[0],Ut=Rt.length-1,tr=-1,yr;for(et.lineStart();++tr=0;)et.point((yr=Rt[tr])[0],yr[1]);et.lineEnd(),et.polygonEnd()},et},Pe.scale(79.4187).parallel(45).clipAngle(180-.001)}var os=3,cl=q(1-1/os)*P,Ls=ar(0);function ml(he){var be=cl*T,Pe=ht(k,be)[0]-ht(-k,be)[0],Oe=Ls(0,be)[1],Je=ht(0,be)[1],He=M-Je,et=g/he,Mt=4/g,Rt=Oe+He*He*4/g;function Ut(tr,yr){var Dr,zr=n(yr);if(zr>be){var Xr=f(he-1,c(0,l((tr+k)/et)));tr+=k*(he-1)/he-Xr*et,Dr=ht(tr,zr),Dr[0]=Dr[0]*g/Pe-g*(he-1)/(2*he)+Xr*g/he,Dr[1]=Oe+(Dr[1]-Je)*4*He/g,yr<0&&(Dr[1]=-Dr[1])}else Dr=Ls(tr,yr);return Dr[0]*=Mt,Dr[1]/=Rt,Dr}return Ut.invert=function(tr,yr){tr/=Mt,yr*=Rt;var Dr=n(yr);if(Dr>Oe){var zr=f(he-1,c(0,l((tr+k)/et)));tr=(tr+k*(he-1)/he-zr*et)*Pe/g;var Xr=ht.invert(tr,.25*(Dr-Oe)*g/He+Je);return Xr[0]-=k*(he-1)/he-zr*et,yr<0&&(Xr[1]=-Xr[1]),Xr}return Ls.invert(tr,yr)},Ut}function Ys(he,be){return[he,be&1?90-p:cl]}function Hs(he,be){return[he,be&1?-90+p:-cl]}function Eo(he){return[he[0]*(1-p),he[1]]}function hs(he){var be=[].concat(r.range(-180,180+he/2,he).map(Ys),r.range(180,-180-he/2,-he).map(Hs));return{type:"Polygon",coordinates:[he===180?be.map(Eo):be]}}function $l(){var he=4,be=t.geoProjectionMutator(ml),Pe=be(he),Oe=Pe.stream;return Pe.lobes=function(Je){return arguments.length?be(he=+Je):he},Pe.stream=function(Je){var He=Pe.rotate(),et=Oe(Je),Mt=(Pe.rotate([0,0]),Oe(Je));return Pe.rotate(He),et.sphere=function(){t.geoStream(hs(180/he),Mt)},et},Pe.scale(239.75)}function ju(he){var be=1+he,Pe=_(1/be),Oe=q(Pe),Je=2*H(k/(He=k+4*Oe*be)),He,et=.5*Je*(be+H(he*(2+he))),Mt=he*he,Rt=be*be;function Ut(tr,yr){var Dr=1-_(yr),zr,Xr;if(Dr&&Dr<2){var di=S-yr,Li=25,Ci;do{var Qi=_(di),Mn=o(di),pa=Oe+a(Qi,be-Mn),ea=1+Rt-2*be*Mn;di-=Ci=(di-Mt*Oe-be*Qi+ea*pa-.5*Dr*He)/(2*be*Qi*pa)}while(n(Ci)>E&&--Li>0);zr=Je*H(ea),Xr=tr*pa/k}else zr=Je*(he+Dr),Xr=tr*Oe/k;return[zr*_(Xr),et-zr*o(Xr)]}return Ut.invert=function(tr,yr){var Dr=tr*tr+(yr-=et)*yr,zr=(1+Rt-Dr/(Je*Je))/(2*be),Xr=V(zr),di=_(Xr),Li=Oe+a(di,be-zr);return[q(tr/H(Dr))*k/Li,q(1-2*(Xr-Mt*Oe-be*di+(1+Rt-2*be*zr)*Li)/He)]},Ut}function fc(){var he=1,be=t.geoProjectionMutator(ju),Pe=be(he);return Pe.ratio=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(167.774).center([0,18.67])}var ys=.7109889596207567,on=.0528035274542;function ha(he,be){return be>-ys?(he=Yt(he,be),he[1]+=on,he):St(he,be)}ha.invert=function(he,be){return be>-ys?Yt.invert(he,be-on):St.invert(he,be)};function Qu(){return t.geoProjection(ha).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function Il(he,be){return n(be)>ys?(he=Yt(he,be),he[1]-=be>0?on:-on,he):St(he,be)}Il.invert=function(he,be){return n(be)>ys?Yt.invert(he,be+(be>0?on:-on)):St.invert(he,be)};function vo(){return t.geoProjection(Il).scale(152.63)}function Wl(he,be,Pe,Oe){var Je=H(4*k/(2*Pe+(1+he-be/2)*_(2*Pe)+(he+be)/2*_(4*Pe)+be/2*_(6*Pe))),He=H(Oe*_(Pe)*H((1+he*o(2*Pe)+be*o(4*Pe))/(1+he+be))),et=Pe*Rt(1);function Mt(yr){return H(1+he*o(2*yr)+be*o(4*yr))}function Rt(yr){var Dr=yr*Pe;return(2*Dr+(1+he-be/2)*_(2*Dr)+(he+be)/2*_(4*Dr)+be/2*_(6*Dr))/Pe}function Ut(yr){return Mt(yr)*_(yr)}var tr=function(yr,Dr){var zr=Pe*qt(Rt,et*_(Dr)/Pe,Dr/k);isNaN(zr)&&(zr=Pe*d(Dr));var Xr=Je*Mt(zr);return[Xr*He*yr/k*o(zr),Xr/He*_(zr)]};return tr.invert=function(yr,Dr){var zr=qt(Ut,Dr*He/Je);return[yr*k/(o(zr)*Je*He*Mt(zr)),q(Pe*Rt(zr/Pe)/et)]},Pe===0&&(Je=H(Oe/k),tr=function(yr,Dr){return[yr*Je,_(Dr)/Je]},tr.invert=function(yr,Dr){return[yr/Je,q(Dr*Je)]}),tr}function Ks(){var he=1,be=0,Pe=45*T,Oe=2,Je=t.geoProjectionMutator(Wl),He=Je(he,be,Pe,Oe);return He.a=function(et){return arguments.length?Je(he=+et,be,Pe,Oe):he},He.b=function(et){return arguments.length?Je(he,be=+et,Pe,Oe):be},He.psiMax=function(et){return arguments.length?Je(he,be,Pe=+et*T,Oe):Pe*P},He.ratio=function(et){return arguments.length?Je(he,be,Pe,Oe=+et):Oe},He.scale(180.739)}function Zl(he,be,Pe,Oe,Je,He,et,Mt,Rt,Ut,tr){if(tr.nanEncountered)return NaN;var yr,Dr,zr,Xr,di,Li,Ci,Qi,Mn,pa;if(yr=Pe-be,Dr=he(be+yr*.25),zr=he(Pe-yr*.25),isNaN(Dr)){tr.nanEncountered=!0;return}if(isNaN(zr)){tr.nanEncountered=!0;return}return Xr=yr*(Oe+4*Dr+Je)/12,di=yr*(Je+4*zr+He)/12,Li=Xr+di,pa=(Li-et)/15,Ut>Rt?(tr.maxDepthCount++,Li+pa):Math.abs(pa)>1;do Rt[Li]>zr?di=Li:Xr=Li,Li=Xr+di>>1;while(Li>Xr);var Ci=Rt[Li+1]-Rt[Li];return Ci&&(Ci=(zr-Rt[Li+1])/Ci),(Li+1+Ci)/et}var yr=2*tr(1)/k*He/Pe,Dr=function(zr,Xr){var di=tr(n(_(Xr))),Li=Oe(di)*zr;return di/=yr,[Li,Xr>=0?di:-di]};return Dr.invert=function(zr,Xr){var di;return Xr*=yr,n(Xr)<1&&(di=d(Xr)*q(Je(n(Xr))*He)),[zr/Oe(n(Xr)),di]},Dr}function ko(){var he=0,be=2.5,Pe=1.183136,Oe=t.geoProjectionMutator(Zn),Je=Oe(he,be,Pe);return Je.alpha=function(He){return arguments.length?Oe(he=+He,be,Pe):he},Je.k=function(He){return arguments.length?Oe(he,be=+He,Pe):be},Je.gamma=function(He){return arguments.length?Oe(he,be,Pe=+He):Pe},Je.scale(152.63)}function Co(he,be){return n(he[0]-be[0])=0;--Rt)Pe=he[1][Rt],Oe=Pe[0][0],Je=Pe[0][1],He=Pe[1][1],et=Pe[2][0],Mt=Pe[2][1],be.push(Tl([[et-p,Mt-p],[et-p,He+p],[Oe+p,He+p],[Oe+p,Je-p]],30));return{type:"Polygon",coordinates:[r.merge(be)]}}function So(he,be,Pe){var Oe,Je;function He(Rt,Ut){for(var tr=Ut<0?-1:1,yr=be[+(Ut<0)],Dr=0,zr=yr.length-1;Dryr[Dr][2][0];++Dr);var Xr=he(Rt-yr[Dr][1][0],Ut);return Xr[0]+=he(yr[Dr][1][0],tr*Ut>tr*yr[Dr][0][1]?yr[Dr][0][1]:Ut)[0],Xr}Pe?He.invert=Pe(He):he.invert&&(He.invert=function(Rt,Ut){for(var tr=Je[+(Ut<0)],yr=be[+(Ut<0)],Dr=0,zr=tr.length;DrXr&&(di=zr,zr=Xr,Xr=di),[[yr,zr],[Dr,Xr]]})}),et):be.map(function(Ut){return Ut.map(function(tr){return[[tr[0][0]*P,tr[0][1]*P],[tr[1][0]*P,tr[1][1]*P],[tr[2][0]*P,tr[2][1]*P]]})})},be!=null&&et.lobes(be),et}var cf=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function nh(){return So(bt,cf).scale(160.857)}var Al=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function Hc(){return So(Il,Al).scale(152.63)}var Ql=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function Ps(){return So(Yt,Ql).scale(169.529)}var mu=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function kc(){return So(Yt,mu).scale(169.529).rotate([20,0])}var Bf=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function Gc(){return So(ha,Bf,rt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var pd=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function Nf(){return So(St,pd).scale(152.63).rotate([-20,0])}function ss(he,be){return[3/g*he*H(k*k/3-be*be),be]}ss.invert=function(he,be){return[g/3*he/H(k*k/3-be*be),be]};function ff(){return t.geoProjection(ss).scale(158.837)}function ah(he){function be(Pe,Oe){if(n(n(Oe)-S)2)return null;Pe/=2,Oe/=2;var He=Pe*Pe,et=Oe*Oe,Mt=2*Oe/(1+He+et);return Mt=h((1+Mt)/(1-Mt),1/he),[a(2*Pe,1-He-et)/he,q((Mt-1)/(Mt+1))]},be}function Ul(){var he=.5,be=t.geoProjectionMutator(ah),Pe=be(he);return Pe.spacing=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(124.75)}var Js=k/C;function hc(he,be){return[he*(1+H(o(be)))/2,be/(o(be/2)*o(he/6))]}hc.invert=function(he,be){var Pe=n(he),Oe=n(be),Je=p,He=S;Oep||n(Li)>p)&&--Je>0);return Je&&[Pe,Oe]};function $s(){return t.geoProjection(Ts).scale(139.98)}function ds(he,be){return[_(he)/o(be),b(be)*o(he)]}ds.invert=function(he,be){var Pe=he*he,Oe=be*be,Je=Oe+1,He=Pe+Je,et=he?x*H((He-H(He*He-4*Pe))/Pe):1/H(Je);return[q(he*et),d(be)*V(et)]};function Es(){return t.geoProjection(ds).scale(144.049).clipAngle(90-.001)}function dc(he){var be=o(he),Pe=b(L+he/2);function Oe(Je,He){var et=He-he,Mt=n(et)=0;)tr=he[Ut],yr=tr[0]+Mt*(zr=yr)-Rt*Dr,Dr=tr[1]+Mt*Dr+Rt*zr;return yr=Mt*(zr=yr)-Rt*Dr,Dr=Mt*Dr+Rt*zr,[yr,Dr]}return Pe.invert=function(Oe,Je){var He=20,et=Oe,Mt=Je;do{for(var Rt=be,Ut=he[Rt],tr=Ut[0],yr=Ut[1],Dr=0,zr=0,Xr;--Rt>=0;)Ut=he[Rt],Dr=tr+et*(Xr=Dr)-Mt*zr,zr=yr+et*zr+Mt*Xr,tr=Ut[0]+et*(Xr=tr)-Mt*yr,yr=Ut[1]+et*yr+Mt*Xr;Dr=tr+et*(Xr=Dr)-Mt*zr,zr=yr+et*zr+Mt*Xr,tr=et*(Xr=tr)-Mt*yr-Oe,yr=et*yr+Mt*Xr-Je;var di=Dr*Dr+zr*zr,Li,Ci;et-=Li=(tr*Dr+yr*zr)/di,Mt-=Ci=(yr*Dr-tr*zr)/di}while(n(Li)+n(Ci)>p*p&&--He>0);if(He){var Qi=H(et*et+Mt*Mt),Mn=2*i(Qi*.5),pa=_(Mn);return[a(et*pa,Qi*o(Mn)),Qi?q(Mt*pa/Qi):0]}},Pe}var wo=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],Bd=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Qo=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],$a=[[.9245,0],[0,0],[.01943,0]],Ef=[[.721316,0],[0,0],[-.00881625,-.00617325]];function tc(){return Ml(wo,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function uu(){return Ml(Bd,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Ch(){return Ml(Qo,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function jc(){return Ml($a,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function kf(){return Ml(Ef,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Ml(he,be){var Pe=t.geoProjection(sv(he)).rotate(be).clipAngle(90),Oe=t.geoRotation(be),Je=Pe.center;return delete Pe.rotate,Pe.center=function(He){return arguments.length?Je(Oe(He)):Oe.invert(Je())},Pe}var Jh=H(6),Lh=H(7);function oh(he,be){var Pe=q(7*_(be)/(3*Jh));return[Jh*he*(2*o(2*Pe/3)-1)/Lh,9*_(Pe/3)/Lh]}oh.invert=function(he,be){var Pe=3*q(be*Lh/9);return[he*Lh/(Jh*(2*o(2*Pe/3)-1)),q(_(Pe)*3*Jh/7)]};function hf(){return t.geoProjection(oh).scale(164.859)}function Ph(he,be){for(var Pe=(1+x)*_(be),Oe=be,Je=0,He;Je<25&&(Oe-=He=(_(Oe/2)+_(Oe)-Pe)/(.5*o(Oe/2)+o(Oe)),!(n(He)E&&--Oe>0);return He=Pe*Pe,et=He*He,Mt=He*et,[he/(.84719-.13063*He+Mt*Mt*(-.04515+.05494*He-.02326*et+.00331*Mt)),Pe]};function df(){return t.geoProjection(Wc).scale(175.295)}function Cu(he,be){return[he*(1+o(be))/2,2*(be-b(be/2))]}Cu.invert=function(he,be){for(var Pe=be/2,Oe=0,Je=1/0;Oe<10&&n(Je)>p;++Oe){var He=o(be/2);be-=Je=(be-b(be/2)-Pe)/(1-.5/(He*He))}return[2*he/(1+o(be)),be]};function Uf(){return t.geoProjection(Cu).scale(152.63)}var Zc=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function vs(){return So(Ge(1/0),Zc).rotate([20,0]).scale(152.63)}function Ih(he,be){var Pe=_(be),Oe=o(be),Je=d(he);if(he===0||n(be)===S)return[0,be];if(be===0)return[he,0];if(n(he)===S)return[he*Oe,S*Pe];var He=k/(2*he)-2*he/k,et=2*be/k,Mt=(1-et*et)/(Pe-et),Rt=He*He,Ut=Mt*Mt,tr=1+Rt/Ut,yr=1+Ut/Rt,Dr=(He*Pe/Mt-He/2)/tr,zr=(Ut*Pe/Rt+Mt/2)/yr,Xr=Dr*Dr+Oe*Oe/tr,di=zr*zr-(Ut*Pe*Pe/Rt+Mt*Pe-1)/yr;return[S*(Dr+H(Xr)*Je),S*(zr+H(di<0?0:di)*d(-be*He)*Je)]}Ih.invert=function(he,be){he/=S,be/=S;var Pe=he*he,Oe=be*be,Je=Pe+Oe,He=k*k;return[he?(Je-1+H((1-Je)*(1-Je)+4*Pe))/(2*he)*S:0,qt(function(et){return Je*(k*_(et)-2*et)*k+4*et*et*(be-_(et))+2*k*et-He*be},0)]};function Nd(){return t.geoProjection(Ih).scale(127.267)}var Qh=1.0148,Cf=.23185,gd=-.14499,Lu=.02406,ed=Qh,eu=5*Cf,Pu=7*gd,Lc=9*Lu,fl=1.790857183;function Xc(he,be){var Pe=be*be;return[he,be*(Qh+Pe*Pe*(Cf+Pe*(gd+Lu*Pe)))]}Xc.invert=function(he,be){be>fl?be=fl:be<-fl&&(be=-fl);var Pe=be,Oe;do{var Je=Pe*Pe;Pe-=Oe=(Pe*(Qh+Je*Je*(Cf+Je*(gd+Lu*Je)))-be)/(ed+Je*Je*(eu+Je*(Pu+Lc*Je)))}while(n(Oe)>p);return[he,Pe]};function ic(){return t.geoProjection(Xc).scale(139.319)}function yu(he,be){if(n(be)p&&--Je>0);return et=b(Oe),[(n(be)=0;)if(Oe=be[Mt],Pe[0]===Oe[0]&&Pe[1]===Oe[1]){if(He)return[He,Pe];He=Pe}}}function tu(he){for(var be=he.length,Pe=[],Oe=he[be-1],Je=0;Je0?[-Oe[0],0]:[180-Oe[0],180])};var be=uh.map(function(Pe){return{face:Pe,project:he(Pe)}});return[-1,0,0,1,0,1,4,5].forEach(function(Pe,Oe){var Je=be[Pe];Je&&(Je.children||(Je.children=[])).push(be[Oe])}),Lf(be[0],function(Pe,Oe){return be[Pe<-k/2?Oe<0?6:4:Pe<0?Oe<0?2:0:PeOe^zr>Oe&&Pe<(Dr-Ut)*(Oe-tr)/(zr-tr)+Ut&&(Je=!Je)}return Je}function Dl(he,be){var Pe=be.stream,Oe;if(!Pe)throw new Error("invalid projection");switch(he&&he.type){case"Feature":Oe=Xu;break;case"FeatureCollection":Oe=zh;break;default:Oe=gc;break}return Oe(he,Pe)}function zh(he,be){return{type:"FeatureCollection",features:he.features.map(function(Pe){return Xu(Pe,be)})}}function Xu(he,be){return{type:"Feature",id:he.id,properties:he.properties,geometry:gc(he.geometry,be)}}function Dc(he,be){return{type:"GeometryCollection",geometries:he.geometries.map(function(Pe){return gc(Pe,be)})}}function gc(he,be){if(!he)return null;if(he.type==="GeometryCollection")return Dc(he,be);var Pe;switch(he.type){case"Point":Pe=mc;break;case"MultiPoint":Pe=mc;break;case"LineString":Pe=Yc;break;case"MultiLineString":Pe=Yc;break;case"Polygon":Pe=nc;break;case"MultiPolygon":Pe=nc;break;case"Sphere":Pe=nc;break;default:return null}return t.geoStream(he,be(Pe)),Pe.result()}var hl=[],ru=[],mc={point:function(he,be){hl.push([he,be])},result:function(){var he=hl.length?hl.length<2?{type:"Point",coordinates:hl[0]}:{type:"MultiPoint",coordinates:hl}:null;return hl=[],he}},Yc={lineStart:pc,point:function(he,be){hl.push([he,be])},lineEnd:function(){hl.length&&(ru.push(hl),hl=[])},result:function(){var he=ru.length?ru.length<2?{type:"LineString",coordinates:ru[0]}:{type:"MultiLineString",coordinates:ru}:null;return ru=[],he}},nc={polygonStart:pc,lineStart:pc,point:function(he,be){hl.push([he,be])},lineEnd:function(){var he=hl.length;if(he){do hl.push(hl[0].slice());while(++he<4);ru.push(hl),hl=[]}},polygonEnd:pc,result:function(){if(!ru.length)return null;var he=[],be=[];return ru.forEach(function(Pe){pf(Pe)?he.push([Pe]):be.push(Pe)}),be.forEach(function(Pe){var Oe=Pe[0];he.some(function(Je){if(Rh(Je[0],Oe))return Je.push(Pe),!0})||he.push([Pe])}),ru=[],he.length?he.length>1?{type:"MultiPolygon",coordinates:he}:{type:"Polygon",coordinates:he[0]}:null}};function gf(he){var be=he(S,0)[0]-he(-S,0)[0];function Pe(Oe,Je){var He=n(Oe)0?Oe-k:Oe+k,Je),Mt=(et[0]-et[1])*x,Rt=(et[0]+et[1])*x;if(He)return[Mt,Rt];var Ut=be*x,tr=Mt>0^Rt>0?-1:1;return[tr*Mt-d(Rt)*Ut,tr*Rt-d(Mt)*Ut]}return he.invert&&(Pe.invert=function(Oe,Je){var He=(Oe+Je)*x,et=(Je-Oe)*x,Mt=n(He)<.5*be&&n(et)<.5*be;if(!Mt){var Rt=be*x,Ut=He>0^et>0?-1:1,tr=-Ut*Oe+(et>0?1:-1)*Rt,yr=-Ut*Je+(He>0?1:-1)*Rt;He=(-tr-yr)*x,et=(tr-yr)*x}var Dr=he.invert(He,et);return Mt||(Dr[0]+=He>0?k:-k),Dr}),t.geoProjection(Pe).rotate([-90,-90,45]).clipAngle(180-.001)}function gt(){return gf(hi).scale(176.423)}function Bt(){return gf(Mo).scale(111.48)}function wr(he,be){if(!(0<=(be=+be)&&be<=20))throw new Error("invalid digits");function Pe(Ut){var tr=Ut.length,yr=2,Dr=new Array(tr);for(Dr[0]=+Ut[0].toFixed(be),Dr[1]=+Ut[1].toFixed(be);yr2||zr[0]!=tr[0]||zr[1]!=tr[1])&&(yr.push(zr),tr=zr)}return yr.length===1&&Ut.length>1&&yr.push(Pe(Ut[Ut.length-1])),yr}function He(Ut){return Ut.map(Je)}function et(Ut){if(Ut==null)return Ut;var tr;switch(Ut.type){case"GeometryCollection":tr={type:"GeometryCollection",geometries:Ut.geometries.map(et)};break;case"Point":tr={type:"Point",coordinates:Pe(Ut.coordinates)};break;case"MultiPoint":tr={type:Ut.type,coordinates:Oe(Ut.coordinates)};break;case"LineString":tr={type:Ut.type,coordinates:Je(Ut.coordinates)};break;case"MultiLineString":case"Polygon":tr={type:Ut.type,coordinates:He(Ut.coordinates)};break;case"MultiPolygon":tr={type:"MultiPolygon",coordinates:Ut.coordinates.map(He)};break;default:return Ut}return Ut.bbox!=null&&(tr.bbox=Ut.bbox),tr}function Mt(Ut){var tr={type:"Feature",properties:Ut.properties,geometry:et(Ut.geometry)};return Ut.id!=null&&(tr.id=Ut.id),Ut.bbox!=null&&(tr.bbox=Ut.bbox),tr}if(he!=null)switch(he.type){case"Feature":return Mt(he);case"FeatureCollection":{var Rt={type:"FeatureCollection",features:he.features.map(Mt)};return he.bbox!=null&&(Rt.bbox=he.bbox),Rt}default:return et(he)}return he}function vr(he){var be=_(he);function Pe(Oe,Je){var He=be?b(Oe*be/2)/be:Oe/2;if(!Je)return[2*He,-he];var et=2*i(He*_(Je)),Mt=1/b(Je);return[_(et)*Mt,Je+(1-o(et))*Mt-he]}return Pe.invert=function(Oe,Je){if(n(Je+=he)p&&--Mt>0);var Dr=Oe*(Ut=b(et)),zr=b(n(Je)0?S:-S)*(Rt+Je*(tr-et)/2+Je*Je*(tr-2*Rt+et)/2)]}xi.invert=function(he,be){var Pe=be/S,Oe=Pe*90,Je=f(18,n(Oe/5)),He=c(0,l(Je));do{var et=fi[He][1],Mt=fi[He+1][1],Rt=fi[f(19,He+2)][1],Ut=Rt-et,tr=Rt-2*Mt+et,yr=2*(n(Pe)-Mt)/Ut,Dr=tr/Ut,zr=yr*(1-Dr*yr*(1-2*Dr*yr));if(zr>=0||He===1){Oe=(be>=0?5:-5)*(zr+Je);var Xr=50,di;do Je=f(18,n(Oe)/5),He=l(Je),zr=Je-He,et=fi[He][1],Mt=fi[He+1][1],Rt=fi[f(19,He+2)][1],Oe-=(di=(be>=0?S:-S)*(Mt+zr*(Rt-et)/2+zr*zr*(Rt-2*Mt+et)/2)-be)*P;while(n(di)>E&&--Xr>0);break}}while(--He>=0);var Li=fi[He][0],Ci=fi[He+1][0],Qi=fi[f(19,He+2)][0];return[he/(Ci+zr*(Qi-Li)/2+zr*zr*(Qi-2*Ci+Li)/2),Oe*T]};function Fi(){return t.geoProjection(xi).scale(152.63)}function Xi(he){function be(Pe,Oe){var Je=o(Oe),He=(he-1)/(he-Je*o(Pe));return[He*Je*_(Pe),He*_(Oe)]}return be.invert=function(Pe,Oe){var Je=Pe*Pe+Oe*Oe,He=H(Je),et=(he-H(1-Je*(he+1)/(he-1)))/((he-1)/He+He/(he-1));return[a(Pe*et,He*H(1-et*et)),He?q(Oe*et/He):0]},be}function hn(he,be){var Pe=Xi(he);if(!be)return Pe;var Oe=o(be),Je=_(be);function He(et,Mt){var Rt=Pe(et,Mt),Ut=Rt[1],tr=Ut*Je/(he-1)+Oe;return[Rt[0]*Oe/tr,Ut/tr]}return He.invert=function(et,Mt){var Rt=(he-1)/(he-1-Mt*Je);return Pe.invert(Rt*et,Rt*Mt*Oe)},He}function Ti(){var he=2,be=0,Pe=t.geoProjectionMutator(hn),Oe=Pe(he,be);return Oe.distance=function(Je){return arguments.length?Pe(he=+Je,be):he},Oe.tilt=function(Je){return arguments.length?Pe(he,be=Je*T):be*P},Oe.scale(432.147).clipAngle(V(1/he)*P-1e-6)}var qi=1e-4,Ii=1e4,mi=-180,Pn=mi+qi,Ea=180,Ta=Ea-qi,ka=-90,qa=ka+qi,Cn=90,sn=Cn-qi;function Ua(he){return he.length>0}function mo(he){return Math.floor(he*Ii)/Ii}function Xo(he){return he===ka||he===Cn?[0,he]:[mi,mo(he)]}function As(he){var be=he[0],Pe=he[1],Oe=!1;return be<=Pn?(be=mi,Oe=!0):be>=Ta&&(be=Ea,Oe=!0),Pe<=qa?(Pe=ka,Oe=!0):Pe>=sn&&(Pe=Cn,Oe=!0),Oe?[be,Pe]:he}function es(he){return he.map(As)}function _s(he,be,Pe){for(var Oe=0,Je=he.length;Oe=Ta||tr<=qa||tr>=sn){He[et]=As(Rt);for(var yr=et+1;yrPn&&zrqa&&Xr=Mt)break;Pe.push({index:-1,polygon:be,ring:He=He.slice(yr-1)}),He[0]=Xo(He[0][1]),et=-1,Mt=He.length}}}}function No(he){var be,Pe=he.length,Oe={},Je={},He,et,Mt,Rt,Ut;for(be=0;be0?k-Mt:Mt)*P],Ut=t.geoProjection(he(et)).rotate(Rt),tr=t.geoRotation(Rt),yr=Ut.center;return delete Ut.rotate,Ut.center=function(Dr){return arguments.length?yr(tr(Dr)):tr.invert(yr())},Ut.clipAngle(90)}function Jo(he){var be=o(he);function Pe(Oe,Je){var He=t.geoGnomonicRaw(Oe,Je);return He[0]*=be,He}return Pe.invert=function(Oe,Je){return t.geoGnomonicRaw.invert(Oe/be,Je)},Pe}function iu(){return Du([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Du(he,be){return ps(Jo,he,be)}function ac(he){if(!(he*=2))return t.geoAzimuthalEquidistantRaw;var be=-he/2,Pe=-be,Oe=he*he,Je=b(Pe),He=.5/_(Pe);function et(Mt,Rt){var Ut=V(o(Rt)*o(Mt-be)),tr=V(o(Rt)*o(Mt-Pe)),yr=Rt<0?-1:1;return Ut*=Ut,tr*=tr,[(Ut-tr)/(2*he),yr*H(4*Oe*tr-(Oe-Ut+tr)*(Oe-Ut+tr))/(2*he)]}return et.invert=function(Mt,Rt){var Ut=Rt*Rt,tr=o(H(Ut+(Dr=Mt+be)*Dr)),yr=o(H(Ut+(Dr=Mt+Pe)*Dr)),Dr,zr;return[a(zr=tr-yr,Dr=(tr+yr)*Je),(Rt<0?-1:1)*V(H(Dr*Dr+zr*zr)*He)]},et}function mf(){return bu([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function bu(he,be){return ps(ac,he,be)}function Kc(he,be){if(n(be)p&&--Mt>0);return[d(he)*(H(Je*Je+4)+Je)*k/4,S*et]};function _c(){return t.geoProjection(yc).scale(127.16)}function le(he,be,Pe,Oe,Je){function He(et,Mt){var Rt=Pe*_(Oe*Mt),Ut=H(1-Rt*Rt),tr=H(2/(1+Ut*o(et*=Je)));return[he*Ut*tr*_(et),be*Rt*tr]}return He.invert=function(et,Mt){var Rt=et/he,Ut=Mt/be,tr=H(Rt*Rt+Ut*Ut),yr=2*q(tr/2);return[a(et*b(yr),he*tr)/Je,tr&&q(Mt*_(yr)/(be*Pe*tr))/Oe]},He}function w(he,be,Pe,Oe){var Je=k/3;he=c(he,p),be=c(be,p),he=f(he,S),be=f(be,k-p),Pe=c(Pe,0),Pe=f(Pe,100-p),Oe=c(Oe,p);var He=Pe/100+1,et=Oe/100,Mt=V(He*o(Je))/Je,Rt=_(he)/_(Mt*S),Ut=be/k,tr=H(et*_(he/2)/_(be/2)),yr=tr/H(Ut*Rt*Mt),Dr=1/(tr*H(Ut*Rt*Mt));return le(yr,Dr,Rt,Mt,Ut)}function B(){var he=65*T,be=60*T,Pe=20,Oe=200,Je=t.geoProjectionMutator(w),He=Je(he,be,Pe,Oe);return He.poleline=function(et){return arguments.length?Je(he=+et*T,be,Pe,Oe):he*P},He.parallels=function(et){return arguments.length?Je(he,be=+et*T,Pe,Oe):be*P},He.inflation=function(et){return arguments.length?Je(he,be,Pe=+et,Oe):Pe},He.ratio=function(et){return arguments.length?Je(he,be,Pe,Oe=+et):Oe},He.scale(163.775)}function Q(){return B().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var ee=4*k+3*H(3),se=2*H(2*k*H(3)/ee),qe=Ct(se*H(3)/k,se,ee/6);function je(){return t.geoProjection(qe).scale(176.84)}function it(he,be){return[he*H(1-3*be*be/(k*k)),be]}it.invert=function(he,be){return[he/H(1-3*be*be/(k*k)),be]};function yt(){return t.geoProjection(it).scale(152.63)}function Ot(he,be){var Pe=o(be),Oe=o(he)*Pe,Je=1-Oe,He=o(he=a(_(he)*Pe,-_(be))),et=_(he);return Pe=H(1-Oe*Oe),[et*Pe-He*Je,-He*Pe-et*Je]}Ot.invert=function(he,be){var Pe=(he*he+be*be)/-2,Oe=H(-Pe*(2+Pe)),Je=be*Pe+he*Oe,He=he*Pe-be*Oe,et=H(He*He+Je*Je);return[a(Oe*Je,et*(1+Pe)),et?-q(Oe*He/et):0]};function Nt(){return t.geoProjection(Ot).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function hr(he,be){var Pe=Me(he,be);return[(Pe[0]+he/S)/2,(Pe[1]+be)/2]}hr.invert=function(he,be){var Pe=he,Oe=be,Je=25;do{var He=o(Oe),et=_(Oe),Mt=_(2*Oe),Rt=et*et,Ut=He*He,tr=_(Pe),yr=o(Pe/2),Dr=_(Pe/2),zr=Dr*Dr,Xr=1-Ut*yr*yr,di=Xr?V(He*yr)*H(Li=1/Xr):Li=0,Li,Ci=.5*(2*di*He*Dr+Pe/S)-he,Qi=.5*(di*et+Oe)-be,Mn=.5*Li*(Ut*zr+di*He*yr*Rt)+.5/S,pa=Li*(tr*Mt/4-di*et*Dr),ea=.125*Li*(Mt*Dr-di*et*Ut*tr),Ga=.5*Li*(Rt*yr+di*zr*He)+.5,To=pa*ea-Ga*Mn,Wa=(Qi*pa-Ci*Ga)/To,co=(Ci*ea-Qi*Mn)/To;Pe-=Wa,Oe-=co}while((n(Wa)>p||n(co)>p)&&--Je>0);return[Pe,Oe]};function Mr(){return t.geoProjection(hr).scale(158.837)}e.geoNaturalEarth=t.geoNaturalEarth1,e.geoNaturalEarthRaw=t.geoNaturalEarth1Raw,e.geoAiry=_e,e.geoAiryRaw=ae,e.geoAitoff=ke,e.geoAitoffRaw=Me,e.geoArmadillo=ie,e.geoArmadilloRaw=ge,e.geoAugust=Ee,e.geoAugustRaw=Te,e.geoBaker=me,e.geoBakerRaw=Ce,e.geoBerghaus=ce,e.geoBerghausRaw=De,e.geoBertin1953=It,e.geoBertin1953Raw=ot,e.geoBoggs=xt,e.geoBoggsRaw=bt,e.geoBonne=Ht,e.geoBonneRaw=dt,e.geoBottomley=fr,e.geoBottomleyRaw=$t,e.geoBromley=Br,e.geoBromleyRaw=xr,e.geoChamberlin=Xe,e.geoChamberlinRaw=Ne,e.geoChamberlinAfrica=Ve,e.geoCollignon=Le,e.geoCollignonRaw=ht,e.geoCraig=Se,e.geoCraigRaw=xe,e.geoCraster=Vt,e.geoCrasterRaw=Gt,e.geoCylindricalEqualArea=Qr,e.geoCylindricalEqualAreaRaw=ar,e.geoCylindricalStereographic=jr,e.geoCylindricalStereographicRaw=ai,e.geoEckert1=bi,e.geoEckert1Raw=ri,e.geoEckert2=Wi,e.geoEckert2Raw=nn,e.geoEckert3=_n,e.geoEckert3Raw=Ni,e.geoEckert4=zn,e.geoEckert4Raw=$i,e.geoEckert5=Dt,e.geoEckert5Raw=Wn,e.geoEckert6=jt,e.geoEckert6Raw=ft,e.geoEisenlohr=Fr,e.geoEisenlohrRaw=_r,e.geoFahey=gi,e.geoFaheyRaw=Vr,e.geoFoucaut=Mi,e.geoFoucautRaw=Si,e.geoFoucautSinusoidal=Gi,e.geoFoucautSinusoidalRaw=Pi,e.geoGilbert=jn,e.geoGingery=jo,e.geoGingeryRaw=ua,e.geoGinzburg4=Ha,e.geoGinzburg4Raw=Sn,e.geoGinzburg5=xn,e.geoGinzburg5Raw=oo,e.geoGinzburg6=br,e.geoGinzburg6Raw=_t,e.geoGinzburg8=ti,e.geoGinzburg8Raw=Hr,e.geoGinzburg9=Yi,e.geoGinzburg9Raw=zi,e.geoGringorten=Fn,e.geoGringortenRaw=hi,e.geoGuyou=Cs,e.geoGuyouRaw=Mo,e.geoHammer=ct,e.geoHammerRaw=Ge,e.geoHammerRetroazimuthal=wl,e.geoHammerRetroazimuthalRaw=Zs,e.geoHealpix=$l,e.geoHealpixRaw=ml,e.geoHill=fc,e.geoHillRaw=ju,e.geoHomolosine=vo,e.geoHomolosineRaw=Il,e.geoHufnagel=Ks,e.geoHufnagelRaw=Wl,e.geoHyperelliptical=ko,e.geoHyperellipticalRaw=Zn,e.geoInterrupt=So,e.geoInterruptedBoggs=nh,e.geoInterruptedHomolosine=Hc,e.geoInterruptedMollweide=Ps,e.geoInterruptedMollweideHemispheres=kc,e.geoInterruptedSinuMollweide=Gc,e.geoInterruptedSinusoidal=Nf,e.geoKavrayskiy7=ff,e.geoKavrayskiy7Raw=ss,e.geoLagrange=Ul,e.geoLagrangeRaw=ah,e.geoLarrivee=Cc,e.geoLarriveeRaw=hc,e.geoLaskowski=$s,e.geoLaskowskiRaw=Ts,e.geoLittrow=Es,e.geoLittrowRaw=ds,e.geoLoximuthal=Sl,e.geoLoximuthalRaw=dc,e.geoMiller=Is,e.geoMillerRaw=ec,e.geoModifiedStereographic=Ml,e.geoModifiedStereographicRaw=sv,e.geoModifiedStereographicAlaska=tc,e.geoModifiedStereographicGs48=uu,e.geoModifiedStereographicGs50=Ch,e.geoModifiedStereographicMiller=jc,e.geoModifiedStereographicLee=kf,e.geoMollweide=mr,e.geoMollweideRaw=Yt,e.geoMtFlatPolarParabolic=hf,e.geoMtFlatPolarParabolicRaw=oh,e.geoMtFlatPolarQuartic=$h,e.geoMtFlatPolarQuarticRaw=Ph,e.geoMtFlatPolarSinusoidal=sh,e.geoMtFlatPolarSinusoidalRaw=rc,e.geoNaturalEarth2=df,e.geoNaturalEarth2Raw=Wc,e.geoNellHammer=Uf,e.geoNellHammerRaw=Cu,e.geoInterruptedQuarticAuthalic=vs,e.geoNicolosi=Nd,e.geoNicolosiRaw=Ih,e.geoPatterson=ic,e.geoPattersonRaw=Xc,e.geoPolyconic=Qs,e.geoPolyconicRaw=yu,e.geoPolyhedral=Lf,e.geoPolyhedralButterfly=Os,e.geoPolyhedralCollignon=Dh,e.geoPolyhedralWaterman=Ds,e.geoProject=Dl,e.geoGringortenQuincuncial=gt,e.geoPeirceQuincuncial=Bt,e.geoPierceQuincuncial=Bt,e.geoQuantize=wr,e.geoQuincuncial=gf,e.geoRectangularPolyconic=Ur,e.geoRectangularPolyconicRaw=vr,e.geoRobinson=Fi,e.geoRobinsonRaw=xi,e.geoSatellite=Ti,e.geoSatelliteRaw=hn,e.geoSinuMollweide=Qu,e.geoSinuMollweideRaw=ha,e.geoSinusoidal=Et,e.geoSinusoidalRaw=St,e.geoStitch=Rs,e.geoTimes=Ja,e.geoTimesRaw=ia,e.geoTwoPointAzimuthal=Du,e.geoTwoPointAzimuthalRaw=Jo,e.geoTwoPointAzimuthalUsa=iu,e.geoTwoPointEquidistant=bu,e.geoTwoPointEquidistantRaw=ac,e.geoTwoPointEquidistantUsa=mf,e.geoVanDerGrinten=Ru,e.geoVanDerGrintenRaw=Kc,e.geoVanDerGrinten2=Ra,e.geoVanDerGrinten2Raw=Rc,e.geoVanDerGrinten3=Jc,e.geoVanDerGrinten3Raw=eo,e.geoVanDerGrinten4=_c,e.geoVanDerGrinten4Raw=yc,e.geoWagner=B,e.geoWagner7=Q,e.geoWagnerRaw=w,e.geoWagner4=je,e.geoWagner4Raw=qe,e.geoWagner6=yt,e.geoWagner6Raw=it,e.geoWiechel=Nt,e.geoWiechelRaw=Ot,e.geoWinkel3=Mr,e.geoWinkel3Raw=hr,Object.defineProperty(e,"__esModule",{value:!0})})});var WDe=ye((L0r,jDe)=>{"use strict";var Yh=ba(),zX=Ar(),ozt=ya(),nA=Math.PI/180,ew=180/Math.PI,qX={cursor:"pointer"},OX={cursor:"auto"};function szt(e,t){var r=e.projection,n;return t._isScoped?n=lzt:t._isClipped?n=czt:n=uzt,n(e,r)}jDe.exports=szt;function BX(e,t){return Yh.behavior.zoom().translate(t.translate()).scale(t.scale())}function NX(e,t,r){var n=e.id,i=e.graphDiv,a=i.layout,o=a[n],s=i._fullLayout,l=s[n],u={},c={};function f(h,v){u[n+"."+h]=zX.nestedProperty(o,h).get(),ozt.call("_storeDirectGUIEdit",a,s._preGUI,u);var d=zX.nestedProperty(l,h);d.get()!==v&&(d.set(v),zX.nestedProperty(o,h).set(v),c[n+"."+h]=v)}r(f),f("projection.scale",t.scale()/e.fitScale),f("fitbounds",!1),i.emit("plotly_relayout",c)}function lzt(e,t){var r=BX(e,t);function n(){Yh.select(this).style(qX)}function i(){t.scale(Yh.event.scale).translate(Yh.event.translate),e.render(!0);var s=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":s[0],"geo.center.lat":s[1]})}function a(s){var l=t.invert(e.midPt);s("center.lon",l[0]),s("center.lat",l[1])}function o(){Yh.select(this).style(OX),NX(e,t,a)}return r.on("zoomstart",n).on("zoom",i).on("zoomend",o),r}function uzt(e,t){var r=BX(e,t),n=2,i,a,o,s,l,u,c,f,h;function v(k){return t.invert(k)}function d(k){var S=v(k);if(!S)return!0;var L=t(S);return Math.abs(L[0]-k[0])>n||Math.abs(L[1]-k[1])>n}function _(){Yh.select(this).style(qX),i=Yh.mouse(this),a=t.rotate(),o=t.translate(),s=a,l=v(i)}function b(){if(u=Yh.mouse(this),d(i)){r.scale(t.scale()),r.translate(t.translate());return}t.scale(Yh.event.scale),t.translate([o[0],Yh.event.translate[1]]),l?v(u)&&(f=v(u),c=[s[0]+(f[0]-l[0]),a[1],a[2]],t.rotate(c),s=c):(i=u,l=v(i)),h=!0,e.render(!0);var k=t.rotate(),S=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":S[0],"geo.center.lat":S[1],"geo.projection.rotation.lon":-k[0]})}function p(){Yh.select(this).style(OX),h&&NX(e,t,E)}function E(k){var S=t.rotate(),L=t.invert(e.midPt);k("projection.rotation.lon",-S[0]),k("center.lon",L[0]),k("center.lat",L[1])}return r.on("zoomstart",_).on("zoom",b).on("zoomend",p),r}function czt(e,t){var r={r:t.rotate(),k:t.scale()},n=BX(e,t),i=yzt(n,"zoomstart","zoom","zoomend"),a=0,o=n.on,s;n.on("zoomstart",function(){Yh.select(this).style(qX);var h=Yh.mouse(this),v=t.rotate(),d=v,_=t.translate(),b=fzt(v);s=Bz(t,h),o.call(n,"zoom",function(){var p=Yh.mouse(this);if(t.scale(r.k=Yh.event.scale),!s)h=p,s=Bz(t,h);else if(Bz(t,p)){t.rotate(v).translate(_);var E=Bz(t,p),k=dzt(s,E),S=pzt(hzt(b,k)),L=r.r=vzt(S,s,d);(!isFinite(L[0])||!isFinite(L[1])||!isFinite(L[2]))&&(L=d),t.rotate(L),d=L}u(i.of(this,arguments))}),l(i.of(this,arguments))}).on("zoomend",function(){Yh.select(this).style(OX),o.call(n,"zoom",null),c(i.of(this,arguments)),NX(e,t,f)}).on("zoom.redraw",function(){e.render(!0);var h=t.rotate();e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.projection.rotation.lon":-h[0],"geo.projection.rotation.lat":-h[1]})});function l(h){a++||h({type:"zoomstart"})}function u(h){h({type:"zoom"})}function c(h){--a||h({type:"zoomend"})}function f(h){var v=t.rotate();h("projection.rotation.lon",-v[0]),h("projection.rotation.lat",-v[1])}return Yh.rebind(n,i,"on")}function Bz(e,t){var r=e.invert(t);return r&&isFinite(r[0])&&isFinite(r[1])&&gzt(r)}function fzt(e){var t=.5*e[0]*nA,r=.5*e[1]*nA,n=.5*e[2]*nA,i=Math.sin(t),a=Math.cos(t),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),u=Math.cos(n);return[a*s*u+i*o*l,i*s*u-a*o*l,a*o*u+i*s*l,a*s*l-i*o*u]}function hzt(e,t){var r=e[0],n=e[1],i=e[2],a=e[3],o=t[0],s=t[1],l=t[2],u=t[3];return[r*o-n*s-i*l-a*u,r*s+n*o+i*u-a*l,r*l-n*u+i*o+a*s,r*u+n*l-i*s+a*o]}function dzt(e,t){if(!(!e||!t)){var r=mzt(e,t),n=Math.sqrt(GDe(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,GDe(e,t)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function vzt(e,t,r){var n=FX(t,2,e[0]);n=FX(n,1,e[1]),n=FX(n,0,e[2]-r[2]);var i=t[0],a=t[1],o=t[2],s=n[0],l=n[1],u=n[2],c=Math.atan2(a,i)*ew,f=Math.sqrt(i*i+a*a),h,v;Math.abs(l)>f?(v=(l>0?90:-90)-c,h=0):(v=Math.asin(l/f)*ew-c,h=Math.sqrt(f*f-l*l));var d=180-v-2*c,_=(Math.atan2(u,s)-Math.atan2(o,h))*ew,b=(Math.atan2(u,s)-Math.atan2(o,-h))*ew,p=VDe(r[0],r[1],v,_),E=VDe(r[0],r[1],d,b);return p<=E?[v,_,r[2]]:[d,b,r[2]]}function VDe(e,t,r,n){var i=HDe(r-e),a=HDe(n-t);return Math.sqrt(i*i+a*a)}function HDe(e){return(e%360+540)%360-180}function FX(e,t,r){var n=r*nA,i=e.slice(),a=t===0?1:0,o=t===2?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=e[a]*s-e[o]*l,i[o]=e[o]*s+e[a]*l,i}function pzt(e){return[Math.atan2(2*(e[0]*e[1]+e[2]*e[3]),1-2*(e[1]*e[1]+e[2]*e[2]))*ew,Math.asin(Math.max(-1,Math.min(1,2*(e[0]*e[2]-e[3]*e[1]))))*ew,Math.atan2(2*(e[0]*e[3]+e[1]*e[2]),1-2*(e[2]*e[2]+e[3]*e[3]))*ew]}function gzt(e){var t=e[0]*nA,r=e[1]*nA,n=Math.cos(r);return[n*Math.cos(t),n*Math.sin(t),Math.sin(r)]}function GDe(e,t){for(var r=0,n=0,i=e.length;n{"use strict";var n1=ba(),HX=RX(),_zt=HX.geoPath,xzt=HX.geoDistance,bzt=UDe(),wzt=ya(),yk=Ar(),Tzt=yk.strTranslate,Nz=va(),mk=ao(),ZDe=Nc(),Azt=Nu(),VX=Xa(),XDe=Ag().getAutoRange,UX=yv(),Szt=wf().prepSelect,Mzt=wf().clearOutline,Ezt=wf().selectOnClick,kzt=WDe(),vp=dk(),Czt=fx(),KDe=Az(),Lzt=_X().feature;function JDe(e){this.id=e.id,this.graphDiv=e.graphDiv,this.container=e.container,this.topojsonURL=e.topojsonURL,this.isStatic=e.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}var em=JDe.prototype;$De.exports=function(t){return new JDe(t)};em.plot=function(e,t,r,n){var i=this;if(n)return i.update(e,t,!0);i._geoCalcData=e,i._fullLayout=t;var a=t[this.id],o=[],s=!1;for(var l in vp.layerNameToAdjective)if(l!=="frame"&&a["show"+l]){s=!0;break}for(var u=!1,c=0;c0&&o._module.calcGeoJSON(a,t)}if(!r){var s=this.updateProjection(e,t);if(s)return;(!this.viewInitial||this.scope!==n.scope)&&this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(t,n),this.updateDims(t,n),this.updateFx(t,n),Azt.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var l=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=l.selectAll(".point"),this.dataPoints.text=l.selectAll("text"),this.dataPaths.line=l.selectAll(".js-line");var u=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=u.selectAll("path"),this._render()};em.updateProjection=function(e,t){var r=this.graphDiv,n=t[this.id],i=t._size,a=n.domain,o=n.projection,s=n.lonaxis,l=n.lataxis,u=s._ax,c=l._ax,f=this.projection=Pzt(n),h=[[i.l+i.w*a.x[0],i.t+i.h*(1-a.y[1])],[i.l+i.w*a.x[1],i.t+i.h*(1-a.y[0])]],v=n.center||{},d=o.rotation||{},_=s.range||[],b=l.range||[];if(n.fitbounds){u._length=h[1][0]-h[0][0],c._length=h[1][1]-h[0][1],u.range=XDe(r,u),c.range=XDe(r,c);var p=(u.range[0]+u.range[1])/2,E=(c.range[0]+c.range[1])/2;if(n._isScoped)v={lon:p,lat:E};else if(n._isClipped){v={lon:p,lat:E},d={lon:p,lat:E,roll:d.roll};var k=o.type,S=vp.lonaxisSpan[k]/2||180,L=vp.lataxisSpan[k]/2||90;_=[p-S,p+S],b=[E-L,E+L]}else v={lon:p,lat:E},d={lon:p,lat:d.lat,roll:d.roll}}f.center([v.lon-d.lon,v.lat-d.lat]).rotate([-d.lon,-d.lat,d.roll]).parallels(o.parallels);var x=YDe(_,b);f.fitExtent(h,x);var C=this.bounds=f.getBounds(x),M=this.fitScale=f.scale(),g=f.translate();if(n.fitbounds){var P=f.getBounds(YDe(u.range,c.range)),T=Math.min((C[1][0]-C[0][0])/(P[1][0]-P[0][0]),(C[1][1]-C[0][1])/(P[1][1]-P[0][1]));isFinite(T)?f.scale(T*M):yk.warn("Something went wrong during"+this.id+"fitbounds computations.")}else f.scale(o.scale*M);var F=this.midPt=[(C[0][0]+C[1][0])/2,(C[0][1]+C[1][1])/2];if(f.translate([g[0]+(F[0]-g[0]),g[1]+(F[1]-g[1])]).clipExtent(C),n._isAlbersUsa){var q=f([v.lon,v.lat]),V=f.translate();f.translate([V[0]-(q[0]-V[0]),V[1]-(q[1]-V[1])])}};em.updateBaseLayers=function(e,t){var r=this,n=r.topojson,i=r.layers,a=r.basePaths;function o(h){return h==="lonaxis"||h==="lataxis"}function s(h){return!!vp.lineLayers[h]}function l(h){return!!vp.fillLayers[h]}var u=this.hasChoropleth?vp.layersForChoropleth:vp.layers,c=u.filter(function(h){return s(h)||l(h)?t["show"+h]:o(h)?t[h].showgrid:!0}),f=r.framework.selectAll(".layer").data(c,String);f.exit().each(function(h){delete i[h],delete a[h],n1.select(this).remove()}),f.enter().append("g").attr("class",function(h){return"layer "+h}).each(function(h){var v=i[h]=n1.select(this);h==="bg"?r.bgRect=v.append("rect").style("pointer-events","all"):o(h)?a[h]=v.append("path").style("fill","none"):h==="backplot"?v.append("g").classed("choroplethlayer",!0):h==="frontplot"?v.append("g").classed("scatterlayer",!0):s(h)?a[h]=v.append("path").style("fill","none").style("stroke-miterlimit",2):l(h)&&(a[h]=v.append("path").style("stroke","none"))}),f.order(),f.each(function(h){var v=a[h],d=vp.layerNameToAdjective[h];h==="frame"?v.datum(vp.sphereSVG):s(h)||l(h)?v.datum(Lzt(n,n.objects[h])):o(h)&&v.datum(Izt(h,t,e)).call(Nz.stroke,t[h].gridcolor).call(mk.dashLine,t[h].griddash,t[h].gridwidth),s(h)?v.call(Nz.stroke,t[d+"color"]).call(mk.dashLine,"",t[d+"width"]):l(h)&&v.call(Nz.fill,t[d+"color"])})};em.updateDims=function(e,t){var r=this.bounds,n=(t.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;mk.setRect(this.clipRect,i,a,o,s),this.bgRect.call(mk.setRect,i,a,o,s).call(Nz.fill,t.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s};em.updateFx=function(e,t){var r=this,n=r.graphDiv,i=r.bgRect,a=e.dragmode,o=e.clickmode;if(r.isStatic)return;function s(){var f=r.viewInitial,h={};for(var v in f)h[r.id+"."+v]=f[v];wzt.call("_guiRelayout",n,h),n.emit("plotly_doubleclick",null)}function l(f){return r.projection.invert([f[0]+r.xaxis._offset,f[1]+r.yaxis._offset])}var u=function(f,h){if(h.isRect){var v=f.range={};v[r.id]=[l([h.xmin,h.ymin]),l([h.xmax,h.ymax])]}else{var d=f.lassoPoints={};d[r.id]=h.map(l)}},c={element:r.bgRect.node(),gd:n,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(f){f===2&&Mzt(n)}};a==="pan"?(i.node().onmousedown=null,i.call(kzt(r,t)),i.on("dblclick.zoom",s),n._context._scrollZoom.geo||i.on("wheel.zoom",null)):(a==="select"||a==="lasso")&&(i.on(".zoom",null),c.prepFn=function(f,h,v){Szt(f,h,v,c,a)},UX.init(c)),i.on("mousemove",function(){var f=r.projection.invert(yk.getPositionFromD3Event());if(!f)return UX.unhover(n,n1.event);r.xaxis.p2c=function(){return f[0]},r.yaxis.p2c=function(){return f[1]},ZDe.hover(n,n1.event,r.id)}),i.on("mouseout",function(){n._dragging||UX.unhover(n,n1.event)}),i.on("click",function(){a!=="select"&&a!=="lasso"&&(o.indexOf("select")>-1&&Ezt(n1.event,n,[r.xaxis],[r.yaxis],r.id,c),o.indexOf("event")>-1&&ZDe.click(n,n1.event))})};em.makeFramework=function(){var e=this,t=e.graphDiv,r=t._fullLayout,n="clip"+r._uid+e.id;e.clipDef=r._clips.append("clipPath").attr("id",n),e.clipRect=e.clipDef.append("rect"),e.framework=n1.select(e.container).append("g").attr("class","geo "+e.id).call(mk.setClipUrl,n,t),e.project=function(i){var a=e.projection(i);return a?[a[0]-e.xaxis._offset,a[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:"x",c2p:function(i){return e.project(i)[0]}},e.yaxis={_id:"y",c2p:function(i){return e.project(i)[1]}},e.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},VX.setConvert(e.mockAxis,r)};em.saveViewInitial=function(e){var t=e.center||{},r=e.projection,n=r.rotation||{};this.viewInitial={fitbounds:e.fitbounds,"projection.scale":r.scale};var i;e._isScoped?i={"center.lon":t.lon,"center.lat":t.lat}:e._isClipped?i={"projection.rotation.lon":n.lon,"projection.rotation.lat":n.lat}:i={"center.lon":t.lon,"center.lat":t.lat,"projection.rotation.lon":n.lon},yk.extendFlat(this.viewInitial,i)};em.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()};em._render=function(){var e=this.projection,t=e.getPath(),r;function n(a){var o=e(a.lonlat);return o?Tzt(o[0],o[1]):null}function i(a){return e.isLonLatOverEdges(a.lonlat)?"none":null}for(r in this.basePaths)this.basePaths[r].attr("d",t);for(r in this.dataPaths)this.dataPaths[r].attr("d",function(a){return t(a.geojson)});for(r in this.dataPoints)this.dataPoints[r].attr("display",i).attr("transform",n)};function Pzt(e){var t=e.projection,r=t.type,n=vp.projNames[r];n="geo"+yk.titleCase(n);for(var i=HX[n]||bzt[n],a=i(),o=e._isSatellite?Math.acos(1/t.distance)*180/Math.PI:e._isClipped?vp.lonaxisSpan[r]/2:null,s=["center","rotate","parallels","clipExtent"],l=function(f){return f?a:[]},u=0;ud}else return!1},a.getPath=function(){return _zt().projection(a)},a.getBounds=function(f){return a.getPath().bounds(f)},a.precision(vp.precision),e._isSatellite&&a.tilt(t.tilt).distance(t.distance),o&&a.clipAngle(o-vp.clipPad),a}function Izt(e,t,r){var n=1e-6,i=2.5,a=t[e],o=vp.scopeDefaults[t.scope],s,l,u;e==="lonaxis"?(s=o.lonaxisRange,l=o.lataxisRange,u=function(E,k){return[E,k]}):e==="lataxis"&&(s=o.lataxisRange,l=o.lonaxisRange,u=function(E,k){return[k,E]});var c={type:"linear",range:[s[0],s[1]-n],tick0:a.tick0,dtick:a.dtick};VX.setConvert(c,r);var f=VX.calcTicks(c);!t.isScoped&&e==="lonaxis"&&f.pop();for(var h=f.length,v=new Array(h),d=0;d0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}});var GX=ye((I0r,rRe)=>{"use strict";var oA=ph(),Dzt=Ju().attributes,Rzt=kd().dash,aA=dk(),zzt=Bu().overrideAll,eRe=$1(),tRe={range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},showgrid:{valType:"boolean",dflt:!1},tick0:{valType:"number",dflt:0},dtick:{valType:"number"},gridcolor:{valType:"color",dflt:oA.lightLine},gridwidth:{valType:"number",min:0,dflt:1},griddash:Rzt},Fzt=rRe.exports=zzt({domain:Dzt({name:"geo"},{}),fitbounds:{valType:"enumerated",values:[!1,"locations","geojson"],dflt:!1,editType:"plot"},resolution:{valType:"enumerated",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:"enumerated",values:eRe(aA.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:eRe(aA.projNames)},rotation:{lon:{valType:"number"},lat:{valType:"number"},roll:{valType:"number"}},tilt:{valType:"number",dflt:0},distance:{valType:"number",min:1.001,dflt:2},parallels:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},scale:{valType:"number",min:0,dflt:1}},center:{lon:{valType:"number"},lat:{valType:"number"}},visible:{valType:"boolean",dflt:!0},showcoastlines:{valType:"boolean"},coastlinecolor:{valType:"color",dflt:oA.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:aA.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:aA.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:aA.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:aA.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:oA.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:oA.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:oA.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:oA.background},lonaxis:tRe,lataxis:tRe},"plot","from-root");Fzt.uirevision={valType:"any",editType:"none"}});var aRe=ye((D0r,nRe)=>{"use strict";var Uz=Ar(),qzt=F_(),Ozt=Cd().getSubplotData,Vz=dk(),Bzt=GX(),iRe=Vz.axesNames;nRe.exports=function(t,r,n){qzt(t,r,n,{type:"geo",attributes:Bzt,handleDefaults:Nzt,fullData:n,partition:"y"})};function Nzt(e,t,r,n){var i=Ozt(n.fullData,"geo",n.id),a=i.map(function(ae){return ae._expandedIndex}),o=r("resolution"),s=r("scope"),l=Vz.scopeDefaults[s],u=r("projection.type",l.projType),c=t._isAlbersUsa=u==="albers usa";c&&(s=t.scope="usa");var f=t._isScoped=s!=="world",h=t._isSatellite=u==="satellite",v=t._isConic=u.indexOf("conic")!==-1||u==="albers",d=t._isClipped=!!Vz.lonaxisSpan[u];if(e.visible===!1){var _=Uz.extendDeep({},t._template);_.showcoastlines=!1,_.showcountries=!1,_.showframe=!1,_.showlakes=!1,_.showland=!1,_.showocean=!1,_.showrivers=!1,_.showsubunits=!1,_.lonaxis&&(_.lonaxis.showgrid=!1),_.lataxis&&(_.lataxis.showgrid=!1),t._template=_}for(var b=r("visible"),p,E=0;E0&&q<0&&(q+=360);var V=(F+q)/2,H;if(!c){var X=f?l.projRotate:[V,0,0];H=r("projection.rotation.lon",X[0]),r("projection.rotation.lat",X[1]),r("projection.rotation.roll",X[2]),p=r("showcoastlines",!f&&b),p&&(r("coastlinecolor"),r("coastlinewidth")),p=r("showocean",b?void 0:!1),p&&r("oceancolor")}var G,N;if(c?(G=-96.6,N=38.7):(G=f?V:H,N=(T[0]+T[1])/2),r("center.lon",G),r("center.lat",N),h&&(r("projection.tilt"),r("projection.distance")),v){var W=l.projParallels||[0,60];r("projection.parallels",W)}r("projection.scale"),p=r("showland",b?void 0:!1),p&&r("landcolor"),p=r("showlakes",b?void 0:!1),p&&r("lakecolor"),p=r("showrivers",b?void 0:!1),p&&(r("rivercolor"),r("riverwidth")),p=r("showcountries",f&&s!=="usa"&&b),p&&(r("countrycolor"),r("countrywidth")),(s==="usa"||s==="north america"&&o===50)&&(r("showsubunits",b),r("subunitcolor"),r("subunitwidth")),f||(p=r("showframe",b),p&&(r("framecolor"),r("framewidth"))),r("bgcolor");var re=r("fitbounds");re&&(delete t.projection.scale,f?(delete t.center.lon,delete t.center.lat):d?(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon,delete t.projection.rotation.lat,delete t.lonaxis.range,delete t.lataxis.range):(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon))}});var jX=ye((R0r,lRe)=>{"use strict";var Uzt=Cd().getSubplotCalcData,Vzt=Ar().counterRegex,Hzt=QDe(),Xm="geo",oRe=Vzt(Xm),sRe={};sRe[Xm]={valType:"subplotid",dflt:Xm,editType:"calc"};function Gzt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[Xm],i=0;i{"use strict";uRe.exports={attributes:Q2(),supplyDefaults:G8e(),colorbar:Jd(),formatLabels:Z8e(),calc:wz(),calcGeoJSON:DX().calcGeoJSON,plot:DX().plot,style:CX(),styleOnSelect:up().styleOnSelect,hoverPoints:IDe(),eventData:RDe(),selectPoints:qDe(),moduleType:"trace",name:"scattergeo",basePlotModule:jX(),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}});var hRe=ye((F0r,fRe)=>{"use strict";fRe.exports=cRe()});var sA=ye((q0r,pRe)=>{"use strict";var Zzt=Wo().hovertemplateAttrs,dx=Q2(),Xzt=Kl(),dRe=vl(),Yzt=ph().defaultLine,hx=no().extendFlat,vRe=dx.marker.line;pRe.exports=hx({locations:{valType:"data_array",editType:"calc"},locationmode:dx.locationmode,z:{valType:"data_array",editType:"calc"},geojson:hx({},dx.geojson,{}),featureidkey:dx.featureidkey,text:hx({},dx.text,{}),hovertext:hx({},dx.hovertext,{}),marker:{line:{color:hx({},vRe.color,{dflt:Yzt}),width:hx({},vRe.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:dx.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:dx.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:hx({},dRe.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:Zzt(),showlegend:hx({},dRe.showlegend,{dflt:!1})},Xzt("",{cLetter:"z",editTypeOverride:"calc"}))});var mRe=ye((O0r,gRe)=>{"use strict";var Hz=Ar(),Kzt=Hh(),Jzt=sA();gRe.exports=function(t,r,n,i){function a(h,v){return Hz.coerce(t,r,Jzt,h,v)}var o=a("locations"),s=a("z");if(!(o&&o.length&&Hz.isArrayOrTypedArray(s)&&s.length)){r.visible=!1;return}r._length=Math.min(o.length,s.length);var l=a("geojson"),u;(typeof l=="string"&&l!==""||Hz.isPlainObject(l))&&(u="geojson-id");var c=a("locationmode",u);c==="geojson-id"&&a("featureidkey"),a("text"),a("hovertext"),a("hovertemplate");var f=a("marker.line.width");f&&a("marker.line.color"),a("marker.opacity"),Kzt(t,r,i,a,{prefix:"",cLetter:"z"}),Hz.coerceSelectionMarkerOpacity(r,a)}});var Gz=ye((B0r,xRe)=>{"use strict";var yRe=uo(),$zt=Yo().BADNUM,Qzt=qv(),eFt=Lm(),tFt=N0();function _Re(e){return e&&typeof e=="string"}xRe.exports=function(t,r){var n=r._length,i=new Array(n),a;r.geojson?a=function(c){return _Re(c)||yRe(c)}:a=_Re;for(var o=0;o{"use strict";var rFt=ba(),iFt=va(),WX=ao(),nFt=Mu();function aFt(e,t){t&&bRe(e,t)}function bRe(e,t){var r=t[0].trace,n=t[0].node3,i=n.selectAll(".choroplethlocation"),a=r.marker||{},o=a.line||{},s=nFt.makeColorScaleFuncFromTrace(r);i.each(function(l){rFt.select(this).attr("fill",s(l.z)).call(iFt.stroke,l.mlc||o.color).call(WX.dashLine,"",l.mlw||o.width||0).style("opacity",a.opacity)}),WX.selectedPointStyle(i,r)}function oFt(e,t){var r=t[0].node3,n=t[0].trace;n.selectedpoints?WX.selectedPointStyle(r.selectAll(".choroplethlocation"),n):bRe(e,t)}wRe.exports={style:aFt,styleOnSelect:oFt}});var ZX=ye((U0r,SRe)=>{"use strict";var sFt=ba(),TRe=Ar(),lA=fx(),lFt=Az().getTopojsonFeatures,ARe=Ag().findExtremes,uFt=jz().style;function cFt(e,t,r){var n=t.layers.backplot.select(".choroplethlayer");TRe.makeTraceGroups(n,r,"trace choropleth").each(function(i){var a=sFt.select(this),o=a.selectAll("path.choroplethlocation").data(TRe.identity);o.enter().append("path").classed("choroplethlocation",!0),o.exit().remove(),uFt(e,i)})}function fFt(e,t){for(var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r.locationmode,o=r._length,s=a==="geojson-id"?lA.extractTraceFeature(e):lFt(r,i.topojson),l=[],u=[],c=0;c{"use strict";var hFt=Xa(),dFt=sA(),vFt=Ar().fillText;MRe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s,l,u,c,f=[r,n],h=[r+360,n];for(l=0;l")}}});var Zz=ye((H0r,ERe)=>{"use strict";ERe.exports=function(t,r,n,i,a){t.location=r.location,t.z=r.z;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t.ct=o.ct,t}});var Xz=ye((G0r,kRe)=>{"use strict";kRe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l,u,c,f;if(r===!1)for(s=0;s{"use strict";CRe.exports={attributes:sA(),supplyDefaults:mRe(),colorbar:D_(),calc:Gz(),calcGeoJSON:ZX().calcGeoJSON,plot:ZX().plot,style:jz().style,styleOnSelect:jz().styleOnSelect,hoverPoints:Wz(),eventData:Zz(),selectPoints:Xz(),moduleType:"trace",name:"choropleth",basePlotModule:jX(),categories:["geo","noOpacity","showLegend"],meta:{}}});var IRe=ye((W0r,PRe)=>{"use strict";PRe.exports=LRe()});var Yz=ye((Z0r,RRe)=>{"use strict";var gFt=ya(),c0=Ar(),mFt=mT();function yFt(e,t,r,n){var i=e.cd,a=i[0].t,o=i[0].trace,s=e.xa,l=e.ya,u=a.x,c=a.y,f=s.c2p(t),h=l.c2p(r),v=e.distance,d;if(a.tree){var _=s.p2c(f-v),b=s.p2c(f+v),p=l.p2c(h-v),E=l.p2c(h+v);n==="x"?d=a.tree.range(Math.min(_,b),Math.min(l._rl[0],l._rl[1]),Math.max(_,b),Math.max(l._rl[0],l._rl[1])):d=a.tree.range(Math.min(_,b),Math.min(p,E),Math.max(_,b),Math.max(p,E))}else d=a.ids;var k,S,L,x,C,M,g,P,T,F=v;if(n==="x"){var q=!!o.xperiodalignment,V=!!o.yperiodalignment;for(C=0;C=Math.min(H,X)&&f<=Math.max(H,X)?0:1/0}if(M=Math.min(G,N)&&h<=Math.max(G,N)?0:1/0}T=Math.sqrt(M*M+g*g),S=d[C]}}}else for(C=d.length-1;C>-1;C--)k=d[C],L=u[k],x=c[k],M=s.c2p(L)-f,g=l.c2p(x)-h,P=Math.sqrt(M*M+g*g),P{"use strict";var zRe=20;FRe.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:zRe,SYMBOL_STROKE:zRe/20,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}});var _k=ye((Y0r,NRe)=>{"use strict";var _Ft=vl(),xFt=Su(),bFt=Cg(),Af=Uc(),qRe=Oc().axisHoverFormat,ORe=Kl(),wFt=$1(),XX=no().extendFlat,TFt=Bu().overrideAll,AFt=vx().DASHES,BRe=Af.line,a1=Af.marker,SFt=a1.line,uA=NRe.exports=TFt({x:Af.x,x0:Af.x0,dx:Af.dx,y:Af.y,y0:Af.y0,dy:Af.dy,xperiod:Af.xperiod,yperiod:Af.yperiod,xperiod0:Af.xperiod0,yperiod0:Af.yperiod0,xperiodalignment:Af.xperiodalignment,yperiodalignment:Af.yperiodalignment,xhoverformat:qRe("x"),yhoverformat:qRe("y"),text:Af.text,hovertext:Af.hovertext,textposition:Af.textposition,textfont:xFt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:"calc",colorEditType:"style",arrayOk:!0,noNumericWeightValues:!0,variantValues:["normal","small-caps"]}),mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"]},line:{color:BRe.color,width:BRe.width,shape:{valType:"enumerated",values:["linear","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},dash:{valType:"enumerated",values:wFt(AFt),dflt:"solid"}},marker:XX({},ORe("marker"),{symbol:a1.symbol,angle:a1.angle,size:a1.size,sizeref:a1.sizeref,sizemin:a1.sizemin,sizemode:a1.sizemode,opacity:a1.opacity,colorbar:a1.colorbar,line:XX({},ORe("marker.line"),{width:SFt.width})}),connectgaps:Af.connectgaps,fill:XX({},Af.fill,{dflt:"none"}),fillcolor:bFt(),selected:{marker:Af.selected.marker,textfont:Af.selected.textfont},unselected:{marker:Af.unselected.marker,textfont:Af.unselected.textfont},opacity:_Ft.opacity},"calc","nested");uA.x.editType=uA.y.editType=uA.x0.editType=uA.y0.editType="calc+clearAxisTypes";uA.hovertemplate=Af.hovertemplate;uA.texttemplate=Af.texttemplate});var Kz=ye(YX=>{"use strict";var URe=vx();YX.isOpenSymbol=function(e){return typeof e=="string"?URe.OPEN_RE.test(e):e%200>100};YX.isDotSymbol=function(e){return typeof e=="string"?URe.DOT_RE.test(e):e>200}});var GRe=ye((J0r,HRe)=>{"use strict";var VRe=Ar(),MFt=ya(),EFt=Kz(),kFt=_k(),CFt=km(),Jz=lu(),LFt=sT(),PFt=Dg(),IFt=t0(),DFt=q0(),RFt=Rg(),zFt=O0();HRe.exports=function(t,r,n,i){function a(v,d){return VRe.coerce(t,r,kFt,v,d)}var o=t.marker?EFt.isOpenSymbol(t.marker.symbol):!1,s=Jz.isBubble(t),l=LFt(t,r,i,a);if(!l){r.visible=!1;return}PFt(t,r,i,a),a("xhoverformat"),a("yhoverformat");var u=l{"use strict";var FFt=vI();jRe.exports=function(t,r,n){var i=t.i;return"x"in t||(t.x=r._x[i]),"y"in t||(t.y=r._y[i]),FFt(t,r,n)}});var XRe=ye((Q0r,ZRe)=>{"use strict";function qFt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>=0?(a=o,i=o-1):n=o+1}return a}function OFt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>0?(a=o,i=o-1):n=o+1}return a}function BFt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<0?(a=o,n=o+1):i=o-1}return a}function NFt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<=0?(a=o,n=o+1):i=o-1}return a}function UFt(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=r!==void 0?r(o,t):o-t;if(s===0)return a;s<=0?n=a+1:i=a-1}return-1}function xk(e,t,r,n,i,a){return typeof r=="function"?a(e,t,r,n===void 0?0:n|0,i===void 0?e.length-1:i|0):a(e,t,void 0,r===void 0?0:r|0,n===void 0?e.length-1:n|0)}ZRe.exports={ge:function(e,t,r,n,i){return xk(e,t,r,n,i,qFt)},gt:function(e,t,r,n,i){return xk(e,t,r,n,i,OFt)},lt:function(e,t,r,n,i){return xk(e,t,r,n,i,BFt)},le:function(e,t,r,n,i){return xk(e,t,r,n,i,NFt)},eq:function(e,t,r,n,i){return xk(e,t,r,n,i,UFt)}}});var Ym=ye((egr,KRe)=>{"use strict";KRe.exports=function(t,r,n){var i={},a,o;if(typeof r=="string"&&(r=YRe(r)),Array.isArray(r)){var s={};for(o=0;o{"use strict";var VFt=Ym();JRe.exports=HFt;function HFt(e){var t;return arguments.length>1&&(e=arguments),typeof e=="string"?e=e.split(/\s/).map(parseFloat):typeof e=="number"&&(e=[e]),e.length&&typeof e[0]=="number"?e.length===1?t={width:e[0],height:e[0],x:0,y:0}:e.length===2?t={width:e[0],height:e[1],x:0,y:0}:t={x:e[0],y:e[1],width:e[2]-e[0]||0,height:e[3]-e[1]||0}:e&&(e=VFt(e,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"}),t={x:e.left||0,y:e.top||0},e.width==null?e.right?t.width=e.right-t.x:t.width=0:t.width=e.width,e.height==null?e.bottom?t.height=e.bottom-t.y:t.height=0:t.height=e.height),t}});var tw=ye((rgr,$Re)=>{"use strict";$Re.exports=GFt;function GFt(e,t){if(!e||e.length==null)throw Error("Argument should be an array");t==null?t=1:t=Math.floor(t);for(var r=Array(t*2),n=0;ni&&(i=e[o]),e[o]{QRe.exports=function(){for(var e=0;e{var tze=az();rze.exports=jFt;function jFt(e,t,r){if(!e)throw new TypeError("must specify data as first parameter");if(r=+(r||0)|0,Array.isArray(e)&&e[0]&&typeof e[0][0]=="number"){var n=e[0].length,i=e.length*n,a,o,s,l;(!t||typeof t=="string")&&(t=new(tze(t||"float32"))(i+r));var u=t.length-r;if(i!==u)throw new Error("source length "+i+" ("+n+"x"+e.length+") does not match destination length "+u);for(a=0,s=r;a{"use strict";ize.exports=function(e){var t=typeof e;return e!==null&&(t==="object"||t==="function")}});var oze=ye((ogr,aze)=>{"use strict";aze.exports=Math.log2||function(e){return Math.log(e)*Math.LOG2E}});var dze=ye((sgr,hze)=>{"use strict";var sze=XRe(),lze=Y5(),WFt=cA(),ZFt=tw(),uze=Ym(),JX=eze(),XFt=rw(),YFt=nze(),KFt=az(),cze=oze(),JFt=1073741824;hze.exports=function(t,r){r||(r={}),t=XFt(t,"float64"),r=uze(r,{bounds:"range bounds dataBox databox",maxDepth:"depth maxDepth maxdepth level maxLevel maxlevel levels",dtype:"type dtype format out dst output destination"});let n=JX(r.maxDepth,255),i=JX(r.bounds,ZFt(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;let a=fze(t,i),o=t.length>>>1,s;r.dtype||(r.dtype="array"),typeof r.dtype=="string"?s=new(KFt(r.dtype))(o):r.dtype&&(s=r.dtype,Array.isArray(s)&&(s.length=o));for(let p=0;pn||x>JFt){for(let N=0;N_e||g>Me||P=F||re===ae)return;let ke=l[W];ae===void 0&&(ae=ke.length);for(let De=re;De=S&&Ge<=x&&nt>=L&&nt<=C&&q.push(ce)}let ge=u[W],ie=ge[re*4+0],Te=ge[re*4+1],Ee=ge[re*4+2],Ae=ge[re*4+3],ze=H(ge,re+1),Ce=N*.5,me=W+1;V(X,G,Ce,me,ie,Te||Ee||Ae||ze),V(X,G+Ce,Ce,me,Te,Ee||Ae||ze),V(X+Ce,G,Ce,me,Ee,Ae||ze),V(X+Ce,G+Ce,Ce,me,Ae,ze)}function H(X,G){let N=null,W=0;for(;N===null;)if(N=X[G*4+W],W++,W>X.length)return null;return N}return q}function _(p,E,k,S,L){let x=[];for(let C=0;C{"use strict";vze.exports=dze()});var $X=ye((ugr,pze)=>{pze.exports=$Ft;function $Ft(e){var t=0,r=0,n=0,i=0;return e.map(function(a){a=a.slice();var o=a[0],s=o.toUpperCase();if(o!=s)switch(a[0]=s,o){case"a":a[6]+=n,a[7]+=i;break;case"v":a[1]+=i;break;case"h":a[1]+=n;break;default:for(var l=1;l{"use strict";Object.defineProperty(Qz,"__esModule",{value:!0});var QFt=function(){function e(t,r){var n=[],i=!0,a=!1,o=void 0;try{for(var s=t[Symbol.iterator](),l;!(i=(l=s.next()).done)&&(n.push(l.value),!(r&&n.length===r));i=!0);}catch(u){a=!0,o=u}finally{try{!i&&s.return&&s.return()}finally{if(a)throw o}}return n}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),bk=Math.PI*2,QX=function(t,r,n,i,a,o,s){var l=t.x,u=t.y;l*=r,u*=n;var c=i*l-a*u,f=a*l+i*u;return{x:c+o,y:f+s}},e7t=function(t,r){var n=r===1.5707963267948966?.551915024494:r===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(r/4),i=Math.cos(t),a=Math.sin(t),o=Math.cos(t+r),s=Math.sin(t+r);return[{x:i-a*n,y:a+i*n},{x:o+s*n,y:s-o*n},{x:o,y:s}]},gze=function(t,r,n,i){var a=t*i-r*n<0?-1:1,o=t*n+r*i;return o>1&&(o=1),o<-1&&(o=-1),a*Math.acos(o)},t7t=function(t,r,n,i,a,o,s,l,u,c,f,h){var v=Math.pow(a,2),d=Math.pow(o,2),_=Math.pow(f,2),b=Math.pow(h,2),p=v*d-v*b-d*_;p<0&&(p=0),p/=v*b+d*_,p=Math.sqrt(p)*(s===l?-1:1);var E=p*a/o*h,k=p*-o/a*f,S=c*E-u*k+(t+n)/2,L=u*E+c*k+(r+i)/2,x=(f-E)/a,C=(h-k)/o,M=(-f-E)/a,g=(-h-k)/o,P=gze(1,0,x,C),T=gze(x,C,M,g);return l===0&&T>0&&(T-=bk),l===1&&T<0&&(T+=bk),[S,L,P,T]},r7t=function(t){var r=t.px,n=t.py,i=t.cx,a=t.cy,o=t.rx,s=t.ry,l=t.xAxisRotation,u=l===void 0?0:l,c=t.largeArcFlag,f=c===void 0?0:c,h=t.sweepFlag,v=h===void 0?0:h,d=[];if(o===0||s===0)return[];var _=Math.sin(u*bk/360),b=Math.cos(u*bk/360),p=b*(r-i)/2+_*(n-a)/2,E=-_*(r-i)/2+b*(n-a)/2;if(p===0&&E===0)return[];o=Math.abs(o),s=Math.abs(s);var k=Math.pow(p,2)/Math.pow(o,2)+Math.pow(E,2)/Math.pow(s,2);k>1&&(o*=Math.sqrt(k),s*=Math.sqrt(k));var S=t7t(r,n,i,a,o,s,f,v,_,b,p,E),L=QFt(S,4),x=L[0],C=L[1],M=L[2],g=L[3],P=Math.abs(g)/(bk/4);Math.abs(1-P)<1e-7&&(P=1);var T=Math.max(Math.ceil(P),1);g/=T;for(var F=0;F{"use strict";xze.exports=n7t;var i7t=yze();function n7t(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f4?(n=v[v.length-4],i=v[v.length-3]):(n=u,i=c),r.push(v)}return r}function eF(e,t,r,n){return["C",e,t,r,n,r,n]}function _ze(e,t,r,n,i,a){return["C",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}});var eY=ye((fgr,wze)=>{"use strict";wze.exports=function(t){return typeof t!="string"?!1:(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}});var Sze=ye((hgr,Aze)=>{"use strict";var a7t=lM(),o7t=$X(),s7t=bze(),l7t=eY(),Tze=mE();Aze.exports=u7t;function u7t(e){if(Array.isArray(e)&&e.length===1&&typeof e[0]=="string"&&(e=e[0]),typeof e=="string"&&(Tze(l7t(e),"String is not an SVG path."),e=a7t(e)),Tze(Array.isArray(e),"Argument should be a string or an array of path segments."),e=o7t(e),e=s7t(e),!e.length)return[0,0,0,0];for(var t=[1/0,1/0,-1/0,-1/0],r=0,n=e.length;rt[2]&&(t[2]=i[a+0]),i[a+1]>t[3]&&(t[3]=i[a+1]);return t}});var Pze=ye((dgr,Lze)=>{var iw=Math.PI,Mze=Cze(120);Lze.exports=c7t;function c7t(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f7&&(r.push(v.splice(0,7)),v.unshift("C"));break;case"S":var _=u,b=c;(t=="C"||t=="S")&&(_+=_-n,b+=b-i),v=["C",_,b,v[1],v[2],v[3],v[4]];break;case"T":t=="Q"||t=="T"?(s=u*2-s,l=c*2-l):(s=u,l=c),v=Eze(u,c,s,l,v[1],v[2]);break;case"Q":s=v[1],l=v[2],v=Eze(u,c,v[1],v[2],v[3],v[4]);break;case"L":v=tF(u,c,v[1],v[2]);break;case"H":v=tF(u,c,v[1],c);break;case"V":v=tF(u,c,u,v[1]);break;case"Z":v=tF(u,c,a,o);break}t=d,u=v[v.length-2],c=v[v.length-1],v.length>4?(n=v[v.length-4],i=v[v.length-3]):(n=u,i=c),r.push(v)}return r}function tF(e,t,r,n){return["C",e,t,r,n,r,n]}function Eze(e,t,r,n,i,a){return["C",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function kze(e,t,r,n,i,a,o,s,l,u){if(u)k=u[0],S=u[1],p=u[2],E=u[3];else{var c=tY(e,t,-i);e=c.x,t=c.y,c=tY(s,l,-i),s=c.x,l=c.y;var f=(e-s)/2,h=(t-l)/2,v=f*f/(r*r)+h*h/(n*n);v>1&&(v=Math.sqrt(v),r=v*r,n=v*n);var d=r*r,_=n*n,b=(a==o?-1:1)*Math.sqrt(Math.abs((d*_-d*h*h-_*f*f)/(d*h*h+_*f*f)));b==1/0&&(b=1);var p=b*r*h/n+(e+s)/2,E=b*-n*f/r+(t+l)/2,k=Math.asin(((t-E)/n).toFixed(9)),S=Math.asin(((l-E)/n).toFixed(9));k=eS&&(k=k-iw*2),!o&&S>k&&(S=S-iw*2)}if(Math.abs(S-k)>Mze){var L=S,x=s,C=l;S=k+Mze*(o&&S>k?1:-1),s=p+r*Math.cos(S),l=E+n*Math.sin(S);var M=kze(s,l,r,n,i,0,o,x,C,[S,L,p,E])}var g=Math.tan((S-k)/4),P=4/3*r*g,T=4/3*n*g,F=[2*e-(e+P*Math.sin(k)),2*t-(t-T*Math.cos(k)),s+P*Math.sin(S),l-T*Math.cos(S),s,l];if(u)return F;M&&(F=F.concat(M));for(var q=0;q{var f7t=$X(),h7t=Pze(),d7t={M:"moveTo",C:"bezierCurveTo"};Ize.exports=function(e,t){e.beginPath(),h7t(f7t(t)).forEach(function(r){var n=r[0],i=r.slice(1);e[d7t[n]].apply(e,i)}),e.closePath()}});var qze=ye((pgr,Fze)=>{"use strict";var v7t=Y5();Fze.exports=p7t;var wk=1e20;function p7t(e,t){t||(t={});var r=t.cutoff==null?.25:t.cutoff,n=t.radius==null?8:t.radius,i=t.channel||0,a,o,s,l,u,c,f,h,v,d,_;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error("For raw data width and height should be provided by options");a=t.width,o=t.height,l=e,t.stride?c=t.stride:c=Math.floor(e.length/a/o)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(h=e,f=h.getContext("2d"),a=h.width,o=h.height,v=f.getImageData(0,0,a,o),l=v.data,c=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(h=e.canvas,f=e,a=h.width,o=h.height,v=f.getImageData(0,0,a,o),l=v.data,c=4):window.ImageData&&e instanceof window.ImageData&&(v=e,a=e.width,o=e.height,l=v.data,c=4);if(s=Math.max(a,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(a*o),d=0,_=u.length;d<_;d++)l[d]=u[d*c+i]/255;else if(c!==1)throw Error("Raw data can have only 1 value per pixel");var b=Array(a*o),p=Array(a*o),E=Array(s),k=Array(s),S=Array(s+1),L=Array(s);for(d=0,_=a*o;d<_;d++){var x=l[d];b[d]=x===1?0:x===0?wk:Math.pow(Math.max(0,.5-x),2),p[d]=x===1?wk:x===0?0:Math.pow(Math.max(0,x-.5),2)}Rze(b,a,o,E,k,L,S),Rze(p,a,o,E,k,L,S);var C=window.Float32Array?new Float32Array(a*o):new Array(a*o);for(d=0,_=a*o;d<_;d++)C[d]=v7t(1-((b[d]-p[d])/n+r),0,1);return C}function Rze(e,t,r,n,i,a,o){for(var s=0;s{"use strict";var g7t=Sze(),m7t=lM(),y7t=Dze(),_7t=eY(),x7t=qze(),rY=document.createElement("canvas"),pp=rY.getContext("2d");Oze.exports=b7t;function b7t(e,t){if(!_7t(e))throw Error("Argument should be valid svg path string");t||(t={});var r,n;t.shape?(r=t.shape[0],n=t.shape[1]):(r=rY.width=t.w||t.width||200,n=rY.height=t.h||t.height||200);var i=Math.min(r,n),a=t.stroke||0,o=t.viewbox||t.viewBox||g7t(e),s=[r/(o[2]-o[0]),n/(o[3]-o[1])],l=Math.min(s[0]||0,s[1]||0)/2;if(pp.fillStyle="black",pp.fillRect(0,0,r,n),pp.fillStyle="white",a&&(typeof a!="number"&&(a=1),a>0?pp.strokeStyle="white":pp.strokeStyle="black",pp.lineWidth=Math.abs(a)),pp.translate(r*.5,n*.5),pp.scale(l,l),w7t()){var u=new Path2D(e);pp.fill(u),a&&pp.stroke(u)}else{var c=m7t(e);y7t(pp,c),pp.fill(),a&&pp.stroke()}pp.setTransform(1,0,0,1,0,0);var f=x7t(pp,{cutoff:t.cutoff!=null?t.cutoff:.5,radius:t.radius!=null?t.radius:i*.5});return f}var rF;function w7t(){if(rF!=null)return rF;var e=document.createElement("canvas").getContext("2d");if(e.canvas.width=e.canvas.height=1,!window.Path2D)return rF=!1;var t=new Path2D("M0,0h1v1h-1v-1Z");e.fillStyle="black",e.fill(t);var r=e.getImageData(0,0,1,1);return rF=r&&r.data&&r.data[3]===255}});var aw=ye((mgr,Kze)=>{"use strict";var nF=uo(),T7t=Bze(),iF=ax(),A7t=ya(),dA=Ar(),th=dA.isArrayOrTypedArray,fA=ao(),Nze=af(),Uze=t1().formatColor,hA=lu(),S7t=F3(),nY=Kz(),Tk=vx(),M7t=G1().DESELECTDIM,Vze={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},E7t=np().appendArrayPointValue;function k7t(e,t){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0},i=e._context.plotGlPixelRatio;if(t.visible!==!0)return n;if(hA.hasText(t)&&(n.text=Yze(e,t),n.textSel=Gze(e,t,t.selected),n.textUnsel=Gze(e,t,t.unselected)),hA.hasMarkers(t)&&(n.marker=oY(e,t),n.markerSel=aY(e,t,t.selected),n.markerUnsel=aY(e,t,t.unselected),!t.unselected&&th(t.marker.opacity))){var a=t.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r500?"bold":"normal":e}function oY(e,t){var r=t._length,n=t.marker,i={},a,o=th(n.symbol),s=th(n.angle),l=th(n.color),u=th(n.line.color),c=th(n.opacity),f=th(n.size),h=th(n.line.width),v;if(o||(v=nY.isOpenSymbol(n.symbol)),o||l||u||c||s){i.symbols=new Array(r),i.angles=new Array(r),i.colors=new Array(r),i.borderColors=new Array(r);var d=n.symbol,_=n.angle,b=Uze(n,n.opacity,r),p=Uze(n.line,n.opacity,r);if(!th(p[0])){var E=p;for(p=Array(r),a=0;aTk.TOO_MANY_POINTS||hA.hasMarkers(t)?"rect":"round";if(u&&t.connectgaps){var f=a[0],h=a[1];for(o=0;o1?l[o]:l[0]:l,v=th(u)?u.length>1?u[o]:u[0]:u,d=Vze[h],_=Vze[v],b=c?c/.8+1:0,p=-_*b-_*.5;a.offset[o]=[d*b/f,p/f]}}return a}Kze.exports={style:k7t,markerStyle:oY,markerSelection:aY,linePositions:L7t,errorBarPositions:P7t,textPosition:I7t}});var sY=ye((ygr,Jze)=>{"use strict";var aF=Ar();Jze.exports=function(t,r){var n=r._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return r._scene||(n=r._scene={},n.init=function(){aF.extendFlat(n,a,i)},n.init(),n.update=function(s){var l=aF.repeat(s,n.count);if(n.fill2d&&n.fill2d.update(l),n.scatter2d&&n.scatter2d.update(l),n.line2d&&n.line2d.update(l),n.error2d&&n.error2d.update(l.concat(l)),n.select2d&&n.select2d.update(l),n.glText)for(var u=0;u{"use strict";var D7t=$z(),vA=Ar(),$ze=af(),R7t=Ag().findExtremes,Qze=zg(),lY=U0(),z7t=lY.calcMarkerSize,F7t=lY.calcAxisExpansion,q7t=lY.setFirstScatter,O7t=B0(),pA=aw(),B7t=sY(),eFe=Yo().BADNUM,N7t=vx().TOO_MANY_POINTS;rFe.exports=function(t,r){var n=t._fullLayout,i=r._xA=$ze.getFromId(t,r.xaxis,"x"),a=r._yA=$ze.getFromId(t,r.yaxis,"y"),o=n._plots[r.xaxis+r.yaxis],s=r._length,l=s>=N7t,u=s*2,c={},f,h=i.makeCalcdata(r,"x"),v=a.makeCalcdata(r,"y"),d=Qze(r,i,"x",h),_=Qze(r,a,"y",v),b=d.vals,p=_.vals;r._x=b,r._y=p,r.xperiodalignment&&(r._origX=h,r._xStarts=d.starts,r._xEnds=d.ends),r.yperiodalignment&&(r._origY=v,r._yStarts=_.starts,r._yEnds=_.ends);var E=new Array(u),k=new Array(s);for(f=0;f1&&vA.extendFlat(o.line,pA.linePositions(e,r,n)),o.errorX||o.errorY){var s=pA.errorBarPositions(e,r,n,i,a);o.errorX&&vA.extendFlat(o.errorX,s.x),o.errorY&&vA.extendFlat(o.errorY,s.y)}return o.text&&(vA.extendFlat(o.text,{positions:n},pA.textPosition(e,r,o.text,o.marker)),vA.extendFlat(o.textSel,{positions:n},pA.textPosition(e,r,o.text,o.markerSel)),vA.extendFlat(o.textUnsel,{positions:n},pA.textPosition(e,r,o.text,o.markerUnsel))),o}});var uY=ye((xgr,aFe)=>{"use strict";var nFe=Ar(),V7t=va(),H7t=G1().DESELECTDIM;function G7t(e){var t=e[0],r=t.trace,n=t.t,i=n._scene,a=n.index,o=i.selectBatch[a],s=i.unselectBatch[a],l=i.textOptions[a],u=i.textSelectedOptions[a]||{},c=i.textUnselectedOptions[a]||{},f=nFe.extendFlat({},l),h,v;if(o.length||s.length){var d=u.color,_=c.color,b=l.color,p=nFe.isArrayOrTypedArray(b);for(f.color=new Array(r._length),h=0;h{"use strict";var oFe=lu(),j7t=uY().styleTextSelection;sFe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l=n[0].t,u=s._length,c=l.x,f=l.y,h=l._scene,v=l.index;if(!h)return o;var d=oFe.hasText(s),_=oFe.hasMarkers(s),b=!_&&!d;if(s.visible!==!0||b)return o;var p=[],E=[];if(r!==!1&&!r.degenerate)for(var k=0;k{"use strict";var W7t=Yz();lFe.exports={moduleType:"trace",name:"scattergl",basePlotModule:Qf(),categories:["gl","regl","cartesian","symbols","errorBarsOK","showLegend","scatter-like"],attributes:_k(),supplyDefaults:GRe(),crossTraceDefaults:dU(),colorbar:Jd(),formatLabels:WRe(),calc:iFe(),hoverPoints:W7t.hoverPoints,selectPoints:cY(),meta:{}}});var fFe=ye((Tgr,sF)=>{"use strict";var oF=Y5();sF.exports=cFe;sF.exports.to=cFe;sF.exports.from=Z7t;function cFe(e,t){t==null&&(t=!0);var r=e[0],n=e[1],i=e[2],a=e[3];a==null&&(a=t?1:255),t&&(r*=255,n*=255,i*=255,a*=255),r=oF(r,0,255)&255,n=oF(n,0,255)&255,i=oF(i,0,255)&255,a=oF(a,0,255)&255;var o=r*16777216+(n<<16)+(i<<8)+a;return o}function Z7t(e,t){e=+e;var r=e>>>24,n=(e&16711680)>>>16,i=(e&65280)>>>8,a=e&255;return t===!1?[r,n,i,a]:[r/255,n/255,i/255,a/255]}});var Ah=ye((Agr,dFe)=>{"use strict";var hFe=Object.getOwnPropertySymbols,X7t=Object.prototype.hasOwnProperty,Y7t=Object.prototype.propertyIsEnumerable;function K7t(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function J7t(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(t).map(function(a){return t[a]});if(n.join("")!=="0123456789")return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach(function(a){i[a]=a}),Object.keys(Object.assign({},i)).join("")==="abcdefghijklmnopqrst"}catch(a){return!1}}dFe.exports=J7t()?Object.assign:function(e,t){for(var r,n=K7t(e),i,a=1;a{vFe.exports=function(e){typeof e=="string"&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n{"use strict";gFe.exports=function(t,r,n){Array.isArray(n)||(n=[].slice.call(arguments,2));for(var i=0,a=n.length;i{"use strict";mFe.exports=typeof navigator!="undefined"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))});var lF=ye((kgr,gA)=>{"use strict";gA.exports=Ak;gA.exports.float32=gA.exports.float=Ak;gA.exports.fract32=gA.exports.fract=$7t;var _Fe=new Float32Array(1);function $7t(e,t){if(e.length){if(e instanceof Float32Array)return new Float32Array(e.length);t instanceof Float32Array||(t=Ak(e));for(var r=0,n=t.length;r{"use strict";function Q7t(e,t){var r=e==null?null:typeof Symbol!="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function e9t(e,t){return i9t(e)||Q7t(e,t)||bFe(e,t)||o9t()}function t9t(e){return r9t(e)||n9t(e)||bFe(e)||a9t()}function r9t(e){if(Array.isArray(e))return hY(e)}function i9t(e){if(Array.isArray(e))return e}function n9t(e){if(typeof Symbol!="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function bFe(e,t){if(e){if(typeof e=="string")return hY(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return hY(e,t)}}function hY(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r 1.0 + delta) { + discard; + } + + alpha -= smoothstep(1.0 - delta, 1.0 + delta, radius); + + float borderRadius = fragBorderRadius; + float ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius); + vec4 color = mix(fragColor, fragBorderColor, ratio); + color.a *= alpha * opacity; + gl_FragColor = color; +} +`]),d.vert=uF([`precision highp float; +#define GLSLIFY 1 + +attribute float x, y, xFract, yFract; +attribute float size, borderSize; +attribute vec4 colorId, borderColorId; +attribute float isActive; + +// \`invariant\` effectively turns off optimizations for the position. +// We need this because -fast-math on M1 Macs is re-ordering +// floating point operations in a way that causes floating point +// precision limits to put points in the wrong locations. +invariant gl_Position; + +uniform bool constPointSize; +uniform float pixelRatio; +uniform vec2 paletteSize, scale, scaleFract, translate, translateFract; +uniform sampler2D paletteTexture; + +const float maxSize = 100.; + +varying vec4 fragColor, fragBorderColor; +varying float fragBorderRadius, fragWidth; + +float pointSizeScale = (constPointSize) ? 2. : pixelRatio; + +bool isDirect = (paletteSize.x < 1.); + +vec4 getColor(vec4 id) { + return isDirect ? id / 255. : texture2D(paletteTexture, + vec2( + (id.x + .5) / paletteSize.x, + (id.y + .5) / paletteSize.y + ) + ); +} + +void main() { + // ignore inactive points + if (isActive == 0.) return; + + vec2 position = vec2(x, y); + vec2 positionFract = vec2(xFract, yFract); + + vec4 color = getColor(colorId); + vec4 borderColor = getColor(borderColorId); + + float size = size * maxSize / 255.; + float borderSize = borderSize * maxSize / 255.; + + gl_PointSize = (size + borderSize) * pointSizeScale; + + vec2 pos = (position + translate) * scale + + (positionFract + translateFract) * scale + + (position + translate) * scaleFract + + (positionFract + translateFract) * scaleFract; + + gl_Position = vec4(pos * 2. - 1., 0., 1.); + + fragBorderRadius = 1. - 2. * borderSize / (size + borderSize); + fragColor = color; + fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor; + fragWidth = 1. / gl_PointSize; +} +`]),xFe&&(d.frag=d.frag.replace("smoothstep","smoothStep"),v.frag=v.frag.replace("smoothstep","smoothStep")),this.drawCircle=e(d)}iv.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4};iv.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this};iv.prototype.draw=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;nre)?N.tree=c9t(G,{bounds:ge}):re&&re.length&&(N.tree=re),N.tree){var ie={primitive:"points",usage:"static",data:N.tree,type:"uint32"};N.elements?N.elements(ie):N.elements=o.elements(ie)}var Te=cF.float32(G);ae({data:Te,usage:"dynamic"});var Ee=cF.fract32(G,Te);return _e({data:Ee,usage:"dynamic"}),Me({data:new Uint8Array(ke),type:"uint8",usage:"stream"}),G}},{marker:function(G,N,W){var re=N.activation;if(re.forEach(function(Ee){return Ee&&Ee.destroy&&Ee.destroy()}),re.length=0,!G||typeof G[0]=="number"){var ae=e.addMarker(G);re[ae]=!0}else{for(var _e=[],Me=0,ke=Math.min(G.length,N.count);Me=0)return i;var a;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)a=e;else{a=new Uint8Array(e.length);for(var o=0,s=e.length;on*4&&(this.tooManyColors=!0),this.updatePalette(r),i.length===1?i[0]:i};iv.prototype.updatePalette=function(e){if(!this.tooManyColors){var t=this.maxColors,r=this.paletteTexture,n=Math.ceil(e.length*.25/t);if(n>1){e=e.slice();for(var i=e.length*.25%t;i{"use strict";mY.exports=dF;mY.exports.default=dF;function dF(e,t,r){r=r||2;var n=t&&t.length,i=n?t[0]*r:e.length,a=AFe(e,0,i,r,!0),o=[];if(!a||a.next===a.prev)return o;var s,l,u,c,f,h,v;if(n&&(a=w9t(e,t,a,r)),e.length>80*r){s=u=e[0],l=c=e[1];for(var d=r;du&&(u=f),h>c&&(c=h);v=Math.max(u-s,c-l),v=v!==0?32767/v:0}return Sk(a,o,r,s,l,v,0),o}function AFe(e,t,r,n,i){var a,o;if(i===gY(e,t,r,n)>0)for(a=t;a=t;a-=n)o=TFe(a,e[a],e[a+1],o);return o&&vF(o,o.next)&&(Ek(o),o=o.next),o}function sw(e,t){if(!e)return e;t||(t=e);var r=e,n;do if(n=!1,!r.steiner&&(vF(r,r.next)||rh(r.prev,r,r.next)===0)){if(Ek(r),r=t=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==t);return t}function Sk(e,t,r,n,i,a,o){if(e){!o&&a&&E9t(e,n,i,a);for(var s=e,l,u;e.prev!==e.next;){if(l=e.prev,u=e.next,a?_9t(e,n,i,a):y9t(e)){t.push(l.i/r|0),t.push(e.i/r|0),t.push(u.i/r|0),Ek(e),e=u.next,s=u.next;continue}if(e=u,e===s){o?o===1?(e=x9t(sw(e),t,r),Sk(e,t,r,n,i,a,2)):o===2&&b9t(e,t,r,n,i,a):Sk(sw(e),t,r,n,i,a,1);break}}}}function y9t(e){var t=e.prev,r=e,n=e.next;if(rh(t,r,n)>=0)return!1;for(var i=t.x,a=r.x,o=n.x,s=t.y,l=r.y,u=n.y,c=ia?i>o?i:o:a>o?a:o,v=s>l?s>u?s:u:l>u?l:u,d=n.next;d!==t;){if(d.x>=c&&d.x<=h&&d.y>=f&&d.y<=v&&mA(i,s,a,l,o,u,d.x,d.y)&&rh(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function _9t(e,t,r,n){var i=e.prev,a=e,o=e.next;if(rh(i,a,o)>=0)return!1;for(var s=i.x,l=a.x,u=o.x,c=i.y,f=a.y,h=o.y,v=sl?s>u?s:u:l>u?l:u,b=c>f?c>h?c:h:f>h?f:h,p=vY(v,d,t,r,n),E=vY(_,b,t,r,n),k=e.prevZ,S=e.nextZ;k&&k.z>=p&&S&&S.z<=E;){if(k.x>=v&&k.x<=_&&k.y>=d&&k.y<=b&&k!==i&&k!==o&&mA(s,c,l,f,u,h,k.x,k.y)&&rh(k.prev,k,k.next)>=0||(k=k.prevZ,S.x>=v&&S.x<=_&&S.y>=d&&S.y<=b&&S!==i&&S!==o&&mA(s,c,l,f,u,h,S.x,S.y)&&rh(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;k&&k.z>=p;){if(k.x>=v&&k.x<=_&&k.y>=d&&k.y<=b&&k!==i&&k!==o&&mA(s,c,l,f,u,h,k.x,k.y)&&rh(k.prev,k,k.next)>=0)return!1;k=k.prevZ}for(;S&&S.z<=E;){if(S.x>=v&&S.x<=_&&S.y>=d&&S.y<=b&&S!==i&&S!==o&&mA(s,c,l,f,u,h,S.x,S.y)&&rh(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function x9t(e,t,r){var n=e;do{var i=n.prev,a=n.next.next;!vF(i,a)&&SFe(i,n,n.next,a)&&Mk(i,a)&&Mk(a,i)&&(t.push(i.i/r|0),t.push(n.i/r|0),t.push(a.i/r|0),Ek(n),Ek(n.next),n=e=a),n=n.next}while(n!==e);return sw(n)}function b9t(e,t,r,n,i,a){var o=e;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&L9t(o,s)){var l=MFe(o,s);o=sw(o,o.next),l=sw(l,l.next),Sk(o,t,r,n,i,a,0),Sk(l,t,r,n,i,a,0);return}s=s.next}o=o.next}while(o!==e)}function w9t(e,t,r,n){var i=[],a,o,s,l,u;for(a=0,o=t.length;a=r.next.y&&r.next.y!==r.y){var s=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=n&&s>a&&(a=s,o=r.x=r.x&&r.x>=u&&n!==r.x&&mA(io.x||r.x===o.x&&M9t(o,r)))&&(o=r,f=h)),r=r.next;while(r!==l);return o}function M9t(e,t){return rh(e.prev,e,t.prev)<0&&rh(t.next,e,e.next)<0}function E9t(e,t,r,n){var i=e;do i.z===0&&(i.z=vY(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,k9t(i)}function k9t(e){var t,r,n,i,a,o,s,l,u=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t0||l>0&&n;)s!==0&&(l===0||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1);return e}function vY(e,t,r,n,i){return e=(e-r)*i|0,t=(t-n)*i|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function C9t(e){var t=e,r=e;do(t.x=(e-o)*(a-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function L9t(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!P9t(e,t)&&(Mk(e,t)&&Mk(t,e)&&I9t(e,t)&&(rh(e.prev,e,t.prev)||rh(e,t.prev,t))||vF(e,t)&&rh(e.prev,e,e.next)>0&&rh(t.prev,t,t.next)>0)}function rh(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function vF(e,t){return e.x===t.x&&e.y===t.y}function SFe(e,t,r,n){var i=hF(rh(e,t,r)),a=hF(rh(e,t,n)),o=hF(rh(r,n,e)),s=hF(rh(r,n,t));return!!(i!==a&&o!==s||i===0&&fF(e,r,t)||a===0&&fF(e,n,t)||o===0&&fF(r,e,n)||s===0&&fF(r,t,n))}function fF(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function hF(e){return e>0?1:e<0?-1:0}function P9t(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&SFe(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function Mk(e,t){return rh(e.prev,e,e.next)<0?rh(e,t,e.next)>=0&&rh(e,e.prev,t)>=0:rh(e,t,e.prev)<0||rh(e,e.next,t)<0}function I9t(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==e);return n}function MFe(e,t){var r=new pY(e.i,e.x,e.y),n=new pY(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function TFe(e,t,r,n){var i=new pY(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Ek(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function pY(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}dF.deviation=function(e,t,r,n){var i=t&&t.length,a=i?t[0]*r:e.length,o=Math.abs(gY(e,0,a,r));if(i)for(var s=0,l=t.length;s0&&(n+=e[i-1].length,r.holes.push(n))}return r}});var CFe=ye((Pgr,kFe)=>{"use strict";var D9t=tw();kFe.exports=R9t;function R9t(e,t,r){if(!e||e.length==null)throw Error("Argument should be an array");t==null&&(t=1),r==null&&(r=D9t(e,t));for(var n=0;n{"use strict";LFe.exports=function(){var e,t;if(typeof WeakMap!="function")return!1;try{e=new WeakMap([[t={},"one"],[{},"two"],[{},"three"]])}catch(r){return!1}return!(String(e)!=="[object WeakMap]"||typeof e.set!="function"||e.set({},1)!==e||typeof e.delete!="function"||typeof e.has!="function"||e.get(t)!=="one")}});var DFe=ye((Dgr,IFe)=>{"use strict";IFe.exports=function(){}});var px=ye((Rgr,RFe)=>{"use strict";var z9t=DFe()();RFe.exports=function(e){return e!==z9t&&e!==null}});var yY=ye((zgr,FFe)=>{"use strict";var F9t=Object.create,q9t=Object.getPrototypeOf,zFe={};FFe.exports=function(){var e=Object.setPrototypeOf,t=arguments[0]||F9t;return typeof e!="function"?!1:q9t(e(t(null),zFe))===zFe}});var _Y=ye((Fgr,qFe)=>{"use strict";var O9t=px(),B9t={function:!0,object:!0};qFe.exports=function(e){return O9t(e)&&B9t[typeof e]||!1}});var o1=ye((qgr,OFe)=>{"use strict";var N9t=px();OFe.exports=function(e){if(!N9t(e))throw new TypeError("Cannot use null or undefined");return e}});var NFe=ye((Ogr,BFe)=>{"use strict";var xY=Object.create,pF;yY()()||(pF=bY());BFe.exports=function(){var e,t,r;return!pF||pF.level!==1?xY:(e={},t={},r={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(n){if(n==="__proto__"){t[n]={configurable:!0,enumerable:!1,writable:!0,value:void 0};return}t[n]=r}),Object.defineProperties(e,t),Object.defineProperty(pF,"nullPolyfill",{configurable:!1,enumerable:!1,writable:!1,value:e}),function(n,i){return xY(n===null?e:n,i)})}()});var bY=ye((Bgr,UFe)=>{"use strict";var U9t=_Y(),V9t=o1(),H9t=Object.prototype.isPrototypeOf,G9t=Object.defineProperty,j9t={configurable:!0,enumerable:!1,writable:!0,value:void 0},gF;gF=function(e,t){if(V9t(e),t===null||U9t(t))return e;throw new TypeError("Prototype must be null or an object")};UFe.exports=function(e){var t,r;return e?(e.level===2?e.set?(r=e.set,t=function(n,i){return r.call(gF(n,i),i),n}):t=function(n,i){return gF(n,i).__proto__=i,n}:t=function n(i,a){var o;return gF(i,a),o=H9t.call(n.nullPolyfill,i),o&&delete n.nullPolyfill.__proto__,a===null&&(a=n.nullPolyfill),i.__proto__=a,o&&G9t(n.nullPolyfill,"__proto__",j9t),i},Object.defineProperty(t,"level",{configurable:!1,enumerable:!1,writable:!1,value:e.level})):null}(function(){var e=Object.create(null),t={},r,n=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__");if(n){try{r=n.set,r.call(e,t)}catch(i){}if(Object.getPrototypeOf(e)===t)return{set:r,level:2}}return e.__proto__=t,Object.getPrototypeOf(e)===t?{level:2}:(e={},e.__proto__=t,Object.getPrototypeOf(e)===t?{level:1}:!1)}());NFe()});var mF=ye((Ngr,VFe)=>{"use strict";VFe.exports=yY()()?Object.setPrototypeOf:bY()});var GFe=ye((Ugr,HFe)=>{"use strict";var W9t=_Y();HFe.exports=function(e){if(!W9t(e))throw new TypeError(e+" is not an Object");return e}});var WFe=ye((Vgr,jFe)=>{"use strict";var Z9t=Object.create(null),X9t=Math.random;jFe.exports=function(){var e;do e=X9t().toString(36).slice(2);while(Z9t[e]);return e}});var lw=ye((Hgr,ZFe)=>{"use strict";var Y9t=void 0;ZFe.exports=function(e){return e!==Y9t&&e!==null}});var yF=ye((Ggr,XFe)=>{"use strict";var K9t=lw(),J9t={object:!0,function:!0,undefined:!0};XFe.exports=function(e){return K9t(e)?hasOwnProperty.call(J9t,typeof e):!1}});var KFe=ye((jgr,YFe)=>{"use strict";var $9t=yF();YFe.exports=function(e){if(!$9t(e))return!1;try{return e.constructor?e.constructor.prototype===e:!1}catch(t){return!1}}});var $Fe=ye((Wgr,JFe)=>{"use strict";var Q9t=KFe();JFe.exports=function(e){if(typeof e!="function"||!hasOwnProperty.call(e,"length"))return!1;try{if(typeof e.length!="number"||typeof e.call!="function"||typeof e.apply!="function")return!1}catch(t){return!1}return!Q9t(e)}});var wY=ye((Zgr,QFe)=>{"use strict";var eqt=$Fe(),tqt=/^\s*class[\s{/}]/,rqt=Function.prototype.toString;QFe.exports=function(e){return!(!eqt(e)||tqt.test(rqt.call(e)))}});var t7e=ye((Xgr,e7e)=>{"use strict";e7e.exports=function(){var e=Object.assign,t;return typeof e!="function"?!1:(t={foo:"raz"},e(t,{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}});var i7e=ye((Ygr,r7e)=>{"use strict";r7e.exports=function(){try{return Object.keys("primitive"),!0}catch(e){return!1}}});var a7e=ye((Kgr,n7e)=>{"use strict";var iqt=px(),nqt=Object.keys;n7e.exports=function(e){return nqt(iqt(e)?Object(e):e)}});var s7e=ye((Jgr,o7e)=>{"use strict";o7e.exports=i7e()()?Object.keys:a7e()});var u7e=ye(($gr,l7e)=>{"use strict";var aqt=s7e(),oqt=o1(),sqt=Math.max;l7e.exports=function(e,t){var r,n,i=sqt(arguments.length,2),a;for(e=Object(oqt(e)),a=function(o){try{e[o]=t[o]}catch(s){r||(r=s)}},n=1;n{"use strict";c7e.exports=t7e()()?Object.assign:u7e()});var TY=ye((emr,f7e)=>{"use strict";var lqt=px(),uqt=Array.prototype.forEach,cqt=Object.create,fqt=function(e,t){var r;for(r in e)t[r]=e[r]};f7e.exports=function(e){var t=cqt(null);return uqt.call(arguments,function(r){lqt(r)&&fqt(Object(r),t)}),t}});var d7e=ye((tmr,h7e)=>{"use strict";var AY="razdwatrzy";h7e.exports=function(){return typeof AY.contains!="function"?!1:AY.contains("dwa")===!0&&AY.contains("foo")===!1}});var p7e=ye((rmr,v7e)=>{"use strict";var hqt=String.prototype.indexOf;v7e.exports=function(e){return hqt.call(this,e,arguments[1])>-1}});var SY=ye((imr,g7e)=>{"use strict";g7e.exports=d7e()()?String.prototype.contains:p7e()});var s1=ye((nmr,x7e)=>{"use strict";var xF=lw(),m7e=wY(),y7e=_F(),_7e=TY(),kk=SY(),dqt=x7e.exports=function(e,t){var r,n,i,a,o;return arguments.length<2||typeof e!="string"?(a=t,t=e,e=null):a=arguments[2],xF(e)?(r=kk.call(e,"c"),n=kk.call(e,"e"),i=kk.call(e,"w")):(r=i=!0,n=!1),o={value:t,configurable:r,enumerable:n,writable:i},a?y7e(_7e(a),o):o};dqt.gs=function(e,t,r){var n,i,a,o;return typeof e!="string"?(a=r,r=t,t=e,e=null):a=arguments[3],xF(t)?m7e(t)?xF(r)?m7e(r)||(a=r,r=void 0):r=void 0:(a=t,t=r=void 0):t=void 0,xF(e)?(n=kk.call(e,"c"),i=kk.call(e,"e")):(n=!0,i=!1),o={get:t,set:r,configurable:n,enumerable:i},a?y7e(_7e(a),o):o}});var Ck=ye((amr,w7e)=>{"use strict";var b7e=Object.prototype.toString,vqt=b7e.call(function(){return arguments}());w7e.exports=function(e){return b7e.call(e)===vqt}});var Lk=ye((omr,A7e)=>{"use strict";var T7e=Object.prototype.toString,pqt=T7e.call("");A7e.exports=function(e){return typeof e=="string"||e&&typeof e=="object"&&(e instanceof String||T7e.call(e)===pqt)||!1}});var M7e=ye((smr,S7e)=>{"use strict";S7e.exports=function(){return typeof globalThis!="object"||!globalThis?!1:globalThis.Array===Array}});var C7e=ye((lmr,k7e)=>{var E7e=function(){if(typeof self=="object"&&self)return self;if(typeof window=="object"&&window)return window;throw new Error("Unable to resolve global `this`")};k7e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return E7e()}try{return __global__||E7e()}finally{delete Object.prototype.__global__}}()});var Pk=ye((umr,L7e)=>{"use strict";L7e.exports=M7e()()?globalThis:C7e()});var I7e=ye((cmr,P7e)=>{"use strict";var gqt=Pk(),MY={object:!0,symbol:!0};P7e.exports=function(){var e=gqt.Symbol,t;if(typeof e!="function")return!1;t=e("test symbol");try{String(t)}catch(r){return!1}return!(!MY[typeof e.iterator]||!MY[typeof e.toPrimitive]||!MY[typeof e.toStringTag])}});var R7e=ye((fmr,D7e)=>{"use strict";D7e.exports=function(e){return e?typeof e=="symbol"?!0:!e.constructor||e.constructor.name!=="Symbol"?!1:e[e.constructor.toStringTag]==="Symbol":!1}});var EY=ye((hmr,z7e)=>{"use strict";var mqt=R7e();z7e.exports=function(e){if(!mqt(e))throw new TypeError(e+" is not a symbol");return e}});var N7e=ye((dmr,B7e)=>{"use strict";var F7e=s1(),yqt=Object.create,q7e=Object.defineProperty,_qt=Object.prototype,O7e=yqt(null);B7e.exports=function(e){for(var t=0,r,n;O7e[e+(t||"")];)++t;return e+=t||"",O7e[e]=!0,r="@@"+e,q7e(_qt,r,F7e.gs(null,function(i){n||(n=!0,q7e(this,r,F7e(i)),n=!1)})),r}});var V7e=ye((vmr,U7e)=>{"use strict";var tm=s1(),Sh=Pk().Symbol;U7e.exports=function(e){return Object.defineProperties(e,{hasInstance:tm("",Sh&&Sh.hasInstance||e("hasInstance")),isConcatSpreadable:tm("",Sh&&Sh.isConcatSpreadable||e("isConcatSpreadable")),iterator:tm("",Sh&&Sh.iterator||e("iterator")),match:tm("",Sh&&Sh.match||e("match")),replace:tm("",Sh&&Sh.replace||e("replace")),search:tm("",Sh&&Sh.search||e("search")),species:tm("",Sh&&Sh.species||e("species")),split:tm("",Sh&&Sh.split||e("split")),toPrimitive:tm("",Sh&&Sh.toPrimitive||e("toPrimitive")),toStringTag:tm("",Sh&&Sh.toStringTag||e("toStringTag")),unscopables:tm("",Sh&&Sh.unscopables||e("unscopables"))})}});var j7e=ye((pmr,G7e)=>{"use strict";var H7e=s1(),xqt=EY(),Ik=Object.create(null);G7e.exports=function(e){return Object.defineProperties(e,{for:H7e(function(t){return Ik[t]?Ik[t]:Ik[t]=e(String(t))}),keyFor:H7e(function(t){var r;xqt(t);for(r in Ik)if(Ik[r]===t)return r})})}});var X7e=ye((gmr,Z7e)=>{"use strict";var Km=s1(),kY=EY(),bF=Pk().Symbol,bqt=N7e(),wqt=V7e(),Tqt=j7e(),Aqt=Object.create,CY=Object.defineProperties,wF=Object.defineProperty,Xv,yA,W7e;if(typeof bF=="function")try{String(bF()),W7e=!0}catch(e){}else bF=null;yA=function(t){if(this instanceof yA)throw new TypeError("Symbol is not a constructor");return Xv(t)};Z7e.exports=Xv=function e(t){var r;if(this instanceof e)throw new TypeError("Symbol is not a constructor");return W7e?bF(t):(r=Aqt(yA.prototype),t=t===void 0?"":String(t),CY(r,{__description__:Km("",t),__name__:Km("",bqt(t))}))};wqt(Xv);Tqt(Xv);CY(yA.prototype,{constructor:Km(Xv),toString:Km("",function(){return this.__name__})});CY(Xv.prototype,{toString:Km(function(){return"Symbol ("+kY(this).__description__+")"}),valueOf:Km(function(){return kY(this)})});wF(Xv.prototype,Xv.toPrimitive,Km("",function(){var e=kY(this);return typeof e=="symbol"?e:e.toString()}));wF(Xv.prototype,Xv.toStringTag,Km("c","Symbol"));wF(yA.prototype,Xv.toStringTag,Km("c",Xv.prototype[Xv.toStringTag]));wF(yA.prototype,Xv.toPrimitive,Km("c",Xv.prototype[Xv.toPrimitive]))});var gx=ye((mmr,Y7e)=>{"use strict";Y7e.exports=I7e()()?Pk().Symbol:X7e()});var J7e=ye((ymr,K7e)=>{"use strict";var Sqt=o1();K7e.exports=function(){return Sqt(this).length=0,this}});var _A=ye((_mr,$7e)=>{"use strict";$7e.exports=function(e){if(typeof e!="function")throw new TypeError(e+" is not a function");return e}});var e9e=ye((xmr,Q7e)=>{"use strict";var Mqt=lw(),Eqt=yF(),kqt=Object.prototype.toString;Q7e.exports=function(e){if(!Mqt(e))return null;if(Eqt(e)){var t=e.toString;if(typeof t!="function"||t===kqt)return null}try{return""+e}catch(r){return null}}});var r9e=ye((bmr,t9e)=>{"use strict";t9e.exports=function(e){try{return e.toString()}catch(t){try{return String(e)}catch(r){return null}}}});var n9e=ye((wmr,i9e)=>{"use strict";var Cqt=r9e(),Lqt=/[\n\r\u2028\u2029]/g;i9e.exports=function(e){var t=Cqt(e);return t===null?"":(t.length>100&&(t=t.slice(0,99)+"\u2026"),t=t.replace(Lqt,function(r){switch(r){case` +`:return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}}),t)}});var LY=ye((Tmr,s9e)=>{"use strict";var a9e=lw(),Pqt=yF(),Iqt=e9e(),Dqt=n9e(),o9e=function(e,t){return e.replace("%v",Dqt(t))};s9e.exports=function(e,t,r){if(!Pqt(r))throw new TypeError(o9e(t,e));if(!a9e(e)){if("default"in r)return r.default;if(r.isOptional)return null}var n=Iqt(r.errorMessage);throw a9e(n)||(n=t),new TypeError(o9e(n,e))}});var u9e=ye((Amr,l9e)=>{"use strict";var Rqt=LY(),zqt=lw();l9e.exports=function(e){return zqt(e)?e:Rqt(e,"Cannot use %v",arguments[1])}});var f9e=ye((Smr,c9e)=>{"use strict";var Fqt=LY(),qqt=wY();c9e.exports=function(e){return qqt(e)?e:Fqt(e,"%v is not a plain function",arguments[1])}});var d9e=ye((Mmr,h9e)=>{"use strict";h9e.exports=function(){var e=Array.from,t,r;return typeof e!="function"?!1:(t=["raz","dwa"],r=e(t),!!(r&&r!==t&&r[1]==="dwa"))}});var p9e=ye((Emr,v9e)=>{"use strict";var Oqt=Object.prototype.toString,Bqt=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);v9e.exports=function(e){return typeof e=="function"&&Bqt(Oqt.call(e))}});var m9e=ye((kmr,g9e)=>{"use strict";g9e.exports=function(){var e=Math.sign;return typeof e!="function"?!1:e(10)===1&&e(-20)===-1}});var _9e=ye((Cmr,y9e)=>{"use strict";y9e.exports=function(e){return e=Number(e),isNaN(e)||e===0?e:e>0?1:-1}});var b9e=ye((Lmr,x9e)=>{"use strict";x9e.exports=m9e()()?Math.sign:_9e()});var T9e=ye((Pmr,w9e)=>{"use strict";var Nqt=b9e(),Uqt=Math.abs,Vqt=Math.floor;w9e.exports=function(e){return isNaN(e)?0:(e=Number(e),e===0||!isFinite(e)?e:Nqt(e)*Vqt(Uqt(e)))}});var S9e=ye((Imr,A9e)=>{"use strict";var Hqt=T9e(),Gqt=Math.max;A9e.exports=function(e){return Gqt(0,Hqt(e))}});var C9e=ye((Dmr,k9e)=>{"use strict";var jqt=gx().iterator,Wqt=Ck(),Zqt=p9e(),Xqt=S9e(),M9e=_A(),Yqt=o1(),Kqt=px(),Jqt=Lk(),E9e=Array.isArray,PY=Function.prototype.call,uw={configurable:!0,enumerable:!0,writable:!0,value:null},IY=Object.defineProperty;k9e.exports=function(e){var t=arguments[1],r=arguments[2],n,i,a,o,s,l,u,c,f,h;if(e=Object(Yqt(e)),Kqt(t)&&M9e(t),!this||this===Array||!Zqt(this)){if(!t){if(Wqt(e))return s=e.length,s!==1?Array.apply(null,e):(o=new Array(1),o[0]=e[0],o);if(E9e(e)){for(o=new Array(s=e.length),i=0;i=55296&&l<=56319&&(h+=e[++i])),h=t?PY.call(t,r,h,a):h,n?(uw.value=h,IY(o,a,uw)):o[a]=h,++a;s=a}}if(s===void 0)for(s=Xqt(e.length),n&&(o=new n(s)),i=0;i{"use strict";L9e.exports=d9e()()?Array.from:C9e()});var D9e=ye((zmr,I9e)=>{"use strict";var $qt=P9e(),Qqt=_F(),eOt=o1();I9e.exports=function(e){var t=Object(eOt(e)),r=arguments[1],n=Object(arguments[2]);if(t!==e&&!r)return t;var i={};return r?$qt(r,function(a){(n.ensure||a in e)&&(i[a]=e[a])}):Qqt(i,e),i}});var F9e=ye((Fmr,z9e)=>{"use strict";var tOt=_A(),rOt=o1(),iOt=Function.prototype.bind,R9e=Function.prototype.call,nOt=Object.keys,aOt=Object.prototype.propertyIsEnumerable;z9e.exports=function(e,t){return function(r,n){var i,a=arguments[2],o=arguments[3];return r=Object(rOt(r)),tOt(n),i=nOt(r),o&&i.sort(typeof o=="function"?iOt.call(o,r):void 0),typeof e!="function"&&(e=i[e]),R9e.call(e,i,function(s,l){return aOt.call(r,s)?R9e.call(n,a,r[s],s,r,l):t})}}});var O9e=ye((qmr,q9e)=>{"use strict";q9e.exports=F9e()("forEach")});var N9e=ye((Omr,B9e)=>{"use strict";var oOt=_A(),sOt=O9e(),lOt=Function.prototype.call;B9e.exports=function(e,t){var r={},n=arguments[2];return oOt(t),sOt(e,function(i,a,o,s){r[a]=lOt.call(t,n,i,a,o,s)}),r}});var G9e=ye((Bmr,H9e)=>{"use strict";var uOt=lw(),cOt=u9e(),U9e=f9e(),fOt=D9e(),hOt=TY(),dOt=N9e(),vOt=Function.prototype.bind,pOt=Object.defineProperty,gOt=Object.prototype.hasOwnProperty,V9e;V9e=function(e,t,r){var n=cOt(t)&&U9e(t.value),i;return i=fOt(t),delete i.writable,delete i.value,i.get=function(){return!r.overwriteDefinition&&gOt.call(this,e)?n:(t.value=vOt.call(n,r.resolveContext?r.resolveContext(this):this),pOt(this,e,t),this[e])},i};H9e.exports=function(e){var t=hOt(arguments[1]);return uOt(t.resolveContext)&&U9e(t.resolveContext),dOt(e,function(r,n){return V9e(n,r,t)})}});var DY=ye((Nmr,X9e)=>{"use strict";var mOt=J7e(),yOt=_F(),_Ot=_A(),xOt=o1(),Up=s1(),bOt=G9e(),j9e=gx(),W9e=Object.defineProperty,Z9e=Object.defineProperties,Dk;X9e.exports=Dk=function(e,t){if(!(this instanceof Dk))throw new TypeError("Constructor requires 'new'");Z9e(this,{__list__:Up("w",xOt(e)),__context__:Up("w",t),__nextIndex__:Up("w",0)}),t&&(_Ot(t.on),t.on("_add",this._onAdd),t.on("_delete",this._onDelete),t.on("_clear",this._onClear))};delete Dk.prototype.constructor;Z9e(Dk.prototype,yOt({_next:Up(function(){var e;if(this.__list__){if(this.__redo__&&(e=this.__redo__.shift(),e!==void 0))return e;if(this.__nextIndex__=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){W9e(this,"__redo__",Up("c",[e]));return}this.__redo__.forEach(function(t,r){t>=e&&(this.__redo__[r]=++t)},this),this.__redo__.push(e)}}),_onDelete:Up(function(e){var t;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(t=this.__redo__.indexOf(e),t!==-1&&this.__redo__.splice(t,1),this.__redo__.forEach(function(r,n){r>e&&(this.__redo__[n]=--r)},this)))}),_onClear:Up(function(){this.__redo__&&mOt.call(this.__redo__),this.__nextIndex__=0})})));W9e(Dk.prototype,j9e.iterator,Up(function(){return this}))});var Q9e=ye((Umr,$9e)=>{"use strict";var Y9e=mF(),K9e=SY(),RY=s1(),wOt=gx(),zY=DY(),J9e=Object.defineProperty,xA;xA=$9e.exports=function(e,t){if(!(this instanceof xA))throw new TypeError("Constructor requires 'new'");zY.call(this,e),t?K9e.call(t,"key+value")?t="key+value":K9e.call(t,"key")?t="key":t="value":t="value",J9e(this,"__kind__",RY("",t))};Y9e&&Y9e(xA,zY);delete xA.prototype.constructor;xA.prototype=Object.create(zY.prototype,{_resolve:RY(function(e){return this.__kind__==="value"?this.__list__[e]:this.__kind__==="key+value"?[e,this.__list__[e]]:e})});J9e(xA.prototype,wOt.toStringTag,RY("c","Array Iterator"))});var iqe=ye((Vmr,rqe)=>{"use strict";var eqe=mF(),TF=s1(),TOt=gx(),FY=DY(),tqe=Object.defineProperty,bA;bA=rqe.exports=function(e){if(!(this instanceof bA))throw new TypeError("Constructor requires 'new'");e=String(e),FY.call(this,e),tqe(this,"__length__",TF("",e.length))};eqe&&eqe(bA,FY);delete bA.prototype.constructor;bA.prototype=Object.create(FY.prototype,{_next:TF(function(){if(this.__list__){if(this.__nextIndex__=55296&&r<=56319?t+this.__list__[this.__nextIndex__++]:t)})});tqe(bA.prototype,TOt.toStringTag,TF("c","String Iterator"))});var aqe=ye((Hmr,nqe)=>{"use strict";var AOt=Ck(),SOt=px(),MOt=Lk(),EOt=gx().iterator,kOt=Array.isArray;nqe.exports=function(e){return SOt(e)?kOt(e)||MOt(e)||AOt(e)?!0:typeof e[EOt]=="function":!1}});var sqe=ye((Gmr,oqe)=>{"use strict";var COt=aqe();oqe.exports=function(e){if(!COt(e))throw new TypeError(e+" is not iterable");return e}});var qY=ye((jmr,cqe)=>{"use strict";var LOt=Ck(),POt=Lk(),lqe=Q9e(),IOt=iqe(),DOt=sqe(),uqe=gx().iterator;cqe.exports=function(e){return typeof DOt(e)[uqe]=="function"?e[uqe]():LOt(e)?new lqe(e):POt(e)?new IOt(e):new lqe(e)}});var hqe=ye((Wmr,fqe)=>{"use strict";var ROt=Ck(),zOt=_A(),FOt=Lk(),qOt=qY(),OOt=Array.isArray,OY=Function.prototype.call,BOt=Array.prototype.some;fqe.exports=function(e,t){var r,n=arguments[2],i,a,o,s,l,u,c;if(OOt(e)||ROt(e)?r="array":FOt(e)?r="string":e=qOt(e),zOt(t),a=function(){o=!0},r==="array"){BOt.call(e,function(f){return OY.call(t,n,f,a),o});return}if(r==="string"){for(l=e.length,s=0;s=55296&&c<=56319&&(u+=e[++s])),OY.call(t,n,u,a),!o);++s);return}for(i=e.next();!i.done;){if(OY.call(t,n,i.value,a),o)return;i=e.next()}}});var vqe=ye((Zmr,dqe)=>{"use strict";dqe.exports=function(){return typeof WeakMap!="function"?!1:Object.prototype.toString.call(new WeakMap)==="[object WeakMap]"}()});var mqe=ye((Xmr,gqe)=>{"use strict";var NOt=px(),SF=mF(),AF=GFe(),UOt=o1(),VOt=WFe(),l1=s1(),HOt=qY(),GOt=hqe(),jOt=gx().toStringTag,pqe=vqe(),WOt=Array.isArray,NY=Object.defineProperty,BY=Object.prototype.hasOwnProperty,ZOt=Object.getPrototypeOf,mx;gqe.exports=mx=function(){var e=arguments[0],t;if(!(this instanceof mx))throw new TypeError("Constructor requires 'new'");return t=pqe&&SF&&WeakMap!==mx?SF(new WeakMap,ZOt(this)):this,NOt(e)&&(WOt(e)||(e=HOt(e))),NY(t,"__weakMapData__",l1("c","$weakMap$"+VOt())),e&&GOt(e,function(r){UOt(r),t.set(r[0],r[1])}),t};pqe&&(SF&&SF(mx,WeakMap),mx.prototype=Object.create(WeakMap.prototype,{constructor:l1(mx)}));Object.defineProperties(mx.prototype,{delete:l1(function(e){return BY.call(AF(e),this.__weakMapData__)?(delete e[this.__weakMapData__],!0):!1}),get:l1(function(e){if(BY.call(AF(e),this.__weakMapData__))return e[this.__weakMapData__]}),has:l1(function(e){return BY.call(AF(e),this.__weakMapData__)}),set:l1(function(e,t){return NY(AF(e),this.__weakMapData__,l1("c",t)),this}),toString:l1(function(){return"[object WeakMap]"})});NY(mx.prototype,jOt,l1("c","WeakMap"))});var UY=ye((Ymr,yqe)=>{"use strict";yqe.exports=PFe()()?WeakMap:mqe()});var xqe=ye((Kmr,_qe)=>{"use strict";_qe.exports=function(e,t,r){if(typeof Array.prototype.findIndex=="function")return e.findIndex(t,r);if(typeof t!="function")throw new TypeError("predicate must be a function");var n=Object(e),i=n.length;if(i===0)return-1;for(var a=0;a{"use strict";var MF=ax(),XOt=tw(),HY=Ah(),YOt=Ym(),KOt=rw(),bqe=EFe(),JOt=CFe(),{float32:$Ot,fract32:VY}=lF(),QOt=UY(),wqe=cA(),eBt=xqe(),tBt=` +precision highp float; + +attribute vec2 aCoord, bCoord, aCoordFract, bCoordFract; +attribute vec4 color; +attribute float lineEnd, lineTop; + +uniform vec2 scale, scaleFract, translate, translateFract; +uniform float thickness, pixelRatio, id, depth; +uniform vec4 viewport; + +varying vec4 fragColor; +varying vec2 tangent; + +vec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) { + // the order is important + return position * scale + translate + + positionFract * scale + translateFract + + position * scaleFract + + positionFract * scaleFract; +} + +void main() { + float lineStart = 1. - lineEnd; + float lineOffset = lineTop * 2. - 1.; + + vec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract); + tangent = normalize(diff * scale * viewport.zw); + vec2 normal = vec2(-tangent.y, tangent.x); + + vec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart + + project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd + + + thickness * normal * .5 * lineOffset / viewport.zw; + + gl_Position = vec4(position * 2.0 - 1.0, depth, 1); + + fragColor = color / 255.; +} +`,rBt=` +precision highp float; + +uniform float dashLength, pixelRatio, thickness, opacity, id; +uniform sampler2D dashTexture; + +varying vec4 fragColor; +varying vec2 tangent; + +void main() { + float alpha = 1.; + + float t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25; + float dash = texture2D(dashTexture, vec2(t, .5)).r; + + gl_FragColor = fragColor; + gl_FragColor.a *= alpha * opacity * dash; +} +`,iBt=` +precision highp float; + +attribute vec2 position, positionFract; + +uniform vec4 color; +uniform vec2 scale, scaleFract, translate, translateFract; +uniform float pixelRatio, id; +uniform vec4 viewport; +uniform float opacity; + +varying vec4 fragColor; + +const float MAX_LINES = 256.; + +void main() { + float depth = (MAX_LINES - 4. - id) / (MAX_LINES); + + vec2 position = position * scale + translate + + positionFract * scale + translateFract + + position * scaleFract + + positionFract * scaleFract; + + gl_Position = vec4(position * 2.0 - 1.0, depth, 1); + + fragColor = color / 255.; + fragColor.a *= opacity; +} +`,nBt=` +precision highp float; +varying vec4 fragColor; + +void main() { + gl_FragColor = fragColor; +} +`,aBt=` +precision highp float; + +attribute vec2 aCoord, bCoord, nextCoord, prevCoord; +attribute vec4 aColor, bColor; +attribute float lineEnd, lineTop; + +uniform vec2 scale, translate; +uniform float thickness, pixelRatio, id, depth; +uniform vec4 viewport; +uniform float miterLimit, miterMode; + +varying vec4 fragColor; +varying vec4 startCutoff, endCutoff; +varying vec2 tangent; +varying vec2 startCoord, endCoord; +varying float enableStartMiter, enableEndMiter; + +const float REVERSE_THRESHOLD = -.875; +const float MIN_DIFF = 1e-6; + +// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead +// TODO: precalculate dot products, normalize things beforehead etc. +// TODO: refactor to rectangular algorithm + +float distToLine(vec2 p, vec2 a, vec2 b) { + vec2 diff = b - a; + vec2 perp = normalize(vec2(-diff.y, diff.x)); + return dot(p - a, perp); +} + +bool isNaN( float val ){ + return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true; +} + +void main() { + vec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord; + + vec2 adjustedScale; + adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x; + adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y; + + vec2 scaleRatio = adjustedScale * viewport.zw; + vec2 normalWidth = thickness / scaleRatio; + + float lineStart = 1. - lineEnd; + float lineBot = 1. - lineTop; + + fragColor = (lineStart * aColor + lineEnd * bColor) / 255.; + + if (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return; + + if (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord); + if (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord); + + + vec2 prevDiff = aCoord - prevCoord; + vec2 currDiff = bCoord - aCoord; + vec2 nextDiff = nextCoord - bCoord; + + vec2 prevTangent = normalize(prevDiff * scaleRatio); + vec2 currTangent = normalize(currDiff * scaleRatio); + vec2 nextTangent = normalize(nextDiff * scaleRatio); + + vec2 prevNormal = vec2(-prevTangent.y, prevTangent.x); + vec2 currNormal = vec2(-currTangent.y, currTangent.x); + vec2 nextNormal = vec2(-nextTangent.y, nextTangent.x); + + vec2 startJoinDirection = normalize(prevTangent - currTangent); + vec2 endJoinDirection = normalize(currTangent - nextTangent); + + // collapsed/unidirectional segment cases + // FIXME: there should be more elegant solution + vec2 prevTanDiff = abs(prevTangent - currTangent); + vec2 nextTanDiff = abs(nextTangent - currTangent); + if (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) { + startJoinDirection = currNormal; + } + if (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) { + endJoinDirection = currNormal; + } + if (aCoord == bCoord) { + endJoinDirection = startJoinDirection; + currNormal = prevNormal; + currTangent = prevTangent; + } + + tangent = currTangent; + + //calculate join shifts relative to normals + float startJoinShift = dot(currNormal, startJoinDirection); + float endJoinShift = dot(currNormal, endJoinDirection); + + float startMiterRatio = abs(1. / startJoinShift); + float endMiterRatio = abs(1. / endJoinShift); + + vec2 startJoin = startJoinDirection * startMiterRatio; + vec2 endJoin = endJoinDirection * endMiterRatio; + + vec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin; + startTopJoin = sign(startJoinShift) * startJoin * .5; + startBotJoin = -startTopJoin; + + endTopJoin = sign(endJoinShift) * endJoin * .5; + endBotJoin = -endTopJoin; + + vec2 aTopCoord = aCoord + normalWidth * startTopJoin; + vec2 bTopCoord = bCoord + normalWidth * endTopJoin; + vec2 aBotCoord = aCoord + normalWidth * startBotJoin; + vec2 bBotCoord = bCoord + normalWidth * endBotJoin; + + //miter anti-clipping + float baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x))); + float abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x))); + + //prevent close to reverse direction switch + bool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal); + bool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal); + + if (prevReverse) { + //make join rectangular + vec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5; + float normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.); + aBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5; + aTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5; + } + else if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) { + //handle miter clipping + bTopCoord -= normalWidth * endTopJoin; + bTopCoord += normalize(endTopJoin * normalWidth) * baClipping; + } + + if (nextReverse) { + //make join rectangular + vec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5; + float normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.); + bBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5; + bTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5; + } + else if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) { + //handle miter clipping + aBotCoord -= normalWidth * startBotJoin; + aBotCoord += normalize(startBotJoin * normalWidth) * abClipping; + } + + vec2 aTopPosition = (aTopCoord) * adjustedScale + translate; + vec2 aBotPosition = (aBotCoord) * adjustedScale + translate; + + vec2 bTopPosition = (bTopCoord) * adjustedScale + translate; + vec2 bBotPosition = (bBotCoord) * adjustedScale + translate; + + //position is normalized 0..1 coord on the screen + vec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd; + + startCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy; + endCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy; + + gl_Position = vec4(position * 2.0 - 1.0, depth, 1); + + enableStartMiter = step(dot(currTangent, prevTangent), .5); + enableEndMiter = step(dot(currTangent, nextTangent), .5); + + //bevel miter cutoffs + if (miterMode == 1.) { + if (enableStartMiter == 1.) { + vec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5; + startCutoff = vec4(aCoord, aCoord); + startCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio; + startCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + startCutoff += viewport.xyxy; + startCutoff += startMiterWidth.xyxy; + } + + if (enableEndMiter == 1.) { + vec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5; + endCutoff = vec4(bCoord, bCoord); + endCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio; + endCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + endCutoff += viewport.xyxy; + endCutoff += endMiterWidth.xyxy; + } + } + + //round miter cutoffs + else if (miterMode == 2.) { + if (enableStartMiter == 1.) { + vec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5; + startCutoff = vec4(aCoord, aCoord); + startCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio; + startCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + startCutoff += viewport.xyxy; + startCutoff += startMiterWidth.xyxy; + } + + if (enableEndMiter == 1.) { + vec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5; + endCutoff = vec4(bCoord, bCoord); + endCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio; + endCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + endCutoff += viewport.xyxy; + endCutoff += endMiterWidth.xyxy; + } + } +} +`,oBt=` +precision highp float; + +uniform float dashLength, pixelRatio, thickness, opacity, id, miterMode; +uniform sampler2D dashTexture; + +varying vec4 fragColor; +varying vec2 tangent; +varying vec4 startCutoff, endCutoff; +varying vec2 startCoord, endCoord; +varying float enableStartMiter, enableEndMiter; + +float distToLine(vec2 p, vec2 a, vec2 b) { + vec2 diff = b - a; + vec2 perp = normalize(vec2(-diff.y, diff.x)); + return dot(p - a, perp); +} + +void main() { + float alpha = 1., distToStart, distToEnd; + float cutoff = thickness * .5; + + //bevel miter + if (miterMode == 1.) { + if (enableStartMiter == 1.) { + distToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw); + if (distToStart < -1.) { + discard; + return; + } + alpha *= min(max(distToStart + 1., 0.), 1.); + } + + if (enableEndMiter == 1.) { + distToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw); + if (distToEnd < -1.) { + discard; + return; + } + alpha *= min(max(distToEnd + 1., 0.), 1.); + } + } + + // round miter + else if (miterMode == 2.) { + if (enableStartMiter == 1.) { + distToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw); + if (distToStart < 0.) { + float radius = length(gl_FragCoord.xy - startCoord); + + if(radius > cutoff + .5) { + discard; + return; + } + + alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); + } + } + + if (enableEndMiter == 1.) { + distToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw); + if (distToEnd < 0.) { + float radius = length(gl_FragCoord.xy - endCoord); + + if(radius > cutoff + .5) { + discard; + return; + } + + alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); + } + } + } + + float t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25; + float dash = texture2D(dashTexture, vec2(t, .5)).r; + + gl_FragColor = fragColor; + gl_FragColor.a *= alpha * opacity * dash; +} +`;Tqe.exports=uc;function uc(e,t){if(!(this instanceof uc))return new uc(e,t);if(typeof e=="function"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");this.gl=e._gl,this.regl=e,this.passes=[],this.shaders=uc.shaders.has(e)?uc.shaders.get(e):uc.shaders.set(e,uc.createShaders(e)).get(e),this.update(t)}uc.dashMult=2;uc.maxPatternLength=256;uc.precisionThreshold=3e6;uc.maxPoints=1e4;uc.maxLines=2048;uc.shaders=new QOt;uc.createShaders=function(e){let t=e.buffer({usage:"static",type:"float",data:[0,1,0,0,1,1,1,0]}),r={primitive:"triangle strip",instances:e.prop("count"),count:4,offset:0,uniforms:{miterMode:(o,s)=>s.join==="round"?2:1,miterLimit:e.prop("miterLimit"),scale:e.prop("scale"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),translate:e.prop("translate"),thickness:e.prop("thickness"),dashTexture:e.prop("dashTexture"),opacity:e.prop("opacity"),pixelRatio:e.context("pixelRatio"),id:e.prop("id"),dashLength:e.prop("dashLength"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight],depth:e.prop("depth")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:(o,s)=>!s.overlay},stencil:{enable:!1},scissor:{enable:!0,box:e.prop("viewport")},viewport:e.prop("viewport")},n=e(HY({vert:tBt,frag:rBt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:e.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},r)),i;try{i=e(HY({cull:{enable:!0,face:"back"},vert:aBt,frag:oBt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aColor:{buffer:e.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:e.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},r))}catch(o){i=n}return{fill:e({primitive:"triangle",elements:(o,s)=>s.triangles,offset:0,vert:iBt,frag:nBt,uniforms:{scale:e.prop("scale"),color:e.prop("fill"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),translate:e.prop("translate"),opacity:e.prop("opacity"),pixelRatio:e.context("pixelRatio"),id:e.prop("id"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight]},attributes:{position:{buffer:e.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:8}},blend:r.blend,depth:{enable:!1},scissor:r.scissor,stencil:r.stencil,viewport:r.viewport}),rect:n,miter:i}};uc.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null};uc.prototype.render=function(...e){e.length&&this.update(...e),this.draw()};uc.prototype.draw=function(...e){return(e.length?e:this.passes).forEach((t,r)=>{if(t&&Array.isArray(t))return this.draw(...t);typeof t=="number"&&(t=this.passes[t]),t&&t.count>1&&t.opacity&&(this.regl._refresh(),t.fill&&t.triangles&&t.triangles.length>2&&this.shaders.fill(t),t.thickness&&(t.scale[0]*t.viewport.width>uc.precisionThreshold||t.scale[1]*t.viewport.height>uc.precisionThreshold?this.shaders.rect(t):t.join==="rect"||!t.join&&(t.thickness<=2||t.count>=uc.maxPoints)?this.shaders.rect(t):this.shaders.miter(t)))}),this};uc.prototype.update=function(e){if(!e)return;e.length!=null?typeof e[0]=="number"&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let{regl:t,gl:r}=this;if(e.forEach((i,a)=>{let o=this.passes[a];if(i!==void 0){if(i===null){this.passes[a]=null;return}if(typeof i[0]=="number"&&(i={positions:i}),i=YOt(i,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow",splitNull:"splitNull"}),o||(this.passes[a]=o={id:a,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:t.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:t.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:t.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},i=HY({},uc.defaults,i)),i.thickness!=null&&(o.thickness=parseFloat(i.thickness)),i.opacity!=null&&(o.opacity=parseFloat(i.opacity)),i.miterLimit!=null&&(o.miterLimit=parseFloat(i.miterLimit)),i.overlay!=null&&(o.overlay=!!i.overlay,aL-x),E=[],k=0,S=o.hole!=null?o.hole[0]:null;if(S!=null){let L=eBt(p,x=>x>=S);p=p.slice(0,L),p.push(S)}for(let L=0;Lg-S+(p[L]-k)),M=bqe(x,C);M=M.map(g=>g+k+(g+k{e.colorBuffer.destroy(),e.positionBuffer.destroy(),e.dashTexture.destroy()}),this.passes.length=0,this}});var kqe=ye(($mr,Eqe)=>{"use strict";var sBt=tw(),lBt=ax(),uBt=fY(),cBt=Ym(),Aqe=Ah(),Sqe=rw(),{float32:fBt,fract32:jY}=lF();Eqe.exports=hBt;var Mqe=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]];function hBt(e,t){if(typeof e=="function"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");let r=e._gl,n,i,a,o,s,l,u={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},c=[];return o=e.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),i=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),a=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),s=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),l=e.buffer({usage:"static",type:"float",data:Mqe}),d(t),n=e({vert:` + precision highp float; + + attribute vec2 position, positionFract; + attribute vec4 error; + attribute vec4 color; + + attribute vec2 direction, lineOffset, capOffset; + + uniform vec4 viewport; + uniform float lineWidth, capSize; + uniform vec2 scale, scaleFract, translate, translateFract; + + varying vec4 fragColor; + + void main() { + fragColor = color / 255.; + + vec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset; + + vec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw; + + vec2 position = position + dxy; + + vec2 pos = (position + translate) * scale + + (positionFract + translateFract) * scale + + (position + translate) * scaleFract + + (positionFract + translateFract) * scaleFract; + + pos += pixelOffset / viewport.zw; + + gl_Position = vec4(pos * 2. - 1., 0, 1); + } + `,frag:` + precision highp float; + + varying vec4 fragColor; + + uniform float opacity; + + void main() { + gl_FragColor = fragColor; + gl_FragColor.a *= opacity; + } + `,uniforms:{range:e.prop("range"),lineWidth:e.prop("lineWidth"),capSize:e.prop("capSize"),opacity:e.prop("opacity"),scale:e.prop("scale"),translate:e.prop("translate"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),viewport:(b,p)=>[p.viewport.x,p.viewport.y,b.viewportWidth,b.viewportHeight]},attributes:{color:{buffer:o,offset:(b,p)=>p.offset*4,divisor:1},position:{buffer:i,offset:(b,p)=>p.offset*8,divisor:1},positionFract:{buffer:a,offset:(b,p)=>p.offset*8,divisor:1},error:{buffer:s,offset:(b,p)=>p.offset*16,divisor:1},direction:{buffer:l,stride:24,offset:0},lineOffset:{buffer:l,stride:24,offset:8},capOffset:{buffer:l,stride:24,offset:16}},primitive:"triangles",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:!1},scissor:{enable:!0,box:e.prop("viewport")},viewport:e.prop("viewport"),stencil:!1,instances:e.prop("count"),count:Mqe.length}),Aqe(f,{update:d,draw:h,destroy:_,regl:e,gl:r,canvas:r.canvas,groups:c}),f;function f(b){b?d(b):b===null&&_(),h()}function h(b){if(typeof b=="number")return v(b);b&&!Array.isArray(b)&&(b=[b]),e._refresh(),c.forEach((p,E)=>{if(p){if(b&&(b[E]?p.draw=!0:p.draw=!1),!p.draw){p.draw=!0;return}v(E)}})}function v(b){typeof b=="number"&&(b=c[b]),b!=null&&b&&b.count&&b.color&&b.opacity&&b.positions&&b.positions.length>1&&(b.scaleRatio=[b.scale[0]*b.viewport.width,b.scale[1]*b.viewport.height],n(b),b.after&&b.after(b))}function d(b){if(!b)return;b.length!=null?typeof b[0]=="number"&&(b=[{positions:b}]):Array.isArray(b)||(b=[b]);let p=0,E=0;if(f.groups=c=b.map((L,x)=>{let C=c[x];if(L)typeof L=="function"?L={after:L}:typeof L[0]=="number"&&(L={positions:L});else return C;return L=cBt(L,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),C||(c[x]=C={id:x,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},L=Aqe({},u,L)),uBt(C,L,[{lineWidth:M=>+M*.5,capSize:M=>+M*.5,opacity:parseFloat,errors:M=>(M=Sqe(M),E+=M.length,M),positions:(M,g)=>(M=Sqe(M,"float64"),g.count=Math.floor(M.length/2),g.bounds=sBt(M,2),g.offset=p,p+=g.count,M)},{color:(M,g)=>{let P=g.count;if(M||(M="transparent"),!Array.isArray(M)||typeof M[0]=="number"){let F=M;M=Array(P);for(let q=0;q{let T=g.bounds;return M||(M=T),g.scale=[1/(M[2]-M[0]),1/(M[3]-M[1])],g.translate=[-M[0],-M[1]],g.scaleFract=jY(g.scale),g.translateFract=jY(g.translate),M},viewport:M=>{let g;return Array.isArray(M)?g={x:M[0],y:M[1],width:M[2]-M[0],height:M[3]-M[1]}:M?(g={x:M.x||M.left||0,y:M.y||M.top||0},M.right?g.width=M.right-g.x:g.width=M.w||M.width||0,M.bottom?g.height=M.bottom-g.y:g.height=M.h||M.height||0):g={x:0,y:0,width:r.drawingBufferWidth,height:r.drawingBufferHeight},g}}]),C}),p||E){let L=c.reduce((g,P,T)=>g+(P?P.count:0),0),x=new Float64Array(L*2),C=new Uint8Array(L*4),M=new Float32Array(L*4);c.forEach((g,P)=>{if(!g)return;let{positions:T,count:F,offset:q,color:V,errors:H}=g;F&&(C.set(V,q*4),M.set(H,q*4),x.set(T,q*2))});var k=fBt(x);i(k);var S=jY(x,k);a(S),o(C),s(M)}}function _(){i.destroy(),a.destroy(),o.destroy(),s.destroy(),l.destroy()}}});var Pqe=ye((Qmr,Lqe)=>{var Cqe=/[\'\"]/;Lqe.exports=function(t){return t?(Cqe.test(t.charAt(0))&&(t=t.substr(1)),Cqe.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}});var WY=ye(()=>{});var ZY=ye(()=>{});var XY=ye(()=>{});var YY=ye(()=>{});var KY=ye(()=>{});var zqe=ye((cyr,Rqe)=>{"use strict";function Iqe(e,t){if(typeof e!="string")return[e];var r=[e];typeof t=="string"||Array.isArray(t)?t={brackets:t}:t||(t={});var n=t.brackets?Array.isArray(t.brackets)?t.brackets:[t.brackets]:["{}","[]","()"],i=t.escape||"___",a=!!t.flat;n.forEach(function(l){var u=new RegExp(["\\",l[0],"[^\\",l[0],"\\",l[1],"]*\\",l[1]].join("")),c=[];function f(h,v,d){var _=r.push(h.slice(l[0].length,-l[1].length))-1;return c.push(_),i+_+i}r.forEach(function(h,v){for(var d,_=0;h!=d;)if(d=h,h=h.replace(u,f),_++>1e4)throw Error("References have circular dependency. Please, check them.");r[v]=h}),c=c.reverse(),r=r.map(function(h){return c.forEach(function(v){h=h.replace(new RegExp("(\\"+i+v+"\\"+i+")","g"),l[0]+"$1"+l[1])}),h})});var o=new RegExp("\\"+i+"([0-9]+)\\"+i);function s(l,u,c){for(var f=[],h,v=0;h=o.exec(l);){if(v++>1e4)throw Error("Circular references in parenthesis");f.push(l.slice(0,h.index)),f.push(s(u[h[1]],u)),l=l.slice(h.index+h[0].length)}return f.push(l),f}return a?r:s(r[0],r)}function Dqe(e,t){if(t&&t.flat){var r=t&&t.escape||"___",n=e[0],i;if(!n)return"";for(var a=new RegExp("\\"+r+"([0-9]+)\\"+r),o=0;n!=i;){if(o++>1e4)throw Error("Circular references in "+e);i=n,n=n.replace(a,s)}return n}return e.reduce(function l(u,c){return Array.isArray(c)&&(c=c.reduce(l,"")),u+c},"");function s(l,u){if(e[u]==null)throw Error("Reference "+u+"is undefined");return e[u]}}function JY(e,t){return Array.isArray(e)?Dqe(e,t):Iqe(e,t)}JY.parse=Iqe;JY.stringify=Dqe;Rqe.exports=JY});var Oqe=ye((fyr,qqe)=>{"use strict";var Fqe=zqe();qqe.exports=function(t,r,n){if(t==null)throw Error("First argument should be a string");if(r==null)throw Error("Separator should be a string or a RegExp");n?(typeof n=="string"||Array.isArray(n))&&(n={ignore:n}):n={},n.escape==null&&(n.escape=!0),n.ignore==null?n.ignore=["[]","()","{}","<>",'""',"''","``","\u201C\u201D","\xAB\xBB"]:(typeof n.ignore=="string"&&(n.ignore=[n.ignore]),n.ignore=n.ignore.map(function(f){return f.length===1&&(f=f+f),f}));var i=Fqe.parse(t,{flat:!0,brackets:n.ignore}),a=i[0],o=a.split(r);if(n.escape){for(var s=[],l=0;l{});var $Y=ye((vyr,Nqe)=>{"use strict";var dBt=Bqe();Nqe.exports={isSize:function(t){return/^[\d\.]/.test(t)||t.indexOf("/")!==-1||dBt.indexOf(t)!==-1}}});var Gqe=ye((pyr,Hqe)=>{"use strict";var vBt=Pqe(),pBt=WY(),gBt=ZY(),mBt=XY(),yBt=YY(),_Bt=KY(),QY=Oqe(),xBt=$Y().isSize;Hqe.exports=Vqe;var Rk=Vqe.cache={};function Vqe(e){if(typeof e!="string")throw new Error("Font argument must be a string.");if(Rk[e])return Rk[e];if(e==="")throw new Error("Cannot parse an empty string.");if(gBt.indexOf(e)!==-1)return Rk[e]={system:e};for(var t={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},r=QY(e,/\s+/),n;n=r.shift();){if(pBt.indexOf(n)!==-1)return["style","variant","weight","stretch"].forEach(function(a){t[a]=n}),Rk[e]=t;if(yBt.indexOf(n)!==-1){t.style=n;continue}if(n==="normal"||n==="small-caps"){t.variant=n;continue}if(_Bt.indexOf(n)!==-1){t.stretch=n;continue}if(mBt.indexOf(n)!==-1){t.weight=n;continue}if(xBt(n)){var i=QY(n,"/");if(t.size=i[0],i[1]!=null?t.lineHeight=Uqe(i[1]):r[0]==="/"&&(r.shift(),t.lineHeight=Uqe(r.shift())),!r.length)throw new Error("Missing required font-family.");return t.family=QY(r.join(" "),/\s*,\s*/).map(vBt),Rk[e]=t}throw new Error("Unknown or unsupported font token: "+n)}throw new Error("Missing required font-size.")}function Uqe(e){var t=parseFloat(e);return t.toString()===e?t:e}});var tK=ye((gyr,jqe)=>{"use strict";var bBt=Ym(),wBt=$Y().isSize,TBt=Fk(WY()),ABt=Fk(ZY()),SBt=Fk(XY()),MBt=Fk(YY()),EBt=Fk(KY()),kBt={normal:1,"small-caps":1},CBt={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},eK={style:"normal",variant:"normal",weight:"normal",stretch:"normal",size:"1rem",lineHeight:"normal",family:"serif"};jqe.exports=function(t){if(t=bBt(t,{style:"style fontstyle fontStyle font-style slope distinction",variant:"variant font-variant fontVariant fontvariant var capitalization",weight:"weight w font-weight fontWeight fontweight",stretch:"stretch font-stretch fontStretch fontstretch width",size:"size s font-size fontSize fontsize height em emSize",lineHeight:"lh line-height lineHeight lineheight leading",family:"font family fontFamily font-family fontfamily type typeface face",system:"system reserved default global"}),t.system)return t.system&&zk(t.system,ABt),t.system;if(zk(t.style,MBt),zk(t.variant,kBt),zk(t.weight,SBt),zk(t.stretch,EBt),t.size==null&&(t.size=eK.size),typeof t.size=="number"&&(t.size+="px"),!wBt)throw Error("Bad size value `"+t.size+"`");t.family||(t.family=eK.family),Array.isArray(t.family)&&(t.family.length||(t.family=[eK.family]),t.family=t.family.map(function(n){return CBt[n]?n:'"'+n+'"'}).join(", "));var r=[];return r.push(t.style),t.variant!==t.style&&r.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&r.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&r.push(t.stretch),r.push(t.size+(t.lineHeight==null||t.lineHeight==="normal"||t.lineHeight+""=="1"?"":"/"+t.lineHeight)),r.push(t.family),r.filter(Boolean).join(" ")};function zk(e,t){if(e&&!t[e]&&!TBt[e])throw Error("Unknown keyword `"+e+"`");return e}function Fk(e){for(var t={},r=0;r{"use strict";Wqe.exports={parse:Gqe(),stringify:tK()}});var nK=ye((rK,iK)=>{(function(e,t){typeof rK=="object"&&typeof iK!="undefined"?iK.exports=t():typeof define=="function"&&define.amd?define(t):e.createREGL=t()})(rK,function(){"use strict";var e=function(At,Er){for(var Wr=Object.keys(Er),wi=0;wi1&&Er===Wr&&(Er==='"'||Er==="'"))return['"'+o(At.substr(1,At.length-2))+'"'];var wi=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(At);if(wi)return s(At.substr(0,wi.index)).concat(s(wi[1])).concat(s(At.substr(wi.index+wi[0].length)));var Ui=At.split(".");if(Ui.length===1)return['"'+o(At)+'"'];for(var Oi=[],Bi=0;Bi65535)<<4,At>>>=Er,Wr=(At>255)<<3,At>>>=Wr,Er|=Wr,Wr=(At>15)<<2,At>>>=Wr,Er|=Wr,Wr=(At>3)<<1,At>>>=Wr,Er|=Wr,Er|At>>1}function N(){var At=M(8,function(){return[]});function Er(Oi){var Bi=X(Oi),cn=At[G(Bi)>>2];return cn.length>0?cn.pop():new ArrayBuffer(Bi)}function Wr(Oi){At[G(Oi.byteLength)>>2].push(Oi)}function wi(Oi,Bi){var cn=null;switch(Oi){case g:cn=new Int8Array(Er(Bi),0,Bi);break;case P:cn=new Uint8Array(Er(Bi),0,Bi);break;case T:cn=new Int16Array(Er(2*Bi),0,Bi);break;case F:cn=new Uint16Array(Er(2*Bi),0,Bi);break;case q:cn=new Int32Array(Er(4*Bi),0,Bi);break;case V:cn=new Uint32Array(Er(4*Bi),0,Bi);break;case H:cn=new Float32Array(Er(4*Bi),0,Bi);break;default:return null}return cn.length!==Bi?cn.subarray(0,Bi):cn}function Ui(Oi){Wr(Oi.buffer)}return{alloc:Er,free:Wr,allocType:wi,freeType:Ui}}var W=N();W.zero=N();var re=3408,ae=3410,_e=3411,Me=3412,ke=3413,ge=3414,ie=3415,Te=33901,Ee=33902,Ae=3379,ze=3386,Ce=34921,me=36347,De=36348,ce=35661,Ge=35660,nt=34930,ct=36349,qt=34076,rt=34024,ot=7936,It=7937,kt=7938,Ct=35724,Yt=34047,mr=36063,er=34852,Ke=3553,bt=34067,xt=34069,Lt=33984,St=6408,Et=5126,dt=5121,Ht=36160,$t=36053,fr=36064,xr=16384,Br=function(At,Er){var Wr=1;Er.ext_texture_filter_anisotropic&&(Wr=At.getParameter(Yt));var wi=1,Ui=1;Er.webgl_draw_buffers&&(wi=At.getParameter(er),Ui=At.getParameter(mr));var Oi=!!Er.oes_texture_float;if(Oi){var Bi=At.createTexture();At.bindTexture(Ke,Bi),At.texImage2D(Ke,0,St,1,1,0,St,Et,null);var cn=At.createFramebuffer();if(At.bindFramebuffer(Ht,cn),At.framebufferTexture2D(Ht,fr,Ke,Bi,0),At.bindTexture(Ke,null),At.checkFramebufferStatus(Ht)!==$t)Oi=!1;else{At.viewport(0,0,1,1),At.clearColor(1,0,0,1),At.clear(xr);var On=W.allocType(Et,4);At.readPixels(0,0,1,1,St,Et,On),At.getError()?Oi=!1:(At.deleteFramebuffer(cn),At.deleteTexture(Bi),Oi=On[0]===1),W.freeType(On)}}var Bn=typeof navigator!="undefined"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),yn=!0;if(!Bn){var to=At.createTexture(),Dn=W.allocType(dt,36);At.activeTexture(Lt),At.bindTexture(bt,to),At.texImage2D(xt,0,St,3,3,0,St,dt,Dn),W.freeType(Dn),At.bindTexture(bt,null),At.deleteTexture(to),yn=!At.getError()}return{colorBits:[At.getParameter(ae),At.getParameter(_e),At.getParameter(Me),At.getParameter(ke)],depthBits:At.getParameter(ge),stencilBits:At.getParameter(ie),subpixelBits:At.getParameter(re),extensions:Object.keys(Er).filter(function(Rn){return!!Er[Rn]}),maxAnisotropic:Wr,maxDrawbuffers:wi,maxColorAttachments:Ui,pointSizeDims:At.getParameter(Te),lineWidthDims:At.getParameter(Ee),maxViewportDims:At.getParameter(ze),maxCombinedTextureUnits:At.getParameter(ce),maxCubeMapSize:At.getParameter(qt),maxRenderbufferSize:At.getParameter(rt),maxTextureUnits:At.getParameter(nt),maxTextureSize:At.getParameter(Ae),maxAttributes:At.getParameter(Ce),maxVertexUniforms:At.getParameter(me),maxVertexTextureUnits:At.getParameter(Ge),maxVaryingVectors:At.getParameter(De),maxFragmentUniforms:At.getParameter(ct),glsl:At.getParameter(Ct),renderer:At.getParameter(It),vendor:At.getParameter(ot),version:At.getParameter(kt),readFloat:Oi,npotTextureCube:yn}},Or=function(At){return At instanceof Uint8Array||At instanceof Uint16Array||At instanceof Uint32Array||At instanceof Int8Array||At instanceof Int16Array||At instanceof Int32Array||At instanceof Float32Array||At instanceof Float64Array||At instanceof Uint8ClampedArray};function Nr(At){return!!At&&typeof At=="object"&&Array.isArray(At.shape)&&Array.isArray(At.stride)&&typeof At.offset=="number"&&At.shape.length===At.stride.length&&(Array.isArray(At.data)||Or(At.data))}var ut=function(At){return Object.keys(At).map(function(Er){return At[Er]})},Ne={shape:xe,flatten:Le};function Ye(At,Er,Wr){for(var wi=0;wi0){var Za;if(Array.isArray(ji[0])){Kn=$i(ji);for(var wn=1,vn=1;vn0){if(typeof wn[0]=="number"){var Xn=W.allocType(gn.dtype,wn.length);_r(Xn,wn),Kn(Xn,Aa),W.freeType(Xn)}else if(Array.isArray(wn[0])||Or(wn[0])){oa=$i(wn);var Vn=_n(wn,oa,gn.dtype);Kn(Vn,Aa),W.freeType(Vn)}}}else if(Nr(wn)){oa=wn.shape;var ma=wn.stride,ro=0,Ao=0,Jn=0,Oa=0;oa.length===1?(ro=oa[0],Ao=1,Jn=ma[0],Oa=0):oa.length===2&&(ro=oa[0],Ao=oa[1],Jn=ma[0],Oa=ma[1]);var _o=Array.isArray(wn.data)?gn.dtype:Zt(wn.data),Po=W.allocType(_o,ro*Ao);Fr(Po,wn.data,ro,Ao,Jn,Oa,wn.offset),Kn(Po,Aa),W.freeType(Po)}return fa}return Ln||fa(Ai),fa._reglType="buffer",fa._buffer=gn,fa.subdata=Za,Wr.profile&&(fa.stats=gn.stats),fa.destroy=function(){Dn(gn)},fa}function fn(){ut(Oi).forEach(function(Ai){Ai.buffer=At.createBuffer(),At.bindBuffer(Ai.type,Ai.buffer),At.bufferData(Ai.type,Ai.persistentData||Ai.byteLength,Ai.usage)})}return Wr.profile&&(Er.getTotalBufferSize=function(){var Ai=0;return Object.keys(Oi).forEach(function(ji){Ai+=Oi[ji].stats.size}),Ai}),{create:Rn,createStream:On,destroyStream:Bn,clear:function(){ut(Oi).forEach(Dn),cn.forEach(Dn)},getBuffer:function(Ai){return Ai&&Ai._buffer instanceof Bi?Ai._buffer:null},restore:fn,_initBuffer:to}}var Vr=0,gi=0,Si=1,Mi=1,Pi=4,Gi=4,Ki={points:Vr,point:gi,lines:Si,line:Mi,triangles:Pi,triangle:Gi,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},Ca=0,jn=1,ua=4,Fa=5120,Da=5121,jo=5122,sa=5123,Sn=5124,Ha=5125,oo=34963,xn=35040,_t=35044;function br(At,Er,Wr,wi){var Ui={},Oi=0,Bi={uint8:Da,uint16:sa};Er.oes_element_index_uint&&(Bi.uint32=Ha);function cn(fn){this.id=Oi++,Ui[this.id]=this,this.buffer=fn,this.primType=ua,this.vertCount=0,this.type=0}cn.prototype.bind=function(){this.buffer.bind()};var On=[];function Bn(fn){var Ai=On.pop();return Ai||(Ai=new cn(Wr.create(null,oo,!0,!1)._buffer)),to(Ai,fn,xn,-1,-1,0,0),Ai}function yn(fn){On.push(fn)}function to(fn,Ai,ji,Ln,Un,gn,fa){fn.buffer.bind();var Kn;if(Ai){var Za=fa;!fa&&(!Or(Ai)||Nr(Ai)&&!Or(Ai.data))&&(Za=Er.oes_element_index_uint?Ha:sa),Wr._initBuffer(fn.buffer,Ai,ji,Za,3)}else At.bufferData(oo,gn,ji),fn.buffer.dtype=Kn||Da,fn.buffer.usage=ji,fn.buffer.dimension=3,fn.buffer.byteLength=gn;if(Kn=fa,!fa){switch(fn.buffer.dtype){case Da:case Fa:Kn=Da;break;case sa:case jo:Kn=sa;break;case Ha:case Sn:Kn=Ha;break;default:}fn.buffer.dtype=Kn}fn.type=Kn;var wn=Un;wn<0&&(wn=fn.buffer.byteLength,Kn===sa?wn>>=1:Kn===Ha&&(wn>>=2)),fn.vertCount=wn;var vn=Ln;if(Ln<0){vn=ua;var Aa=fn.buffer.dimension;Aa===1&&(vn=Ca),Aa===2&&(vn=jn),Aa===3&&(vn=ua)}fn.primType=vn}function Dn(fn){wi.elementsCount--,delete Ui[fn.id],fn.buffer.destroy(),fn.buffer=null}function Rn(fn,Ai){var ji=Wr.create(null,oo,!0),Ln=new cn(ji._buffer);wi.elementsCount++;function Un(gn){if(!gn)ji(),Ln.primType=ua,Ln.vertCount=0,Ln.type=Da;else if(typeof gn=="number")ji(gn),Ln.primType=ua,Ln.vertCount=gn|0,Ln.type=Da;else{var fa=null,Kn=_t,Za=-1,wn=-1,vn=0,Aa=0;Array.isArray(gn)||Or(gn)||Nr(gn)?fa=gn:("data"in gn&&(fa=gn.data),"usage"in gn&&(Kn=Ni[gn.usage]),"primitive"in gn&&(Za=Ki[gn.primitive]),"count"in gn&&(wn=gn.count|0),"type"in gn&&(Aa=Bi[gn.type]),"length"in gn?vn=gn.length|0:(vn=wn,Aa===sa||Aa===jo?vn*=2:(Aa===Ha||Aa===Sn)&&(vn*=4))),to(Ln,fa,Kn,Za,wn,vn,Aa)}return Un}return Un(fn),Un._reglType="elements",Un._elements=Ln,Un.subdata=function(gn,fa){return ji.subdata(gn,fa),Un},Un.destroy=function(){Dn(Ln)},Un}return{create:Rn,createStream:Bn,destroyStream:yn,getElements:function(fn){return typeof fn=="function"&&fn._elements instanceof cn?fn._elements:null},clear:function(){ut(Ui).forEach(Dn)}}}var Hr=new Float32Array(1),ti=new Uint32Array(Hr.buffer),zi=5123;function Yi(At){for(var Er=W.allocType(zi,At.length),Wr=0;Wr>>31<<15,Oi=(wi<<1>>>24)-127,Bi=wi>>13&1023;if(Oi<-24)Er[Wr]=Ui;else if(Oi<-14){var cn=-14-Oi;Er[Wr]=Ui+(Bi+1024>>cn)}else Oi>15?Er[Wr]=Ui+31744:Er[Wr]=Ui+(Oi+15<<10)+Bi}return Er}function an(At){return Array.isArray(At)||Or(At)}var hi=34467,Ji=3553,ca=34067,Fn=34069,Ma=6408,go=6406,Bo=6407,ho=6409,Mo=6410,xo=32854,qs=32855,Cs=36194,Zs=32819,Xs=32820,wl=33635,os=34042,cl=6402,Ls=34041,ml=35904,Ys=35906,Hs=36193,Eo=33776,hs=33777,$l=33778,ju=33779,fc=35986,ys=35987,on=34798,ha=35840,Qu=35841,Il=35842,vo=35843,Wl=36196,Ks=5121,Zl=5123,Ec=5125,Zn=5126,ko=10242,Co=10243,Tl=10497,uf=33071,So=33648,cf=10240,nh=10241,Al=9728,Hc=9729,Ql=9984,Ps=9985,mu=9986,kc=9987,Bf=33170,Gc=4352,pd=4353,Nf=4354,ss=34046,ff=3317,ah=37440,Ul=37441,Js=37443,hc=37444,Cc=33984,Ts=[Ql,mu,Ps,kc],$s=[0,ho,Mo,Bo,Ma],ds={};ds[ho]=ds[go]=ds[cl]=1,ds[Ls]=ds[Mo]=2,ds[Bo]=ds[ml]=3,ds[Ma]=ds[Ys]=4;function Es(At){return"[object "+At+"]"}var dc=Es("HTMLCanvasElement"),Sl=Es("OffscreenCanvas"),ec=Es("CanvasRenderingContext2D"),Is=Es("ImageBitmap"),sv=Es("HTMLImageElement"),wo=Es("HTMLVideoElement"),Bd=Object.keys(Se).concat([dc,Sl,ec,Is,sv,wo]),Qo=[];Qo[Ks]=1,Qo[Zn]=4,Qo[Hs]=2,Qo[Zl]=2,Qo[Ec]=4;var $a=[];$a[xo]=2,$a[qs]=2,$a[Cs]=2,$a[Ls]=4,$a[Eo]=.5,$a[hs]=.5,$a[$l]=1,$a[ju]=1,$a[fc]=.5,$a[ys]=1,$a[on]=1,$a[ha]=.5,$a[Qu]=.25,$a[Il]=.5,$a[vo]=.25,$a[Wl]=.5;function Ef(At){return Array.isArray(At)&&(At.length===0||typeof At[0]=="number")}function tc(At){if(!Array.isArray(At))return!1;var Er=At.length;return!(Er===0||!an(At[0]))}function uu(At){return Object.prototype.toString.call(At)}function Ch(At){return uu(At)===dc}function jc(At){return uu(At)===Sl}function kf(At){return uu(At)===ec}function Ml(At){return uu(At)===Is}function Jh(At){return uu(At)===sv}function Lh(At){return uu(At)===wo}function oh(At){if(!At)return!1;var Er=uu(At);return Bd.indexOf(Er)>=0?!0:Ef(At)||tc(At)||Nr(At)}function hf(At){return Se[Object.prototype.toString.call(At)]|0}function Ph(At,Er){var Wr=Er.length;switch(At.type){case Ks:case Zl:case Ec:case Zn:var wi=W.allocType(At.type,Wr);wi.set(Er),At.data=wi;break;case Hs:At.data=Yi(Er);break;default:}}function $h(At,Er){return W.allocType(At.type===Hs?Zn:At.type,Er)}function rc(At,Er){At.type===Hs?(At.data=Yi(Er),W.freeType(Er)):At.data=Er}function sh(At,Er,Wr,wi,Ui,Oi){for(var Bi=At.width,cn=At.height,On=At.channels,Bn=Bi*cn*On,yn=$h(At,Bn),to=0,Dn=0;Dn=1;)cn+=Bi*On*On,On/=2;return cn}else return Bi*Wr*wi}function df(At,Er,Wr,wi,Ui,Oi,Bi){var cn={"don't care":Gc,"dont care":Gc,nice:Nf,fast:pd},On={repeat:Tl,clamp:uf,mirror:So},Bn={nearest:Al,linear:Hc},yn=e({mipmap:kc,"nearest mipmap nearest":Ql,"linear mipmap nearest":Ps,"nearest mipmap linear":mu,"linear mipmap linear":kc},Bn),to={none:0,browser:hc},Dn={uint8:Ks,rgba4:Zs,rgb565:wl,"rgb5 a1":Xs},Rn={alpha:go,luminance:ho,"luminance alpha":Mo,rgb:Bo,rgba:Ma,rgba4:xo,"rgb5 a1":qs,rgb565:Cs},fn={};Er.ext_srgb&&(Rn.srgb=ml,Rn.srgba=Ys),Er.oes_texture_float&&(Dn.float32=Dn.float=Zn),Er.oes_texture_half_float&&(Dn.float16=Dn["half float"]=Hs),Er.webgl_depth_texture&&(e(Rn,{depth:cl,"depth stencil":Ls}),e(Dn,{uint16:Zl,uint32:Ec,"depth stencil":os})),Er.webgl_compressed_texture_s3tc&&e(fn,{"rgb s3tc dxt1":Eo,"rgba s3tc dxt1":hs,"rgba s3tc dxt3":$l,"rgba s3tc dxt5":ju}),Er.webgl_compressed_texture_atc&&e(fn,{"rgb atc":fc,"rgba atc explicit alpha":ys,"rgba atc interpolated alpha":on}),Er.webgl_compressed_texture_pvrtc&&e(fn,{"rgb pvrtc 4bppv1":ha,"rgb pvrtc 2bppv1":Qu,"rgba pvrtc 4bppv1":Il,"rgba pvrtc 2bppv1":vo}),Er.webgl_compressed_texture_etc1&&(fn["rgb etc1"]=Wl);var Ai=Array.prototype.slice.call(At.getParameter(hi));Object.keys(fn).forEach(function(de){var Ie=fn[de];Ai.indexOf(Ie)>=0&&(Rn[de]=Ie)});var ji=Object.keys(Rn);Wr.textureFormats=ji;var Ln=[];Object.keys(Rn).forEach(function(de){var Ie=Rn[de];Ln[Ie]=de});var Un=[];Object.keys(Dn).forEach(function(de){var Ie=Dn[de];Un[Ie]=de});var gn=[];Object.keys(Bn).forEach(function(de){var Ie=Bn[de];gn[Ie]=de});var fa=[];Object.keys(yn).forEach(function(de){var Ie=yn[de];fa[Ie]=de});var Kn=[];Object.keys(On).forEach(function(de){var Ie=On[de];Kn[Ie]=de});var Za=ji.reduce(function(de,Ie){var $e=Rn[Ie];return $e===ho||$e===go||$e===ho||$e===Mo||$e===cl||$e===Ls||Er.ext_srgb&&($e===ml||$e===Ys)?de[$e]=$e:$e===qs||Ie.indexOf("rgba")>=0?de[$e]=Ma:de[$e]=Bo,de},{});function wn(){this.internalformat=Ma,this.format=Ma,this.type=Ks,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=hc,this.width=0,this.height=0,this.channels=0}function vn(de,Ie){de.internalformat=Ie.internalformat,de.format=Ie.format,de.type=Ie.type,de.compressed=Ie.compressed,de.premultiplyAlpha=Ie.premultiplyAlpha,de.flipY=Ie.flipY,de.unpackAlignment=Ie.unpackAlignment,de.colorSpace=Ie.colorSpace,de.width=Ie.width,de.height=Ie.height,de.channels=Ie.channels}function Aa(de,Ie){if(!(typeof Ie!="object"||!Ie)){if("premultiplyAlpha"in Ie&&(de.premultiplyAlpha=Ie.premultiplyAlpha),"flipY"in Ie&&(de.flipY=Ie.flipY),"alignment"in Ie&&(de.unpackAlignment=Ie.alignment),"colorSpace"in Ie&&(de.colorSpace=to[Ie.colorSpace]),"type"in Ie){var $e=Ie.type;de.type=Dn[$e]}var pt=de.width,Kt=de.height,ir=de.channels,Jt=!1;"shape"in Ie?(pt=Ie.shape[0],Kt=Ie.shape[1],Ie.shape.length===3&&(ir=Ie.shape[2],Jt=!0)):("radius"in Ie&&(pt=Kt=Ie.radius),"width"in Ie&&(pt=Ie.width),"height"in Ie&&(Kt=Ie.height),"channels"in Ie&&(ir=Ie.channels,Jt=!0)),de.width=pt|0,de.height=Kt|0,de.channels=ir|0;var vt=!1;if("format"in Ie){var Pt=Ie.format,Wt=de.internalformat=Rn[Pt];de.format=Za[Wt],Pt in Dn&&("type"in Ie||(de.type=Dn[Pt])),Pt in fn&&(de.compressed=!0),vt=!0}!Jt&&vt?de.channels=ds[de.format]:Jt&&!vt&&de.channels!==$s[de.format]&&(de.format=de.internalformat=$s[de.channels])}}function oa(de){At.pixelStorei(ah,de.flipY),At.pixelStorei(Ul,de.premultiplyAlpha),At.pixelStorei(Js,de.colorSpace),At.pixelStorei(ff,de.unpackAlignment)}function Xn(){wn.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Vn(de,Ie){var $e=null;if(oh(Ie)?$e=Ie:Ie&&(Aa(de,Ie),"x"in Ie&&(de.xOffset=Ie.x|0),"y"in Ie&&(de.yOffset=Ie.y|0),oh(Ie.data)&&($e=Ie.data)),Ie.copy){var pt=Ui.viewportWidth,Kt=Ui.viewportHeight;de.width=de.width||pt-de.xOffset,de.height=de.height||Kt-de.yOffset,de.needsCopy=!0}else if(!$e)de.width=de.width||1,de.height=de.height||1,de.channels=de.channels||4;else if(Or($e))de.channels=de.channels||4,de.data=$e,!("type"in Ie)&&de.type===Ks&&(de.type=hf($e));else if(Ef($e))de.channels=de.channels||4,Ph(de,$e),de.alignment=1,de.needsFree=!0;else if(Nr($e)){var ir=$e.data;!Array.isArray(ir)&&de.type===Ks&&(de.type=hf(ir));var Jt=$e.shape,vt=$e.stride,Pt,Wt,rr,dr,pr,kr;Jt.length===3?(rr=Jt[2],kr=vt[2]):(rr=1,kr=1),Pt=Jt[0],Wt=Jt[1],dr=vt[0],pr=vt[1],de.alignment=1,de.width=Pt,de.height=Wt,de.channels=rr,de.format=de.internalformat=$s[rr],de.needsFree=!0,sh(de,ir,dr,pr,kr,$e.offset)}else if(Ch($e)||jc($e)||kf($e))Ch($e)||jc($e)?de.element=$e:de.element=$e.canvas,de.width=de.element.width,de.height=de.element.height,de.channels=4;else if(Ml($e))de.element=$e,de.width=$e.width,de.height=$e.height,de.channels=4;else if(Jh($e))de.element=$e,de.width=$e.naturalWidth,de.height=$e.naturalHeight,de.channels=4;else if(Lh($e))de.element=$e,de.width=$e.videoWidth,de.height=$e.videoHeight,de.channels=4;else if(tc($e)){var Sr=de.width||$e[0].length,gr=de.height||$e.length,Cr=de.channels;an($e[0][0])?Cr=Cr||$e[0][0].length:Cr=Cr||1;for(var cr=Ne.shape($e),Gr=1,ei=0;ei>=Kt,$e.height>>=Kt,Vn($e,pt[Kt]),de.mipmask|=1<=0&&!("faces"in Ie)&&(de.genMipmaps=!0)}if("mag"in Ie){var pt=Ie.mag;de.magFilter=Bn[pt]}var Kt=de.wrapS,ir=de.wrapT;if("wrap"in Ie){var Jt=Ie.wrap;typeof Jt=="string"?Kt=ir=On[Jt]:Array.isArray(Jt)&&(Kt=On[Jt[0]],ir=On[Jt[1]])}else{if("wrapS"in Ie){var vt=Ie.wrapS;Kt=On[vt]}if("wrapT"in Ie){var Pt=Ie.wrapT;ir=On[Pt]}}if(de.wrapS=Kt,de.wrapT=ir,"anisotropic"in Ie){var Wt=Ie.anisotropic;de.anisotropic=Ie.anisotropic}if("mipmap"in Ie){var rr=!1;switch(typeof Ie.mipmap){case"string":de.mipmapHint=cn[Ie.mipmap],de.genMipmaps=!0,rr=!0;break;case"boolean":rr=de.genMipmaps=Ie.mipmap;break;case"object":de.genMipmaps=!1,rr=!0;break;default:}rr&&!("min"in Ie)&&(de.minFilter=Ql)}}function wc(de,Ie){At.texParameteri(Ie,nh,de.minFilter),At.texParameteri(Ie,cf,de.magFilter),At.texParameteri(Ie,ko,de.wrapS),At.texParameteri(Ie,Co,de.wrapT),Er.ext_texture_filter_anisotropic&&At.texParameteri(Ie,ss,de.anisotropic),de.genMipmaps&&(At.hint(Bf,de.mipmapHint),At.generateMipmap(Ie))}var yf=0,Hl={},Fc=Wr.maxTextureUnits,ef=Array(Fc).map(function(){return null});function ls(de){wn.call(this),this.mipmask=0,this.internalformat=Ma,this.id=yf++,this.refCount=1,this.target=de,this.texture=At.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new El,Bi.profile&&(this.stats={size:0})}function _f(de){At.activeTexture(Cc),At.bindTexture(de.target,de.texture)}function ns(){var de=ef[0];de?At.bindTexture(de.target,de.texture):At.bindTexture(Ji,null)}function Y(de){var Ie=de.texture,$e=de.unit,pt=de.target;$e>=0&&(At.activeTexture(Cc+$e),At.bindTexture(pt,null),ef[$e]=null),At.deleteTexture(Ie),de.texture=null,de.params=null,de.pixels=null,de.refCount=0,delete Hl[de.id],Oi.textureCount--}e(ls.prototype,{bind:function(){var de=this;de.bindCount+=1;var Ie=de.unit;if(Ie<0){for(var $e=0;$e0)continue;pt.unit=-1}ef[$e]=de,Ie=$e;break}Ie>=Fc,Bi.profile&&Oi.maxTextureUnits>pr)-rr,kr.height=kr.height||($e.height>>pr)-dr,_f($e),ro(kr,Ji,rr,dr,pr),ns(),Oa(kr),pt}function ir(Jt,vt){var Pt=Jt|0,Wt=vt|0||Pt;if(Pt===$e.width&&Wt===$e.height)return pt;pt.width=$e.width=Pt,pt.height=$e.height=Wt,_f($e);for(var rr=0;$e.mipmask>>rr;++rr){var dr=Pt>>rr,pr=Wt>>rr;if(!dr||!pr)break;At.texImage2D(Ji,rr,$e.format,dr,pr,0,$e.format,$e.type,null)}return ns(),Bi.profile&&($e.stats.size=Wc($e.internalformat,$e.type,Pt,Wt,!1,!1)),pt}return pt(de,Ie),pt.subimage=Kt,pt.resize=ir,pt._reglType="texture2d",pt._texture=$e,Bi.profile&&(pt.stats=$e.stats),pt.destroy=function(){$e.decRef()},pt}function K(de,Ie,$e,pt,Kt,ir){var Jt=new ls(ca);Hl[Jt.id]=Jt,Oi.cubeCount++;var vt=new Array(6);function Pt(dr,pr,kr,Sr,gr,Cr){var cr,Gr=Jt.texInfo;for(El.call(Gr),cr=0;cr<6;++cr)vt[cr]=bs();if(typeof dr=="number"||!dr){var ei=dr|0||1;for(cr=0;cr<6;++cr)Po(vt[cr],ei,ei)}else if(typeof dr=="object")if(pr)$o(vt[0],dr),$o(vt[1],pr),$o(vt[2],kr),$o(vt[3],Sr),$o(vt[4],gr),$o(vt[5],Cr);else if(bc(Gr,dr),Aa(Jt,dr),"faces"in dr){var yi=dr.faces;for(cr=0;cr<6;++cr)vn(vt[cr],Jt),$o(vt[cr],yi[cr])}else for(cr=0;cr<6;++cr)$o(vt[cr],dr);for(vn(Jt,vt[0]),Gr.genMipmaps?Jt.mipmask=(vt[0].width<<1)-1:Jt.mipmask=vt[0].mipmask,Jt.internalformat=vt[0].internalformat,Pt.width=vt[0].width,Pt.height=vt[0].height,_f(Jt),cr=0;cr<6;++cr)Xl(vt[cr],Fn+cr);for(wc(Gr,ca),ns(),Bi.profile&&(Jt.stats.size=Wc(Jt.internalformat,Jt.type,Pt.width,Pt.height,Gr.genMipmaps,!0)),Pt.format=Ln[Jt.internalformat],Pt.type=Un[Jt.type],Pt.mag=gn[Gr.magFilter],Pt.min=fa[Gr.minFilter],Pt.wrapS=Kn[Gr.wrapS],Pt.wrapT=Kn[Gr.wrapT],cr=0;cr<6;++cr)Qc(vt[cr]);return Pt}function Wt(dr,pr,kr,Sr,gr){var Cr=kr|0,cr=Sr|0,Gr=gr|0,ei=Jn();return vn(ei,Jt),ei.width=0,ei.height=0,Vn(ei,pr),ei.width=ei.width||(Jt.width>>Gr)-Cr,ei.height=ei.height||(Jt.height>>Gr)-cr,_f(Jt),ro(ei,Fn+dr,Cr,cr,Gr),ns(),Oa(ei),Pt}function rr(dr){var pr=dr|0;if(pr!==Jt.width){Pt.width=Jt.width=pr,Pt.height=Jt.height=pr,_f(Jt);for(var kr=0;kr<6;++kr)for(var Sr=0;Jt.mipmask>>Sr;++Sr)At.texImage2D(Fn+kr,Sr,Jt.format,pr>>Sr,pr>>Sr,0,Jt.format,Jt.type,null);return ns(),Bi.profile&&(Jt.stats.size=Wc(Jt.internalformat,Jt.type,Pt.width,Pt.height,!1,!0)),Pt}}return Pt(de,Ie,$e,pt,Kt,ir),Pt.subimage=Wt,Pt.resize=rr,Pt._reglType="textureCube",Pt._texture=Jt,Bi.profile&&(Pt.stats=Jt.stats),Pt.destroy=function(){Jt.decRef()},Pt}function O(){for(var de=0;de>pt,$e.height>>pt,0,$e.internalformat,$e.type,null);else for(var Kt=0;Kt<6;++Kt)At.texImage2D(Fn+Kt,pt,$e.internalformat,$e.width>>pt,$e.height>>pt,0,$e.internalformat,$e.type,null);wc($e.texInfo,$e.target)})}function pe(){for(var de=0;de=0?Qc=!0:On.indexOf(El)>=0&&(Qc=!1))),("depthTexture"in ls||"depthStencilTexture"in ls)&&(ef=!!(ls.depthTexture||ls.depthStencilTexture)),"depth"in ls&&(typeof ls.depth=="boolean"?Xl=ls.depth:(yf=ls.depth,$c=!1)),"stencil"in ls&&(typeof ls.stencil=="boolean"?$c=ls.stencil:(Hl=ls.stencil,Xl=!1)),"depthStencil"in ls&&(typeof ls.depthStencil=="boolean"?Xl=$c=ls.depthStencil:(Fc=ls.depthStencil,Xl=!1,$c=!1))}var ns=null,Y=null,z=null,K=null;if(Array.isArray(bs))ns=bs.map(fn);else if(bs)ns=[fn(bs)];else for(ns=new Array(wc),_o=0;_o0&&(Oa.depth=Vn[0].depth,Oa.stencil=Vn[0].stencil,Oa.depthStencil=Vn[0].depthStencil),Vn[Jn]?Vn[Jn](Oa):Vn[Jn]=vn(Oa)}return e(ma,{width:_o,height:_o,color:El})}function ro(Ao){var Jn,Oa=Ao|0;if(Oa===ma.width)return ma;var _o=ma.color;for(Jn=0;Jn<_o.length;++Jn)_o[Jn].resize(Oa);for(Jn=0;Jn<6;++Jn)Vn[Jn].resize(Oa);return ma.width=ma.height=Oa,ma}return ma(Xn),e(ma,{faces:Vn,resize:ro,_reglType:"framebufferCube",destroy:function(){Vn.forEach(function(Ao){Ao.destroy()})}})}function oa(){Bi.cur=null,Bi.next=null,Bi.dirty=!0,ut(gn).forEach(function(Xn){Xn.framebuffer=At.createFramebuffer(),wn(Xn)})}return e(Bi,{getFramebuffer:function(Xn){if(typeof Xn=="function"&&Xn._reglType==="framebuffer"){var Vn=Xn._framebuffer;if(Vn instanceof fa)return Vn}return null},create:vn,createCube:Aa,clear:function(){ut(gn).forEach(Za)},restore:oa})}var yd=5126,uh=34962,Os=34963;function _u(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=yd,this.offset=0,this.stride=0,this.divisor=0}function xu(At,Er,Wr,wi,Ui,Oi,Bi){for(var cn=Wr.maxAttributes,On=new Array(cn),Bn=0;Bn=_o.byteLength?Po.subdata(_o):(Po.destroy(),vn.buffers[Ao]=null)),vn.buffers[Ao]||(Po=vn.buffers[Ao]=Ui.create(Jn,uh,!1,!0)),Oa.buffer=Ui.getBuffer(Po),Oa.size=Oa.buffer.dimension|0,Oa.normalized=!1,Oa.type=Oa.buffer.dtype,Oa.offset=0,Oa.stride=0,Oa.divisor=0,Oa.state=1,ma[Ao]=1}else Ui.getBuffer(Jn)?(Oa.buffer=Ui.getBuffer(Jn),Oa.size=Oa.buffer.dimension|0,Oa.normalized=!1,Oa.type=Oa.buffer.dtype,Oa.offset=0,Oa.stride=0,Oa.divisor=0,Oa.state=1):Ui.getBuffer(Jn.buffer)?(Oa.buffer=Ui.getBuffer(Jn.buffer),Oa.size=(+Jn.size||Oa.buffer.dimension)|0,Oa.normalized=!!Jn.normalized||!1,"type"in Jn?Oa.type=bi[Jn.type]:Oa.type=Oa.buffer.dtype,Oa.offset=(Jn.offset||0)|0,Oa.stride=(Jn.stride||0)|0,Oa.divisor=(Jn.divisor||0)|0,Oa.state=1):"x"in Jn&&(Oa.x=+Jn.x||0,Oa.y=+Jn.y||0,Oa.z=+Jn.z||0,Oa.w=+Jn.w||0,Oa.state=2)}for(var $o=0;$o1)for(var oa=0;oaAi&&(Ai=ji.stats.uniformsCount)}),Ai},Wr.getMaxAttributesCount=function(){var Ai=0;return yn.forEach(function(ji){ji.stats.attributesCount>Ai&&(Ai=ji.stats.attributesCount)}),Ai});function fn(){Ui={},Oi={};for(var Ai=0;Ai16&&(Wr=Ti(Wr,At.length*8));for(var wi=Array(16),Ui=Array(16),Oi=0;Oi<16;Oi++)wi[Oi]=Wr[Oi]^909522486,Ui[Oi]=Wr[Oi]^1549556828;var Bi=Ti(wi.concat(gf(Er)),512+Er.length*8);return gt(Ti(Ui.concat(Bi),768))}function ru(At){for(var Er=zh?"0123456789ABCDEF":"0123456789abcdef",Wr="",wi,Ui=0;Ui>>4&15)+Er.charAt(wi&15);return Wr}function mc(At){for(var Er="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Wr="",wi=At.length,Ui=0;UiAt.length*8?Wr+=Xu:Wr+=Er.charAt(Oi>>>6*(3-Bi)&63);return Wr}function Yc(At,Er){var Wr=Er.length,wi=Array(),Ui,Oi,Bi,cn,On=Array(Math.ceil(At.length/2));for(Ui=0;Ui0;){for(cn=Array(),Bi=0,Ui=0;Ui0||Oi>0)&&(cn[cn.length]=Oi);wi[wi.length]=Bi,On=cn}var Bn="";for(Ui=wi.length-1;Ui>=0;Ui--)Bn+=Er.charAt(wi[Ui]);var yn=Math.ceil(At.length*8/(Math.log(Er.length)/Math.log(2)));for(Ui=Bn.length;Ui>>6&31,128|wi&63):wi<=65535?Er+=String.fromCharCode(224|wi>>>12&15,128|wi>>>6&63,128|wi&63):wi<=2097151&&(Er+=String.fromCharCode(240|wi>>>18&7,128|wi>>>12&63,128|wi>>>6&63,128|wi&63));return Er}function gf(At){for(var Er=Array(At.length>>2),Wr=0;Wr>5]|=(At.charCodeAt(Wr/8)&255)<<24-Wr%32;return Er}function gt(At){for(var Er="",Wr=0;Wr>5]>>>24-Wr%32&255);return Er}function Bt(At,Er){return At>>>Er|At<<32-Er}function wr(At,Er){return At>>>Er}function vr(At,Er,Wr){return At&Er^~At&Wr}function Ur(At,Er,Wr){return At&Er^At&Wr^Er&Wr}function fi(At){return Bt(At,2)^Bt(At,13)^Bt(At,22)}function xi(At){return Bt(At,6)^Bt(At,11)^Bt(At,25)}function Fi(At){return Bt(At,7)^Bt(At,18)^wr(At,3)}function Xi(At){return Bt(At,17)^Bt(At,19)^wr(At,10)}var hn=new Array(1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998);function Ti(At,Er){var Wr=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),wi=new Array(64),Ui,Oi,Bi,cn,On,Bn,yn,to,Dn,Rn,fn,Ai;for(At[Er>>5]|=128<<24-Er%32,At[(Er+64>>9<<4)+15]=Er,Dn=0;Dn>16)+(Er>>16)+(Wr>>16);return wi<<16|Wr&65535}function Ii(At){return Array.prototype.slice.call(At)}function mi(At){return Ii(At).join("")}function Pn(At){var Er=At&&At.cache,Wr=0,wi=[],Ui=[],Oi=[];function Bi(fn,Ai){var ji=Ai&&Ai.stable;if(!ji){for(var Ln=0;Ln0&&(fn.push(Un,"="),fn.push.apply(fn,Ii(arguments)),fn.push(";")),Un}return e(Ai,{def:Ln,toString:function(){return mi([ji.length>0?"var "+ji.join(",")+";":"",mi(fn)])}})}function On(){var fn=cn(),Ai=cn(),ji=fn.toString,Ln=Ai.toString;function Un(gn,fa){Ai(gn,fa,"=",fn.def(gn,fa),";")}return e(function(){fn.apply(fn,Ii(arguments))},{def:fn.def,entry:fn,exit:Ai,save:Un,set:function(gn,fa,Kn){Un(gn,fa),fn(gn,fa,"=",Kn,";")},toString:function(){return ji()+Ln()}})}function Bn(){var fn=mi(arguments),Ai=On(),ji=On(),Ln=Ai.toString,Un=ji.toString;return e(Ai,{then:function(){return Ai.apply(Ai,Ii(arguments)),this},else:function(){return ji.apply(ji,Ii(arguments)),this},toString:function(){var gn=Un();return gn&&(gn="else{"+gn+"}"),mi(["if(",fn,"){",Ln(),"}",gn])}})}var yn=cn(),to={};function Dn(fn,Ai){var ji=[];function Ln(){var Za="a"+ji.length;return ji.push(Za),Za}Ai=Ai||0;for(var Un=0;Un":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Kr={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},ii={cw:we,ccw:Be};function vi(At){return Array.isArray(At)||Or(At)||Nr(At)}function ci(At){return At.sort(function(Er,Wr){return Er===ee?-1:Wr===ee?1:Er=1,wi>=2,Er)}else if(Wr===Xo){var Ui=At.data;return new Jr(Ui.thisDep,Ui.contextDep,Ui.propDep,Er)}else{if(Wr===As)return new Jr(!1,!1,!1,Er);if(Wr===es){for(var Oi=!1,Bi=!1,cn=!1,On=0;On=1&&(Bi=!0),yn>=2&&(cn=!0)}else Bn.type===Xo&&(Oi=Oi||Bn.data.thisDep,Bi=Bi||Bn.data.contextDep,cn=cn||Bn.data.propDep)}return new Jr(Oi,Bi,cn,Er)}else return new Jr(Wr===mo,Wr===Ua,Wr===sn,Er)}}var Nn=new Jr(!1,!1,!1,function(){});function ga(At,Er,Wr,wi,Ui,Oi,Bi,cn,On,Bn,yn,to,Dn,Rn,fn,Ai){var ji=Bn.Record,Ln={add:32774,subtract:32778,"reverse subtract":32779};Wr.ext_blend_minmax&&(Ln.min=Ue,Ln.max=We);var Un=Wr.angle_instanced_arrays,gn=Wr.webgl_draw_buffers,fa=Wr.oes_vertex_array_object,Kn={dirty:!0,profile:Ai.profile},Za={},wn=[],vn={},Aa={};function oa(vt){return vt.replace(".","_")}function Xn(vt,Pt,Wt){var rr=oa(vt);wn.push(vt),Za[rr]=Kn[rr]=!!Wt,vn[rr]=Pt}function Vn(vt,Pt,Wt){var rr=oa(vt);wn.push(vt),Array.isArray(Wt)?(Kn[rr]=Wt.slice(),Za[rr]=Wt.slice()):Kn[rr]=Za[rr]=Wt,Aa[rr]=Pt}function ma(vt){return!!isNaN(vt)}Xn(_s,di),Xn(No,Xr),Vn(yl,"blendColor",[0,0,0,0]),Vn(Gs,"blendEquationSeparate",[lr,lr]),Vn(Rs,"blendFuncSeparate",[or,zt,or,zt]),Xn(ia,Ci,!0),Vn(Ja,"depthFunc",Rr),Vn(ps,"depthRange",[0,1]),Vn(Jo,"depthMask",!0),Vn(iu,iu,[!0,!0,!0,!0]),Xn(Du,zr),Vn(ac,"cullFace",oe),Vn(mf,mf,Be),Vn(bu,bu,1),Xn(Kc,Mn),Vn(Ru,"polygonOffset",[0,0]),Xn(Rc,pa),Xn(Ra,ea),Vn(eo,"sampleCoverage",[1,!1]),Xn(Jc,Li),Vn(yc,"stencilMask",-1),Vn(_c,"stencilFunc",[wt,0,-1]),Vn(le,"stencilOpSeparate",[Z,tt,tt,tt]),Vn(w,"stencilOpSeparate",[oe,tt,tt,tt]),Xn(B,Qi),Vn(Q,"scissor",[0,0,At.drawingBufferWidth,At.drawingBufferHeight]),Vn(ee,ee,[0,0,At.drawingBufferWidth,At.drawingBufferHeight]);var ro={gl:At,context:Dn,strings:Er,next:Za,current:Kn,draw:to,elements:Oi,buffer:Ui,shader:yn,attributes:Bn.state,vao:Bn,uniforms:On,framebuffer:cn,extensions:Wr,timer:Rn,isBufferArgs:vi},Ao={primTypes:Ki,compareFuncs:qr,blendFuncs:ui,blendEquations:Ln,stencilOps:Kr,glTypes:bi,orientationType:ii};gn&&(Ao.backBuffer=[oe],Ao.drawBuffer=M(wi.maxDrawbuffers,function(vt){return vt===0?[0]:M(vt,function(Pt){return oi+Pt})}));var Jn=0;function Oa(){var vt=Pn({cache:fn}),Pt=vt.link,Wt=vt.global;vt.id=Jn++,vt.batchId="0";var rr=Pt(ro),dr=vt.shared={props:"a0"};Object.keys(ro).forEach(function(Cr){dr[Cr]=Wt.def(rr,".",Cr)});var pr=vt.next={},kr=vt.current={};Object.keys(Aa).forEach(function(Cr){Array.isArray(Kn[Cr])&&(pr[Cr]=Wt.def(dr.next,".",Cr),kr[Cr]=Wt.def(dr.current,".",Cr))});var Sr=vt.constants={};Object.keys(Ao).forEach(function(Cr){Sr[Cr]=Wt.def(JSON.stringify(Ao[Cr]))}),vt.invoke=function(Cr,cr){switch(cr.type){case Cn:var Gr=["this",dr.context,dr.props,vt.batchId];return Cr.def(Pt(cr.data),".call(",Gr.slice(0,Math.max(cr.data.length+1,4)),")");case sn:return Cr.def(dr.props,cr.data);case Ua:return Cr.def(dr.context,cr.data);case mo:return Cr.def("this",cr.data);case Xo:return cr.data.append(vt,Cr),cr.data.ref;case As:return cr.data.toString();case es:return cr.data.map(function(ei){return vt.invoke(Cr,ei)})}},vt.attribCache={};var gr={};return vt.scopeAttrib=function(Cr){var cr=Er.id(Cr);if(cr in gr)return gr[cr];var Gr=Bn.scope[cr];Gr||(Gr=Bn.scope[cr]=new ji);var ei=gr[cr]=Pt(Gr);return ei},vt}function _o(vt){var Pt=vt.static,Wt=vt.dynamic,rr;if(se in Pt){var dr=!!Pt[se];rr=dn(function(kr,Sr){return dr}),rr.enable=dr}else if(se in Wt){var pr=Wt[se];rr=En(pr,function(kr,Sr){return kr.invoke(Sr,pr)})}return rr}function Po(vt,Pt){var Wt=vt.static,rr=vt.dynamic;if(qe in Wt){var dr=Wt[qe];return dr?(dr=cn.getFramebuffer(dr),dn(function(kr,Sr){var gr=kr.link(dr),Cr=kr.shared;Sr.set(Cr.framebuffer,".next",gr);var cr=Cr.context;return Sr.set(cr,"."+Oe,gr+".width"),Sr.set(cr,"."+Je,gr+".height"),gr})):dn(function(kr,Sr){var gr=kr.shared;Sr.set(gr.framebuffer,".next","null");var Cr=gr.context;return Sr.set(Cr,"."+Oe,Cr+"."+Rt),Sr.set(Cr,"."+Je,Cr+"."+Ut),"null"})}else if(qe in rr){var pr=rr[qe];return En(pr,function(kr,Sr){var gr=kr.invoke(Sr,pr),Cr=kr.shared,cr=Cr.framebuffer,Gr=Sr.def(cr,".getFramebuffer(",gr,")");Sr.set(cr,".next",Gr);var ei=Cr.context;return Sr.set(ei,"."+Oe,Gr+"?"+Gr+".width:"+ei+"."+Rt),Sr.set(ei,"."+Je,Gr+"?"+Gr+".height:"+ei+"."+Ut),Gr})}else return null}function $o(vt,Pt,Wt){var rr=vt.static,dr=vt.dynamic;function pr(gr){if(gr in rr){var Cr=rr[gr],cr=!0,Gr=Cr.x|0,ei=Cr.y|0,yi,tn;return"width"in Cr?yi=Cr.width|0:cr=!1,"height"in Cr?tn=Cr.height|0:cr=!1,new Jr(!cr&&Pt&&Pt.thisDep,!cr&&Pt&&Pt.contextDep,!cr&&Pt&&Pt.propDep,function(Qn,qn){var rn=Qn.shared.context,bn=yi;"width"in Cr||(bn=qn.def(rn,".",Oe,"-",Gr));var mn=tn;return"height"in Cr||(mn=qn.def(rn,".",Je,"-",ei)),[Gr,ei,bn,mn]})}else if(gr in dr){var Di=dr[gr],ln=En(Di,function(Qn,qn){var rn=Qn.invoke(qn,Di),bn=Qn.shared.context,mn=qn.def(rn,".x|0"),Gn=qn.def(rn,".y|0"),da=qn.def('"width" in ',rn,"?",rn,".width|0:","(",bn,".",Oe,"-",mn,")"),Uo=qn.def('"height" in ',rn,"?",rn,".height|0:","(",bn,".",Je,"-",Gn,")");return[mn,Gn,da,Uo]});return Pt&&(ln.thisDep=ln.thisDep||Pt.thisDep,ln.contextDep=ln.contextDep||Pt.contextDep,ln.propDep=ln.propDep||Pt.propDep),ln}else return Pt?new Jr(Pt.thisDep,Pt.contextDep,Pt.propDep,function(Qn,qn){var rn=Qn.shared.context;return[0,0,qn.def(rn,".",Oe),qn.def(rn,".",Je)]}):null}var kr=pr(ee);if(kr){var Sr=kr;kr=new Jr(kr.thisDep,kr.contextDep,kr.propDep,function(gr,Cr){var cr=Sr.append(gr,Cr),Gr=gr.shared.context;return Cr.set(Gr,"."+He,cr[2]),Cr.set(Gr,"."+et,cr[3]),cr})}return{viewport:kr,scissor_box:pr(Q)}}function Xl(vt,Pt){var Wt=vt.static,rr=typeof Wt[it]=="string"&&typeof Wt[je]=="string";if(rr){if(Object.keys(Pt.dynamic).length>0)return null;var dr=Pt.static,pr=Object.keys(dr);if(pr.length>0&&typeof dr[pr[0]]=="number"){for(var kr=[],Sr=0;Sr"+mn+"?"+cr+".constant["+mn+"]:0;"}).join(""),"}}else{","if(",yi,"(",cr,".buffer)){",Qn,"=",tn,".createStream(",yr,",",cr,".buffer);","}else{",Qn,"=",tn,".getBuffer(",cr,".buffer);","}",qn,'="type" in ',cr,"?",ei.glTypes,"[",cr,".type]:",Qn,".dtype;",Di.normalized,"=!!",cr,".normalized;");function rn(bn){Cr(Di[bn],"=",cr,".",bn,"|0;")}return rn("size"),rn("offset"),rn("stride"),rn("divisor"),Cr("}}"),Cr.exit("if(",Di.isStream,"){",tn,".destroyStream(",Qn,");","}"),Di}dr[pr]=En(kr,Sr)}),dr}function wc(vt){var Pt=vt.static,Wt=vt.dynamic,rr={};return Object.keys(Pt).forEach(function(dr){var pr=Pt[dr];rr[dr]=dn(function(kr,Sr){return typeof pr=="number"||typeof pr=="boolean"?""+pr:kr.link(pr)})}),Object.keys(Wt).forEach(function(dr){var pr=Wt[dr];rr[dr]=En(pr,function(kr,Sr){return kr.invoke(Sr,pr)})}),rr}function yf(vt,Pt,Wt,rr,dr){var pr=vt.static,kr=vt.dynamic,Sr=Xl(vt,Pt),gr=Po(vt,dr),Cr=$o(vt,gr,dr),cr=bs(vt,dr),Gr=Qc(vt,dr),ei=$c(vt,dr,Sr);function yi(rn){var bn=Cr[rn];bn&&(Gr[rn]=bn)}yi(ee),yi(oa(Q));var tn=Object.keys(Gr).length>0,Di={framebuffer:gr,draw:cr,shader:ei,state:Gr,dirty:tn,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Di.profile=_o(vt,dr),Di.uniforms=El(Wt,dr),Di.drawVAO=Di.scopeVAO=cr.vao,!Di.drawVAO&&ei.program&&!Sr&&Wr.angle_instanced_arrays&&cr.static.elements){var ln=!0,Qn=ei.program.attributes.map(function(rn){var bn=Pt.static[rn];return ln=ln&&!!bn,bn});if(ln&&Qn.length>0){var qn=Bn.getVAO(Bn.createVAO({attributes:Qn,elements:cr.static.elements}));Di.drawVAO=new Jr(null,null,null,function(rn,bn){return rn.link(qn)}),Di.useVAO=!0}}return Sr?Di.useVAO=!0:Di.attributes=bc(Pt,dr),Di.context=wc(rr,dr),Di}function Hl(vt,Pt,Wt){var rr=vt.shared,dr=rr.context,pr=vt.scope();Object.keys(Wt).forEach(function(kr){Pt.save(dr,"."+kr);var Sr=Wt[kr],gr=Sr.append(vt,Pt);Array.isArray(gr)?pr(dr,".",kr,"=[",gr.join(),"];"):pr(dr,".",kr,"=",gr,";")}),Pt(pr)}function Fc(vt,Pt,Wt,rr){var dr=vt.shared,pr=dr.gl,kr=dr.framebuffer,Sr;gn&&(Sr=Pt.def(dr.extensions,".webgl_draw_buffers"));var gr=vt.constants,Cr=gr.drawBuffer,cr=gr.backBuffer,Gr;Wt?Gr=Wt.append(vt,Pt):Gr=Pt.def(kr,".next"),rr||Pt("if(",Gr,"!==",kr,".cur){"),Pt("if(",Gr,"){",pr,".bindFramebuffer(",Ir,",",Gr,".framebuffer);"),gn&&Pt(Sr,".drawBuffersWEBGL(",Cr,"[",Gr,".colorAttachments.length]);"),Pt("}else{",pr,".bindFramebuffer(",Ir,",null);"),gn&&Pt(Sr,".drawBuffersWEBGL(",cr,");"),Pt("}",kr,".cur=",Gr,";"),rr||Pt("}")}function ef(vt,Pt,Wt){var rr=vt.shared,dr=rr.gl,pr=vt.current,kr=vt.next,Sr=rr.current,gr=rr.next,Cr=vt.cond(Sr,".dirty");wn.forEach(function(cr){var Gr=oa(cr);if(!(Gr in Wt.state)){var ei,yi;if(Gr in kr){ei=kr[Gr],yi=pr[Gr];var tn=M(Kn[Gr].length,function(ln){return Cr.def(ei,"[",ln,"]")});Cr(vt.cond(tn.map(function(ln,Qn){return ln+"!=="+yi+"["+Qn+"]"}).join("||")).then(dr,".",Aa[Gr],"(",tn,");",tn.map(function(ln,Qn){return yi+"["+Qn+"]="+ln}).join(";"),";"))}else{ei=Cr.def(gr,".",Gr);var Di=vt.cond(ei,"!==",Sr,".",Gr);Cr(Di),Gr in vn?Di(vt.cond(ei).then(dr,".enable(",vn[Gr],");").else(dr,".disable(",vn[Gr],");"),Sr,".",Gr,"=",ei,";"):Di(dr,".",Aa[Gr],"(",ei,");",Sr,".",Gr,"=",ei,";")}}}),Object.keys(Wt.state).length===0&&Cr(Sr,".dirty=false;"),Pt(Cr)}function ls(vt,Pt,Wt,rr){var dr=vt.shared,pr=vt.current,kr=dr.current,Sr=dr.gl,gr;ci(Object.keys(Wt)).forEach(function(Cr){var cr=Wt[Cr];if(!(rr&&!rr(cr))){var Gr=cr.append(vt,Pt);if(vn[Cr]){var ei=vn[Cr];un(cr)?(gr=vt.link(Gr,{stable:!0}),Pt(vt.cond(gr).then(Sr,".enable(",ei,");").else(Sr,".disable(",ei,");")),Pt(kr,".",Cr,"=",gr,";")):(Pt(vt.cond(Gr).then(Sr,".enable(",ei,");").else(Sr,".disable(",ei,");")),Pt(kr,".",Cr,"=",Gr,";"))}else if(an(Gr)){var yi=pr[Cr];Pt(Sr,".",Aa[Cr],"(",Gr,");",Gr.map(function(tn,Di){return yi+"["+Di+"]="+tn}).join(";"),";")}else un(cr)?(gr=vt.link(Gr,{stable:!0}),Pt(Sr,".",Aa[Cr],"(",gr,");",kr,".",Cr,"=",gr,";")):Pt(Sr,".",Aa[Cr],"(",Gr,");",kr,".",Cr,"=",Gr,";")}})}function _f(vt,Pt){Un&&(vt.instancing=Pt.def(vt.shared.extensions,".angle_instanced_arrays"))}function ns(vt,Pt,Wt,rr,dr){var pr=vt.shared,kr=vt.stats,Sr=pr.current,gr=pr.timer,Cr=Wt.profile;function cr(){return typeof performance=="undefined"?"Date.now()":"performance.now()"}var Gr,ei;function yi(rn){Gr=Pt.def(),rn(Gr,"=",cr(),";"),typeof dr=="string"?rn(kr,".count+=",dr,";"):rn(kr,".count++;"),Rn&&(rr?(ei=Pt.def(),rn(ei,"=",gr,".getNumPendingQueries();")):rn(gr,".beginQuery(",kr,");"))}function tn(rn){rn(kr,".cpuTime+=",cr(),"-",Gr,";"),Rn&&(rr?rn(gr,".pushScopeStats(",ei,",",gr,".getNumPendingQueries(),",kr,");"):rn(gr,".endQuery();"))}function Di(rn){var bn=Pt.def(Sr,".profile");Pt(Sr,".profile=",rn,";"),Pt.exit(Sr,".profile=",bn,";")}var ln;if(Cr){if(un(Cr)){Cr.enable?(yi(Pt),tn(Pt.exit),Di("true")):Di("false");return}ln=Cr.append(vt,Pt),Di(ln)}else ln=Pt.def(Sr,".profile");var Qn=vt.block();yi(Qn),Pt("if(",ln,"){",Qn,"}");var qn=vt.block();tn(qn),Pt.exit("if(",ln,"){",qn,"}")}function Y(vt,Pt,Wt,rr,dr){var pr=vt.shared;function kr(gr){switch(gr){case To:case zs:case _l:return 2;case Wa:case Ss:case Vl:return 3;case co:case yo:case Yu:return 4;default:return 1}}function Sr(gr,Cr,cr){var Gr=pr.gl,ei=Pt.def(gr,".location"),yi=Pt.def(pr.attributes,"[",ei,"]"),tn=cr.state,Di=cr.buffer,ln=[cr.x,cr.y,cr.z,cr.w],Qn=["buffer","normalized","offset","stride"];function qn(){Pt("if(!",yi,".buffer){",Gr,".enableVertexAttribArray(",ei,");}");var bn=cr.type,mn;if(cr.size?mn=Pt.def(cr.size,"||",Cr):mn=Cr,Pt("if(",yi,".type!==",bn,"||",yi,".size!==",mn,"||",Qn.map(function(da){return yi+"."+da+"!=="+cr[da]}).join("||"),"){",Gr,".bindBuffer(",yr,",",Di,".buffer);",Gr,".vertexAttribPointer(",[ei,mn,bn,cr.normalized,cr.stride,cr.offset],");",yi,".type=",bn,";",yi,".size=",mn,";",Qn.map(function(da){return yi+"."+da+"="+cr[da]+";"}).join(""),"}"),Un){var Gn=cr.divisor;Pt("if(",yi,".divisor!==",Gn,"){",vt.instancing,".vertexAttribDivisorANGLE(",[ei,Gn],");",yi,".divisor=",Gn,";}")}}function rn(){Pt("if(",yi,".buffer){",Gr,".disableVertexAttribArray(",ei,");",yi,".buffer=null;","}if(",Ea.map(function(bn,mn){return yi+"."+bn+"!=="+ln[mn]}).join("||"),"){",Gr,".vertexAttrib4f(",ei,",",ln,");",Ea.map(function(bn,mn){return yi+"."+bn+"="+ln[mn]+";"}).join(""),"}")}tn===ka?qn():tn===qa?rn():(Pt("if(",tn,"===",ka,"){"),qn(),Pt("}else{"),rn(),Pt("}"))}rr.forEach(function(gr){var Cr=gr.name,cr=Wt.attributes[Cr],Gr;if(cr){if(!dr(cr))return;Gr=cr.append(vt,Pt)}else{if(!dr(Nn))return;var ei=vt.scopeAttrib(Cr);Gr={},Object.keys(new ji).forEach(function(yi){Gr[yi]=Pt.def(ei,".",yi)})}Sr(vt.link(gr),kr(gr.info.type),Gr)})}function z(vt,Pt,Wt,rr,dr,pr){for(var kr=vt.shared,Sr=kr.gl,gr,Cr=0;Cr1){for(var Ro=[],gs=[],fo=0;fo>1)",Di],");")}function Gn(){Wt(ln,".drawArraysInstancedANGLE(",[ei,yi,tn,Di],");")}cr&&cr!=="null"?qn?mn():(Wt("if(",cr,"){"),mn(),Wt("}else{"),Gn(),Wt("}")):Gn()}function bn(){function mn(){Wt(pr+".drawElements("+[ei,tn,Qn,yi+"<<(("+Qn+"-"+Ta+")>>1)"]+");")}function Gn(){Wt(pr+".drawArrays("+[ei,yi,tn]+");")}cr&&cr!=="null"?qn?mn():(Wt("if(",cr,"){"),mn(),Wt("}else{"),Gn(),Wt("}")):Gn()}Un&&(typeof Di!="number"||Di>=0)?typeof Di=="string"?(Wt("if(",Di,">0){"),rn(),Wt("}else if(",Di,"<0){"),bn(),Wt("}")):rn():bn()}function O(vt,Pt,Wt,rr,dr){var pr=Oa(),kr=pr.proc("body",dr);return Un&&(pr.instancing=kr.def(pr.shared.extensions,".angle_instanced_arrays")),vt(pr,kr,Wt,rr),pr.compile().body}function $(vt,Pt,Wt,rr){_f(vt,Pt),Wt.useVAO?Wt.drawVAO?Pt(vt.shared.vao,".setVAO(",Wt.drawVAO.append(vt,Pt),");"):Pt(vt.shared.vao,".setVAO(",vt.shared.vao,".targetVAO);"):(Pt(vt.shared.vao,".setVAO(null);"),Y(vt,Pt,Wt,rr.attributes,function(){return!0})),z(vt,Pt,Wt,rr.uniforms,function(){return!0},!1),K(vt,Pt,Pt,Wt)}function pe(vt,Pt){var Wt=vt.proc("draw",1);_f(vt,Wt),Hl(vt,Wt,Pt.context),Fc(vt,Wt,Pt.framebuffer),ef(vt,Wt,Pt),ls(vt,Wt,Pt.state),ns(vt,Wt,Pt,!1,!0);var rr=Pt.shader.progVar.append(vt,Wt);if(Wt(vt.shared.gl,".useProgram(",rr,".program);"),Pt.shader.program)$(vt,Wt,Pt,Pt.shader.program);else{Wt(vt.shared.vao,".setVAO(null);");var dr=vt.global.def("{}"),pr=Wt.def(rr,".id"),kr=Wt.def(dr,"[",pr,"]");Wt(vt.cond(kr).then(kr,".call(this,a0);").else(kr,"=",dr,"[",pr,"]=",vt.link(function(Sr){return O($,vt,Pt,Sr,1)}),"(",rr,");",kr,".call(this,a0);"))}Object.keys(Pt.state).length>0&&Wt(vt.shared.current,".dirty=true;"),vt.shared.vao&&Wt(vt.shared.vao,".setVAO(null);")}function de(vt,Pt,Wt,rr){vt.batchId="a1",_f(vt,Pt);function dr(){return!0}Y(vt,Pt,Wt,rr.attributes,dr),z(vt,Pt,Wt,rr.uniforms,dr,!1),K(vt,Pt,Pt,Wt)}function Ie(vt,Pt,Wt,rr){_f(vt,Pt);var dr=Wt.contextDep,pr=Pt.def(),kr="a0",Sr="a1",gr=Pt.def();vt.shared.props=gr,vt.batchId=pr;var Cr=vt.scope(),cr=vt.scope();Pt(Cr.entry,"for(",pr,"=0;",pr,"<",Sr,";++",pr,"){",gr,"=",kr,"[",pr,"];",cr,"}",Cr.exit);function Gr(Qn){return Qn.contextDep&&dr||Qn.propDep}function ei(Qn){return!Gr(Qn)}if(Wt.needsContext&&Hl(vt,cr,Wt.context),Wt.needsFramebuffer&&Fc(vt,cr,Wt.framebuffer),ls(vt,cr,Wt.state,Gr),Wt.profile&&Gr(Wt.profile)&&ns(vt,cr,Wt,!1,!0),rr)Wt.useVAO?Wt.drawVAO?Gr(Wt.drawVAO)?cr(vt.shared.vao,".setVAO(",Wt.drawVAO.append(vt,cr),");"):Cr(vt.shared.vao,".setVAO(",Wt.drawVAO.append(vt,Cr),");"):Cr(vt.shared.vao,".setVAO(",vt.shared.vao,".targetVAO);"):(Cr(vt.shared.vao,".setVAO(null);"),Y(vt,Cr,Wt,rr.attributes,ei),Y(vt,cr,Wt,rr.attributes,Gr)),z(vt,Cr,Wt,rr.uniforms,ei,!1),z(vt,cr,Wt,rr.uniforms,Gr,!0),K(vt,Cr,cr,Wt);else{var yi=vt.global.def("{}"),tn=Wt.shader.progVar.append(vt,cr),Di=cr.def(tn,".id"),ln=cr.def(yi,"[",Di,"]");cr(vt.shared.gl,".useProgram(",tn,".program);","if(!",ln,"){",ln,"=",yi,"[",Di,"]=",vt.link(function(Qn){return O(de,vt,Wt,Qn,2)}),"(",tn,");}",ln,".call(this,a0[",pr,"],",pr,");")}}function $e(vt,Pt){var Wt=vt.proc("batch",2);vt.batchId="0",_f(vt,Wt);var rr=!1,dr=!0;Object.keys(Pt.context).forEach(function(yi){rr=rr||Pt.context[yi].propDep}),rr||(Hl(vt,Wt,Pt.context),dr=!1);var pr=Pt.framebuffer,kr=!1;pr?(pr.propDep?rr=kr=!0:pr.contextDep&&rr&&(kr=!0),kr||Fc(vt,Wt,pr)):Fc(vt,Wt,null),Pt.state.viewport&&Pt.state.viewport.propDep&&(rr=!0);function Sr(yi){return yi.contextDep&&rr||yi.propDep}ef(vt,Wt,Pt),ls(vt,Wt,Pt.state,function(yi){return!Sr(yi)}),(!Pt.profile||!Sr(Pt.profile))&&ns(vt,Wt,Pt,!1,"a1"),Pt.contextDep=rr,Pt.needsContext=dr,Pt.needsFramebuffer=kr;var gr=Pt.shader.progVar;if(gr.contextDep&&rr||gr.propDep)Ie(vt,Wt,Pt,null);else{var Cr=gr.append(vt,Wt);if(Wt(vt.shared.gl,".useProgram(",Cr,".program);"),Pt.shader.program)Ie(vt,Wt,Pt,Pt.shader.program);else{Wt(vt.shared.vao,".setVAO(null);");var cr=vt.global.def("{}"),Gr=Wt.def(Cr,".id"),ei=Wt.def(cr,"[",Gr,"]");Wt(vt.cond(ei).then(ei,".call(this,a0,a1);").else(ei,"=",cr,"[",Gr,"]=",vt.link(function(yi){return O(Ie,vt,Pt,yi,2)}),"(",Cr,");",ei,".call(this,a0,a1);"))}}Object.keys(Pt.state).length>0&&Wt(vt.shared.current,".dirty=true;"),vt.shared.vao&&Wt(vt.shared.vao,".setVAO(null);")}function pt(vt,Pt){var Wt=vt.proc("scope",3);vt.batchId="a2";var rr=vt.shared,dr=rr.current;if(Hl(vt,Wt,Pt.context),Pt.framebuffer&&Pt.framebuffer.append(vt,Wt),ci(Object.keys(Pt.state)).forEach(function(Sr){var gr=Pt.state[Sr],Cr=gr.append(vt,Wt);an(Cr)?Cr.forEach(function(cr,Gr){ma(cr)?Wt.set(vt.next[Sr],"["+Gr+"]",cr):Wt.set(vt.next[Sr],"["+Gr+"]",vt.link(cr,{stable:!0}))}):un(gr)?Wt.set(rr.next,"."+Sr,vt.link(Cr,{stable:!0})):Wt.set(rr.next,"."+Sr,Cr)}),ns(vt,Wt,Pt,!0,!0),[yt,hr,Nt,Mr,Ot].forEach(function(Sr){var gr=Pt.draw[Sr];if(gr){var Cr=gr.append(vt,Wt);ma(Cr)?Wt.set(rr.draw,"."+Sr,Cr):Wt.set(rr.draw,"."+Sr,vt.link(Cr),{stable:!0})}}),Object.keys(Pt.uniforms).forEach(function(Sr){var gr=Pt.uniforms[Sr].append(vt,Wt);Array.isArray(gr)&&(gr="["+gr.map(function(Cr){return ma(Cr)?Cr:vt.link(Cr,{stable:!0})})+"]"),Wt.set(rr.uniforms,"["+vt.link(Er.id(Sr),{stable:!0})+"]",gr)}),Object.keys(Pt.attributes).forEach(function(Sr){var gr=Pt.attributes[Sr].append(vt,Wt),Cr=vt.scopeAttrib(Sr);Object.keys(new ji).forEach(function(cr){Wt.set(Cr,"."+cr,gr[cr])})}),Pt.scopeVAO){var pr=Pt.scopeVAO.append(vt,Wt);ma(pr)?Wt.set(rr.vao,".targetVAO",pr):Wt.set(rr.vao,".targetVAO",vt.link(pr,{stable:!0}))}function kr(Sr){var gr=Pt.shader[Sr];if(gr){var Cr=gr.append(vt,Wt);ma(Cr)?Wt.set(rr.shader,"."+Sr,Cr):Wt.set(rr.shader,"."+Sr,vt.link(Cr,{stable:!0}))}}kr(je),kr(it),Object.keys(Pt.state).length>0&&(Wt(dr,".dirty=true;"),Wt.exit(dr,".dirty=true;")),Wt("a1(",vt.shared.context,",a0,",vt.batchId,");")}function Kt(vt){if(!(typeof vt!="object"||an(vt))){for(var Pt=Object.keys(vt),Wt=0;Wt=0;--O){var $=ro[O];$&&$(fn,null,0)}Wr.flush(),yn&&yn.update()}function $o(){!_o&&ro.length>0&&(_o=v.next(Po))}function Xl(){_o&&(v.cancel(Po),_o=null)}function $c(O){O.preventDefault(),Ui=!0,Xl(),Ao.forEach(function($){$()})}function bs(O){Wr.getError(),Ui=!1,Oi.restore(),Za.restore(),Un.restore(),wn.restore(),vn.restore(),Aa.restore(),fa.restore(),yn&&yn.restore(),oa.procs.refresh(),$o(),Jn.forEach(function($){$()})}ma&&(ma.addEventListener(Lo,$c,!1),ma.addEventListener(Fo,bs,!1));function Qc(){ro.length=0,Xl(),ma&&(ma.removeEventListener(Lo,$c),ma.removeEventListener(Fo,bs)),Za.clear(),Aa.clear(),vn.clear(),fa.clear(),wn.clear(),gn.clear(),Un.clear(),yn&&yn.clear(),Oa.forEach(function(O){O()})}function El(O){function $(pr){var kr=e({},pr);delete kr.uniforms,delete kr.attributes,delete kr.context,delete kr.vao,"stencil"in kr&&kr.stencil.op&&(kr.stencil.opBack=kr.stencil.opFront=kr.stencil.op,delete kr.stencil.op);function Sr(gr){if(gr in kr){var Cr=kr[gr];delete kr[gr],Object.keys(Cr).forEach(function(cr){kr[gr+"."+cr]=Cr[cr]})}}return Sr("blend"),Sr("depth"),Sr("cull"),Sr("stencil"),Sr("polygonOffset"),Sr("scissor"),Sr("sample"),"vao"in pr&&(kr.vao=pr.vao),kr}function pe(pr,kr){var Sr={},gr={};return Object.keys(pr).forEach(function(Cr){var cr=pr[Cr];if(h.isDynamic(cr)){gr[Cr]=h.unbox(cr,Cr);return}else if(kr&&Array.isArray(cr)){for(var Gr=0;Gr0)return vt.call(this,rr(pr|0),pr|0)}else if(Array.isArray(pr)){if(pr.length)return vt.call(this,pr,pr.length)}else return Jt.call(this,pr)}return e(dr,{stats:Kt,destroy:function(){ir.destroy()}})}var bc=Aa.setFBO=El({framebuffer:h.define.call(null,js,"framebuffer")});function wc(O,$){var pe=0;oa.procs.poll();var de=$.color;de&&(Wr.clearColor(+de[0]||0,+de[1]||0,+de[2]||0,+de[3]||0),pe|=xs),"depth"in $&&(Wr.clearDepth(+$.depth),pe|=Ns),"stencil"in $&&(Wr.clearStencil($.stencil|0),pe|=pn),Wr.clear(pe)}function yf(O){if("framebuffer"in O)if(O.framebuffer&&O.framebuffer_reglType==="framebufferCube")for(var $=0;$<6;++$)bc(e({framebuffer:O.framebuffer.faces[$]},O),wc);else bc(O,wc);else wc(null,O)}function Hl(O){ro.push(O);function $(){var pe=dl(ro,O);function de(){var Ie=dl(ro,de);ro[Ie]=ro[ro.length-1],ro.length-=1,ro.length<=0&&Xl()}ro[pe]=de}return $o(),{cancel:$}}function Fc(){var O=Vn.viewport,$=Vn.scissor_box;O[0]=O[1]=$[0]=$[1]=0,fn.viewportWidth=fn.framebufferWidth=fn.drawingBufferWidth=O[2]=$[2]=Wr.drawingBufferWidth,fn.viewportHeight=fn.framebufferHeight=fn.drawingBufferHeight=O[3]=$[3]=Wr.drawingBufferHeight}function ef(){fn.tick+=1,fn.time=_f(),Fc(),oa.procs.poll()}function ls(){wn.refresh(),Fc(),oa.procs.refresh(),yn&&yn.update()}function _f(){return(d()-to)/1e3}ls();function ns(O,$){var pe;switch(O){case"frame":return Hl($);case"lost":pe=Ao;break;case"restore":pe=Jn;break;case"destroy":pe=Oa;break;default:}return pe.push($),{cancel:function(){for(var de=0;de=0},read:Xn,destroy:Qc,_gl:Wr,_refresh:ls,poll:function(){ef(),yn&&yn.update()},now:_f,stats:cn,getCachedCode:Y,preloadCachedCode:z});return Er.onDone(null,K),K}return xc})});var $qe=ye((yyr,Jqe)=>{"use strict";var LBt=Ym();Jqe.exports=function(t){if(t?typeof t=="string"&&(t={container:t}):t={},Yqe(t)?t={container:t}:PBt(t)?t={container:t}:IBt(t)?t={gl:t}:t=LBt(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0),t.pixelRatio||(t.pixelRatio=window.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(typeof t.container=="string"){var r=document.querySelector(t.container);if(!r)throw Error("Element "+t.container+" is not found");t.container=r}Yqe(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=Kqe(),t.container.appendChild(t.canvas),Xqe(t))}else if(!t.canvas)if(typeof document!="undefined")t.container=document.body||document.documentElement,t.canvas=Kqe(),t.container.appendChild(t.canvas),Xqe(t);else throw Error("Not DOM environment. Use headless-gl.");return t.gl||["webgl","experimental-webgl","webgl-experimental"].some(function(n){try{t.gl=t.canvas.getContext(n,t.attrs)}catch(i){}return t.gl}),t.gl};function Xqe(e){if(e.container)if(e.container==document.body)document.body.style.width||(e.canvas.width=e.width||e.pixelRatio*window.innerWidth),document.body.style.height||(e.canvas.height=e.height||e.pixelRatio*window.innerHeight);else{var t=e.container.getBoundingClientRect();e.canvas.width=e.width||t.right-t.left,e.canvas.height=e.height||t.bottom-t.top}}function Yqe(e){return typeof e.getContext=="function"&&"width"in e&&"height"in e}function PBt(e){return typeof e.nodeName=="string"&&typeof e.appendChild=="function"&&typeof e.getBoundingClientRect=="function"}function IBt(e){return typeof e.drawArrays=="function"||typeof e.drawElements=="function"}function Kqe(){var e=document.createElement("canvas");return e.style.position="absolute",e.style.top=0,e.style.left=0,e}});var eOe=ye((_yr,Qqe)=>{"use strict";var DBt=tK(),RBt=[32,126];Qqe.exports=zBt;function zBt(e){e=e||{};var t=e.shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],r=e.canvas||document.createElement("canvas"),n=e.font,i=typeof e.step=="number"?[e.step,e.step]:e.step||[32,32],a=e.chars||RBt;if(n&&typeof n!="string"&&(n=DBt(n)),!Array.isArray(a))a=String(a).split("");else if(a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"){for(var o=[],s=a[0],l=0;s<=a[1];s++)o[l++]=String.fromCharCode(s);a=o}t=t.slice(),r.width=t[0],r.height=t[1];var u=r.getContext("2d");u.fillStyle="#000",u.fillRect(0,0,r.width,r.height),u.font=n,u.textAlign="center",u.textBaseline="middle",u.fillStyle="#fff";for(var c=i[0]/2,f=i[1]/2,s=0;st[0]-i[0]/2&&(c=i[0]/2,f+=i[1]);return r}});var oK=ye(Mh=>{"use strict";"use restrict";var aK=32;Mh.INT_BITS=aK;Mh.INT_MAX=2147483647;Mh.INT_MIN=-1<0)-(e<0)};Mh.abs=function(e){var t=e>>aK-1;return(e^t)-t};Mh.min=function(e,t){return t^(e^t)&-(e65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,t|=r,t|e>>1};Mh.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0};Mh.popCount=function(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24};function tOe(e){var t=32;return e&=-e,e&&t--,e&65535&&(t-=16),e&16711935&&(t-=8),e&252645135&&(t-=4),e&858993459&&(t-=2),e&1431655765&&(t-=1),t}Mh.countTrailingZeros=tOe;Mh.nextPow2=function(e){return e+=e===0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1};Mh.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e-(e>>>1)};Mh.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,e&=15,27030>>>e&1};var qk=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=r&1,--i;e[t]=n<>>8&255]<<16|qk[e>>>16&255]<<8|qk[e>>>24&255]};Mh.interleave2=function(e,t){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t&=65535,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1};Mh.deinterleave2=function(e,t){return e=e>>>t&1431655765,e=(e|e>>>1)&858993459,e=(e|e>>>2)&252645135,e=(e|e>>>4)&16711935,e=(e|e>>>16)&65535,e<<16>>16};Mh.interleave3=function(e,t,r){return e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,t&=1023,t=(t|t<<16)&4278190335,t=(t|t<<8)&251719695,t=(t|t<<4)&3272356035,t=(t|t<<2)&1227133513,e|=t<<1,r&=1023,r=(r|r<<16)&4278190335,r=(r|r<<8)&251719695,r=(r|r<<4)&3272356035,r=(r|r<<2)&1227133513,e|r<<2};Mh.deinterleave3=function(e,t){return e=e>>>t&1227133513,e=(e|e>>>2)&3272356035,e=(e|e>>>4)&251719695,e=(e|e>>>8)&4278190335,e=(e|e>>>16)&1023,e<<22>>22};Mh.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>tOe(e)+1}});var nOe=ye((byr,iOe)=>{"use strict";function rOe(e,t,r){var n=e[r]|0;if(n<=0)return[];var i=new Array(n),a;if(r===e.length-1)for(a=0;a0)return FBt(e|0,t);break;case"object":if(typeof e.length=="number")return rOe(e,t,0);break}return[]}iOe.exports=qBt});var _Oe=ye(jl=>{"use strict";var yx=oK(),Mv=nOe(),aOe=y2().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:Mv([32,0]),UINT16:Mv([32,0]),UINT32:Mv([32,0]),BIGUINT64:Mv([32,0]),INT8:Mv([32,0]),INT16:Mv([32,0]),INT32:Mv([32,0]),BIGINT64:Mv([32,0]),FLOAT:Mv([32,0]),DOUBLE:Mv([32,0]),DATA:Mv([32,0]),UINT8C:Mv([32,0]),BUFFER:Mv([32,0])});var OBt=typeof Uint8ClampedArray!="undefined",BBt=typeof BigUint64Array!="undefined",NBt=typeof BigInt64Array!="undefined",Kh=window.__TYPEDARRAY_POOL;Kh.UINT8C||(Kh.UINT8C=Mv([32,0]));Kh.BIGUINT64||(Kh.BIGUINT64=Mv([32,0]));Kh.BIGINT64||(Kh.BIGINT64=Mv([32,0]));Kh.BUFFER||(Kh.BUFFER=Mv([32,0]));var EF=Kh.DATA,kF=Kh.BUFFER;jl.free=function(t){if(aOe.isBuffer(t))kF[yx.log2(t.length)].push(t);else{if(Object.prototype.toString.call(t)!=="[object ArrayBuffer]"&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=yx.log2(r)|0;EF[n].push(t)}};function oOe(e){if(e){var t=e.length||e.byteLength,r=yx.log2(t);EF[r].push(e)}}function UBt(e){oOe(e.buffer)}jl.freeUint8=jl.freeUint16=jl.freeUint32=jl.freeBigUint64=jl.freeInt8=jl.freeInt16=jl.freeInt32=jl.freeBigInt64=jl.freeFloat32=jl.freeFloat=jl.freeFloat64=jl.freeDouble=jl.freeUint8Clamped=jl.freeDataView=UBt;jl.freeArrayBuffer=oOe;jl.freeBuffer=function(t){kF[yx.log2(t.length)].push(t)};jl.malloc=function(t,r){if(r===void 0||r==="arraybuffer")return Vp(t);switch(r){case"uint8":return sK(t);case"uint16":return sOe(t);case"uint32":return lOe(t);case"int8":return uOe(t);case"int16":return cOe(t);case"int32":return fOe(t);case"float":case"float32":return hOe(t);case"double":case"float64":return dOe(t);case"uint8_clamped":return vOe(t);case"bigint64":return gOe(t);case"biguint64":return pOe(t);case"buffer":return yOe(t);case"data":case"dataview":return mOe(t);default:return null}return null};function Vp(t){var t=yx.nextPow2(t),r=yx.log2(t),n=EF[r];return n.length>0?n.pop():new ArrayBuffer(t)}jl.mallocArrayBuffer=Vp;function sK(e){return new Uint8Array(Vp(e),0,e)}jl.mallocUint8=sK;function sOe(e){return new Uint16Array(Vp(2*e),0,e)}jl.mallocUint16=sOe;function lOe(e){return new Uint32Array(Vp(4*e),0,e)}jl.mallocUint32=lOe;function uOe(e){return new Int8Array(Vp(e),0,e)}jl.mallocInt8=uOe;function cOe(e){return new Int16Array(Vp(2*e),0,e)}jl.mallocInt16=cOe;function fOe(e){return new Int32Array(Vp(4*e),0,e)}jl.mallocInt32=fOe;function hOe(e){return new Float32Array(Vp(4*e),0,e)}jl.mallocFloat32=jl.mallocFloat=hOe;function dOe(e){return new Float64Array(Vp(8*e),0,e)}jl.mallocFloat64=jl.mallocDouble=dOe;function vOe(e){return OBt?new Uint8ClampedArray(Vp(e),0,e):sK(e)}jl.mallocUint8Clamped=vOe;function pOe(e){return BBt?new BigUint64Array(Vp(8*e),0,e):null}jl.mallocBigUint64=pOe;function gOe(e){return NBt?new BigInt64Array(Vp(8*e),0,e):null}jl.mallocBigInt64=gOe;function mOe(e){return new DataView(Vp(e),0,e)}jl.mallocDataView=mOe;function yOe(e){e=yx.nextPow2(e);var t=yx.log2(e),r=kF[t];return r.length>0?r.pop():new aOe(e)}jl.mallocBuffer=yOe;jl.clearCache=function(){for(var t=0;t<32;++t)Kh.UINT8[t].length=0,Kh.UINT16[t].length=0,Kh.UINT32[t].length=0,Kh.INT8[t].length=0,Kh.INT16[t].length=0,Kh.INT32[t].length=0,Kh.FLOAT[t].length=0,Kh.DOUBLE[t].length=0,Kh.BIGUINT64[t].length=0,Kh.BIGINT64[t].length=0,Kh.UINT8C[t].length=0,EF[t].length=0,kF[t].length=0}});var bOe=ye((Tyr,xOe)=>{"use strict";var VBt=Object.prototype.toString;xOe.exports=function(e){var t;return VBt.call(e)==="[object Object]"&&(t=Object.getPrototypeOf(e),t===null||t===Object.getPrototypeOf({}))}});var lK=ye((Ayr,wOe)=>{wOe.exports=function(t,r){r||(r=[0,""]),t=String(t);var n=parseFloat(t,10);return r[0]=n,r[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",r}});var SOe=ye((Syr,AOe)=>{"use strict";var HBt=lK();AOe.exports=TOe;var Ok=96;function uK(e,t){var r=HBt(getComputedStyle(e).getPropertyValue(t));return r[0]*TOe(r[1],e)}function GBt(e,t){var r=document.createElement("div");r.style["font-size"]="128"+e,t.appendChild(r);var n=uK(r,"font-size")/128;return t.removeChild(r),n}function TOe(e,t){switch(t=t||document.body,e=(e||"px").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case"%":return t.clientHeight/100;case"ch":case"ex":return GBt(e,t);case"em":return uK(t,"font-size");case"rem":return uK(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return Ok;case"cm":return Ok/2.54;case"mm":return Ok/25.4;case"pt":return Ok/72;case"pc":return Ok/6}return 1}});var kOe=ye((Myr,EOe)=>{"use strict";EOe.exports=PF;var jBt=PF.canvas=document.createElement("canvas"),CF=jBt.getContext("2d"),MOe=LF([32,126]);PF.createPairs=LF;PF.ascii=MOe;function PF(e,t){Array.isArray(e)&&(e=e.join(", "));var r={},n,i=16,a=.05;t&&(t.length===2&&typeof t[0]=="number"?n=LF(t):Array.isArray(t)?n=t:(t.o?n=LF(t.o):t.pairs&&(n=t.pairs),t.fontSize&&(i=t.fontSize),t.threshold!=null&&(a=t.threshold))),n||(n=MOe),CF.font=i+"px "+e;for(var o=0;oi*a){var c=(u-l)/i;r[s]=c*1e3}}return r}function LF(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),i=e[0];i{"use strict";POe.exports=_x;_x.canvas=document.createElement("canvas");_x.cache={};function _x(o,t){t||(t={}),(typeof o=="string"||Array.isArray(o))&&(t.family=o);var r=Array.isArray(t.family)?t.family.join(", "):t.family;if(!r)throw Error("`family` must be defined");var n=t.size||t.fontSize||t.em||48,i=t.weight||t.fontWeight||"",a=t.style||t.fontStyle||"",o=[a,i,n].join(" ")+"px "+r,s=t.origin||"top";if(_x.cache[r]&&n<=_x.cache[r].em)return COe(_x.cache[r],s);var l=t.canvas||_x.canvas,u=l.getContext("2d"),c={upper:t.upper!==void 0?t.upper:"H",lower:t.lower!==void 0?t.lower:"x",descent:t.descent!==void 0?t.descent:"p",ascent:t.ascent!==void 0?t.ascent:"h",tittle:t.tittle!==void 0?t.tittle:"i",overshoot:t.overshoot!==void 0?t.overshoot:"O"},f=Math.ceil(n*1.5);l.height=f,l.width=f*.5,u.font=o;var h="H",v={top:0};u.clearRect(0,0,f,f),u.textBaseline="top",u.fillStyle="black",u.fillText(h,0,0);var d=Jm(u.getImageData(0,0,f,f));u.clearRect(0,0,f,f),u.textBaseline="bottom",u.fillText(h,0,f);var _=Jm(u.getImageData(0,0,f,f));v.lineHeight=v.bottom=f-_+d,u.clearRect(0,0,f,f),u.textBaseline="alphabetic",u.fillText(h,0,f);var b=Jm(u.getImageData(0,0,f,f)),p=f-b-1+d;v.baseline=v.alphabetic=p,u.clearRect(0,0,f,f),u.textBaseline="middle",u.fillText(h,0,f*.5);var E=Jm(u.getImageData(0,0,f,f));v.median=v.middle=f-E-1+d-f*.5,u.clearRect(0,0,f,f),u.textBaseline="hanging",u.fillText(h,0,f*.5);var k=Jm(u.getImageData(0,0,f,f));v.hanging=f-k-1+d-f*.5,u.clearRect(0,0,f,f),u.textBaseline="ideographic",u.fillText(h,0,f);var S=Jm(u.getImageData(0,0,f,f));if(v.ideographic=f-S-1+d,c.upper&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.upper,0,0),v.upper=Jm(u.getImageData(0,0,f,f)),v.capHeight=v.baseline-v.upper),c.lower&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.lower,0,0),v.lower=Jm(u.getImageData(0,0,f,f)),v.xHeight=v.baseline-v.lower),c.tittle&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.tittle,0,0),v.tittle=Jm(u.getImageData(0,0,f,f))),c.ascent&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.ascent,0,0),v.ascent=Jm(u.getImageData(0,0,f,f))),c.descent&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.descent,0,0),v.descent=LOe(u.getImageData(0,0,f,f))),c.overshoot){u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.overshoot,0,0);var L=LOe(u.getImageData(0,0,f,f));v.overshoot=L-p}for(var x in v)v[x]/=n;return v.em=n,_x.cache[r]=v,COe(v,s)}function COe(e,t){var r={};typeof t=="string"&&(t=e[t]);for(var n in e)n!=="em"&&(r[n]=e[n]-t);return r}function Jm(e){for(var t=e.height,r=e.data,n=3;n0;n-=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}});var FOe=ye((kyr,zOe)=>{"use strict";var wA=Zqe(),WBt=Ym(),ZBt=nK(),XBt=$qe(),YBt=UY(),cK=ax(),KBt=eOe(),xx=_Oe(),JBt=cA(),$Bt=bOe(),QBt=lK(),eNt=SOe(),tNt=kOe(),rNt=Ah(),iNt=IOe(),nNt=rw(),aNt=oK(),DOe=aNt.nextPow2,ROe=new YBt,DF=!1;document.body&&(IF=document.body.appendChild(document.createElement("div")),IF.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(IF).fontStretch&&(DF=!0),document.body.removeChild(IF));var IF,Gu=function(t){oNt(t)?(t={regl:t},this.gl=t.regl._gl):this.gl=XBt(t),this.shader=ROe.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||ZBt({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),ROe.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update($Bt(t)?t:{})};Gu.prototype.createShader=function(){var t=this.regl,r=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(i,a){return[a.atlas.width,a.atlas.height]},atlasDim:function(i,a){return[a.atlas.cols,a.atlas.rows]},atlas:function(i,a){return a.atlas.texture},charStep:function(i,a){return a.atlas.step},em:function(i,a){return a.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:` + precision highp float; + attribute float width, charOffset, char; + attribute vec2 position; + uniform float fontSize, charStep, em, align, baseline; + uniform vec4 viewport; + uniform vec4 color; + uniform vec2 atlasSize, atlasDim, scale, translate, positionOffset; + varying vec2 charCoord, charId; + varying float charWidth; + varying vec4 fontColor; + void main () { + vec2 offset = floor(em * (vec2(align + charOffset, baseline) + + vec2(positionOffset.x, -positionOffset.y))) + / (viewport.zw * scale.xy); + + vec2 position = (position + translate) * scale; + position += offset * scale; + + charCoord = position * viewport.zw + viewport.xy; + + gl_Position = vec4(position * 2. - 1., 0, 1); + + gl_PointSize = charStep; + + charId.x = mod(char, atlasDim.x); + charId.y = floor(char / atlasDim.x); + + charWidth = width * em; + + fontColor = color / 255.; + }`,frag:` + precision highp float; + uniform float fontSize, charStep, opacity; + uniform vec2 atlasSize; + uniform vec4 viewport; + uniform sampler2D atlas; + varying vec4 fontColor; + varying vec2 charCoord, charId; + varying float charWidth; + + float lightness(vec4 color) { + return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; + } + + void main () { + vec2 uv = gl_FragCoord.xy - charCoord + charStep * .5; + float halfCharStep = floor(charStep * .5 + .5); + + // invert y and shift by 1px (FF expecially needs that) + uv.y = charStep - uv.y; + + // ignore points outside of character bounding box + float halfCharWidth = ceil(charWidth * .5); + if (floor(uv.x) > halfCharStep + halfCharWidth || + floor(uv.x) < halfCharStep - halfCharWidth) return; + + uv += charId * charStep; + uv = uv / atlasSize; + + vec4 color = fontColor; + vec4 mask = texture2D(atlas, uv); + + float maskY = lightness(mask); + // float colorY = lightness(color); + color.a *= maskY; + color.a *= opacity; + + // color.a += .1; + + // antialiasing, see yiq color space y-channel formula + // color.rgb += (1. - color.rgb) * (1. - mask.rgb); + + gl_FragColor = color; + }`}),n={};return{regl:t,draw:r,atlas:n}};Gu.prototype.update=function(t){var r=this;if(typeof t=="string")t={text:t};else if(!t)return;t=WBt(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0),t.opacity!=null&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(ke){return parseFloat(ke)}):this.opacity=parseFloat(t.opacity)),t.viewport!=null&&(this.viewport=JBt(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),this.viewport==null&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),t.kerning!=null&&(this.kerning=t.kerning),t.offset!=null&&(typeof t.offset=="number"&&(t.offset=[t.offset,0]),this.positionOffset=nNt(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),!this.font.length&&!t.font&&(t.font=Gu.baseFontSize+"px sans-serif");var n=!1,i=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(ke,ge){if(typeof ke=="string")try{ke=wA.parse(ke)}catch(Ge){ke=wA.parse(Gu.baseFontSize+"px "+ke)}else{var ie=ke.style,Te=ke.weight,Ee=ke.stretch,Ae=ke.variant;ke=wA.parse(wA.stringify(ke)),ie&&(ke.style=ie),Te&&(ke.weight=Te),Ee&&(ke.stretch=Ee),Ae&&(ke.variant=Ae)}var ze=wA.stringify({size:Gu.baseFontSize,family:ke.family,stretch:DF?ke.stretch:void 0,variant:ke.variant,weight:ke.weight,style:ke.style}),Ce=QBt(ke.size),me=Math.round(Ce[0]*eNt(Ce[1]));if(me!==r.fontSize[ge]&&(i=!0,r.fontSize[ge]=me),(!r.font[ge]||ze!=r.font[ge].baseString)&&(n=!0,r.font[ge]=Gu.fonts[ze],!r.font[ge])){var De=ke.family.join(", "),ce=[ke.style];ke.style!=ke.variant&&ce.push(ke.variant),ke.variant!=ke.weight&&ce.push(ke.weight),DF&&ke.weight!=ke.stretch&&ce.push(ke.stretch),r.font[ge]={baseString:ze,family:De,weight:ke.weight,stretch:ke.stretch,style:ke.style,variant:ke.variant,width:{},kerning:{},metrics:iNt(De,{origin:"top",fontSize:Gu.baseFontSize,fontStyle:ce.join(" ")})},Gu.fonts[ze]=r.font[ge]}}),(n||i)&&this.font.forEach(function(ke,ge){var ie=wA.stringify({size:r.fontSize[ge],family:ke.family,stretch:DF?ke.stretch:void 0,variant:ke.variant,weight:ke.weight,style:ke.style});if(r.fontAtlas[ge]=r.shader.atlas[ie],!r.fontAtlas[ge]){var Te=ke.metrics;r.shader.atlas[ie]=r.fontAtlas[ge]={fontString:ie,step:Math.ceil(r.fontSize[ge]*Te.bottom*.5)*2,em:r.fontSize[ge],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:r.regl.texture()}}t.text==null&&(t.text=r.text)}),typeof t.text=="string"&&t.position&&t.position.length>2){for(var a=Array(t.position.length*.5),o=0;o2){for(var u=!t.position[0].length,c=xx.mallocFloat(this.count*2),f=0,h=0;f1?r.align[ge]:r.align[0]:r.align;if(typeof ie=="number")return ie;switch(ie){case"right":case"end":return-ke;case"center":case"centre":case"middle":return-ke*.5}return 0})),this.baseline==null&&t.baseline==null&&(t.baseline=0),t.baseline!=null&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(ke,ge){var ie=(r.font[ge]||r.font[0]).metrics,Te=0;return Te+=ie.bottom*.5,typeof ke=="number"?Te+=ke-ie.baseline:Te+=-ie[ke],Te*=-1,Te})),t.color!=null)if(t.color||(t.color="transparent"),typeof t.color=="string"||!isNaN(t.color))this.color=cK(t.color,"uint8");else{var H;if(typeof t.color[0]=="number"&&t.color.length>this.counts.length){var X=t.color.length;H=xx.mallocUint8(X);for(var G=(t.color.subarray||t.color.slice).bind(t.color),N=0;N4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(ae){var _e=Math.max(this.position.length*.5||0,this.color.length*.25||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,this.positionOffset.length*.5||0);this.batch=Array(_e);for(var Me=0;Me1?this.counts[Me]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[Me]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(Me*4,Me*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[Me]:this.opacity,baseline:this.baselineOffset[Me]!=null?this.baselineOffset[Me]:this.baselineOffset[0],align:this.align?this.alignOffset[Me]!=null?this.alignOffset[Me]:this.alignOffset[0]:0,atlas:this.fontAtlas[Me]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(Me*2,Me*2+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]}};Gu.prototype.destroy=function(){};Gu.prototype.kerning=!0;Gu.prototype.position={constant:new Float32Array(2)};Gu.prototype.translate=null;Gu.prototype.scale=null;Gu.prototype.font=null;Gu.prototype.text="";Gu.prototype.positionOffset=[0,0];Gu.prototype.opacity=1;Gu.prototype.color=new Uint8Array([0,0,0,255]);Gu.prototype.alignOffset=[0,0];Gu.maxAtlasSize=1024;Gu.atlasCanvas=document.createElement("canvas");Gu.atlasContext=Gu.atlasCanvas.getContext("2d",{alpha:!1});Gu.baseFontSize=64;Gu.fonts={};function oNt(e){return typeof e=="function"&&e._gl&&e.prop&&e.texture&&e.buffer}zOe.exports=Gu});var RF=ye((Cyr,qOe)=>{"use strict";var sNt=LZ(),lNt=nK();qOe.exports=function(t,r,n){var i=t._fullLayout,a=!0;return i._glcanvas.each(function(o){if(o.regl){o.regl.preloadCachedCode(n);return}if(!(o.pick&&!i._has("parcoords"))){try{o.regl=lNt({canvas:this,attributes:{antialias:!o.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||window.devicePixelRatio,extensions:r||[],cachedCode:n||{}})}catch(s){a=!1}o.regl||(a=!1),a&&this.addEventListener("webglcontextlost",function(s){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:s,layer:o.key})},!1)}}),a||sNt({container:i._glcontainer.node()}),a}});var dK=ye((hK,VOe)=>{"use strict";var OOe=dY(),BOe=GY(),uNt=kqe(),NOe=FOe(),fK=Ar(),cNt=Eg().selectMode,fNt=RF(),hNt=lu(),dNt=MU(),vNt=uY().styleTextSelection,UOe={};function pNt(e,t,r,n){var i=e._size,a=e.width*n,o=e.height*n,s=i.l*n,l=i.b*n,u=i.r*n,c=i.t*n,f=i.w*n,h=i.h*n;return[s+t.domain[0]*f,l+r.domain[0]*h,a-u-(1-t.domain[1])*f,o-c-(1-r.domain[1])*h]}var hK=VOe.exports=function(t,r,n){if(n.length){var i=t._fullLayout,a=r._scene,o=r.xaxis,s=r.yaxis,l,u;if(a){var c=fNt(t,["ANGLE_instanced_arrays","OES_element_index_uint"],UOe);if(!c){a.init();return}var f=a.count,h=i._glcanvas.data()[0].regl;if(dNt(t,r,n),a.dirty){if((a.line2d||a.error2d)&&!(a.scatter2d||a.fill2d||a.glText)&&h.clear({}),a.error2d===!0&&(a.error2d=uNt(h)),a.line2d===!0&&(a.line2d=BOe(h)),a.scatter2d===!0&&(a.scatter2d=OOe(h)),a.fill2d===!0&&(a.fill2d=BOe(h)),a.glText===!0)for(a.glText=new Array(f),l=0;la.glText.length){var v=f-a.glText.length;for(l=0;lae&&(isNaN(re[_e])||isNaN(re[_e+1]));)_e-=2;W.positions=re.slice(ae,_e+2)}return W}),a.line2d.update(a.lineOptions)),a.error2d){var b=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(b)}a.scatter2d&&a.scatter2d.update(a.markerOptions),a.fillOrder=fK.repeat(null,f),a.fill2d&&(a.fillOptions=a.fillOptions.map(function(W,re){var ae=n[re];if(!(!W||!ae||!ae[0]||!ae[0].trace)){var _e=ae[0],Me=_e.trace,ke=_e.t,ge=a.lineOptions[re],ie,Te,Ee=[];Me._ownfill&&Ee.push(re),Me._nexttrace&&Ee.push(re+1),Ee.length&&(a.fillOrder[re]=Ee);var Ae=[],ze=ge&&ge.positions||ke.positions,Ce,me;if(Me.fill==="tozeroy"){for(Ce=0;CeCe&&isNaN(ze[me+1]);)me-=2;ze[Ce+1]!==0&&(Ae=[ze[Ce],0]),Ae=Ae.concat(ze.slice(Ce,me+2)),ze[me+1]!==0&&(Ae=Ae.concat([ze[me],0]))}else if(Me.fill==="tozerox"){for(Ce=0;CeCe&&isNaN(ze[me]);)me-=2;ze[Ce]!==0&&(Ae=[0,ze[Ce+1]]),Ae=Ae.concat(ze.slice(Ce,me+2)),ze[me]!==0&&(Ae=Ae.concat([0,ze[me+1]]))}else if(Me.fill==="toself"||Me.fill==="tonext"){for(Ae=[],ie=0,W.splitNull=!0,Te=0;Te-1;for(l=0;l{"use strict";var HOe=uFe();HOe.plot=dK();GOe.exports=HOe});var ZOe=ye((Pyr,WOe)=>{"use strict";WOe.exports=jOe()});var vK=ye((Iyr,JOe)=>{"use strict";var gNt=Uc(),KOe=Kl(),XOe=Oc().axisHoverFormat,mNt=Wo().hovertemplateAttrs,Bk=_k(),yNt=sd().idRegex,_Nt=Vs().templatedArray,TA=no().extendFlat,u1=gNt.marker,xNt=u1.line,bNt=TA(KOe("marker.line",{editTypeOverride:"calc"}),{width:TA({},xNt.width,{editType:"calc"}),editType:"calc"}),zF=TA(KOe("marker"),{symbol:u1.symbol,angle:u1.angle,size:TA({},u1.size,{editType:"markerSize"}),sizeref:u1.sizeref,sizemin:u1.sizemin,sizemode:u1.sizemode,opacity:u1.opacity,colorbar:u1.colorbar,line:bNt,editType:"calc"});zF.color.editType=zF.cmin.editType=zF.cmax.editType="style";function YOe(e){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:yNt[e],editType:"plot"}}}JOe.exports={dimensions:_Nt("dimension",{visible:{valType:"boolean",dflt:!0,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},axis:{type:{valType:"enumerated",values:["linear","log","date","category"],editType:"calc+clearAxisTypes"},matches:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"}),text:TA({},Bk.text,{}),hovertext:TA({},Bk.hovertext,{}),hovertemplate:mNt(),xhoverformat:XOe("x"),yhoverformat:XOe("y"),marker:zF,xaxes:YOe("x"),yaxes:YOe("y"),diagonal:{visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:!0,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:!0,editType:"calc"},selected:{marker:Bk.selected.marker,editType:"calc"},unselected:{marker:Bk.unselected.marker,editType:"calc"},opacity:Bk.opacity}});var FF=ye((Dyr,$Oe)=>{"use strict";$Oe.exports=function(e,t,r,n){n||(n=1/0);var i,a;for(i=0;i{"use strict";var pK=Ar(),wNt=Xd(),QOe=vK(),TNt=lu(),ANt=t0(),SNt=FF(),MNt=Kz().isOpenSymbol;eBe.exports=function(t,r,n,i){function a(v,d){return pK.coerce(t,r,QOe,v,d)}var o=wNt(t,r,{name:"dimensions",handleItemDefaults:ENt}),s=a("diagonal.visible"),l=a("showupperhalf"),u=a("showlowerhalf"),c=SNt(r,o,"values");if(!c||!s&&!l&&!u){r.visible=!1;return}a("text"),a("hovertext"),a("hovertemplate"),a("xhoverformat"),a("yhoverformat"),ANt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0});var f=MNt(r.marker.symbol),h=TNt.isBubble(r);a("marker.line.width",f||h?1:0),kNt(t,r,i,a),pK.coerceSelectionMarkerOpacity(r,a)};function ENt(e,t){function r(i,a){return pK.coerce(e,t,QOe.dimensions,i,a)}r("label");var n=r("values");n&&n.length?r("visible"):t.visible=!1,r("axis.type"),r("axis.matches")}function kNt(e,t,r,n){var i=t.dimensions,a=i.length,o=t.showupperhalf,s=t.showlowerhalf,l=t.diagonal.visible,u,c,f=new Array(a),h=new Array(a);for(u=0;uc&&o||u{"use strict";var rBe=Ar();iBe.exports=function(t,r){var n=t._fullLayout,i=r.uid,a=n._splomScenes;a||(a=n._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s={matrix:!1,selectBatch:[],unselectBatch:[]},l=a[r.uid];return l||(l=a[i]=rBe.extendFlat({},o,s),l.draw=function(){l.matrix&&l.matrix.draw&&(l.selectBatch.length||l.unselectBatch.length?l.matrix.draw(l.unselectBatch,l.selectBatch):l.matrix.draw()),l.dirty=!1},l.destroy=function(){l.matrix&&l.matrix.destroy&&l.matrix.destroy(),l.matrixOptions=null,l.selectBatch=null,l.unselectBatch=null,l=null}),l.dirty||rBe.extendFlat(l,o),l}});var sBe=ye((Fyr,oBe)=>{"use strict";var gK=Ar(),qF=af(),CNt=U0().calcMarkerSize,LNt=U0().calcAxisExpansion,PNt=B0(),aBe=aw().markerSelection,INt=aw().markerStyle,DNt=nBe(),RNt=Yo().BADNUM,zNt=vx().TOO_MANY_POINTS;oBe.exports=function(t,r){var n=r.dimensions,i=r._length,a={},o=a.cdata=[],s=a.data=[],l=r._visibleDims=[],u,c,f,h,v;function d(k,S){for(var L=k.makeCalcdata({v:S.values,vcalendar:r.calendar},"v"),x=0;xzNt,p;for(b?p=a.sizeAvg||Math.max(a.size,3):p=CNt(r,i),c=0;c{(function(){var e,t,r,n,i,a;typeof performance!="undefined"&&performance!==null&&performance.now?Nk.exports=function(){return performance.now()}:typeof process!="undefined"&&process!==null&&process.hrtime?(Nk.exports=function(){return(e()-i)/1e6},t=process.hrtime,e=function(){var o;return o=t(),o[0]*1e9+o[1]},n=e(),a=process.uptime()*1e9,i=n-a):Date.now?(Nk.exports=function(){return Date.now()-r},r=Date.now()):(Nk.exports=function(){return new Date().getTime()-r},r=new Date().getTime())}).call(lBe)});var fBe=ye((qyr,NF)=>{var FNt=uBe(),c1=window,OF=["moz","webkit"],SA="AnimationFrame",MA=c1["request"+SA],Uk=c1["cancel"+SA]||c1["cancelRequest"+SA];for(AA=0;!MA&&AA{hBe.exports=function(t,r){var n=typeof t=="number",i=typeof r=="number";n&&!i?(r=t,t=0):!n&&!i&&(t=0,r=0),t=t|0,r=r|0;var a=r-t;if(a<0)throw new Error("array length must be positive");for(var o=new Array(a),s=0,l=t;s{"use strict";var qNt=dY(),ONt=Ym(),BNt=tw(),vBe=fBe(),NNt=dBe(),yK=cA(),UNt=rw();gBe.exports=wx;function wx(e,t){if(!(this instanceof wx))return new wx(e,t);this.traces=[],this.passes={},this.regl=e,this.scatter=qNt(e),this.canvas=this.scatter.canvas}wx.prototype.render=function(...e){return e.length&&this.update(...e),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?this.planned==null&&(this.planned=vBe(()=>{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,vBe(()=>{this.dirty=!1})),this)};wx.prototype.update=function(...e){if(!e.length)return;for(let n=0;nb||!i.lower&&_{t[a+s]=n})}this.scatter.draw(...t)}return this};wx.prototype.destroy=function(){return this.traces.forEach(e=>{e.buffer&&e.buffer.destroy&&e.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this};function VNt(e,t,r){let n=e.id!=null?e.id:e,i=t,a=r;return n<<16|(i&255)<<8|a&255}function UF(e,t,r){let n,i,a,o,s,l,u,c,f=e[t],h=e[r];return f.length>2?(n=f[0],a=f[2],i=f[1],o=f[3]):f.length?(n=i=f[0],a=o=f[1]):(n=f.x,i=f.y,a=f.x+f.width,o=f.y+f.height),h.length>2?(s=h[0],u=h[2],l=h[1],c=h[3]):h.length?(s=l=h[0],u=c=h[1]):(s=h.x,l=h.y,u=h.x+h.width,c=h.y+h.height),[s,i,u,o]}function pBe(e){if(typeof e=="number")return[e,e,e,e];if(e.length===2)return[e[0],e[1],e[0],e[1]];{let t=yK(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}}});var _Be=ye((Nyr,yBe)=>{"use strict";var HNt=mBe(),_K=Ar(),VF=af(),GNt=Eg().selectMode;yBe.exports=function(t,r,n){if(n.length)for(var i=0;i-1,T=GNt(c)||!!i.selectedpoints||P,F=!0;if(T){var q=i._length;if(i.selectedpoints){o.selectBatch=i.selectedpoints;var V=i.selectedpoints,H={};for(v=0;v{"use strict";xBe.getDimIndex=function(t,r){for(var n=r._id,i=n.charAt(0),a={x:0,y:1}[i],o=t._visibleDims,s=0;s{"use strict";var bBe=xK(),WNt=Yz().calcHover,wBe=Xa().getFromId,ZNt=no().extendFlat;function XNt(e,t,r,n,i){i||(i={});var a=(n||"").charAt(0)==="x",o=(n||"").charAt(0)==="y",s=TBe(e,t,r);if((a||o)&&i.hoversubplots==="axis"&&s[0])for(var l=(a?e.xa:e.ya)._subplotsWith,u=i.gd,c=ZNt({},e),f=0;f{"use strict";var CBe=Ar(),MBe=CBe.pushUnique,EBe=lu(),kBe=xK();LBe.exports=function(t,r){var n=t.cd,i=n[0].trace,a=n[0].t,o=t.scene,s=o.matrixOptions.cdata,l=t.xaxis,u=t.yaxis,c=[];if(!o)return c;var f=!EBe.hasMarkers(i)&&!EBe.hasText(i);if(i.visible!==!0||f)return c;var h=kBe.getDimIndex(i,l),v=kBe.getDimIndex(i,u);if(h===!1||v===!1)return c;var d=a.xpx[h],_=a.ypx[v],b=s[h],p=s[v],E=(t.scene.selectBatch||[]).slice(),k=[];if(r!==!1&&!r.degenerate)for(var S=0;S{"use strict";var IBe=Ar(),YNt=B0(),KNt=aw().markerStyle;DBe.exports=function(t,r){var n=r.trace,i=t._fullLayout._splomScenes[n.uid];if(i){YNt(t,n),IBe.extendFlat(i.matrixOptions,KNt(t,n));var a=IBe.extendFlat({},i.matrixOptions,i.viewOpts);i.matrix.update(a,null)}}});var FBe=ye((jyr,zBe)=>{"use strict";var JNt=ya(),$Nt=yV();zBe.exports={moduleType:"trace",name:"splom",categories:["gl","regl","cartesian","symbols","showLegend","scatter-like"],attributes:vK(),supplyDefaults:tBe(),colorbar:Jd(),calc:sBe(),plot:_Be(),hoverPoints:SBe().hoverPoints,selectPoints:PBe(),editStyle:RBe(),meta:{}};JNt.register($Nt)});var VBe=ye((Wyr,UBe)=>{"use strict";var QNt=GY(),eUt=ya(),tUt=RF(),rUt=Cd().getModuleCalcData,Tx=Qf(),qBe=af().getFromId,OBe=Xa().shouldShowZeroLine,BBe="splom",NBe={};function iUt(e){var t=e._fullLayout,r=eUt.getModule(BBe),n=rUt(e.calcdata,r)[0],i=tUt(e,["ANGLE_instanced_arrays","OES_element_index_uint"],NBe);i&&(t._hasOnlyLargeSploms&&bK(e),r.plot(e,{},n))}function nUt(e){var t=e.calcdata,r=e._fullLayout;r._hasOnlyLargeSploms&&bK(e);for(var n=0;n{"use strict";var HBe=FBe();HBe.basePlotModule=VBe(),GBe.exports=HBe});var ZBe=ye((Xyr,WBe)=>{"use strict";WBe.exports=jBe()});var AK=ye((Yyr,XBe)=>{"use strict";var lUt=Kl(),wK=Ld(),TK=Su(),uUt=Ju().attributes,HF=no().extendFlat,cUt=Vs().templatedArray;XBe.exports={domain:uUt({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:TK({editType:"plot"}),tickfont:TK({autoShadowDflt:!0,editType:"plot"}),rangefont:TK({editType:"plot"}),dimensions:cUt("dimension",{label:{valType:"string",editType:"plot"},tickvals:HF({},wK.tickvals,{editType:"plot"}),ticktext:HF({},wK.ticktext,{editType:"plot"}),tickformat:HF({},wK.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:HF({editType:"calc"},lUt("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}});var Vk=ye((Kyr,YBe)=>{"use strict";YBe.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:["contextLineLayer","focusLineLayer","pickLineLayer"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:"magenta",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:"axis-extent-text",parcoordsLineLayers:"parcoords-line-layers",parcoordsLineLayer:"parcoords-lines",parcoords:"parcoords",parcoordsControlView:"parcoords-control-view",yAxis:"y-axis",axisOverlays:"axis-overlays",axis:"axis",axisHeading:"axis-heading",axisTitle:"axis-title",axisExtent:"axis-extent",axisExtentTop:"axis-extent-top",axisExtentTopText:"axis-extent-top-text",axisExtentBottom:"axis-extent-bottom",axisExtentBottomText:"axis-extent-bottom-text",axisBrush:"axis-brush"},id:{filterBarPattern:"filter-bar-pattern"}}});var $m=ye((Jyr,JBe)=>{"use strict";var fUt=KS();function KBe(e){return[e]}JBe.exports={keyFun:function(e){return e.key},repeat:KBe,descend:fUt,wrap:KBe,unwrap:function(e){return e[0]}}});var EK=ye(($yr,lNe)=>{"use strict";var ih=Vk(),rm=ba(),hUt=$m().keyFun,GF=$m().repeat,EA=Ar().sorterAsc,dUt=Ar().strTranslate,$Be=ih.bar.snapRatio;function QBe(e,t){return e*(1-$Be)+t*$Be}var eNe=ih.bar.snapClose;function vUt(e,t){return e*(1-eNe)+t*eNe}function WF(e,t,r,n){if(pUt(r,n))return r;var i=e?-1:1,a=0,o=t.length-1;if(i<0){var s=a;a=o,o=s}for(var l=t[a],u=l,c=a;i*c=t[r][0]&&e<=t[r][1])return!0;return!1}function gUt(e){e.attr("x",-ih.bar.captureWidth/2).attr("width",ih.bar.captureWidth)}function mUt(e){e.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function yUt(e){if(!e.brush.filterSpecified)return"0,"+e.height;for(var t=tNe(e.brush.filter.getConsolidated(),e.height),r=[0],n,i,a,o=t.length?t[0][0]:null,s=0;se[1]+r||t=.9*e[1]+.1*e[0]?"n":t<=.9*e[0]+.1*e[1]?"s":"ns"}function rNe(){rm.select(document.body).style("cursor",null)}function MK(e){e.attr("stroke-dasharray",yUt)}function jF(e,t){var r=rm.select(e).selectAll(".highlight, .highlight-shadow"),n=t?r.transition().duration(ih.bar.snapDuration).each("end",t):r;MK(n)}function iNe(e,t){var r=e.brush,n=r.filterSpecified,i=NaN,a={},o;if(n){var s=e.height,l=r.filter.getConsolidated(),u=tNe(l,s),c=NaN,f=NaN,h=NaN;for(o=0;o<=u.length;o++){var v=u[o];if(v&&v[0]<=t&&t<=v[1]){c=o;break}else if(f=o?o-1:NaN,v&&v[0]>t){h=o;break}}if(i=c,isNaN(i)&&(isNaN(f)||isNaN(h)?i=isNaN(f)?h:f:i=t-u[f][1]=E[0]&&p<=E[1]){a.clickableOrdinalRange=E;break}}}return a}function xUt(e,t){rm.event.sourceEvent.stopPropagation();var r=t.height-rm.mouse(e)[1]-2*ih.verticalPadding,n=t.unitToPaddedPx.invert(r),i=t.brush,a=iNe(t,r),o=a.interval,s=i.svgBrush;if(s.wasDragged=!1,s.grabbingBar=a.region==="ns",s.grabbingBar){var l=o.map(t.unitToPaddedPx);s.grabPoint=r-l[0]-ih.verticalPadding,s.barLength=l[1]-l[0]}s.clickableOrdinalRange=a.clickableOrdinalRange,s.stayingIntervals=t.multiselect&&i.filterSpecified?i.filter.getConsolidated():[],o&&(s.stayingIntervals=s.stayingIntervals.filter(function(u){return u[0]!==o[0]&&u[1]!==o[1]})),s.startExtent=a.region?o[a.region==="s"?1:0]:n,t.parent.inBrushDrag=!0,s.brushStartCallback()}function nNe(e,t){rm.event.sourceEvent.stopPropagation();var r=t.height-rm.mouse(e)[1]-2*ih.verticalPadding,n=t.brush.svgBrush;n.wasDragged=!0,n._dragging=!0,n.grabbingBar?n.newExtent=[r-n.grabPoint,r+n.barLength-n.grabPoint].map(t.unitToPaddedPx.invert):n.newExtent=[n.startExtent,t.unitToPaddedPx.invert(r)].sort(EA),t.brush.filterSpecified=!0,n.extent=n.stayingIntervals.concat([n.newExtent]),n.brushCallback(t),jF(e.parentNode)}function bUt(e,t){var r=t.brush,n=r.filter,i=r.svgBrush;i._dragging||(aNe(e,t),nNe(e,t),t.brush.svgBrush.wasDragged=!1),i._dragging=!1;var a=rm.event;a.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,t.parent.inBrushDrag=!1,rNe(),!i.wasDragged){i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&t.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,i.extent.length===0&&SK(r)):SK(r),i.brushCallback(t),jF(e.parentNode),i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);return}var s=function(){n.set(n.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]i.newExtent[0];i.extent=i.stayingIntervals.concat(u?[i.newExtent]:[]),i.extent.length||SK(r),i.brushCallback(t),u?jF(e.parentNode,s):(s(),jF(e.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}function aNe(e,t){var r=t.height-rm.mouse(e)[1]-2*ih.verticalPadding,n=iNe(t,r),i="crosshair";n.clickableOrdinalRange?i="pointer":n.region&&(i=n.region+"-resize"),rm.select(document.body).style("cursor",i)}function wUt(e){e.on("mousemove",function(t){rm.event.preventDefault(),t.parent.inBrushDrag||aNe(this,t)}).on("mouseleave",function(t){t.parent.inBrushDrag||rNe()}).call(rm.behavior.drag().on("dragstart",function(t){xUt(this,t)}).on("drag",function(t){nNe(this,t)}).on("dragend",function(t){bUt(this,t)}))}function oNe(e,t){return e[0]-t[0]}function TUt(e,t,r){var n=r._context.staticPlot,i=e.selectAll(".background").data(GF);i.enter().append("rect").classed("background",!0).call(gUt).call(mUt).style("pointer-events",n?"none":"auto").attr("transform",dUt(0,ih.verticalPadding)),i.call(wUt).attr("height",function(s){return s.height-ih.verticalPadding});var a=e.selectAll(".highlight-shadow").data(GF);a.enter().append("line").classed("highlight-shadow",!0).attr("x",-ih.bar.width/2).attr("stroke-width",ih.bar.width+ih.bar.strokeWidth).attr("stroke",t).attr("opacity",ih.bar.strokeOpacity).attr("stroke-linecap","butt"),a.attr("y1",function(s){return s.height}).call(MK);var o=e.selectAll(".highlight").data(GF);o.enter().append("line").classed("highlight",!0).attr("x",-ih.bar.width/2).attr("stroke-width",ih.bar.width-ih.bar.strokeWidth).attr("stroke",ih.bar.fillColor).attr("opacity",ih.bar.fillOpacity).attr("stroke-linecap","butt"),o.attr("y1",function(s){return s.height}).call(MK)}function AUt(e,t,r){var n=e.selectAll("."+ih.cn.axisBrush).data(GF,hUt);n.enter().append("g").classed(ih.cn.axisBrush,!0),TUt(n,t,r)}function SUt(e){return e.svgBrush.extent.map(function(t){return t.slice()})}function SK(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function MUt(e){return function(r){var n=r.brush,i=SUt(n),a=i.slice();n.filter.set(a),e()}}function sNe(e){for(var t=e.slice(),r=[],n,i=t.shift();i;){for(n=i.slice();(i=t.shift())&&i[0]<=n[1];)n[1]=Math.max(n[1],i[1]);r.push(n)}return r.length===1&&r[0][0]>r[0][1]&&(r=[]),r}function EUt(){var e=[],t,r;return{set:function(n){e=n.map(function(i){return i.slice().sort(EA)}).sort(oNe),e.length===1&&e[0][0]===-1/0&&e[0][1]===1/0&&(e=[[0,-1]]),t=sNe(e),r=e.reduce(function(i,a){return[Math.min(i[0],a[0]),Math.max(i[1],a[1])]},[1/0,-1/0])},get:function(){return e.slice()},getConsolidated:function(){return t},getBounds:function(){return r}}}function kUt(e,t,r,n,i,a){var o=EUt();return o.set(r),{filter:o,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:MUt(i),brushEndCallback:a}}}function CUt(e,t){if(Array.isArray(e[0])?(e=e.map(function(n){return n.sort(EA)}),t.multiselect?e=sNe(e.sort(oNe)):e=[e[0]]):e=[e.sort(EA)],t.tickvals){var r=t.tickvals.slice().sort(EA);if(e=e.map(function(n){var i=[WF(0,r,n[0],[]),WF(1,r,n[1],[])];if(i[1]>i[0])return i}).filter(function(n){return n}),!e.length)return}return e.length>1?e:e[0]}lNe.exports={makeBrush:kUt,ensureAxisBrush:AUt,cleanRanges:CUt}});var fNe=ye((Qyr,cNe)=>{"use strict";var Ax=Ar(),LUt=Fv().hasColorscale,PUt=Hh(),IUt=Ju().defaults,DUt=Xd(),RUt=Xa(),uNe=AK(),zUt=EK(),kK=Vk().maxDimensionCount,FUt=FF();function qUt(e,t,r,n,i){var a=i("line.color",r);if(LUt(e,"line")&&Ax.isArrayOrTypedArray(a)){if(a.length)return i("line.colorscale"),PUt(e,t,n,i,{prefix:"line.",cLetter:"c"}),a.length;t.line.color=r}return 1/0}function OUt(e,t,r,n){function i(u,c){return Ax.coerce(e,t,uNe.dimensions,u,c)}var a=i("values"),o=i("visible");if(a&&a.length||(o=t.visible=!1),o){i("label"),i("tickvals"),i("ticktext"),i("tickformat");var s=i("range");t._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:s},RUt.setConvert(t._ax,n.layout),i("multiselect");var l=i("constraintrange");l&&(t.constraintrange=zUt.cleanRanges(l,t))}}cNe.exports=function(t,r,n,i){function a(c,f){return Ax.coerce(t,r,uNe,c,f)}var o=t.dimensions;Array.isArray(o)&&o.length>kK&&(Ax.log("parcoords traces support up to "+kK+" dimensions at the moment"),o.splice(kK));var s=DUt(t,r,{name:"dimensions",layout:i,handleItemDefaults:OUt}),l=qUt(t,r,n,i,a);IUt(r,i,a),(!Array.isArray(s)||!s.length)&&(r.visible=!1),FUt(r,s,"values",l);var u=Ax.extendFlat({},i.font,{size:Math.round(i.font.size/1.2)});Ax.coerceFont(a,"labelfont",u),Ax.coerceFont(a,"tickfont",u,{autoShadowDflt:!0}),Ax.coerceFont(a,"rangefont",u),a("labelangle"),a("labelside"),a("unselected.line.color"),a("unselected.line.opacity")}});var dNe=ye((e1r,hNe)=>{"use strict";var BUt=Ar().isArrayOrTypedArray,CK=Mu(),NUt=$m().wrap;hNe.exports=function(t,r){var n,i;return CK.hasColorscale(r,"line")&&BUt(r.line.color)?(n=r.line.color,i=CK.extractOpts(r.line).colorscale,CK.calc(t,r,{vals:n,containerStr:"line",cLetter:"c"})):(n=UUt(r._length),i=[[0,r.line.color],[1,r.line.color]]),NUt({lineColor:n,cscale:i})};function UUt(e){for(var t=new Array(e),r=0;r{"use strict";var VUt=Ar().isTypedArray;ZF.convertTypedArray=function(e){return VUt(e)?Array.prototype.slice.call(e):e};ZF.isOrdinal=function(e){return!!e.tickvals};ZF.isVisible=function(e){return e.visible||!("visible"in e)}});var TNe=ye((r1r,wNe)=>{"use strict";var HUt=["precision highp float;","","varying vec4 fragColor;","","attribute vec4 p01_04, p05_08, p09_12, p13_16,"," p17_20, p21_24, p25_28, p29_32,"," p33_36, p37_40, p41_44, p45_48,"," p49_52, p53_56, p57_60, colors;","","uniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,"," loA, hiA, loB, hiB, loC, hiC, loD, hiD;","","uniform vec2 resolution, viewBoxPos, viewBoxSize;","uniform float maskHeight;","uniform float drwLayer; // 0: context, 1: focus, 2: pick","uniform vec4 contextColor;","uniform sampler2D maskTexture, palette;","","bool isPick = (drwLayer > 1.5);","bool isContext = (drwLayer < 0.5);","","const vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);","const vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);","","float val(mat4 p, mat4 v) {"," return dot(matrixCompMult(p, v) * UNITS, UNITS);","}","","float axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {"," float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);"," float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);"," return y1 * (1.0 - ratio) + y2 * ratio;","}","","int iMod(int a, int b) {"," return a - b * (a / b);","}","","bool fOutside(float p, float lo, float hi) {"," return (lo < hi) && (lo > p || p > hi);","}","","bool vOutside(vec4 p, vec4 lo, vec4 hi) {"," return ("," fOutside(p[0], lo[0], hi[0]) ||"," fOutside(p[1], lo[1], hi[1]) ||"," fOutside(p[2], lo[2], hi[2]) ||"," fOutside(p[3], lo[3], hi[3])"," );","}","","bool mOutside(mat4 p, mat4 lo, mat4 hi) {"," return ("," vOutside(p[0], lo[0], hi[0]) ||"," vOutside(p[1], lo[1], hi[1]) ||"," vOutside(p[2], lo[2], hi[2]) ||"," vOutside(p[3], lo[3], hi[3])"," );","}","","bool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {"," return mOutside(A, loA, hiA) ||"," mOutside(B, loB, hiB) ||"," mOutside(C, loC, hiC) ||"," mOutside(D, loD, hiD);","}","","bool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {"," mat4 pnts[4];"," pnts[0] = A;"," pnts[1] = B;"," pnts[2] = C;"," pnts[3] = D;",""," for(int i = 0; i < 4; ++i) {"," for(int j = 0; j < 4; ++j) {"," for(int k = 0; k < 4; ++k) {"," if(0 == iMod("," int(255.0 * texture2D(maskTexture,"," vec2("," (float(i * 2 + j / 2) + 0.5) / 8.0,"," (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight"," ))[3]"," ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),"," 2"," )) return true;"," }"," }"," }"," return false;","}","","vec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {"," float x = 0.5 * sign(v) + 0.5;"," float y = axisY(x, A, B, C, D);"," float z = 1.0 - abs(v);",""," z += isContext ? 0.0 : 2.0 * float("," outsideBoundingBox(A, B, C, D) ||"," outsideRasterMask(A, B, C, D)"," );",""," return vec4("," 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,"," z,"," 1.0"," );","}","","void main() {"," mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);"," mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);"," mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);"," mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);",""," float v = colors[3];",""," gl_Position = position(isContext, v, A, B, C, D);",""," fragColor ="," isContext ? vec4(contextColor) :"," isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));","}"].join(` +`),GUt=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join(` +`),Hk=Vk().maxDimensionCount,_Ne=Ar(),vNe=1e-6,XF=2048,jUt=new Uint8Array(4),pNe=new Uint8Array(4),gNe={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function WUt(e){e.read({x:0,y:0,width:1,height:1,data:jUt})}function xNe(e,t,r,n,i){var a=e._gl;a.enable(a.SCISSOR_TEST),a.scissor(t,r,n,i),e.clear({color:[0,0,0,0],depth:1})}function ZUt(e,t,r,n,i,a){var o=a.key;function s(l){var u=Math.min(n,i-l*n);l===0&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],xNe(e,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),!r.clearOnly&&(a.count=2*u,a.offset=2*l*n,t(a),l*n+u>>8*t)%256/255}function KUt(e,t,r){for(var n=new Array(e*(Hk+4)),i=0,a=0;aX&&(X=M[F].dim1.canvasX,V=F);T===0&&xNe(i,0,0,u.canvasWidth,u.canvasHeight);var G=k(r);for(F=0;F{"use strict";var Fd=ba(),f1=Ar(),IK=f1.isArrayOrTypedArray,CNe=f1.numberFormat,LNe=mZ(),PNe=Xa(),tVt=f1.strRotate,Qm=f1.strTranslate,rVt=Ll(),YF=ao(),ANe=Mu(),zK=$m(),ag=zK.keyFun,ey=zK.repeat,INe=zK.unwrap,kA=LK(),ll=Vk(),DNe=EK(),iVt=TNe();function SNe(e,t,r){return f1.aggNums(e,null,t,r)}function RNe(e,t){return FK(SNe(Math.min,e,t),SNe(Math.max,e,t))}function KF(e){var t=e.range;return t?FK(t[0],t[1]):RNe(e.values,e._length)}function FK(e,t){return(isNaN(e)||!isFinite(e))&&(e=0),(isNaN(t)||!isFinite(t))&&(t=0),e===t&&(e===0?(e-=1,t+=1):(e*=.9,t*=1.1)),[e,t]}function nVt(e,t){return t?function(r,n){var i=t[n];return i==null?e(r):i}:e}function aVt(e,t,r,n,i){var a=KF(r);return n?Fd.scale.ordinal().domain(n.map(nVt(CNe(r.tickformat),i))).range(n.map(function(o){var s=(o-a[0])/(a[1]-a[0]);return e-t+s*(2*t-e)})):Fd.scale.linear().domain(a).range([e-t,t])}function oVt(e,t){return Fd.scale.linear().range([t,e-t])}function sVt(e,t){return Fd.scale.linear().domain(KF(e)).range([t,1-t])}function lVt(e){if(e.tickvals){var t=KF(e);return Fd.scale.ordinal().domain(e.tickvals).range(e.tickvals.map(function(r){return(r-t[0])/(t[1]-t[0])}))}}function uVt(e){var t=e.map(function(a){return a[0]}),r=e.map(function(a){var o=LNe(a[1]);return Fd.rgb("rgb("+o[0]+","+o[1]+","+o[2]+")")}),n=function(a){return function(o){return o[a]}},i="rgb".split("").map(function(a){return Fd.scale.linear().clamp(!0).domain(t).range(r.map(n(a)))});return function(a){return i.map(function(o){return o(a)})}}function RK(e){return e.dimensions.some(function(t){return t.brush.filterSpecified})}function cVt(e,t,r){var n=INe(t),i=n.trace,a=kA.convertTypedArray(n.lineColor),o=i.line,s={color:LNe(i.unselected.line.color),opacity:i.unselected.line.opacity},l=ANe.extractOpts(o),u=l.reversescale?ANe.flipScale(n.cscale):n.cscale,c=i.domain,f=i.dimensions,h=e.width,v=i.labelangle,d=i.labelside,_=i.labelfont,b=i.tickfont,p=i.rangefont,E=f1.extendDeepNoArrays({},o,{color:a.map(Fd.scale.linear().domain(KF({values:a,range:[l.min,l.max],_length:i._length}))),blockLineCount:ll.blockLineCount,canvasOverdrag:ll.overdrag*ll.canvasPixelRatio}),k=Math.floor(h*(c.x[1]-c.x[0])),S=Math.floor(e.height*(c.y[1]-c.y[0])),L=e.margin||{l:80,r:80,t:100,b:80},x=k,C=S;return{key:r,colCount:f.filter(kA.isVisible).length,dimensions:f,tickDistance:ll.tickDistance,unitToColor:uVt(u),lines:E,deselectedLines:s,labelAngle:v,labelSide:d,labelFont:_,tickFont:b,rangeFont:p,layoutWidth:h,layoutHeight:e.height,domain:c,translateX:c.x[0]*h,translateY:e.height-c.y[1]*e.height,pad:L,canvasWidth:x*ll.canvasPixelRatio+2*E.canvasOverdrag,canvasHeight:C*ll.canvasPixelRatio,width:x,height:C,canvasPixelRatio:ll.canvasPixelRatio}}function fVt(e,t,r){var n=r.width,i=r.height,a=r.dimensions,o=r.canvasPixelRatio,s=function(h){return n*h/Math.max(1,r.colCount-1)},l=ll.verticalPadding/i,u=oVt(i,ll.verticalPadding),c={key:r.key,xScale:s,model:r,inBrushDrag:!1},f={};return c.dimensions=a.filter(kA.isVisible).map(function(h,v){var d=sVt(h,l),_=f[h.label];f[h.label]=(_||0)+1;var b=h.label+(_?"__"+_:""),p=h.constraintrange,E=p&&p.length;E&&!IK(p[0])&&(p=[p]);var k=E?p.map(function(q){return q.map(d)}):[[-1/0,1/0]],S=function(){var q=c;q.focusLayer&&q.focusLayer.render(q.panels,!0);var V=RK(q);!e.contextShown()&&V?(q.contextLayer&&q.contextLayer.render(q.panels,!0),e.contextShown(!0)):e.contextShown()&&!V&&(q.contextLayer&&q.contextLayer.render(q.panels,!0,!0),e.contextShown(!1))},L=h.values;L.length>h._length&&(L=L.slice(0,h._length));var x=h.tickvals,C;function M(q,V){return{val:q,text:C[V]}}function g(q,V){return q.val-V.val}if(IK(x)&&x.length){f1.isTypedArray(x)&&(x=Array.from(x)),C=h.ticktext,!IK(C)||!C.length?C=x.map(CNe(h.tickformat)):C.length>x.length?C=C.slice(0,x.length):x.length>C.length&&(x=x.slice(0,C.length));for(var P=1;P=V||N>=H)return;var W=F.lineLayer.readPixel(G,H-1-N),re=W[3]!==0,ae=re?W[2]+256*(W[1]+256*W[0]):null,_e={x:G,y:N,clientX:q.clientX,clientY:q.clientY,dataIndex:F.model.key,curveNumber:ae};ae!==d&&(re?i.hover(_e):i.unhover&&i.unhover(_e),d=ae)}}),v.style("opacity",function(F){return F.pick?0:1}),s.style("background","rgba(255, 255, 255, 0)");var b=s.selectAll("."+ll.cn.parcoords).data(h,ag);b.exit().remove(),b.enter().append("g").classed(ll.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),b.attr("transform",function(F){return Qm(F.model.translateX,F.model.translateY)});var p=b.selectAll("."+ll.cn.parcoordsControlView).data(ey,ag);p.enter().append("g").classed(ll.cn.parcoordsControlView,!0),p.attr("transform",function(F){return Qm(F.model.pad.l,F.model.pad.t)});var E=p.selectAll("."+ll.cn.yAxis).data(function(F){return F.dimensions},ag);E.enter().append("g").classed(ll.cn.yAxis,!0),p.each(function(F){DK(E,F,u)}),v.each(function(F){if(F.viewModel){!F.lineLayer||i?F.lineLayer=iVt(this,F):F.lineLayer.update(F),(F.key||F.key===0)&&(F.viewModel[F.key]=F.lineLayer);var q=!F.context||i;F.lineLayer.render(F.viewModel.panels,q)}}),E.attr("transform",function(F){return Qm(F.xScale(F.xIndex),0)}),E.call(Fd.behavior.drag().origin(function(F){return F}).on("drag",function(F){var q=F.parent;f.linePickActive(!1),F.x=Math.max(-ll.overdrag,Math.min(F.model.width+ll.overdrag,Fd.event.x)),F.canvasX=F.x*F.model.canvasPixelRatio,E.sort(function(V,H){return V.x-H.x}).each(function(V,H){V.xIndex=H,V.x=F===V?V.x:V.xScale(V.xIndex),V.canvasX=V.x*V.model.canvasPixelRatio}),DK(E,q,u),E.filter(function(V){return Math.abs(F.xIndex-V.xIndex)!==0}).attr("transform",function(V){return Qm(V.xScale(V.xIndex),0)}),Fd.select(this).attr("transform",Qm(F.x,0)),E.each(function(V,H,X){X===F.parent.key&&(q.dimensions[H]=V)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!RK(q)),q.focusLayer.render&&q.focusLayer.render(q.panels)}).on("dragend",function(F){var q=F.parent;F.x=F.xScale(F.xIndex),F.canvasX=F.x*F.model.canvasPixelRatio,DK(E,q,u),Fd.select(this).attr("transform",function(V){return Qm(V.x,0)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!RK(q)),q.focusLayer&&q.focusLayer.render(q.panels),q.pickLayer&&q.pickLayer.render(q.panels,!0),f.linePickActive(!0),i&&i.axesMoved&&i.axesMoved(q.key,q.dimensions.map(function(V){return V.crossfilterDimensionIndex}))})),E.exit().remove();var k=E.selectAll("."+ll.cn.axisOverlays).data(ey,ag);k.enter().append("g").classed(ll.cn.axisOverlays,!0),k.selectAll("."+ll.cn.axis).remove();var S=k.selectAll("."+ll.cn.axis).data(ey,ag);S.enter().append("g").classed(ll.cn.axis,!0),S.each(function(F){var q=F.model.height/F.model.tickDistance,V=F.domainScale,H=V.domain();Fd.select(this).call(Fd.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(q,F.tickFormat).tickValues(F.ordinal?H:null).tickFormat(function(X){return kA.isOrdinal(F)?X:zNe(F.model.dimensions[F.visibleIndex],X)}).scale(V)),YF.font(S.selectAll("text"),F.model.tickFont)}),S.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),S.selectAll("text").style("cursor","default");var L=k.selectAll("."+ll.cn.axisHeading).data(ey,ag);L.enter().append("g").classed(ll.cn.axisHeading,!0);var x=L.selectAll("."+ll.cn.axisTitle).data(ey,ag);x.enter().append("text").classed(ll.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",a?"none":"auto"),x.text(function(F){return F.label}).each(function(F){var q=Fd.select(this);YF.font(q,F.model.labelFont),rVt.convertToTspans(q,t)}).attr("transform",function(F){var q=ENe(F.model.labelAngle,F.model.labelSide),V=ll.axisTitleOffset;return(q.dir>0?"":Qm(0,2*V+F.model.height))+tVt(q.degrees)+Qm(-V*q.dx,-V*q.dy)}).attr("text-anchor",function(F){var q=ENe(F.model.labelAngle,F.model.labelSide),V=Math.abs(q.dx),H=Math.abs(q.dy);return 2*V>H?q.dir*q.dx<0?"start":"end":"middle"});var C=k.selectAll("."+ll.cn.axisExtent).data(ey,ag);C.enter().append("g").classed(ll.cn.axisExtent,!0);var M=C.selectAll("."+ll.cn.axisExtentTop).data(ey,ag);M.enter().append("g").classed(ll.cn.axisExtentTop,!0),M.attr("transform",Qm(0,-ll.axisExtentOffset));var g=M.selectAll("."+ll.cn.axisExtentTopText).data(ey,ag);g.enter().append("text").classed(ll.cn.axisExtentTopText,!0).call(MNe),g.text(function(F){return kNe(F,!0)}).each(function(F){YF.font(Fd.select(this),F.model.rangeFont)});var P=C.selectAll("."+ll.cn.axisExtentBottom).data(ey,ag);P.enter().append("g").classed(ll.cn.axisExtentBottom,!0),P.attr("transform",function(F){return Qm(0,F.model.height+ll.axisExtentOffset)});var T=P.selectAll("."+ll.cn.axisExtentBottomText).data(ey,ag);T.enter().append("text").classed(ll.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(MNe),T.text(function(F){return kNe(F,!1)}).each(function(F){YF.font(Fd.select(this),F.model.rangeFont)}),DNe.ensureAxisBrush(k,c,t)}});var OK=ye((qK,UNe)=>{"use strict";var vVt=qNe(),pVt=RF(),ONe=LK().isVisible,NNe={};function BNe(e,t,r){var n=t.indexOf(r),i=e.indexOf(n);return i===-1&&(i+=t.length),i}function gVt(e,t){return function(n,i){return BNe(e,t,n)-BNe(e,t,i)}}var qK=UNe.exports=function(t,r){var n=t._fullLayout,i=pVt(t,[],NNe);if(i){var a={},o={},s={},l={},u=n._size;r.forEach(function(d,_){var b=d[0].trace;s[_]=b.index;var p=l[_]=b._fullInput.index;a[_]=t.data[p].dimensions,o[_]=t.data[p].dimensions.slice()});var c=function(d,_,b){var p=o[d][_],E=b.map(function(M){return M.slice()}),k="dimensions["+_+"].constraintrange",S=n._tracePreGUI[t._fullData[s[d]]._fullInput.uid];if(S[k]===void 0){var L=p.constraintrange;S[k]=L||null}var x=t._fullData[s[d]].dimensions[_];E.length?(E.length===1&&(E=E[0]),p.constraintrange=E,x.constraintrange=E.slice(),E=[E]):(delete p.constraintrange,delete x.constraintrange,E=null);var C={};C[k]=E,t.emit("plotly_restyle",[C,[l[d]]])},f=function(d){t.emit("plotly_hover",d)},h=function(d){t.emit("plotly_unhover",d)},v=function(d,_){var b=gVt(_,o[d].filter(ONe));a[d].sort(b),o[d].filter(function(p){return!ONe(p)}).sort(function(p){return o[d].indexOf(p)}).forEach(function(p){a[d].splice(a[d].indexOf(p),1),a[d].splice(o[d].indexOf(p),0,p)}),t.emit("plotly_restyle",[{dimensions:[a[d]]},[l[d]]])};vVt(t,r,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:c,hover:f,unhover:h,axesMoved:v})}};qK.reglPrecompiled=NNe});var HNe=ye(Gk=>{"use strict";var VNe=ba(),mVt=Cd().getModuleCalcData,yVt=OK(),_Vt=Kp();Gk.name="parcoords";Gk.plot=function(e){var t=mVt(e.calcdata,"parcoords")[0];t.length&&yVt(e,t)};Gk.clean=function(e,t,r,n){var i=n._has&&n._has("parcoords"),a=t._has&&t._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())};Gk.toSVG=function(e){var t=e._fullLayout._glimages,r=VNe.select(e).selectAll(".svg-container"),n=r.filter(function(a,o){return o===r.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus");function i(){var a=this,o=a.toDataURL("image/png"),s=t.append("svg:image");s.attr({xmlns:_Vt.svg,"xlink:href":o,preserveAspectRatio:"none",x:0,y:0,width:a.style.width,height:a.style.height})}n.each(i),window.setTimeout(function(){VNe.selectAll("#filterBarPattern").attr("id","filterBarPattern")},60)}});var jNe=ye((a1r,GNe)=>{"use strict";GNe.exports={attributes:AK(),supplyDefaults:fNe(),calc:dNe(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:HNe(),categories:["gl","regl","noOpacity","noHover"],meta:{}}});var XNe=ye((o1r,ZNe)=>{"use strict";var WNe=jNe();WNe.plot=OK();ZNe.exports=WNe});var KNe=ye((s1r,YNe)=>{"use strict";YNe.exports=XNe()});var BK=ye((l1r,eUe)=>{"use strict";var $Ne=no().extendFlat,xVt=vl(),JNe=Su(),bVt=Kl(),QNe=Wo().hovertemplateAttrs,wVt=Ju().attributes,TVt=$Ne({editType:"calc"},bVt("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:QNe({editType:"plot",arrayOk:!1},{keys:["count","probability"]})});eUe.exports={domain:wVt({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:$Ne({},xVt.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:QNe({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),arrangement:{valType:"enumerated",values:["perpendicular","freeform","fixed"],dflt:"perpendicular",editType:"plot"},bundlecolors:{valType:"boolean",dflt:!0,editType:"plot"},sortpaths:{valType:"enumerated",values:["forward","backward"],dflt:"forward",editType:"plot"},labelfont:JNe({editType:"calc"}),tickfont:JNe({autoShadowDflt:!0,editType:"calc"}),dimensions:{_isLinkedToArray:"dimension",label:{valType:"string",editType:"calc"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},values:{valType:"data_array",dflt:[],editType:"calc"},displayindex:{valType:"integer",editType:"calc"},editType:"calc",visible:{valType:"boolean",dflt:!0,editType:"calc"}},line:TVt,counts:{valType:"number",min:0,dflt:1,arrayOk:!0,editType:"calc"},customdata:void 0,hoverlabel:void 0,ids:void 0,legend:void 0,legendgroup:void 0,legendrank:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}});var iUe=ye((u1r,rUe)=>{"use strict";var CA=Ar(),AVt=Fv().hasColorscale,SVt=Hh(),MVt=Ju().defaults,EVt=Xd(),tUe=BK(),kVt=FF(),CVt=pv().isTypedArraySpec;function LVt(e,t,r,n,i){i("line.shape"),i("line.hovertemplate");var a=i("line.color",n.colorway[0]);if(AVt(e,"line")&&CA.isArrayOrTypedArray(a)){if(a.length)return i("line.colorscale"),SVt(e,t,n,i,{prefix:"line.",cLetter:"c"}),a.length;t.line.color=r}return 1/0}function PVt(e,t){function r(u,c){return CA.coerce(e,t,tUe.dimensions,u,c)}var n=r("values"),i=r("visible");if(n&&n.length||(i=t.visible=!1),i){r("label"),r("displayindex",t._index);var a=e.categoryarray,o=CA.isArrayOrTypedArray(a)&&a.length>0||CVt(a),s;o&&(s="array");var l=r("categoryorder",s);l==="array"?(r("categoryarray"),r("ticktext")):(delete e.categoryarray,delete e.ticktext),!o&&l==="array"&&(t.categoryorder="trace")}}rUe.exports=function(t,r,n,i){function a(u,c){return CA.coerce(t,r,tUe,u,c)}var o=EVt(t,r,{name:"dimensions",handleItemDefaults:PVt}),s=LVt(t,r,n,i,a);MVt(r,i,a),(!Array.isArray(o)||!o.length)&&(r.visible=!1),kVt(r,o,"values",s),a("hoveron"),a("hovertemplate"),a("arrangement"),a("bundlecolors"),a("sortpaths"),a("counts");var l=i.font;CA.coerceFont(a,"labelfont",l,{overrideDflt:{size:Math.round(l.size)}}),CA.coerceFont(a,"tickfont",l,{autoShadowDflt:!0,overrideDflt:{size:Math.round(l.size/1.2)}})}});var aUe=ye((c1r,nUe)=>{"use strict";var IVt=$m().wrap,DVt=Fv().hasColorscale,RVt=qv(),zVt=nO(),FVt=ao(),jk=Ar(),qVt=uo();nUe.exports=function(t,r){var n=jk.filterVisible(r.dimensions);if(n.length===0)return[];var i=n.map(function(g){var P;if(g.categoryorder==="trace")P=null;else if(g.categoryorder==="array")P=g.categoryarray;else{P=zVt(g.values);for(var T=!0,F=0;F=e.length||t[e[r]]!==void 0)return!1;t[e[r]]=!0}return!0}});var vUe=ye((f1r,dUe)=>{"use strict";var ul=ba(),XVt=(V2(),vb(U2)).interpolateNumber,YVt=tI(),Xk=Nc(),Sx=Ar(),Wk=Sx.strTranslate,oUe=ao(),NK=ad(),KVt=Ll();function JVt(e,t,r,n){var i=t._context.staticPlot,a=e.map(hHt.bind(0,t,r)),o=n.selectAll("g.parcatslayer").data([null]);o.enter().append("g").attr("class","parcatslayer").style("pointer-events",i?"none":"all");var s=o.selectAll("g.trace.parcats").data(a,h1),l=s.enter().append("g").attr("class","trace parcats");s.attr("transform",function(E){return Wk(E.x,E.y)}),l.append("g").attr("class","paths");var u=s.select("g.paths"),c=u.selectAll("path.path").data(function(E){return E.paths},h1);c.attr("fill",function(E){return E.model.color});var f=c.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",function(E){return E.model.color}).attr("fill-opacity",0);HK(f),c.attr("d",function(E){return E.svgD}),f.empty()||c.sort(UK),c.exit().remove(),c.on("mouseover",$Vt).on("mouseout",QVt).on("click",eHt),l.append("g").attr("class","dimensions");var h=s.select("g.dimensions"),v=h.selectAll("g.dimension").data(function(E){return E.dimensions},h1);v.enter().append("g").attr("class","dimension"),v.attr("transform",function(E){return Wk(E.x,0)}),v.exit().remove();var d=v.selectAll("g.category").data(function(E){return E.categories},h1),_=d.enter().append("g").attr("class","category");d.attr("transform",function(E){return Wk(0,E.y)}),_.append("rect").attr("class","catrect").attr("pointer-events","none"),d.select("rect.catrect").attr("fill","none").attr("width",function(E){return E.width}).attr("height",function(E){return E.height}),lUe(_);var b=d.selectAll("rect.bandrect").data(function(E){return E.bands},h1);b.each(function(){Sx.raiseToTop(this)}),b.attr("fill",function(E){return E.color});var p=b.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",function(E){return E.color}).attr("fill-opacity",0);b.attr("fill",function(E){return E.color}).attr("width",function(E){return E.width}).attr("height",function(E){return E.height}).attr("y",function(E){return E.y}).attr("cursor",function(E){return E.parcatsViewModel.arrangement==="fixed"?"default":E.parcatsViewModel.arrangement==="perpendicular"?"ns-resize":"move"}),jK(p),b.exit().remove(),_.append("text").attr("class","catlabel").attr("pointer-events","none"),d.select("text.catlabel").attr("text-anchor",function(E){return Zk(E)?"start":"end"}).attr("alignment-baseline","middle").style("fill","rgb(0, 0, 0)").attr("x",function(E){return Zk(E)?E.width+5:-5}).attr("y",function(E){return E.height/2}).text(function(E){return E.model.categoryLabel}).each(function(E){oUe.font(ul.select(this),E.parcatsViewModel.categorylabelfont),KVt.convertToTspans(ul.select(this),t)}),_.append("text").attr("class","dimlabel"),d.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",function(E){return E.parcatsViewModel.arrangement==="fixed"?"default":"ew-resize"}).attr("x",function(E){return E.width/2}).attr("y",-5).text(function(E,k){return k===0?E.parcatsViewModel.model.dimensions[E.model.dimensionInd].dimensionLabel:null}).each(function(E){oUe.font(ul.select(this),E.parcatsViewModel.labelfont)}),d.selectAll("rect.bandrect").on("mouseover",sHt).on("mouseout",lHt),d.exit().remove(),v.call(ul.behavior.drag().origin(function(E){return{x:E.x,y:0}}).on("dragstart",uHt).on("drag",cHt).on("dragend",fHt)),s.each(function(E){E.traceSelection=ul.select(this),E.pathSelection=ul.select(this).selectAll("g.paths").selectAll("path.path"),E.dimensionSelection=ul.select(this).selectAll("g.dimensions").selectAll("g.dimension")}),s.exit().remove()}dUe.exports=function(e,t,r,n){JVt(r,e,n,t)};function h1(e){return e.key}function Zk(e){var t=e.parcatsViewModel.dimensions.length,r=e.parcatsViewModel.dimensions[t-1].model.dimensionInd;return e.model.dimensionInd===r}function UK(e,t){return e.model.rawColor>t.model.rawColor?1:e.model.rawColor"),x=ul.mouse(i)[0];Xk.loneHover({trace:a,x:d-s.left+l.left,y:_-s.top+l.top,text:L,color:e.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:b,idealAlign:x1&&u.displayInd===l.dimensions.length-1?(h=o.left,v="left"):(h=o.left+o.width,v="right");var d=s.model.count,_=s.model.categoryLabel,b=d/s.parcatsViewModel.model.count,p={countLabel:d,categoryLabel:_,probabilityLabel:b.toFixed(3)},E=[];s.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&E.push(["Count:",p.countLabel].join(" ")),s.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&E.push(["P("+p.categoryLabel+"):",p.probabilityLabel].join(" "));var k=E.join("
");return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:k,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:v,hovertemplate:c.hovertemplate,hovertemplateLabels:p,eventData:[{data:c._input,fullData:c,count:d,category:_,probability:b}]}}function aHt(e,t,r){var n=[];return ul.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each(function(){var i=this;n.push(uUe(e,t,i))}),n}function oHt(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=r.getBoundingClientRect(),o=ul.select(r).datum(),s=o.categoryViewModel,l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=a.y+a.height/2,h,v;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=a.left,v="left"):(h=a.left+a.width,v="right");var d=s.model.categoryLabel,_=o.parcatsViewModel.model.count,b=0;o.categoryViewModel.bands.forEach(function(P){P.color===o.color&&(b+=P.count)});var p=s.model.count,E=0;l.pathSelection.each(function(P){P.model.color===o.color&&(E+=P.model.count)});var k=b/_,S=b/E,L=b/p,x={countLabel:b,categoryLabel:d,probabilityLabel:k.toFixed(3)},C=[];s.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&C.push(["Count:",x.countLabel].join(" ")),s.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&(C.push("P(color \u2229 "+d+"): "+x.probabilityLabel),C.push("P("+d+" | color): "+S.toFixed(3)),C.push("P(color | "+d+"): "+L.toFixed(3)));var M=C.join("
"),g=NK.mostReadable(o.color,["black","white"]);return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:M,color:o.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:g,fontSize:10,idealAlign:v,hovertemplate:c.hovertemplate,hovertemplateLabels:x,eventData:[{data:c._input,fullData:c,category:d,count:_,probability:k,categorycount:p,colorcount:E,bandcolorcount:b}]}}function sHt(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){var t=ul.mouse(this)[1];if(t<-1)return;var r=e.parcatsViewModel.graphDiv,n=r._fullLayout,i=n._paperdiv.node().getBoundingClientRect(),a=e.parcatsViewModel.hoveron,o=this;if(a==="color"?(nHt(o),ZK(o,"plotly_hover",ul.event)):(iHt(o),WK(o,"plotly_hover",ul.event)),e.parcatsViewModel.hoverinfoItems.indexOf("none")===-1){var s;a==="category"?s=uUe(r,i,o):a==="color"?s=oHt(r,i,o):a==="dimension"&&(s=aHt(r,i,o)),s&&Xk.loneHover(s,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:r})}}}function lHt(e){var t=e.parcatsViewModel;if(!t.dragDimension&&(HK(t.pathSelection),lUe(t.dimensionSelection.selectAll("g.category")),jK(t.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),Xk.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(UK),t.hoverinfoItems.indexOf("skip")===-1)){var r=e.parcatsViewModel.hoveron,n=this;r==="color"?ZK(n,"plotly_unhover",ul.event):WK(n,"plotly_unhover",ul.event)}}function uHt(e){e.parcatsViewModel.arrangement!=="fixed"&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,ul.select(this).selectAll("g.category").select("rect.catrect").each(function(t){var r=ul.mouse(this)[0],n=ul.mouse(this)[1];-2<=r&&r<=t.width+2&&-2<=n&&n<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map(function(i){return i.displayInd}),t.model.dragY=t.y,Sx.raiseToTop(this.parentNode),ul.select(this.parentNode).selectAll("rect.bandrect").each(function(i){i.yc.y+c.height/2&&(a.model.displayInd=c.model.displayInd,c.model.displayInd=s),e.dragCategoryDisplayInd=a.model.displayInd}if(e.dragCategoryDisplayInd===null||e.parcatsViewModel.arrangement==="freeform"){i.model.dragX=ul.event.x;var f=e.parcatsViewModel.dimensions[r],h=e.parcatsViewModel.dimensions[n];f!==void 0&&i.model.dragXh.x&&(i.model.displayInd=h.model.displayInd,h.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=i.model.displayInd}YK(e.parcatsViewModel),XK(e.parcatsViewModel),hUe(e.parcatsViewModel),fUe(e.parcatsViewModel)}}function fHt(e){if(e.parcatsViewModel.arrangement!=="fixed"&&e.dragDimensionDisplayInd!==null){ul.select(this).selectAll("text").attr("font-weight","normal");var t={},r=cUe(e.parcatsViewModel),n=e.parcatsViewModel.model.dimensions.map(function(h){return h.displayInd}),i=e.initialDragDimensionDisplayInds.some(function(h,v){return h!==n[v]});i&&n.forEach(function(h,v){var d=e.parcatsViewModel.model.dimensions[v].containerInd;t["dimensions["+d+"].displayindex"]=h});var a=!1;if(e.dragCategoryDisplayInd!==null){var o=e.model.categories.map(function(h){return h.displayInd});if(a=e.initialDragCategoryDisplayInds.some(function(h,v){return h!==o[v]}),a){var s=e.model.categories.slice().sort(function(h,v){return h.displayInd-v.displayInd}),l=s.map(function(h){return h.categoryValue}),u=s.map(function(h){return h.categoryLabel});t["dimensions["+e.model.containerInd+"].categoryarray"]=[l],t["dimensions["+e.model.containerInd+"].ticktext"]=[u],t["dimensions["+e.model.containerInd+"].categoryorder"]="array"}}if(e.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1&&!e.dragHasMoved&&e.potentialClickBand&&(e.parcatsViewModel.hoveron==="color"?ZK(e.potentialClickBand,"plotly_click",ul.event.sourceEvent):WK(e.potentialClickBand,"plotly_click",ul.event.sourceEvent)),e.model.dragX=null,e.dragCategoryDisplayInd!==null){var c=e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd];c.model.dragY=null,e.dragCategoryDisplayInd=null}e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,YK(e.parcatsViewModel),XK(e.parcatsViewModel);var f=ul.transition().duration(300).ease("cubic-in-out");f.each(function(){hUe(e.parcatsViewModel,!0),fUe(e.parcatsViewModel,!0)}).each("end",function(){(i||a)&&YVt.restyle(e.parcatsViewModel.graphDiv,t,[r])})}}function cUe(e){for(var t,r=e.graphDiv._fullData,n=0;n=0;l--)u+="C"+o[l]+","+(t[l+1]+n)+" "+a[l]+","+(t[l]+n)+" "+(e[l]+r[l])+","+(t[l]+n),u+="l-"+r[l]+",0 ";return u+="Z",u}function XK(e){var t=e.dimensions,r=e.model,n=t.map(function(q){return q.categories.map(function(V){return V.y})}),i=e.model.dimensions.map(function(q){return q.categories.map(function(V){return V.displayInd})}),a=e.model.dimensions.map(function(q){return q.displayInd}),o=e.dimensions.map(function(q){return q.model.dimensionInd}),s=t.map(function(q){return q.x}),l=t.map(function(q){return q.width}),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(q){var V=q.categoryInds.map(function(X,G){return i[G][X]}),H=o.map(function(X){return V[X]});return H}u.sort(function(q,V){var H=f(q),X=f(V);return e.sortpaths==="backward"&&(H.reverse(),X.reverse()),H.push(q.valueInds[0]),X.push(V.valueInds[0]),e.bundlecolors&&(H.unshift(q.rawColor),X.unshift(V.rawColor)),HX?1:0});for(var h=new Array(u.length),v=t[0].model.count,d=t[0].categories.map(function(q){return q.height}).reduce(function(q,V){return q+V}),_=0;_0?p=d*(b.count/v):p=0;for(var E=new Array(n.length),k=0;k1?o=(e.width-2*r-n)/(i-1):o=0,s=r,l=s+o*a;var u=[],c=e.model.maxCats,f=t.categories.length,h=8,v=t.count,d=e.height-h*(c-1),_,b,p,E,k,S=(c-f)*h/2,L=t.categories.map(function(x){return{displayInd:x.displayInd,categoryInd:x.categoryInd}});for(L.sort(function(x,C){return x.displayInd-C.displayInd}),k=0;k0?_=b.count/v*d:_=0,p={key:b.valueInds[0],model:b,width:n,height:_,y:b.dragY!==null?b.dragY:S,bands:[],parcatsViewModel:e},S=S+_+h,u.push(p);return{key:t.dimensionInd,x:t.dragX!==null?t.dragX:l,y:0,width:n,model:t,categories:u,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}});var KK=ye((h1r,pUe)=>{"use strict";var vHt=vUe();pUe.exports=function(t,r,n,i){var a=t._fullLayout,o=a._paper,s=a._size;vHt(t,o,r,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},n,i)}});var mUe=ye($F=>{"use strict";var pHt=Cd().getModuleCalcData,gHt=KK(),gUe="parcats";$F.name=gUe;$F.plot=function(e,t,r,n){var i=pHt(e.calcdata,gUe);if(i.length){var a=i[0];gHt(e,a,r,n)}};$F.clean=function(e,t,r,n){var i=n._has&&n._has("parcats"),a=t._has&&t._has("parcats");i&&!a&&n._paperdiv.selectAll(".parcats").remove()}});var _Ue=ye((v1r,yUe)=>{"use strict";yUe.exports={attributes:BK(),supplyDefaults:iUe(),calc:aUe(),plot:KK(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:mUe(),categories:["noOpacity"],meta:{}}});var bUe=ye((p1r,xUe)=>{"use strict";xUe.exports=_Ue()});var d1=ye((g1r,kUe)=>{"use strict";var mHt=$1(),wUe="1.13.4",MUe='\xA9 OpenStreetMap contributors',TUe=['\xA9 Carto',MUe].join(" "),AUe=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under ODbL'].join(" "),yHt=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under CC BY SA'].join(" "),EUe={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:MUe,tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:TUe,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:TUe,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:AUe,tiles:["https://tiles.stadiamaps.com/tiles/stamen_terrain/{z}/{x}/{y}.png?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:AUe,tiles:["https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}.png?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:yHt,tiles:["https://tiles.stadiamaps.com/tiles/stamen_watercolor/{z}/{x}/{y}.jpg?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"}},SUe=mHt(EUe);kUe.exports={requiredVersion:wUe,styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:EUe,styleValuesNonMapbox:SUe,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install @plotly/mapbox-gl@"+wUe+"."].join(` +`),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:"," Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join(` +`),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",SUe.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join(` +`),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multipleaccess tokens on the same page."].join(` +`),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":`content: ""; cursor: pointer; position: absolute; background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;`,"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":`display:block; width: 21px; height: 21px; background-image: url('data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E')`}}});var Kk=ye((m1r,IUe)=>{"use strict";var CUe=Ar(),LUe=va().defaultLine,_Ht=Ju().attributes,xHt=Su(),bHt=Uc().textposition,wHt=Bu().overrideAll,THt=Vs().templatedArray,JK=d1(),PUe=xHt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});PUe.family.dflt="Open Sans Regular, Arial Unicode MS Regular";var AHt=IUe.exports=wHt({_arrayAttrRegexps:[CUe.counterRegex("mapbox",".layers",!0)],domain:_Ht({name:"mapbox"}),accesstoken:{valType:"string",noBlank:!0,strict:!0},style:{valType:"any",values:JK.styleValuesMapbox.concat(JK.styleValuesNonMapbox),dflt:JK.styleValueDflt},center:{lon:{valType:"number",dflt:0},lat:{valType:"number",dflt:0}},zoom:{valType:"number",dflt:1},bearing:{valType:"number",dflt:0},pitch:{valType:"number",dflt:0},bounds:{west:{valType:"number"},east:{valType:"number"},south:{valType:"number"},north:{valType:"number"}},layers:THt("layer",{visible:{valType:"boolean",dflt:!0},sourcetype:{valType:"enumerated",values:["geojson","vector","raster","image"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},sourceattribution:{valType:"string"},type:{valType:"enumerated",values:["circle","line","fill","symbol","raster"],dflt:"circle"},coordinates:{valType:"any"},below:{valType:"string"},color:{valType:"color",dflt:LUe},opacity:{valType:"number",min:0,max:1,dflt:1},minzoom:{valType:"number",min:0,max:24,dflt:0},maxzoom:{valType:"number",min:0,max:24,dflt:24},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2},dash:{valType:"data_array"}},fill:{outlinecolor:{valType:"color",dflt:LUe}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},placement:{valType:"enumerated",values:["point","line","line-center"],dflt:"point"},textfont:PUe,textposition:CUe.extendFlat({},bHt,{arrayOk:!1})}})},"plot","from-root");AHt.uirevision={valType:"any",editType:"none"}});var QF=ye((y1r,zUe)=>{"use strict";var SHt=Wo().hovertemplateAttrs,MHt=Wo().texttemplateAttrs,EHt=Cg(),Jk=Q2(),LA=Uc(),DUe=Kk(),kHt=vl(),CHt=Kl(),cw=no().extendFlat,LHt=Bu().overrideAll,PHt=Kk(),RUe=Jk.line,PA=Jk.marker;zUe.exports=LHt({lon:Jk.lon,lat:Jk.lat,cluster:{enabled:{valType:"boolean"},maxzoom:cw({},PHt.layers.maxzoom,{}),step:{valType:"number",arrayOk:!0,dflt:-1,min:-1},size:{valType:"number",arrayOk:!0,dflt:20,min:0},color:{valType:"color",arrayOk:!0},opacity:cw({},PA.opacity,{dflt:1})},mode:cw({},LA.mode,{dflt:"markers"}),text:cw({},LA.text,{}),texttemplate:MHt({editType:"plot"},{keys:["lat","lon","text"]}),hovertext:cw({},LA.hovertext,{}),line:{color:RUe.color,width:RUe.width},connectgaps:LA.connectgaps,marker:cw({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:PA.opacity,size:PA.size,sizeref:PA.sizeref,sizemin:PA.sizemin,sizemode:PA.sizemode},CHt("marker")),fill:Jk.fill,fillcolor:EHt(),textfont:DUe.layers.symbol.textfont,textposition:DUe.layers.symbol.textposition,below:{valType:"string"},selected:{marker:LA.selected.marker},unselected:{marker:LA.unselected.marker},hoverinfo:cw({},kHt.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:SHt()},"calc","nested")});var $K=ye((_1r,FUe)=>{"use strict";var IHt=["Metropolis Black Italic","Metropolis Black","Metropolis Bold Italic","Metropolis Bold","Metropolis Extra Bold Italic","Metropolis Extra Bold","Metropolis Extra Light Italic","Metropolis Extra Light","Metropolis Light Italic","Metropolis Light","Metropolis Medium Italic","Metropolis Medium","Metropolis Regular Italic","Metropolis Regular","Metropolis Semi Bold Italic","Metropolis Semi Bold","Metropolis Thin Italic","Metropolis Thin","Open Sans Bold Italic","Open Sans Bold","Open Sans Extrabold Italic","Open Sans Extrabold","Open Sans Italic","Open Sans Light Italic","Open Sans Light","Open Sans Regular","Open Sans Semibold Italic","Open Sans Semibold","Klokantech Noto Sans Bold","Klokantech Noto Sans CJK Bold","Klokantech Noto Sans CJK Regular","Klokantech Noto Sans Italic","Klokantech Noto Sans Regular"];FUe.exports={isSupportedFont:function(e){return IHt.indexOf(e)!==-1}}});var BUe=ye((x1r,OUe)=>{"use strict";var $k=Ar(),QK=lu(),DHt=t0(),RHt=q0(),zHt=O0(),FHt=Rg(),qUe=QF(),qHt=$K().isSupportedFont;OUe.exports=function(t,r,n,i){function a(p,E){return $k.coerce(t,r,qUe,p,E)}function o(p,E){return $k.coerce2(t,r,qUe,p,E)}var s=OHt(t,r,a);if(!s){r.visible=!1;return}if(a("text"),a("texttemplate"),a("hovertext"),a("hovertemplate"),a("mode"),a("below"),QK.hasMarkers(r)){DHt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a("marker.allowoverlap"),a("marker.angle");var l=r.marker;l.symbol!=="circle"&&($k.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),$k.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}QK.hasLines(r)&&(RHt(t,r,n,i,a,{noDash:!0}),a("connectgaps"));var u=o("cluster.maxzoom"),c=o("cluster.step"),f=o("cluster.color",r.marker&&r.marker.color||n),h=o("cluster.size"),v=o("cluster.opacity"),d=u!==!1||c!==!1||f!==!1||h!==!1||v!==!1,_=a("cluster.enabled",d);if(_||QK.hasText(r)){var b=i.font.family;zHt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:qHt(b)?b:"Open Sans Regular",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a("fill"),r.fill!=="none"&&FHt(t,r,n,a),$k.coerceSelectionMarkerOpacity(r,a)};function OHt(e,t,r){var n=r("lon")||[],i=r("lat")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var eJ=ye((b1r,UUe)=>{"use strict";var NUe=Xa();UUe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=NUe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=NUe.tickText(o,o.c2l(s[1]),!0).text,i}});var tJ=ye((w1r,HUe)=>{"use strict";var VUe=Ar();HUe.exports=function(t,r){var n=t.split(" "),i=n[0],a=n[1],o=VUe.isArrayOrTypedArray(r)?VUe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=["",""],c=[0,0];switch(i){case"top":u[0]="top",c[1]=-l;break;case"bottom":u[0]="bottom",c[1]=l;break}switch(a){case"left":u[1]="right",c[0]=-s;break;case"right":u[1]="left",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join("-"):u[0]?f=u[0]:u[1]?f=u[1]:f="center",{anchor:f,offset:c}}});var YUe=ye((T1r,XUe)=>{"use strict";var WUe=uo(),nv=Ar(),BHt=Yo().BADNUM,t7=ux(),GUe=Mu(),NHt=ao(),UHt=F3(),r7=lu(),VHt=$K().isSupportedFont,HHt=tJ(),GHt=np().appendArrayPointValue,jHt=Ll().NEWLINES,WHt=Ll().BR_TAG_ALL;XUe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!=="none",o=r7.hasLines(n),s=r7.hasMarkers(n),l=r7.hasText(n),u=s&&n.marker.symbol==="circle",c=s&&n.marker.symbol!=="circle",f=n.cluster&&n.cluster.enabled,h=e7("fill"),v=e7("line"),d=e7("circle"),_=e7("symbol"),b={fill:h,line:v,circle:d,symbol:_};if(!i)return b;var p;if((a||o)&&(p=t7.calcTraceToLineCoords(r)),a&&(h.geojson=t7.makePolygon(p),h.layout.visibility="visible",nv.extendFlat(h.paint,{"fill-color":n.fillcolor})),o&&(v.geojson=t7.makeLine(p),v.layout.visibility="visible",nv.extendFlat(v.paint,{"line-width":n.line.width,"line-color":n.line.color,"line-opacity":n.opacity})),u){var E=ZHt(r);d.geojson=E.geojson,d.layout.visibility="visible",f&&(d.filter=["!",["has","point_count"]],b.cluster={type:"circle",filter:["has","point_count"],layout:{visibility:"visible"},paint:{"circle-color":iJ(n.cluster.color,n.cluster.step),"circle-radius":iJ(n.cluster.size,n.cluster.step),"circle-opacity":iJ(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:"symbol",filter:["has","point_count"],paint:{},layout:{"text-field":"{point_count_abbreviated}","text-font":jUe(n),"text-size":12}}),nv.extendFlat(d.paint,{"circle-color":E.mcc,"circle-radius":E.mrc,"circle-opacity":E.mo})}if(u&&f&&(d.filter=["!",["has","point_count"]]),(c||l)&&(_.geojson=XHt(r,t),nv.extendFlat(_.layout,{visibility:"visible","icon-image":"{symbol}-15","text-field":"{text}"}),c&&(nv.extendFlat(_.layout,{"icon-size":n.marker.size/10}),"angle"in n.marker&&n.marker.angle!=="auto"&&nv.extendFlat(_.layout,{"icon-rotate":{type:"identity",property:"angle"},"icon-rotation-alignment":"map"}),_.layout["icon-allow-overlap"]=n.marker.allowoverlap,nv.extendFlat(_.paint,{"icon-opacity":n.opacity*n.marker.opacity,"icon-color":n.marker.color})),l)){var k=(n.marker||{}).size,S=HHt(n.textposition,k);nv.extendFlat(_.layout,{"text-size":n.textfont.size,"text-anchor":S.anchor,"text-offset":S.offset,"text-font":jUe(n)}),nv.extendFlat(_.paint,{"text-color":n.textfont.color,"text-opacity":n.opacity})}return b};function e7(e){return{type:e,geojson:t7.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function ZHt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=nv.isArrayOrTypedArray(r.color),a=nv.isArrayOrTypedArray(r.size),o=nv.isArrayOrTypedArray(r.opacity),s;function l(k){return t.opacity*k}function u(k){return k/2}var c;i&&(GUe.hasColorscale(t,"marker")?c=GUe.makeColorScaleFuncFromTrace(r):c=nv.identity);var f;a&&(f=UHt(t));var h;o&&(h=function(k){var S=WUe(k)?+nv.constrain(k,0,1):0;return l(S)});var v=[];for(s=0;s850?s+=" Black":i>750?s+=" Extra Bold":i>650?s+=" Bold":i>550?s+=" Semi Bold":i>450?s+=" Medium":i>350?s+=" Regular":i>250?s+=" Light":i>150?s+=" Extra Light":s+=" Thin"):a.slice(0,2).join(" ")==="Open Sans"?(s="Open Sans",i>750?s+=" Extrabold":i>650?s+=" Bold":i>550?s+=" Semibold":i>350?s+=" Regular":s+=" Light"):a.slice(0,3).join(" ")==="Klokantech Noto Sans"&&(s="Klokantech Noto Sans",a[3]==="CJK"&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),s==="Open Sans Regular Italic"?s="Open Sans Italic":s==="Open Sans Regular Bold"?s="Open Sans Bold":s==="Open Sans Regular Bold Italic"?s="Open Sans Bold Italic":s==="Klokantech Noto Sans Regular Italic"&&(s="Klokantech Noto Sans Italic"),VHt(s)||(s=r);var l=s.split(", ");return l}});var QUe=ye((A1r,$Ue)=>{"use strict";var YHt=Ar(),KUe=YUe(),IA=d1().traceLayerPrefix,og={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function JUe(e,t,r,n){this.type="scattermapbox",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+t+"-fill",line:"source-"+t+"-line",circle:"source-"+t+"-circle",symbol:"source-"+t+"-symbol",cluster:"source-"+t+"-circle",clusterCount:"source-"+t+"-circle"},this.layerIds={fill:IA+t+"-fill",line:IA+t+"-line",circle:IA+t+"-circle",symbol:IA+t+"-symbol",cluster:IA+t+"-cluster",clusterCount:IA+t+"-cluster-count"},this.below=null}var Qk=JUe.prototype;Qk.addSource=function(e,t,r){var n={type:"geojson",data:t.geojson};r&&r.enabled&&YHt.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};Qk.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};Qk.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s=0;L--){var x=S[L];i.removeLayer(u.layerIds[x])}k||i.removeSource(u.sourceIds.circle)}function h(k){for(var S=og.nonCluster,L=0;L=0;L--){var x=S[L];i.removeLayer(u.layerIds[x]),k||i.removeSource(u.sourceIds[x])}}function d(k){l?f(k):v(k)}function _(k){s?c(k):h(k)}function b(){for(var k=s?og.cluster:og.nonCluster,S=0;S=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};$Ue.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new JUe(t,n.uid,i,a),s=KUe(t.gd,r),l=o.below=t.belowLookup["trace-"+n.uid],u,c,f;if(i)for(o.addSource("circle",s.circle,n.cluster),u=0;u{"use strict";var KHt=Nc(),nJ=Ar(),JHt=mT(),$Ht=nJ.fillText,QHt=Yo().BADNUM,eGt=d1().traceLayerPrefix;function tGt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=eGt+i.uid+"-circle",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(M){return M.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),v=h*360,d=t-v;function _(M){var g=M.lonlat;if(g[0]===QHt||c&&l.indexOf(M.i+1)===-1)return 1/0;var P=nJ.modHalf(g[0],360),T=g[1],F=s.project([P,T]),q=F.x-a.c2p([d,T]),V=F.y-o.c2p([P,r]),H=Math.max(3,M.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-H,1-3/H)}if(KHt.getClosest(n,_,e),e.index!==!1){var b=n[e.index],p=b.lonlat,E=[nJ.modHalf(p[0],360)+v,p[1]],k=a.c2p(E),S=o.c2p(E),L=b.mrc||1;e.x0=k-L,e.x1=k+L,e.y0=S-L,e.y1=S+L;var x={};x[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,x);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=JHt(i,b),e.extraText=eVe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function eVe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split("+"),a=i.indexOf("all")!==-1,o=i.indexOf("lon")!==-1,s=i.indexOf("lat")!==-1,l=t.lonlat,u=[];function c(f){return f+"\xB0"}return a||o&&s?u.push("("+c(l[1])+", "+c(l[0])+")"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf("text")!==-1)&&$Ht(t,e,u),u.join("
")}tVe.exports={hoverPoints:tGt,getExtraText:eVe}});var iVe=ye((M1r,rVe)=>{"use strict";rVe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var aVe=ye((E1r,nVe)=>{"use strict";var rGt=Ar(),iGt=lu(),nGt=Yo().BADNUM;nVe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!iGt.hasMarkers(s))return[];if(r===!1)for(l=0;l{(function(e,t){typeof aJ=="object"&&typeof oJ!="undefined"?oJ.exports=t():typeof define=="function"&&define.amd?define(t):(e=e||self,e.mapboxgl=t())})(aJ,function(){"use strict";var e,t,r;function n(i,a){if(!e)e=a;else if(!t)t=a;else{var o="var sharedChunk = {}; ("+e+")(sharedChunk); ("+t+")(sharedChunk);",s={};e(s),r=a(s),typeof window!="undefined"&&(r.workerUrl=window.URL.createObjectURL(new Blob([o],{type:"text/javascript"})))}}return n(["exports"],function(i){"use strict";function a(m,y){return y={exports:{}},m(y,y.exports),y.exports}var o="1.13.4",s=l;function l(m,y,I,U){this.cx=3*m,this.bx=3*(I-m)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*y,this.by=3*(U-y)-this.cy,this.ay=1-this.cy-this.by,this.p1x=m,this.p1y=U,this.p2x=I,this.p2y=U}l.prototype.sampleCurveX=function(m){return((this.ax*m+this.bx)*m+this.cx)*m},l.prototype.sampleCurveY=function(m){return((this.ay*m+this.by)*m+this.cy)*m},l.prototype.sampleCurveDerivativeX=function(m){return(3*this.ax*m+2*this.bx)*m+this.cx},l.prototype.solveCurveX=function(m,y){typeof y=="undefined"&&(y=1e-6);var I,U,J,ne,fe;for(J=m,fe=0;fe<8;fe++){if(ne=this.sampleCurveX(J)-m,Math.abs(ne)U)return U;for(;Ine?I=J:U=J,J=(U-I)*.5+I}return J},l.prototype.solve=function(m,y){return this.sampleCurveY(this.solveCurveX(m,y))};var u=c;function c(m,y){this.x=m,this.y=y}c.prototype={clone:function(){return new c(this.x,this.y)},add:function(m){return this.clone()._add(m)},sub:function(m){return this.clone()._sub(m)},multByPoint:function(m){return this.clone()._multByPoint(m)},divByPoint:function(m){return this.clone()._divByPoint(m)},mult:function(m){return this.clone()._mult(m)},div:function(m){return this.clone()._div(m)},rotate:function(m){return this.clone()._rotate(m)},rotateAround:function(m,y){return this.clone()._rotateAround(m,y)},matMult:function(m){return this.clone()._matMult(m)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(m){return this.x===m.x&&this.y===m.y},dist:function(m){return Math.sqrt(this.distSqr(m))},distSqr:function(m){var y=m.x-this.x,I=m.y-this.y;return y*y+I*I},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(m){return Math.atan2(this.y-m.y,this.x-m.x)},angleWith:function(m){return this.angleWithSep(m.x,m.y)},angleWithSep:function(m,y){return Math.atan2(this.x*y-this.y*m,this.x*m+this.y*y)},_matMult:function(m){var y=m[0]*this.x+m[1]*this.y,I=m[2]*this.x+m[3]*this.y;return this.x=y,this.y=I,this},_add:function(m){return this.x+=m.x,this.y+=m.y,this},_sub:function(m){return this.x-=m.x,this.y-=m.y,this},_mult:function(m){return this.x*=m,this.y*=m,this},_div:function(m){return this.x/=m,this.y/=m,this},_multByPoint:function(m){return this.x*=m.x,this.y*=m.y,this},_divByPoint:function(m){return this.x/=m.x,this.y/=m.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var m=this.y;return this.y=this.x,this.x=-m,this},_rotate:function(m){var y=Math.cos(m),I=Math.sin(m),U=y*this.x-I*this.y,J=I*this.x+y*this.y;return this.x=U,this.y=J,this},_rotateAround:function(m,y){var I=Math.cos(m),U=Math.sin(m),J=y.x+I*(this.x-y.x)-U*(this.y-y.y),ne=y.y+U*(this.x-y.x)+I*(this.y-y.y);return this.x=J,this.y=ne,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},c.convert=function(m){return m instanceof c?m:Array.isArray(m)?new c(m[0],m[1]):m};var f=typeof self!="undefined"?self:{};function h(m,y){if(Array.isArray(m)){if(!Array.isArray(y)||m.length!==y.length)return!1;for(var I=0;I=1)return 1;var y=m*m,I=y*m;return 4*(m<.5?I:3*(m-y)+I-.75)}function _(m,y,I,U){var J=new s(m,y,I,U);return function(ne){return J.solve(ne)}}var b=_(.25,.1,.25,1);function p(m,y,I){return Math.min(I,Math.max(y,m))}function E(m,y,I){var U=I-y,J=((m-y)%U+U)%U+y;return J===y?I:J}function k(m,y,I){if(!m.length)return I(null,[]);var U=m.length,J=new Array(m.length),ne=null;m.forEach(function(fe,Fe){y(fe,function(Qe,st){Qe&&(ne=Qe),J[Fe]=st,--U===0&&I(ne,J)})})}function S(m){var y=[];for(var I in m)y.push(m[I]);return y}function L(m,y){var I=[];for(var U in m)U in y||I.push(U);return I}function x(m){for(var y=[],I=arguments.length-1;I-- >0;)y[I]=arguments[I+1];for(var U=0,J=y;U>y/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,m)}return m()}function T(m){return m<=1?1:Math.pow(2,Math.ceil(Math.log(m)/Math.LN2))}function F(m){return m?/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(m):!1}function q(m,y){m.forEach(function(I){y[I]&&(y[I]=y[I].bind(y))})}function V(m,y){return m.indexOf(y,m.length-y.length)!==-1}function H(m,y,I){var U={};for(var J in m)U[J]=y.call(I||this,m[J],J,m);return U}function X(m,y,I){var U={};for(var J in m)y.call(I||this,m[J],J,m)&&(U[J]=m[J]);return U}function G(m){return Array.isArray(m)?m.map(G):typeof m=="object"&&m?H(m,G):m}function N(m,y){for(var I=0;I=0)return!0;return!1}var W={};function re(m){W[m]||(typeof console!="undefined"&&console.warn(m),W[m]=!0)}function ae(m,y,I){return(I.y-m.y)*(y.x-m.x)>(y.y-m.y)*(I.x-m.x)}function _e(m){for(var y=0,I=0,U=m.length,J=U-1,ne=void 0,fe=void 0;I@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,I={};if(m.replace(y,function(J,ne,fe,Fe){var Qe=fe||Fe;return I[ne]=Qe?Qe.toLowerCase():!0,""}),I["max-age"]){var U=parseInt(I["max-age"],10);isNaN(U)?delete I["max-age"]:I["max-age"]=U}return I}var ie=null;function Te(m){if(ie==null){var y=m.navigator?m.navigator.userAgent:null;ie=!!m.safari||!!(y&&(/\b(iPad|iPhone|iPod)\b/.test(y)||y.match("Safari")&&!y.match("Chrome")))}return ie}function Ee(m){try{var y=f[m];return y.setItem("_mapbox_test_",1),y.removeItem("_mapbox_test_"),!0}catch(I){return!1}}function Ae(m){return f.btoa(encodeURIComponent(m).replace(/%([0-9A-F]{2})/g,function(y,I){return String.fromCharCode(+("0x"+I))}))}function ze(m){return decodeURIComponent(f.atob(m).split("").map(function(y){return"%"+("00"+y.charCodeAt(0).toString(16)).slice(-2)}).join(""))}var Ce=f.performance&&f.performance.now?f.performance.now.bind(f.performance):Date.now.bind(Date),me=f.requestAnimationFrame||f.mozRequestAnimationFrame||f.webkitRequestAnimationFrame||f.msRequestAnimationFrame,De=f.cancelAnimationFrame||f.mozCancelAnimationFrame||f.webkitCancelAnimationFrame||f.msCancelAnimationFrame,ce,Ge,nt={now:Ce,frame:function(y){var I=me(y);return{cancel:function(){return De(I)}}},getImageData:function(y,I){I===void 0&&(I=0);var U=f.document.createElement("canvas"),J=U.getContext("2d");if(!J)throw new Error("failed to create canvas 2d context");return U.width=y.width,U.height=y.height,J.drawImage(y,0,0,y.width,y.height),J.getImageData(-I,-I,y.width+2*I,y.height+2*I)},resolveURL:function(y){return ce||(ce=f.document.createElement("a")),ce.href=y,ce.href},hardwareConcurrency:f.navigator&&f.navigator.hardwareConcurrency||4,get devicePixelRatio(){return f.devicePixelRatio},get prefersReducedMotion(){return f.matchMedia?(Ge==null&&(Ge=f.matchMedia("(prefers-reduced-motion: reduce)")),Ge.matches):!1}},ct={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?this.API_URL.indexOf("https://api.mapbox.cn")===0?"https://events.mapbox.cn/events/v2":this.API_URL.indexOf("https://api.mapbox.com")===0?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},qt={supported:!1,testSupport:Ct},rt,ot=!1,It,kt=!1;f.document&&(It=f.document.createElement("img"),It.onload=function(){rt&&Yt(rt),rt=null,kt=!0},It.onerror=function(){ot=!0,rt=null},It.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");function Ct(m){ot||!It||(kt?Yt(m):rt=m)}function Yt(m){var y=m.createTexture();m.bindTexture(m.TEXTURE_2D,y);try{if(m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,It),m.isContextLost())return;qt.supported=!0}catch(I){}m.deleteTexture(y),ot=!0}var mr="01";function er(){for(var m="1",y="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",I="",U=0;U<10;U++)I+=y[Math.floor(Math.random()*62)];var J=12*60*60*1e3,ne=[m,mr,I].join(""),fe=Date.now()+J;return{token:ne,tokenExpiresAt:fe}}var Ke=function(y,I){this._transformRequestFn=y,this._customAccessToken=I,this._createSkuToken()};Ke.prototype._createSkuToken=function(){var y=er();this._skuToken=y.token,this._skuTokenExpiresAt=y.tokenExpiresAt},Ke.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},Ke.prototype.transformRequest=function(y,I){return this._transformRequestFn?this._transformRequestFn(y,I)||{url:y}:{url:y}},Ke.prototype.normalizeStyleURL=function(y,I){if(!bt(y))return y;var U=Ht(y);return U.path="/styles/v1"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeGlyphsURL=function(y,I){if(!bt(y))return y;var U=Ht(y);return U.path="/fonts/v1"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeSourceURL=function(y,I){if(!bt(y))return y;var U=Ht(y);return U.path="/v4/"+U.authority+".json",U.params.push("secure"),this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeSpriteURL=function(y,I,U,J){var ne=Ht(y);return bt(y)?(ne.path="/styles/v1"+ne.path+"/sprite"+I+U,this._makeAPIURL(ne,this._customAccessToken||J)):(ne.path+=""+I+U,$t(ne))},Ke.prototype.normalizeTileURL=function(y,I){if(this._isSkuTokenExpired()&&this._createSkuToken(),y&&!bt(y))return y;var U=Ht(y),J=/(\.(png|jpg)\d*)(?=$)/,ne=/^.+\/v4\//,fe=nt.devicePixelRatio>=2||I===512?"@2x":"",Fe=qt.supported?".webp":"$1";U.path=U.path.replace(J,""+fe+Fe),U.path=U.path.replace(ne,"/"),U.path="/v4"+U.path;var Qe=this._customAccessToken||Et(U.params)||ct.ACCESS_TOKEN;return ct.REQUIRE_ACCESS_TOKEN&&Qe&&this._skuToken&&U.params.push("sku="+this._skuToken),this._makeAPIURL(U,Qe)},Ke.prototype.canonicalizeTileURL=function(y,I){var U="/v4/",J=/\.[\w]+$/,ne=Ht(y);if(!ne.path.match(/(^\/v4\/)/)||!ne.path.match(J))return y;var fe="mapbox://tiles/";fe+=ne.path.replace(U,"");var Fe=ne.params;return I&&(Fe=Fe.filter(function(Qe){return!Qe.match(/^access_token=/)})),Fe.length&&(fe+="?"+Fe.join("&")),fe},Ke.prototype.canonicalizeTileset=function(y,I){for(var U=I?bt(I):!1,J=[],ne=0,fe=y.tiles||[];ne=0&&y.params.splice(ne,1)}if(J.path!=="/"&&(y.path=""+J.path+y.path),!ct.REQUIRE_ACCESS_TOKEN)return $t(y);if(I=I||ct.ACCESS_TOKEN,!I)throw new Error("An API access token is required to use Mapbox GL. "+U);if(I[0]==="s")throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+U);return y.params=y.params.filter(function(fe){return fe.indexOf("access_token")===-1}),y.params.push("access_token="+I),$t(y)};function bt(m){return m.indexOf("mapbox:")===0}var xt=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function Lt(m){return xt.test(m)}function St(m){return m.indexOf("sku=")>0&&Lt(m)}function Et(m){for(var y=0,I=m;y=1&&f.localStorage.setItem(I,JSON.stringify(this.eventData))}catch(J){re("Unable to write to LocalStorage")}},Br.prototype.processRequests=function(y){},Br.prototype.postEvent=function(y,I,U,J){var ne=this;if(ct.EVENTS_URL){var fe=Ht(ct.EVENTS_URL);fe.params.push("access_token="+(J||ct.ACCESS_TOKEN||""));var Fe={event:this.type,created:new Date(y).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:o,skuId:mr,userId:this.anonId},Qe=I?x(Fe,I):Fe,st={url:$t(fe),headers:{"Content-Type":"text/plain"},body:JSON.stringify([Qe])};this.pendingRequest=Vr(st,function(mt){ne.pendingRequest=null,U(mt),ne.saveEventData(),ne.processRequests(J)})}},Br.prototype.queueRequest=function(y,I){this.queue.push(y),this.processRequests(I)};var Or=function(m){function y(){m.call(this,"map.load"),this.success={},this.skuToken=""}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.postMapLoadEvent=function(U,J,ne,fe){this.skuToken=ne,(ct.EVENTS_URL&&fe||ct.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(Fe){return bt(Fe)||Lt(Fe)}))&&this.queueRequest({id:J,timestamp:Date.now()},fe)},y.prototype.processRequests=function(U){var J=this;if(!(this.pendingRequest||this.queue.length===0)){var ne=this.queue.shift(),fe=ne.id,Fe=ne.timestamp;fe&&this.success[fe]||(this.anonId||this.fetchEventData(),F(this.anonId)||(this.anonId=P()),this.postEvent(Fe,{skuToken:this.skuToken},function(Qe){Qe||fe&&(J.success[fe]=!0)},U))}},y}(Br),Nr=function(m){function y(I){m.call(this,"appUserTurnstile"),this._customAccessToken=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.postTurnstileEvent=function(U,J){ct.EVENTS_URL&&ct.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(ne){return bt(ne)||Lt(ne)})&&this.queueRequest(Date.now(),J)},y.prototype.processRequests=function(U){var J=this;if(!(this.pendingRequest||this.queue.length===0)){(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU)&&this.fetchEventData();var ne=xr(ct.ACCESS_TOKEN),fe=ne?ne.u:ct.ACCESS_TOKEN,Fe=fe!==this.eventData.tokenU;F(this.anonId)||(this.anonId=P(),Fe=!0);var Qe=this.queue.shift();if(this.eventData.lastSuccess){var st=new Date(this.eventData.lastSuccess),mt=new Date(Qe),Xt=(Qe-this.eventData.lastSuccess)/(24*60*60*1e3);Fe=Fe||Xt>=1||Xt<-1||st.getDate()!==mt.getDate()}else Fe=!0;if(!Fe)return this.processRequests();this.postEvent(Qe,{"enabled.telemetry":!1},function(ur){ur||(J.eventData.lastSuccess=Qe,J.eventData.tokenU=fe)},U)}},y}(Br),ut=new Nr,Ne=ut.postTurnstileEvent.bind(ut),Ye=new Or,Ve=Ye.postMapLoadEvent.bind(Ye),Xe="mapbox-tiles",ht=500,Le=50,xe=1e3*60*7,Se;function lt(){f.caches&&!Se&&(Se=f.caches.open(Xe))}var Gt;function Vt(m,y){if(Gt===void 0)try{new Response(new ReadableStream),Gt=!0}catch(I){Gt=!1}Gt?y(m.body):m.blob().then(y)}function ar(m,y,I){if(lt(),!!Se){var U={status:y.status,statusText:y.statusText,headers:new f.Headers};y.headers.forEach(function(fe,Fe){return U.headers.set(Fe,fe)});var J=ge(y.headers.get("Cache-Control")||"");if(!J["no-store"]){J["max-age"]&&U.headers.set("Expires",new Date(I+J["max-age"]*1e3).toUTCString());var ne=new Date(U.headers.get("Expires")).getTime()-I;neDate.now()&&!I["no-cache"]}var ri=1/0;function bi(m){ri++,ri>Le&&(m.getActor().send("enforceCacheSizeLimit",ht),ri=0)}function nn(m){lt(),Se&&Se.then(function(y){y.keys().then(function(I){for(var U=0;U=200&&I.status<300||I.status===0)&&I.response!==null){var J=I.response;if(m.type==="json")try{J=JSON.parse(I.response)}catch(ne){return y(ne)}y(null,J,I.getResponseHeader("Cache-Control"),I.getResponseHeader("Expires"))}else y(new Wn(I.statusText,I.status,m.url))},I.send(m.body),{cancel:function(){return I.abort()}}}var _r=function(m,y){if(!ft(m.url)){if(f.fetch&&f.Request&&f.AbortController&&f.Request.prototype.hasOwnProperty("signal"))return jt(m,y);if(ke()&&self.worker&&self.worker.actor){var I=!0;return self.worker.actor.send("getResource",m,y,void 0,I)}}return Zt(m,y)},Fr=function(m,y){return _r(x(m,{type:"json"}),y)},Zr=function(m,y){return _r(x(m,{type:"arrayBuffer"}),y)},Vr=function(m,y){return _r(x(m,{method:"POST"}),y)};function gi(m){var y=f.document.createElement("a");return y.href=m,y.protocol===f.document.location.protocol&&y.host===f.document.location.host}var Si="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function Mi(m,y,I,U){var J=new f.Image,ne=f.URL;J.onload=function(){y(null,J),ne.revokeObjectURL(J.src),J.onload=null,f.requestAnimationFrame(function(){J.src=Si})},J.onerror=function(){return y(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))};var fe=new f.Blob([new Uint8Array(m)],{type:"image/png"});J.cacheControl=I,J.expires=U,J.src=m.byteLength?ne.createObjectURL(fe):Si}function Pi(m,y){var I=new f.Blob([new Uint8Array(m)],{type:"image/png"});f.createImageBitmap(I).then(function(U){y(null,U)}).catch(function(U){y(new Error("Could not load image because of "+U.message+". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))})}var Gi,Ki,Ca=function(){Gi=[],Ki=0};Ca();var jn=function(m,y){if(qt.supported&&(m.headers||(m.headers={}),m.headers.accept="image/webp,*/*"),Ki>=ct.MAX_PARALLEL_IMAGE_REQUESTS){var I={requestParameters:m,callback:y,cancelled:!1,cancel:function(){this.cancelled=!0}};return Gi.push(I),I}Ki++;var U=!1,J=function(){if(!U)for(U=!0,Ki--;Gi.length&&Ki0||this._oneTimeListeners&&this._oneTimeListeners[y]&&this._oneTimeListeners[y].length>0||this._eventedParent&&this._eventedParent.listens(y)},Sn.prototype.setEventedParent=function(y,I){return this._eventedParent=y,this._eventedParentData=I,this};var Ha=8,oo={version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},xn={"*":{type:"source"}},_t=["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],br={type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},Hr={type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},ti={type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},zi={type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},Yi={type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},an={type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},hi={id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},Ji=["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],ca={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},Fn={"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},Ma={"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},go={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},Bo={"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},ho={"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},Mo={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},xo={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},qs={type:"array",value:"*"},Cs={type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},Zs={type:"enum",values:{Point:{},LineString:{},Polygon:{}}},Xs={type:"array",minimum:0,maximum:24,value:["number","color"],length:2},wl={type:"array",value:"*",minimum:1},os={anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},cl=["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],Ls={"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},ml={"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},Ys={"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},Hs={"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},Eo={"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},hs={"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},$l={"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},ju={"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},fc={duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},ys={"*":{type:"string"}},on={$version:Ha,$root:oo,sources:xn,source:_t,source_vector:br,source_raster:Hr,source_raster_dem:ti,source_geojson:zi,source_video:Yi,source_image:an,layer:hi,layout:Ji,layout_background:ca,layout_fill:Fn,layout_circle:Ma,layout_heatmap:go,"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:Bo,layout_symbol:ho,layout_raster:Mo,layout_hillshade:xo,filter:qs,filter_operator:Cs,geometry_type:Zs,function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:Xs,expression:wl,light:os,paint:cl,paint_fill:Ls,"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:ml,paint_circle:Ys,paint_heatmap:Hs,paint_symbol:Eo,paint_raster:hs,paint_hillshade:$l,paint_background:ju,transition:fc,"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:ys},ha=function(y,I,U,J){this.message=(y?y+": ":"")+U,J&&(this.identifier=J),I!=null&&I.__line__&&(this.line=I.__line__)};function Qu(m){var y=m.key,I=m.value;return I?[new ha(y,I,"constants have been deprecated as of v8")]:[]}function Il(m){for(var y=[],I=arguments.length-1;I-- >0;)y[I]=arguments[I+1];for(var U=0,J=y;U":m.itemType.kind==="value"?"array":"array<"+y+">"}else return m.kind}var mu=[Ec,Zn,ko,Co,Tl,Al,uf,Ql(So),Hc];function kc(m,y){if(y.kind==="error")return null;if(m.kind==="array"){if(y.kind==="array"&&(y.N===0&&y.itemType.kind==="value"||!kc(m.itemType,y.itemType))&&(typeof m.N!="number"||m.N===y.N))return null}else{if(m.kind===y.kind)return null;if(m.kind==="value")for(var I=0,U=mu;I255?255:st}function J(st){return st<0?0:st>1?1:st}function ne(st){return st[st.length-1]==="%"?U(parseFloat(st)/100*255):U(parseInt(st))}function fe(st){return st[st.length-1]==="%"?J(parseFloat(st)/100):J(parseFloat(st))}function Fe(st,mt,Xt){return Xt<0?Xt+=1:Xt>1&&(Xt-=1),Xt*6<1?st+(mt-st)*Xt*6:Xt*2<1?mt:Xt*3<2?st+(mt-st)*(2/3-Xt)*6:st}function Qe(st){var mt=st.replace(/ /g,"").toLowerCase();if(mt in I)return I[mt].slice();if(mt[0]==="#"){if(mt.length===4){var Xt=parseInt(mt.substr(1),16);return Xt>=0&&Xt<=4095?[(Xt&3840)>>4|(Xt&3840)>>8,Xt&240|(Xt&240)>>4,Xt&15|(Xt&15)<<4,1]:null}else if(mt.length===7){var Xt=parseInt(mt.substr(1),16);return Xt>=0&&Xt<=16777215?[(Xt&16711680)>>16,(Xt&65280)>>8,Xt&255,1]:null}return null}var ur=mt.indexOf("("),nr=mt.indexOf(")");if(ur!==-1&&nr+1===mt.length){var Lr=mt.substr(0,ur),Yr=mt.substr(ur+1,nr-(ur+1)).split(","),_i=1;switch(Lr){case"rgba":if(Yr.length!==4)return null;_i=fe(Yr.pop());case"rgb":return Yr.length!==3?null:[ne(Yr[0]),ne(Yr[1]),ne(Yr[2]),_i];case"hsla":if(Yr.length!==4)return null;_i=fe(Yr.pop());case"hsl":if(Yr.length!==3)return null;var si=(parseFloat(Yr[0])%360+360)%360/360,Hi=fe(Yr[1]),Ei=fe(Yr[2]),Vi=Ei<=.5?Ei*(Hi+1):Ei+Hi-Ei*Hi,en=Ei*2-Vi;return[U(Fe(en,Vi,si+1/3)*255),U(Fe(en,Vi,si)*255),U(Fe(en,Vi,si-1/3)*255),_i];default:return null}}return null}try{y.parseCSSColor=Qe}catch(st){}}),Nf=pd.parseCSSColor,ss=function(y,I,U,J){J===void 0&&(J=1),this.r=y,this.g=I,this.b=U,this.a=J};ss.parse=function(y){if(y){if(y instanceof ss)return y;if(typeof y=="string"){var I=Nf(y);if(I)return new ss(I[0]/255*I[3],I[1]/255*I[3],I[2]/255*I[3],I[3])}}},ss.prototype.toString=function(){var y=this.toArray(),I=y[0],U=y[1],J=y[2],ne=y[3];return"rgba("+Math.round(I)+","+Math.round(U)+","+Math.round(J)+","+ne+")"},ss.prototype.toArray=function(){var y=this,I=y.r,U=y.g,J=y.b,ne=y.a;return ne===0?[0,0,0,0]:[I*255/ne,U*255/ne,J*255/ne,ne]},ss.black=new ss(0,0,0,1),ss.white=new ss(1,1,1,1),ss.transparent=new ss(0,0,0,0),ss.red=new ss(1,0,0,1);var ff=function(y,I,U){y?this.sensitivity=I?"variant":"case":this.sensitivity=I?"accent":"base",this.locale=U,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};ff.prototype.compare=function(y,I){return this.collator.compare(y,I)},ff.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var ah=function(y,I,U,J,ne){this.text=y,this.image=I,this.scale=U,this.fontStack=J,this.textColor=ne},Ul=function(y){this.sections=y};Ul.fromString=function(y){return new Ul([new ah(y,null,null,null,null)])},Ul.prototype.isEmpty=function(){return this.sections.length===0?!0:!this.sections.some(function(y){return y.text.length!==0||y.image&&y.image.name.length!==0})},Ul.factory=function(y){return y instanceof Ul?y:Ul.fromString(y)},Ul.prototype.toString=function(){return this.sections.length===0?"":this.sections.map(function(y){return y.text}).join("")},Ul.prototype.serialize=function(){for(var y=["format"],I=0,U=this.sections;I=0&&m<=255&&typeof y=="number"&&y>=0&&y<=255&&typeof I=="number"&&I>=0&&I<=255)){var J=typeof U=="number"?[m,y,I,U]:[m,y,I];return"Invalid rgba value ["+J.join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}return typeof U=="undefined"||typeof U=="number"&&U>=0&&U<=1?null:"Invalid rgba value ["+[m,y,I,U].join(", ")+"]: 'a' must be between 0 and 1."}function Cc(m){if(m===null)return!0;if(typeof m=="string")return!0;if(typeof m=="boolean")return!0;if(typeof m=="number")return!0;if(m instanceof ss)return!0;if(m instanceof ff)return!0;if(m instanceof Ul)return!0;if(m instanceof Js)return!0;if(Array.isArray(m)){for(var y=0,I=m;y2){var Fe=y[1];if(typeof Fe!="string"||!(Fe in dc)||Fe==="object")return I.error('The item type argument of "array" must be one of string, number, boolean',1);fe=dc[Fe],U++}else fe=So;var Qe;if(y.length>3){if(y[2]!==null&&(typeof y[2]!="number"||y[2]<0||y[2]!==Math.floor(y[2])))return I.error('The length argument to "array" must be a positive integer literal',2);Qe=y[2],U++}J=Ql(fe,Qe)}else J=dc[ne];for(var st=[];U1)&&I.push(J)}}return I.concat(this.args.map(function(ne){return ne.serialize()}))};var ec=function(y){this.type=Al,this.sections=y};ec.parse=function(y,I){if(y.length<2)return I.error("Expected at least one argument.");var U=y[1];if(!Array.isArray(U)&&typeof U=="object")return I.error("First argument must be an image or text section.");for(var J=[],ne=!1,fe=1;fe<=y.length-1;++fe){var Fe=y[fe];if(ne&&typeof Fe=="object"&&!Array.isArray(Fe)){ne=!1;var Qe=null;if(Fe["font-scale"]&&(Qe=I.parse(Fe["font-scale"],1,Zn),!Qe))return null;var st=null;if(Fe["text-font"]&&(st=I.parse(Fe["text-font"],1,Ql(ko)),!st))return null;var mt=null;if(Fe["text-color"]&&(mt=I.parse(Fe["text-color"],1,Tl),!mt))return null;var Xt=J[J.length-1];Xt.scale=Qe,Xt.font=st,Xt.textColor=mt}else{var ur=I.parse(y[fe],1,So);if(!ur)return null;var nr=ur.type.kind;if(nr!=="string"&&nr!=="value"&&nr!=="null"&&nr!=="resolvedImage")return I.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");ne=!0,J.push({content:ur,scale:null,font:null,textColor:null})}}return new ec(J)},ec.prototype.evaluate=function(y){var I=function(U){var J=U.content.evaluate(y);return Ts(J)===Hc?new ah("",J,null,null,null):new ah($s(J),null,U.scale?U.scale.evaluate(y):null,U.font?U.font.evaluate(y).join(","):null,U.textColor?U.textColor.evaluate(y):null)};return new Ul(this.sections.map(I))},ec.prototype.eachChild=function(y){for(var I=0,U=this.sections;I-1),U},Is.prototype.eachChild=function(y){y(this.input)},Is.prototype.outputDefined=function(){return!1},Is.prototype.serialize=function(){return["image",this.input.serialize()]};var sv={"to-boolean":Co,"to-color":Tl,"to-number":Zn,"to-string":ko},wo=function(y,I){this.type=y,this.args=I};wo.parse=function(y,I){if(y.length<2)return I.error("Expected at least one argument.");var U=y[0];if((U==="to-boolean"||U==="to-string")&&y.length!==2)return I.error("Expected one argument.");for(var J=sv[U],ne=[],fe=1;fe4?U="Invalid rbga value "+JSON.stringify(I)+": expected an array containing either three or four numeric values.":U=hc(I[0],I[1],I[2],I[3]),!U))return new ss(I[0]/255,I[1]/255,I[2]/255,I[3])}throw new Es(U||"Could not parse color from value '"+(typeof I=="string"?I:String(JSON.stringify(I)))+"'")}else if(this.type.kind==="number"){for(var Qe=null,st=0,mt=this.args;st=y[2]||m[1]<=y[1]||m[3]>=y[3])}function Jh(m,y){var I=jc(m[0]),U=kf(m[1]),J=Math.pow(2,y.z);return[Math.round(I*J*uu),Math.round(U*J*uu)]}function Lh(m,y,I){var U=m[0]-y[0],J=m[1]-y[1],ne=m[0]-I[0],fe=m[1]-I[1];return U*fe-ne*J===0&&U*ne<=0&&J*fe<=0}function oh(m,y,I){return y[1]>m[1]!=I[1]>m[1]&&m[0]<(I[0]-y[0])*(m[1]-y[1])/(I[1]-y[1])+y[0]}function hf(m,y){for(var I=!1,U=0,J=y.length;U0&&Xt<0||mt<0&&Xt>0}function sh(m,y,I,U){var J=[y[0]-m[0],y[1]-m[1]],ne=[U[0]-I[0],U[1]-I[1]];return $h(ne,J)===0?!1:!!(rc(m,y,I,U)&&rc(I,U,m,y))}function Wc(m,y,I){for(var U=0,J=I;UI[2]){var J=U*.5,ne=m[0]-I[0]>J?-U:I[0]-m[0]>J?U:0;ne===0&&(ne=m[0]-I[2]>J?-U:I[2]-m[0]>J?U:0),m[0]+=ne}Ch(y,m)}function Ih(m){m[0]=m[1]=1/0,m[2]=m[3]=-1/0}function Nd(m,y,I,U){for(var J=Math.pow(2,U.z)*uu,ne=[U.x*uu,U.y*uu],fe=[],Fe=0,Qe=m;Fe=0)return!1;var I=!0;return m.eachChild(function(U){I&&!Pu(U,y)&&(I=!1)}),I}var Lc=function(y,I){this.type=I.type,this.name=y,this.boundExpression=I};Lc.parse=function(y,I){if(y.length!==2||typeof y[1]!="string")return I.error("'var' expression requires exactly one string literal argument.");var U=y[1];return I.scope.has(U)?new Lc(U,I.scope.get(U)):I.error('Unknown variable "'+U+'". Make sure "'+U+'" has been bound in an enclosing "let" expression before using it.',1)},Lc.prototype.evaluate=function(y){return this.boundExpression.evaluate(y)},Lc.prototype.eachChild=function(){},Lc.prototype.outputDefined=function(){return!1},Lc.prototype.serialize=function(){return["var",this.name]};var fl=function(y,I,U,J,ne){I===void 0&&(I=[]),J===void 0&&(J=new Zl),ne===void 0&&(ne=[]),this.registry=y,this.path=I,this.key=I.map(function(fe){return"["+fe+"]"}).join(""),this.scope=J,this.errors=ne,this.expectedType=U};fl.prototype.parse=function(y,I,U,J,ne){return ne===void 0&&(ne={}),I?this.concat(I,U,J)._parse(y,ne):this._parse(y,ne)},fl.prototype._parse=function(y,I){(y===null||typeof y=="string"||typeof y=="boolean"||typeof y=="number")&&(y=["literal",y]);function U(mt,Xt,ur){return ur==="assert"?new Sl(Xt,[mt]):ur==="coerce"?new wo(Xt,[mt]):mt}if(Array.isArray(y)){if(y.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var J=y[0];if(typeof J!="string")return this.error("Expression name must be a string, but found "+typeof J+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var ne=this.registry[J];if(ne){var fe=ne.parse(y,this);if(!fe)return null;if(this.expectedType){var Fe=this.expectedType,Qe=fe.type;if((Fe.kind==="string"||Fe.kind==="number"||Fe.kind==="boolean"||Fe.kind==="object"||Fe.kind==="array")&&Qe.kind==="value")fe=U(fe,Fe,I.typeAnnotation||"assert");else if((Fe.kind==="color"||Fe.kind==="formatted"||Fe.kind==="resolvedImage")&&(Qe.kind==="value"||Qe.kind==="string"))fe=U(fe,Fe,I.typeAnnotation||"coerce");else if(this.checkSubtype(Fe,Qe))return null}if(!(fe instanceof ds)&&fe.type.kind!=="resolvedImage"&&Xc(fe)){var st=new Qo;try{fe=new ds(fe.type,fe.evaluate(st))}catch(mt){return this.error(mt.message),null}}return fe}return this.error('Unknown expression "'+J+'". If you wanted a literal array, use ["literal", [...]].',0)}else return typeof y=="undefined"?this.error("'undefined' value invalid. Use null instead."):typeof y=="object"?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof y+" instead.")},fl.prototype.concat=function(y,I,U){var J=typeof y=="number"?this.path.concat(y):this.path,ne=U?this.scope.concat(U):this.scope;return new fl(this.registry,J,I||null,ne,this.errors)},fl.prototype.error=function(y){for(var I=[],U=arguments.length-1;U-- >0;)I[U]=arguments[U+1];var J=""+this.key+I.map(function(ne){return"["+ne+"]"}).join("");this.errors.push(new Ks(J,y))},fl.prototype.checkSubtype=function(y,I){var U=kc(y,I);return U&&this.error(U),U};function Xc(m){if(m instanceof Lc)return Xc(m.boundExpression);if(m instanceof $a&&m.name==="error")return!1;if(m instanceof tc)return!1;if(m instanceof Lu)return!1;var y=m instanceof wo||m instanceof Sl,I=!0;return m.eachChild(function(U){y?I=I&&Xc(U):I=I&&U instanceof ds}),I?ed(m)&&Pu(m,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"]):!1}function ic(m,y){for(var I=m.length-1,U=0,J=I,ne=0,fe,Fe;U<=J;)if(ne=Math.floor((U+J)/2),fe=m[ne],Fe=m[ne+1],fe<=y){if(ne===I||yy)J=ne-1;else throw new Es("Input is not a number.");return 0}var yu=function(y,I,U){this.type=y,this.input=I,this.labels=[],this.outputs=[];for(var J=0,ne=U;J=Fe)return I.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',st);var Xt=I.parse(Qe,mt,ne);if(!Xt)return null;ne=ne||Xt.type,J.push([Fe,Xt])}return new yu(ne,U,J)},yu.prototype.evaluate=function(y){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(y);var J=this.input.evaluate(y);if(J<=I[0])return U[0].evaluate(y);var ne=I.length;if(J>=I[ne-1])return U[ne-1].evaluate(y);var fe=ic(I,J);return U[fe].evaluate(y)},yu.prototype.eachChild=function(y){y(this.input);for(var I=0,U=this.outputs;I0&&y.push(this.labels[I]),y.push(this.outputs[I].serialize());return y};function Qs(m,y,I){return m*(1-I)+y*I}function td(m,y,I){return new ss(Qs(m.r,y.r,I),Qs(m.g,y.g,I),Qs(m.b,y.b,I),Qs(m.a,y.a,I))}function md(m,y,I){return m.map(function(U,J){return Qs(U,y[J],I)})}var Wu=Object.freeze({__proto__:null,number:Qs,color:td,array:md}),Pc=.95047,vc=1,lv=1.08883,Lf=4/29,Vf=6/29,Iu=3*Vf*Vf,lh=Vf*Vf*Vf,tu=Math.PI/180,vf=180/Math.PI;function yd(m){return m>lh?Math.pow(m,1/3):m/Iu+Lf}function uh(m){return m>Vf?m*m*m:Iu*(m-Lf)}function Os(m){return 255*(m<=.0031308?12.92*m:1.055*Math.pow(m,1/2.4)-.055)}function _u(m){return m/=255,m<=.04045?m/12.92:Math.pow((m+.055)/1.055,2.4)}function xu(m){var y=_u(m.r),I=_u(m.g),U=_u(m.b),J=yd((.4124564*y+.3575761*I+.1804375*U)/Pc),ne=yd((.2126729*y+.7151522*I+.072175*U)/vc),fe=yd((.0193339*y+.119192*I+.9503041*U)/lv);return{l:116*ne-16,a:500*(J-ne),b:200*(ne-fe),alpha:m.a}}function Dh(m){var y=(m.l+16)/116,I=isNaN(m.a)?y:y+m.a/500,U=isNaN(m.b)?y:y-m.b/200;return y=vc*uh(y),I=Pc*uh(I),U=lv*uh(U),new ss(Os(3.2404542*I-1.5371385*y-.4985314*U),Os(-.969266*I+1.8760108*y+.041556*U),Os(.0556434*I-.2040259*y+1.0572252*U),m.alpha)}function Ds(m,y,I){return{l:Qs(m.l,y.l,I),a:Qs(m.a,y.a,I),b:Qs(m.b,y.b,I),alpha:Qs(m.alpha,y.alpha,I)}}function Pf(m){var y=xu(m),I=y.l,U=y.a,J=y.b,ne=Math.atan2(J,U)*vf;return{h:ne<0?ne+360:ne,c:Math.sqrt(U*U+J*J),l:I,alpha:m.a}}function Ic(m){var y=m.h*tu,I=m.c,U=m.l;return Dh({l:U,a:Math.cos(y)*I,b:Math.sin(y)*I,alpha:m.alpha})}function Zu(m,y,I){var U=y-m;return m+I*(U>180||U<-180?U-360*Math.round(U/360):U)}function Hf(m,y,I){return{h:Zu(m.h,y.h,I),c:Qs(m.c,y.c,I),l:Qs(m.l,y.l,I),alpha:Qs(m.alpha,y.alpha,I)}}var pc={forward:xu,reverse:Dh,interpolate:Ds},pf={forward:Pf,reverse:Ic,interpolate:Hf},Rh=Object.freeze({__proto__:null,lab:pc,hcl:pf}),Dl=function(y,I,U,J,ne){this.type=y,this.operator=I,this.interpolation=U,this.input=J,this.labels=[],this.outputs=[];for(var fe=0,Fe=ne;fe1}))return I.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);J={name:"cubic-bezier",controlPoints:Qe}}else return I.error("Unknown interpolation type "+String(J[0]),1,0);if(y.length-1<4)return I.error("Expected at least 4 arguments, but found only "+(y.length-1)+".");if((y.length-1)%2!==0)return I.error("Expected an even number of arguments.");if(ne=I.parse(ne,2,Zn),!ne)return null;var st=[],mt=null;U==="interpolate-hcl"||U==="interpolate-lab"?mt=Tl:I.expectedType&&I.expectedType.kind!=="value"&&(mt=I.expectedType);for(var Xt=0;Xt=ur)return I.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',Lr);var _i=I.parse(nr,Yr,mt);if(!_i)return null;mt=mt||_i.type,st.push([ur,_i])}return mt.kind!=="number"&&mt.kind!=="color"&&!(mt.kind==="array"&&mt.itemType.kind==="number"&&typeof mt.N=="number")?I.error("Type "+Ps(mt)+" is not interpolatable."):new Dl(mt,U,J,ne,st)},Dl.prototype.evaluate=function(y){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(y);var J=this.input.evaluate(y);if(J<=I[0])return U[0].evaluate(y);var ne=I.length;if(J>=I[ne-1])return U[ne-1].evaluate(y);var fe=ic(I,J),Fe=I[fe],Qe=I[fe+1],st=Dl.interpolationFactor(this.interpolation,J,Fe,Qe),mt=U[fe].evaluate(y),Xt=U[fe+1].evaluate(y);return this.operator==="interpolate"?Wu[this.type.kind.toLowerCase()](mt,Xt,st):this.operator==="interpolate-hcl"?pf.reverse(pf.interpolate(pf.forward(mt),pf.forward(Xt),st)):pc.reverse(pc.interpolate(pc.forward(mt),pc.forward(Xt),st))},Dl.prototype.eachChild=function(y){y(this.input);for(var I=0,U=this.outputs;I=U.length)throw new Es("Array index out of bounds: "+I+" > "+(U.length-1)+".");if(I!==Math.floor(I))throw new Es("Array index must be an integer, but found "+I+" instead.");return U[I]},gc.prototype.eachChild=function(y){y(this.index),y(this.input)},gc.prototype.outputDefined=function(){return!1},gc.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var hl=function(y,I){this.type=Co,this.needle=y,this.haystack=I};hl.parse=function(y,I){if(y.length!==3)return I.error("Expected 2 arguments, but found "+(y.length-1)+" instead.");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,So);return!U||!J?null:Bf(U.type,[Co,ko,Zn,Ec,So])?new hl(U,J):I.error("Expected first argument to be of type boolean, string, number or null, but found "+Ps(U.type)+" instead")},hl.prototype.evaluate=function(y){var I=this.needle.evaluate(y),U=this.haystack.evaluate(y);if(!U)return!1;if(!Gc(I,["boolean","string","number","null"]))throw new Es("Expected first argument to be of type boolean, string, number or null, but found "+Ps(Ts(I))+" instead.");if(!Gc(U,["string","array"]))throw new Es("Expected second argument to be of type array or string, but found "+Ps(Ts(U))+" instead.");return U.indexOf(I)>=0},hl.prototype.eachChild=function(y){y(this.needle),y(this.haystack)},hl.prototype.outputDefined=function(){return!0},hl.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var ru=function(y,I,U){this.type=Zn,this.needle=y,this.haystack=I,this.fromIndex=U};ru.parse=function(y,I){if(y.length<=2||y.length>=5)return I.error("Expected 3 or 4 arguments, but found "+(y.length-1)+" instead.");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,So);if(!U||!J)return null;if(!Bf(U.type,[Co,ko,Zn,Ec,So]))return I.error("Expected first argument to be of type boolean, string, number or null, but found "+Ps(U.type)+" instead");if(y.length===4){var ne=I.parse(y[3],3,Zn);return ne?new ru(U,J,ne):null}else return new ru(U,J)},ru.prototype.evaluate=function(y){var I=this.needle.evaluate(y),U=this.haystack.evaluate(y);if(!Gc(I,["boolean","string","number","null"]))throw new Es("Expected first argument to be of type boolean, string, number or null, but found "+Ps(Ts(I))+" instead.");if(!Gc(U,["string","array"]))throw new Es("Expected second argument to be of type array or string, but found "+Ps(Ts(U))+" instead.");if(this.fromIndex){var J=this.fromIndex.evaluate(y);return U.indexOf(I,J)}return U.indexOf(I)},ru.prototype.eachChild=function(y){y(this.needle),y(this.haystack),this.fromIndex&&y(this.fromIndex)},ru.prototype.outputDefined=function(){return!1},ru.prototype.serialize=function(){if(this.fromIndex!=null&&this.fromIndex!==void 0){var y=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),y]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var mc=function(y,I,U,J,ne,fe){this.inputType=y,this.type=I,this.input=U,this.cases=J,this.outputs=ne,this.otherwise=fe};mc.parse=function(y,I){if(y.length<5)return I.error("Expected at least 4 arguments, but found only "+(y.length-1)+".");if(y.length%2!==1)return I.error("Expected an even number of arguments.");var U,J;I.expectedType&&I.expectedType.kind!=="value"&&(J=I.expectedType);for(var ne={},fe=[],Fe=2;FeNumber.MAX_SAFE_INTEGER)return mt.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if(typeof nr=="number"&&Math.floor(nr)!==nr)return mt.error("Numeric branch labels must be integer values.");if(!U)U=Ts(nr);else if(mt.checkSubtype(U,Ts(nr)))return null;if(typeof ne[String(nr)]!="undefined")return mt.error("Branch labels must be unique.");ne[String(nr)]=fe.length}var Lr=I.parse(st,Fe,J);if(!Lr)return null;J=J||Lr.type,fe.push(Lr)}var Yr=I.parse(y[1],1,So);if(!Yr)return null;var _i=I.parse(y[y.length-1],y.length-1,J);return!_i||Yr.type.kind!=="value"&&I.concat(1).checkSubtype(U,Yr.type)?null:new mc(U,J,Yr,ne,fe,_i)},mc.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=Ts(I)===this.inputType&&this.outputs[this.cases[I]]||this.otherwise;return U.evaluate(y)},mc.prototype.eachChild=function(y){y(this.input),this.outputs.forEach(y),y(this.otherwise)},mc.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})&&this.otherwise.outputDefined()},mc.prototype.serialize=function(){for(var y=this,I=["match",this.input.serialize()],U=Object.keys(this.cases).sort(),J=[],ne={},fe=0,Fe=U;fe=5)return I.error("Expected 3 or 4 arguments, but found "+(y.length-1)+" instead.");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,Zn);if(!U||!J)return null;if(!Bf(U.type,[Ql(So),ko,So]))return I.error("Expected first argument to be of type array or string, but found "+Ps(U.type)+" instead");if(y.length===4){var ne=I.parse(y[3],3,Zn);return ne?new nc(U.type,U,J,ne):null}else return new nc(U.type,U,J)},nc.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=this.beginIndex.evaluate(y);if(!Gc(I,["string","array"]))throw new Es("Expected first argument to be of type array or string, but found "+Ps(Ts(I))+" instead.");if(this.endIndex){var J=this.endIndex.evaluate(y);return I.slice(U,J)}return I.slice(U)},nc.prototype.eachChild=function(y){y(this.input),y(this.beginIndex),this.endIndex&&y(this.endIndex)},nc.prototype.outputDefined=function(){return!1},nc.prototype.serialize=function(){if(this.endIndex!=null&&this.endIndex!==void 0){var y=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),y]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};function gf(m,y){return m==="=="||m==="!="?y.kind==="boolean"||y.kind==="string"||y.kind==="number"||y.kind==="null"||y.kind==="value":y.kind==="string"||y.kind==="number"||y.kind==="value"}function gt(m,y,I){return y===I}function Bt(m,y,I){return y!==I}function wr(m,y,I){return yI}function Ur(m,y,I){return y<=I}function fi(m,y,I){return y>=I}function xi(m,y,I,U){return U.compare(y,I)===0}function Fi(m,y,I,U){return!xi(m,y,I,U)}function Xi(m,y,I,U){return U.compare(y,I)<0}function hn(m,y,I,U){return U.compare(y,I)>0}function Ti(m,y,I,U){return U.compare(y,I)<=0}function qi(m,y,I,U){return U.compare(y,I)>=0}function Ii(m,y,I){var U=m!=="=="&&m!=="!=";return function(){function J(ne,fe,Fe){this.type=Co,this.lhs=ne,this.rhs=fe,this.collator=Fe,this.hasUntypedArgument=ne.type.kind==="value"||fe.type.kind==="value"}return J.parse=function(fe,Fe){if(fe.length!==3&&fe.length!==4)return Fe.error("Expected two or three arguments.");var Qe=fe[0],st=Fe.parse(fe[1],1,So);if(!st)return null;if(!gf(Qe,st.type))return Fe.concat(1).error('"'+Qe+`" comparisons are not supported for type '`+Ps(st.type)+"'.");var mt=Fe.parse(fe[2],2,So);if(!mt)return null;if(!gf(Qe,mt.type))return Fe.concat(2).error('"'+Qe+`" comparisons are not supported for type '`+Ps(mt.type)+"'.");if(st.type.kind!==mt.type.kind&&st.type.kind!=="value"&&mt.type.kind!=="value")return Fe.error("Cannot compare types '"+Ps(st.type)+"' and '"+Ps(mt.type)+"'.");U&&(st.type.kind==="value"&&mt.type.kind!=="value"?st=new Sl(mt.type,[st]):st.type.kind!=="value"&&mt.type.kind==="value"&&(mt=new Sl(st.type,[mt])));var Xt=null;if(fe.length===4){if(st.type.kind!=="string"&&mt.type.kind!=="string"&&st.type.kind!=="value"&&mt.type.kind!=="value")return Fe.error("Cannot use collator to compare non-string types.");if(Xt=Fe.parse(fe[3],3,nh),!Xt)return null}return new J(st,mt,Xt)},J.prototype.evaluate=function(fe){var Fe=this.lhs.evaluate(fe),Qe=this.rhs.evaluate(fe);if(U&&this.hasUntypedArgument){var st=Ts(Fe),mt=Ts(Qe);if(st.kind!==mt.kind||!(st.kind==="string"||st.kind==="number"))throw new Es('Expected arguments for "'+m+'" to be (string, string) or (number, number), but found ('+st.kind+", "+mt.kind+") instead.")}if(this.collator&&!U&&this.hasUntypedArgument){var Xt=Ts(Fe),ur=Ts(Qe);if(Xt.kind!=="string"||ur.kind!=="string")return y(fe,Fe,Qe)}return this.collator?I(fe,Fe,Qe,this.collator.evaluate(fe)):y(fe,Fe,Qe)},J.prototype.eachChild=function(fe){fe(this.lhs),fe(this.rhs),this.collator&&fe(this.collator)},J.prototype.outputDefined=function(){return!0},J.prototype.serialize=function(){var fe=[m];return this.eachChild(function(Fe){fe.push(Fe.serialize())}),fe},J}()}var mi=Ii("==",gt,xi),Pn=Ii("!=",Bt,Fi),Ea=Ii("<",wr,Xi),Ta=Ii(">",vr,hn),ka=Ii("<=",Ur,Ti),qa=Ii(">=",fi,qi),Cn=function(y,I,U,J,ne){this.type=ko,this.number=y,this.locale=I,this.currency=U,this.minFractionDigits=J,this.maxFractionDigits=ne};Cn.parse=function(y,I){if(y.length!==3)return I.error("Expected two arguments.");var U=I.parse(y[1],1,Zn);if(!U)return null;var J=y[2];if(typeof J!="object"||Array.isArray(J))return I.error("NumberFormat options argument must be an object.");var ne=null;if(J.locale&&(ne=I.parse(J.locale,1,ko),!ne))return null;var fe=null;if(J.currency&&(fe=I.parse(J.currency,1,ko),!fe))return null;var Fe=null;if(J["min-fraction-digits"]&&(Fe=I.parse(J["min-fraction-digits"],1,Zn),!Fe))return null;var Qe=null;return J["max-fraction-digits"]&&(Qe=I.parse(J["max-fraction-digits"],1,Zn),!Qe)?null:new Cn(U,ne,fe,Fe,Qe)},Cn.prototype.evaluate=function(y){return new Intl.NumberFormat(this.locale?this.locale.evaluate(y):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(y):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(y):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(y):void 0}).format(this.number.evaluate(y))},Cn.prototype.eachChild=function(y){y(this.number),this.locale&&y(this.locale),this.currency&&y(this.currency),this.minFractionDigits&&y(this.minFractionDigits),this.maxFractionDigits&&y(this.maxFractionDigits)},Cn.prototype.outputDefined=function(){return!1},Cn.prototype.serialize=function(){var y={};return this.locale&&(y.locale=this.locale.serialize()),this.currency&&(y.currency=this.currency.serialize()),this.minFractionDigits&&(y["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(y["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),y]};var sn=function(y){this.type=Zn,this.input=y};sn.parse=function(y,I){if(y.length!==2)return I.error("Expected 1 argument, but found "+(y.length-1)+" instead.");var U=I.parse(y[1],1);return U?U.type.kind!=="array"&&U.type.kind!=="string"&&U.type.kind!=="value"?I.error("Expected argument of type string or array, but found "+Ps(U.type)+" instead."):new sn(U):null},sn.prototype.evaluate=function(y){var I=this.input.evaluate(y);if(typeof I=="string")return I.length;if(Array.isArray(I))return I.length;throw new Es("Expected value to be of type string or array, but found "+Ps(Ts(I))+" instead.")},sn.prototype.eachChild=function(y){y(this.input)},sn.prototype.outputDefined=function(){return!1},sn.prototype.serialize=function(){var y=["length"];return this.eachChild(function(I){y.push(I.serialize())}),y};var Ua={"==":mi,"!=":Pn,">":Ta,"<":Ea,">=":qa,"<=":ka,array:Sl,at:gc,boolean:Sl,case:Yc,coalesce:Xu,collator:tc,format:ec,image:Is,in:hl,"index-of":ru,interpolate:Dl,"interpolate-hcl":Dl,"interpolate-lab":Dl,length:sn,let:Dc,literal:ds,match:mc,number:Sl,"number-format":Cn,object:Sl,slice:nc,step:yu,string:Sl,"to-boolean":wo,"to-color":wo,"to-number":wo,"to-string":wo,var:Lc,within:Lu};function mo(m,y){var I=y[0],U=y[1],J=y[2],ne=y[3];I=I.evaluate(m),U=U.evaluate(m),J=J.evaluate(m);var fe=ne?ne.evaluate(m):1,Fe=hc(I,U,J,fe);if(Fe)throw new Es(Fe);return new ss(I/255*fe,U/255*fe,J/255*fe,fe)}function Xo(m,y){return m in y}function As(m,y){var I=y[m];return typeof I=="undefined"?null:I}function es(m,y,I,U){for(;I<=U;){var J=I+U>>1;if(y[J]===m)return!0;y[J]>m?U=J-1:I=J+1}return!1}function _s(m){return{type:m}}$a.register(Ua,{error:[cf,[ko],function(m,y){var I=y[0];throw new Es(I.evaluate(m))}],typeof:[ko,[So],function(m,y){var I=y[0];return Ps(Ts(I.evaluate(m)))}],"to-rgba":[Ql(Zn,4),[Tl],function(m,y){var I=y[0];return I.evaluate(m).toArray()}],rgb:[Tl,[Zn,Zn,Zn],mo],rgba:[Tl,[Zn,Zn,Zn,Zn],mo],has:{type:Co,overloads:[[[ko],function(m,y){var I=y[0];return Xo(I.evaluate(m),m.properties())}],[[ko,uf],function(m,y){var I=y[0],U=y[1];return Xo(I.evaluate(m),U.evaluate(m))}]]},get:{type:So,overloads:[[[ko],function(m,y){var I=y[0];return As(I.evaluate(m),m.properties())}],[[ko,uf],function(m,y){var I=y[0],U=y[1];return As(I.evaluate(m),U.evaluate(m))}]]},"feature-state":[So,[ko],function(m,y){var I=y[0];return As(I.evaluate(m),m.featureState||{})}],properties:[uf,[],function(m){return m.properties()}],"geometry-type":[ko,[],function(m){return m.geometryType()}],id:[So,[],function(m){return m.id()}],zoom:[Zn,[],function(m){return m.globals.zoom}],"heatmap-density":[Zn,[],function(m){return m.globals.heatmapDensity||0}],"line-progress":[Zn,[],function(m){return m.globals.lineProgress||0}],accumulated:[So,[],function(m){return m.globals.accumulated===void 0?null:m.globals.accumulated}],"+":[Zn,_s(Zn),function(m,y){for(var I=0,U=0,J=y;U":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J>ne}],"filter-id->":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U>J}],"filter-<=":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J<=ne}],"filter-id-<=":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U<=J}],"filter->=":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J>=ne}],"filter-id->=":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U>=J}],"filter-has":[Co,[So],function(m,y){var I=y[0];return I.value in m.properties()}],"filter-has-id":[Co,[],function(m){return m.id()!==null&&m.id()!==void 0}],"filter-type-in":[Co,[Ql(ko)],function(m,y){var I=y[0];return I.value.indexOf(m.geometryType())>=0}],"filter-id-in":[Co,[Ql(So)],function(m,y){var I=y[0];return I.value.indexOf(m.id())>=0}],"filter-in-small":[Co,[ko,Ql(So)],function(m,y){var I=y[0],U=y[1];return U.value.indexOf(m.properties()[I.value])>=0}],"filter-in-large":[Co,[ko,Ql(So)],function(m,y){var I=y[0],U=y[1];return es(m.properties()[I.value],U.value,0,U.value.length-1)}],all:{type:Co,overloads:[[[Co,Co],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)&&U.evaluate(m)}],[_s(Co),function(m,y){for(var I=0,U=y;I-1}function ia(m){return!!m.expression&&m.expression.interpolated}function Ja(m){return m instanceof Number?"number":m instanceof String?"string":m instanceof Boolean?"boolean":Array.isArray(m)?"array":m===null?"null":typeof m}function ps(m){return typeof m=="object"&&m!==null&&!Array.isArray(m)}function Jo(m){return m}function iu(m,y){var I=y.type==="color",U=m.stops&&typeof m.stops[0][0]=="object",J=U||m.property!==void 0,ne=U||!J,fe=m.type||(ia(y)?"exponential":"interval");if(I&&(m=Il({},m),m.stops&&(m.stops=m.stops.map(function($n){return[$n[0],ss.parse($n[1])]})),m.default?m.default=ss.parse(m.default):m.default=ss.parse(y.default)),m.colorSpace&&m.colorSpace!=="rgb"&&!Rh[m.colorSpace])throw new Error("Unknown color space: "+m.colorSpace);var Fe,Qe,st;if(fe==="exponential")Fe=bu;else if(fe==="interval")Fe=mf;else if(fe==="categorical"){Fe=ac,Qe=Object.create(null);for(var mt=0,Xt=m.stops;mt=m.stops[U-1][0])return m.stops[U-1][1];var J=ic(m.stops.map(function(ne){return ne[0]}),I);return m.stops[J][1]}function bu(m,y,I){var U=m.base!==void 0?m.base:1;if(Ja(I)!=="number")return Du(m.default,y.default);var J=m.stops.length;if(J===1||I<=m.stops[0][0])return m.stops[0][1];if(I>=m.stops[J-1][0])return m.stops[J-1][1];var ne=ic(m.stops.map(function(Xt){return Xt[0]}),I),fe=Ru(I,U,m.stops[ne][0],m.stops[ne+1][0]),Fe=m.stops[ne][1],Qe=m.stops[ne+1][1],st=Wu[y.type]||Jo;if(m.colorSpace&&m.colorSpace!=="rgb"){var mt=Rh[m.colorSpace];st=function(Xt,ur){return mt.reverse(mt.interpolate(mt.forward(Xt),mt.forward(ur),fe))}}return typeof Fe.evaluate=="function"?{evaluate:function(){for(var ur=[],nr=arguments.length;nr--;)ur[nr]=arguments[nr];var Lr=Fe.evaluate.apply(void 0,ur),Yr=Qe.evaluate.apply(void 0,ur);if(!(Lr===void 0||Yr===void 0))return st(Lr,Yr,fe)}}:st(Fe,Qe,fe)}function Kc(m,y,I){return y.type==="color"?I=ss.parse(I):y.type==="formatted"?I=Ul.fromString(I.toString()):y.type==="resolvedImage"?I=Js.fromString(I.toString()):Ja(I)!==y.type&&(y.type!=="enum"||!y.values[I])&&(I=void 0),Du(I,m.default,y.default)}function Ru(m,y,I,U){var J=U-I,ne=m-I;return J===0?0:y===1?ne/J:(Math.pow(y,ne)-1)/(Math.pow(y,J)-1)}var Rc=function(y,I){this.expression=y,this._warningHistory={},this._evaluator=new Qo,this._defaultValue=I?ee(I):null,this._enumValues=I&&I.type==="enum"?I.values:null};Rc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._evaluator.globals=y,this._evaluator.feature=I,this._evaluator.featureState=U,this._evaluator.canonical=J,this._evaluator.availableImages=ne||null,this._evaluator.formattedSection=fe,this.expression.evaluate(this._evaluator)},Rc.prototype.evaluate=function(y,I,U,J,ne,fe){this._evaluator.globals=y,this._evaluator.feature=I||null,this._evaluator.featureState=U||null,this._evaluator.canonical=J,this._evaluator.availableImages=ne||null,this._evaluator.formattedSection=fe||null;try{var Fe=this.expression.evaluate(this._evaluator);if(Fe==null||typeof Fe=="number"&&Fe!==Fe)return this._defaultValue;if(this._enumValues&&!(Fe in this._enumValues))throw new Es("Expected value to be one of "+Object.keys(this._enumValues).map(function(Qe){return JSON.stringify(Qe)}).join(", ")+", but found "+JSON.stringify(Fe)+" instead.");return Fe}catch(Qe){return this._warningHistory[Qe.message]||(this._warningHistory[Qe.message]=!0,typeof console!="undefined"&&console.warn(Qe.message)),this._defaultValue}};function Ra(m){return Array.isArray(m)&&m.length>0&&typeof m[0]=="string"&&m[0]in Ua}function eo(m,y){var I=new fl(Ua,[],y?Q(y):void 0),U=I.parse(m,void 0,void 0,void 0,y&&y.type==="string"?{typeAnnotation:"coerce"}:void 0);return U?No(new Rc(U,y)):yl(I.errors)}var Jc=function(y,I){this.kind=y,this._styleExpression=I,this.isStateDependent=y!=="constant"&&!eu(I.expression)};Jc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._styleExpression.evaluateWithoutErrorHandling(y,I,U,J,ne,fe)},Jc.prototype.evaluate=function(y,I,U,J,ne,fe){return this._styleExpression.evaluate(y,I,U,J,ne,fe)};var yc=function(y,I,U,J){this.kind=y,this.zoomStops=U,this._styleExpression=I,this.isStateDependent=y!=="camera"&&!eu(I.expression),this.interpolationType=J};yc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._styleExpression.evaluateWithoutErrorHandling(y,I,U,J,ne,fe)},yc.prototype.evaluate=function(y,I,U,J,ne,fe){return this._styleExpression.evaluate(y,I,U,J,ne,fe)},yc.prototype.interpolationFactor=function(y,I,U){return this.interpolationType?Dl.interpolationFactor(this.interpolationType,y,I,U):0};function _c(m,y){if(m=eo(m,y),m.result==="error")return m;var I=m.value.expression,U=ed(I);if(!U&&!Gs(y))return yl([new Ks("","data expressions not supported")]);var J=Pu(I,["zoom"]);if(!J&&!Rs(y))return yl([new Ks("","zoom expressions not supported")]);var ne=B(I);if(!ne&&!J)return yl([new Ks("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(ne instanceof Ks)return yl([ne]);if(ne instanceof Dl&&!ia(y))return yl([new Ks("",'"interpolate" expressions cannot be used with this property')]);if(!ne)return No(U?new Jc("constant",m.value):new Jc("source",m.value));var fe=ne instanceof Dl?ne.interpolation:void 0;return No(U?new yc("camera",m.value,ne.labels,fe):new yc("composite",m.value,ne.labels,fe))}var le=function(y,I){this._parameters=y,this._specification=I,Il(this,iu(this._parameters,this._specification))};le.deserialize=function(y){return new le(y._parameters,y._specification)},le.serialize=function(y){return{_parameters:y._parameters,_specification:y._specification}};function w(m,y){if(ps(m))return new le(m,y);if(Ra(m)){var I=_c(m,y);if(I.result==="error")throw new Error(I.value.map(function(J){return J.key+": "+J.message}).join(", "));return I.value}else{var U=m;return typeof m=="string"&&y.type==="color"&&(U=ss.parse(m)),{kind:"constant",evaluate:function(){return U}}}}function B(m){var y=null;if(m instanceof Dc)y=B(m.result);else if(m instanceof Xu)for(var I=0,U=m.args;IU.maximum?[new ha(y,I,I+" is greater than the maximum value "+U.maximum)]:[]}function it(m){var y=m.valueSpec,I=vo(m.value.type),U,J={},ne,fe,Fe=I!=="categorical"&&m.value.property===void 0,Qe=!Fe,st=Ja(m.value.stops)==="array"&&Ja(m.value.stops[0])==="array"&&Ja(m.value.stops[0][0])==="object",mt=se({key:m.key,value:m.value,valueSpec:m.styleSpec.function,style:m.style,styleSpec:m.styleSpec,objectElementValidators:{stops:Xt,default:Lr}});return I==="identity"&&Fe&&mt.push(new ha(m.key,m.value,'missing required property "property"')),I!=="identity"&&!m.value.stops&&mt.push(new ha(m.key,m.value,'missing required property "stops"')),I==="exponential"&&m.valueSpec.expression&&!ia(m.valueSpec)&&mt.push(new ha(m.key,m.value,"exponential functions not supported")),m.styleSpec.$version>=8&&(Qe&&!Gs(m.valueSpec)?mt.push(new ha(m.key,m.value,"property functions not supported")):Fe&&!Rs(m.valueSpec)&&mt.push(new ha(m.key,m.value,"zoom functions not supported"))),(I==="categorical"||st)&&m.value.property===void 0&&mt.push(new ha(m.key,m.value,'"property" property is required')),mt;function Xt(Yr){if(I==="identity")return[new ha(Yr.key,Yr.value,'identity function may not have a "stops" property')];var _i=[],si=Yr.value;return _i=_i.concat(qe({key:Yr.key,value:si,valueSpec:Yr.valueSpec,style:Yr.style,styleSpec:Yr.styleSpec,arrayElementValidator:ur})),Ja(si)==="array"&&si.length===0&&_i.push(new ha(Yr.key,si,"array must have at least one stop")),_i}function ur(Yr){var _i=[],si=Yr.value,Hi=Yr.key;if(Ja(si)!=="array")return[new ha(Hi,si,"array expected, "+Ja(si)+" found")];if(si.length!==2)return[new ha(Hi,si,"array length 2 expected, length "+si.length+" found")];if(st){if(Ja(si[0])!=="object")return[new ha(Hi,si,"object expected, "+Ja(si[0])+" found")];if(si[0].zoom===void 0)return[new ha(Hi,si,"object stop key must have zoom")];if(si[0].value===void 0)return[new ha(Hi,si,"object stop key must have value")];if(fe&&fe>vo(si[0].zoom))return[new ha(Hi,si[0].zoom,"stop zoom values must appear in ascending order")];vo(si[0].zoom)!==fe&&(fe=vo(si[0].zoom),ne=void 0,J={}),_i=_i.concat(se({key:Hi+"[0]",value:si[0],valueSpec:{zoom:{}},style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{zoom:je,value:nr}}))}else _i=_i.concat(nr({key:Hi+"[0]",value:si[0],valueSpec:{},style:Yr.style,styleSpec:Yr.styleSpec},si));return Ra(Wl(si[1]))?_i.concat([new ha(Hi+"[1]",si[1],"expressions are not allowed in function stops.")]):_i.concat(Wa({key:Hi+"[1]",value:si[1],valueSpec:y,style:Yr.style,styleSpec:Yr.styleSpec}))}function nr(Yr,_i){var si=Ja(Yr.value),Hi=vo(Yr.value),Ei=Yr.value!==null?Yr.value:_i;if(!U)U=si;else if(si!==U)return[new ha(Yr.key,Ei,si+" stop domain type must match previous stop domain type "+U)];if(si!=="number"&&si!=="string"&&si!=="boolean")return[new ha(Yr.key,Ei,"stop domain value must be a number, string, or boolean")];if(si!=="number"&&I!=="categorical"){var Vi="number expected, "+si+" found";return Gs(y)&&I===void 0&&(Vi+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new ha(Yr.key,Ei,Vi)]}return I==="categorical"&&si==="number"&&(!isFinite(Hi)||Math.floor(Hi)!==Hi)?[new ha(Yr.key,Ei,"integer expected, found "+Hi)]:I!=="categorical"&&si==="number"&&ne!==void 0&&Hi=2&&m[1]!=="$id"&&m[1]!=="$type";case"in":return m.length>=3&&(typeof m[1]!="string"||Array.isArray(m[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return m.length!==3||Array.isArray(m[1])||Array.isArray(m[2]);case"any":case"all":for(var y=0,I=m.slice(1);yy?1:0}function Oe(m){if(!Array.isArray(m))return!1;if(m[0]==="within")return!0;for(var y=1;y"||y==="<="||y===">="?He(m[1],m[2],y):y==="any"?et(m.slice(1)):y==="all"?["all"].concat(m.slice(1).map(Je)):y==="none"?["all"].concat(m.slice(1).map(Je).map(Ut)):y==="in"?Mt(m[1],m.slice(2)):y==="!in"?Ut(Mt(m[1],m.slice(2))):y==="has"?Rt(m[1]):y==="!has"?Ut(Rt(m[1])):y==="within"?m:!0;return I}function He(m,y,I){switch(m){case"$type":return["filter-type-"+I,y];case"$id":return["filter-id-"+I,y];default:return["filter-"+I,m,y]}}function et(m){return["any"].concat(m.map(Je))}function Mt(m,y){if(y.length===0)return!1;switch(m){case"$type":return["filter-type-in",["literal",y]];case"$id":return["filter-id-in",["literal",y]];default:return y.length>200&&!y.some(function(I){return typeof I!=typeof y[0]})?["filter-in-large",m,["literal",y.sort(Pe)]]:["filter-in-small",m,["literal",y]]}}function Rt(m){switch(m){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",m]}}function Ut(m){return["!",m]}function tr(m){return Mr(Wl(m.value))?yt(Il({},m,{expressionContext:"filter",valueSpec:{value:"boolean"}})):yr(m)}function yr(m){var y=m.value,I=m.key;if(Ja(y)!=="array")return[new ha(I,y,"array expected, "+Ja(y)+" found")];var U=m.styleSpec,J,ne=[];if(y.length<1)return[new ha(I,y,"filter array must have at least 1 element")];switch(ne=ne.concat(hr({key:I+"[0]",value:y[0],valueSpec:U.filter_operator,style:m.style,styleSpec:m.styleSpec})),vo(y[0])){case"<":case"<=":case">":case">=":y.length>=2&&vo(y[1])==="$type"&&ne.push(new ha(I,y,'"$type" cannot be use with operator "'+y[0]+'"'));case"==":case"!=":y.length!==3&&ne.push(new ha(I,y,'filter array for operator "'+y[0]+'" must have 3 elements'));case"in":case"!in":y.length>=2&&(J=Ja(y[1]),J!=="string"&&ne.push(new ha(I+"[1]",y[1],"string expected, "+J+" found")));for(var fe=2;fe=mt[nr+0]&&U>=mt[nr+1])?(fe[ur]=!0,ne.push(st[ur])):fe[ur]=!1}}},nu.prototype._forEachCell=function(m,y,I,U,J,ne,fe,Fe){for(var Qe=this._convertToCellCoord(m),st=this._convertToCellCoord(y),mt=this._convertToCellCoord(I),Xt=this._convertToCellCoord(U),ur=Qe;ur<=mt;ur++)for(var nr=st;nr<=Xt;nr++){var Lr=this.d*nr+ur;if(!(Fe&&!Fe(this._convertFromCellCoord(ur),this._convertFromCellCoord(nr),this._convertFromCellCoord(ur+1),this._convertFromCellCoord(nr+1)))&&J.call(this,m,y,I,U,Lr,ne,fe,Fe))return}},nu.prototype._convertFromCellCoord=function(m){return(m-this.padding)/this.scale},nu.prototype._convertToCellCoord=function(m){return Math.max(0,Math.min(this.d-1,Math.floor(m*this.scale)+this.padding))},nu.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var m=this.cells,y=el+this.cells.length+1+1,I=0,U=0;U=0)){var Xt=m[mt];st[mt]=zl[Qe].shallow.indexOf(mt)>=0?Xt:Ue(Xt,y)}m instanceof Error&&(st.message=m.message)}if(st.$name)throw new Error("$name property is reserved for worker serialization logic.");return Qe!=="Object"&&(st.$name=Qe),st}throw new Error("can't serialize object of type "+typeof m)}function We(m){if(m==null||typeof m=="boolean"||typeof m=="number"||typeof m=="string"||m instanceof Boolean||m instanceof Number||m instanceof String||m instanceof Date||m instanceof RegExp||we(m)||Be(m)||ArrayBuffer.isView(m)||m instanceof zc)return m;if(Array.isArray(m))return m.map(We);if(typeof m=="object"){var y=m.$name||"Object",I=zl[y],U=I.klass;if(!U)throw new Error("can't deserialize unregistered class "+y);if(U.deserialize)return U.deserialize(m);for(var J=Object.create(U.prototype),ne=0,fe=Object.keys(m);ne=0?Qe:We(Qe)}}return J}throw new Error("can't deserialize object of type "+typeof m)}var wt=function(){this.first=!0};wt.prototype.update=function(y,I){var U=Math.floor(y);return this.first?(this.first=!1,this.lastIntegerZoom=U,this.lastIntegerZoomTime=0,this.lastZoom=y,this.lastFloorZoom=U,!0):(this.lastFloorZoom>U?(this.lastIntegerZoom=U+1,this.lastIntegerZoomTime=I):this.lastFloorZoom=128&&m<=255},Arabic:function(m){return m>=1536&&m<=1791},"Arabic Supplement":function(m){return m>=1872&&m<=1919},"Arabic Extended-A":function(m){return m>=2208&&m<=2303},"Hangul Jamo":function(m){return m>=4352&&m<=4607},"Unified Canadian Aboriginal Syllabics":function(m){return m>=5120&&m<=5759},Khmer:function(m){return m>=6016&&m<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(m){return m>=6320&&m<=6399},"General Punctuation":function(m){return m>=8192&&m<=8303},"Letterlike Symbols":function(m){return m>=8448&&m<=8527},"Number Forms":function(m){return m>=8528&&m<=8591},"Miscellaneous Technical":function(m){return m>=8960&&m<=9215},"Control Pictures":function(m){return m>=9216&&m<=9279},"Optical Character Recognition":function(m){return m>=9280&&m<=9311},"Enclosed Alphanumerics":function(m){return m>=9312&&m<=9471},"Geometric Shapes":function(m){return m>=9632&&m<=9727},"Miscellaneous Symbols":function(m){return m>=9728&&m<=9983},"Miscellaneous Symbols and Arrows":function(m){return m>=11008&&m<=11263},"CJK Radicals Supplement":function(m){return m>=11904&&m<=12031},"Kangxi Radicals":function(m){return m>=12032&&m<=12255},"Ideographic Description Characters":function(m){return m>=12272&&m<=12287},"CJK Symbols and Punctuation":function(m){return m>=12288&&m<=12351},Hiragana:function(m){return m>=12352&&m<=12447},Katakana:function(m){return m>=12448&&m<=12543},Bopomofo:function(m){return m>=12544&&m<=12591},"Hangul Compatibility Jamo":function(m){return m>=12592&&m<=12687},Kanbun:function(m){return m>=12688&&m<=12703},"Bopomofo Extended":function(m){return m>=12704&&m<=12735},"CJK Strokes":function(m){return m>=12736&&m<=12783},"Katakana Phonetic Extensions":function(m){return m>=12784&&m<=12799},"Enclosed CJK Letters and Months":function(m){return m>=12800&&m<=13055},"CJK Compatibility":function(m){return m>=13056&&m<=13311},"CJK Unified Ideographs Extension A":function(m){return m>=13312&&m<=19903},"Yijing Hexagram Symbols":function(m){return m>=19904&&m<=19967},"CJK Unified Ideographs":function(m){return m>=19968&&m<=40959},"Yi Syllables":function(m){return m>=40960&&m<=42127},"Yi Radicals":function(m){return m>=42128&&m<=42191},"Hangul Jamo Extended-A":function(m){return m>=43360&&m<=43391},"Hangul Syllables":function(m){return m>=44032&&m<=55215},"Hangul Jamo Extended-B":function(m){return m>=55216&&m<=55295},"Private Use Area":function(m){return m>=57344&&m<=63743},"CJK Compatibility Ideographs":function(m){return m>=63744&&m<=64255},"Arabic Presentation Forms-A":function(m){return m>=64336&&m<=65023},"Vertical Forms":function(m){return m>=65040&&m<=65055},"CJK Compatibility Forms":function(m){return m>=65072&&m<=65103},"Small Form Variants":function(m){return m>=65104&&m<=65135},"Arabic Presentation Forms-B":function(m){return m>=65136&&m<=65279},"Halfwidth and Fullwidth Forms":function(m){return m>=65280&&m<=65519}};function zt(m){for(var y=0,I=m;y=65097&&m<=65103)||tt["CJK Compatibility Ideographs"](m)||tt["CJK Compatibility"](m)||tt["CJK Radicals Supplement"](m)||tt["CJK Strokes"](m)||tt["CJK Symbols and Punctuation"](m)&&!(m>=12296&&m<=12305)&&!(m>=12308&&m<=12319)&&m!==12336||tt["CJK Unified Ideographs Extension A"](m)||tt["CJK Unified Ideographs"](m)||tt["Enclosed CJK Letters and Months"](m)||tt["Hangul Compatibility Jamo"](m)||tt["Hangul Jamo Extended-A"](m)||tt["Hangul Jamo Extended-B"](m)||tt["Hangul Jamo"](m)||tt["Hangul Syllables"](m)||tt.Hiragana(m)||tt["Ideographic Description Characters"](m)||tt.Kanbun(m)||tt["Kangxi Radicals"](m)||tt["Katakana Phonetic Extensions"](m)||tt.Katakana(m)&&m!==12540||tt["Halfwidth and Fullwidth Forms"](m)&&m!==65288&&m!==65289&&m!==65293&&!(m>=65306&&m<=65310)&&m!==65339&&m!==65341&&m!==65343&&!(m>=65371&&m<=65503)&&m!==65507&&!(m>=65512&&m<=65519)||tt["Small Form Variants"](m)&&!(m>=65112&&m<=65118)&&!(m>=65123&&m<=65126)||tt["Unified Canadian Aboriginal Syllabics"](m)||tt["Unified Canadian Aboriginal Syllabics Extended"](m)||tt["Vertical Forms"](m)||tt["Yijing Hexagram Symbols"](m)||tt["Yi Syllables"](m)||tt["Yi Radicals"](m))}function oi(m){return!!(tt["Latin-1 Supplement"](m)&&(m===167||m===169||m===174||m===177||m===188||m===189||m===190||m===215||m===247)||tt["General Punctuation"](m)&&(m===8214||m===8224||m===8225||m===8240||m===8241||m===8251||m===8252||m===8258||m===8263||m===8264||m===8265||m===8273)||tt["Letterlike Symbols"](m)||tt["Number Forms"](m)||tt["Miscellaneous Technical"](m)&&(m>=8960&&m<=8967||m>=8972&&m<=8991||m>=8996&&m<=9e3||m===9003||m>=9085&&m<=9114||m>=9150&&m<=9165||m===9167||m>=9169&&m<=9179||m>=9186&&m<=9215)||tt["Control Pictures"](m)&&m!==9251||tt["Optical Character Recognition"](m)||tt["Enclosed Alphanumerics"](m)||tt["Geometric Shapes"](m)||tt["Miscellaneous Symbols"](m)&&!(m>=9754&&m<=9759)||tt["Miscellaneous Symbols and Arrows"](m)&&(m>=11026&&m<=11055||m>=11088&&m<=11097||m>=11192&&m<=11243)||tt["CJK Symbols and Punctuation"](m)||tt.Katakana(m)||tt["Private Use Area"](m)||tt["CJK Compatibility Forms"](m)||tt["Small Form Variants"](m)||tt["Halfwidth and Fullwidth Forms"](m)||m===8734||m===8756||m===8757||m>=9984&&m<=10087||m>=10102&&m<=10131||m===65532||m===65533)}function ui(m){return!(Ir(m)||oi(m))}function qr(m){return tt.Arabic(m)||tt["Arabic Supplement"](m)||tt["Arabic Extended-A"](m)||tt["Arabic Presentation Forms-A"](m)||tt["Arabic Presentation Forms-B"](m)}function Kr(m){return m>=1424&&m<=2303||tt["Arabic Presentation Forms-A"](m)||tt["Arabic Presentation Forms-B"](m)}function ii(m,y){return!(!y&&Kr(m)||m>=2304&&m<=3583||m>=3840&&m<=4255||tt.Khmer(m))}function vi(m){for(var y=0,I=m;y-1&&(dn=Jr.error),un&&un(m)};function ga(){_a.fire(new jo("pluginStateChange",{pluginStatus:dn,pluginURL:En}))}var _a=new Sn,so=function(){return dn},wa=function(m){return m({pluginStatus:dn,pluginURL:En}),_a.on("pluginStateChange",m),m},io=function(m,y,I){if(I===void 0&&(I=!1),dn===Jr.deferred||dn===Jr.loading||dn===Jr.loaded)throw new Error("setRTLTextPlugin cannot be called multiple times.");En=nt.resolveURL(m),dn=Jr.deferred,un=y,ga(),I||Ms()},Ms=function(){if(dn!==Jr.deferred||!En)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");dn=Jr.loading,ga(),En&&Zr({url:En},function(m){m?Nn(m):(dn=Jr.loaded,ga())})},xs={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return dn===Jr.loaded||xs.applyArabicShaping!=null},isLoading:function(){return dn===Jr.loading},setState:function(y){dn=y.pluginStatus,En=y.pluginURL},isParsed:function(){return xs.applyArabicShaping!=null&&xs.processBidirectionalText!=null&&xs.processStyledBidirectionalText!=null},getPluginURL:function(){return En}},Ns=function(){!xs.isLoading()&&!xs.isLoaded()&&so()==="deferred"&&Ms()},pn=function(y,I){this.zoom=y,I?(this.now=I.now,this.fadeDuration=I.fadeDuration,this.zoomHistory=I.zoomHistory,this.transition=I.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new wt,this.transition={})};pn.prototype.isSupportedScript=function(y){return ci(y,xs.isLoaded())},pn.prototype.crossFadingFactor=function(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},pn.prototype.getCrossfadeParameters=function(){var y=this.zoom,I=y-Math.floor(y),U=this.crossFadingFactor();return y>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:I+(1-I)*U}:{fromScale:.5,toScale:1,t:1-(1-U)*I}};var za=function(y,I){this.property=y,this.value=I,this.expression=w(I===void 0?y.specification.default:I,y.specification)};za.prototype.isDataDriven=function(){return this.expression.kind==="source"||this.expression.kind==="composite"},za.prototype.possiblyEvaluate=function(y,I,U){return this.property.possiblyEvaluate(this,y,I,U)};var Lo=function(y){this.property=y,this.value=new za(y,void 0)};Lo.prototype.transitioned=function(y,I){return new js(this.property,this.value,I,x({},y.transition,this.transition),y.now)},Lo.prototype.untransitioned=function(){return new js(this.property,this.value,null,{},0)};var Fo=function(y){this._properties=y,this._values=Object.create(y.defaultTransitionablePropertyValues)};Fo.prototype.getValue=function(y){return G(this._values[y].value.value)},Fo.prototype.setValue=function(y,I){this._values.hasOwnProperty(y)||(this._values[y]=new Lo(this._values[y].property)),this._values[y].value=new za(this._values[y].property,I===null?void 0:G(I))},Fo.prototype.getTransition=function(y){return G(this._values[y].transition)},Fo.prototype.setTransition=function(y,I){this._values.hasOwnProperty(y)||(this._values[y]=new Lo(this._values[y].property)),this._values[y].transition=G(I)||void 0},Fo.prototype.serialize=function(){for(var y={},I=0,U=Object.keys(this._values);Ithis.end)return this.prior=null,ne;if(this.value.isDataDriven())return this.prior=null,ne;if(Jfe.zoomHistory.lastIntegerZoom?{from:U,to:J}:{from:ne,to:J}},y.prototype.interpolate=function(U){return U},y}(Er),wi=function(y){this.specification=y};wi.prototype.possiblyEvaluate=function(y,I,U,J){if(y.value!==void 0)if(y.expression.kind==="constant"){var ne=y.expression.evaluate(I,null,{},U,J);return this._calculate(ne,ne,ne,I)}else return this._calculate(y.expression.evaluate(new pn(Math.floor(I.zoom-1),I)),y.expression.evaluate(new pn(Math.floor(I.zoom),I)),y.expression.evaluate(new pn(Math.floor(I.zoom+1),I)),I)},wi.prototype._calculate=function(y,I,U,J){var ne=J.zoom;return ne>J.zoomHistory.lastIntegerZoom?{from:y,to:I}:{from:U,to:I}},wi.prototype.interpolate=function(y){return y};var Ui=function(y){this.specification=y};Ui.prototype.possiblyEvaluate=function(y,I,U,J){return!!y.expression.evaluate(I,null,{},U,J)},Ui.prototype.interpolate=function(){return!1};var Oi=function(y){this.properties=y,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(var I in y){var U=y[I];U.specification.overridable&&this.overridableProperties.push(I);var J=this.defaultPropertyValues[I]=new za(U,void 0),ne=this.defaultTransitionablePropertyValues[I]=new Lo(U);this.defaultTransitioningPropertyValues[I]=ne.untransitioned(),this.defaultPossiblyEvaluatedValues[I]=J.possiblyEvaluate({})}};Z("DataDrivenProperty",Er),Z("DataConstantProperty",At),Z("CrossFadedDataDrivenProperty",Wr),Z("CrossFadedProperty",wi),Z("ColorRampProperty",Ui);var Bi="-transition",cn=function(m){function y(I,U){if(m.call(this),this.id=I.id,this.type=I.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},I.type!=="custom"&&(I=I,this.metadata=I.metadata,this.minzoom=I.minzoom,this.maxzoom=I.maxzoom,I.type!=="background"&&(this.source=I.source,this.sourceLayer=I["source-layer"],this.filter=I.filter),U.layout&&(this._unevaluatedLayout=new fu(U.layout)),U.paint)){this._transitionablePaint=new Fo(U.paint);for(var J in I.paint)this.setPaintProperty(J,I.paint[J],{validate:!1});for(var ne in I.layout)this.setLayoutProperty(ne,I.layout[ne],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new xc(U.paint)}}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},y.prototype.getLayoutProperty=function(U){return U==="visibility"?this.visibility:this._unevaluatedLayout.getValue(U)},y.prototype.setLayoutProperty=function(U,J,ne){if(ne===void 0&&(ne={}),J!=null){var fe="layers."+this.id+".layout."+U;if(this._validate(Vl,fe,U,J,ne))return}if(U==="visibility"){this.visibility=J;return}this._unevaluatedLayout.setValue(U,J)},y.prototype.getPaintProperty=function(U){return V(U,Bi)?this._transitionablePaint.getTransition(U.slice(0,-Bi.length)):this._transitionablePaint.getValue(U)},y.prototype.setPaintProperty=function(U,J,ne){if(ne===void 0&&(ne={}),J!=null){var fe="layers."+this.id+".paint."+U;if(this._validate(_l,fe,U,J,ne))return!1}if(V(U,Bi))return this._transitionablePaint.setTransition(U.slice(0,-Bi.length),J||void 0),!1;var Fe=this._transitionablePaint._values[U],Qe=Fe.property.specification["property-type"]==="cross-faded-data-driven",st=Fe.value.isDataDriven(),mt=Fe.value;this._transitionablePaint.setValue(U,J),this._handleSpecialPaintPropertyUpdate(U);var Xt=this._transitionablePaint._values[U].value,ur=Xt.isDataDriven();return ur||st||Qe||this._handleOverridablePaintPropertyUpdate(U,mt,Xt)},y.prototype._handleSpecialPaintPropertyUpdate=function(U){},y.prototype._handleOverridablePaintPropertyUpdate=function(U,J,ne){return!1},y.prototype.isHidden=function(U){return this.minzoom&&U=this.maxzoom?!0:this.visibility==="none"},y.prototype.updateTransitions=function(U){this._transitioningPaint=this._transitionablePaint.transitioned(U,this._transitioningPaint)},y.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},y.prototype.recalculate=function(U,J){U.getCrossfadeParameters&&(this._crossfadeParameters=U.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(U,void 0,J)),this.paint=this._transitioningPaint.possiblyEvaluate(U,void 0,J)},y.prototype.serialize=function(){var U={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(U.layout=U.layout||{},U.layout.visibility=this.visibility),X(U,function(J,ne){return J!==void 0&&!(ne==="layout"&&!Object.keys(J).length)&&!(ne==="paint"&&!Object.keys(J).length)})},y.prototype._validate=function(U,J,ne,fe,Fe){return Fe===void 0&&(Fe={}),Fe&&Fe.validate===!1?!1:Yu(this,U.call(yo,{key:J,layerType:this.type,objectKey:ne,value:fe,styleSpec:on,style:{glyphs:!0,sprite:!0}}))},y.prototype.is3D=function(){return!1},y.prototype.isTileClipped=function(){return!1},y.prototype.hasOffscreenPass=function(){return!1},y.prototype.resize=function(){},y.prototype.isStateDependent=function(){for(var U in this.paint._values){var J=this.paint.get(U);if(!(!(J instanceof dl)||!Gs(J.property.specification))&&(J.value.kind==="source"||J.value.kind==="composite")&&J.value.isStateDependent)return!0}return!1},y}(Sn),On={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Bn=function(y,I){this._structArray=y,this._pos1=I*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},yn=128,to=5,Dn=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};Dn.serialize=function(y,I){return y._trim(),I&&(y.isTransferred=!0,I.push(y.arrayBuffer)),{length:y.length,arrayBuffer:y.arrayBuffer}},Dn.deserialize=function(y){var I=Object.create(this.prototype);return I.arrayBuffer=y.arrayBuffer,I.length=y.length,I.capacity=y.arrayBuffer.byteLength/I.bytesPerElement,I._refreshViews(),I},Dn.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Dn.prototype.clear=function(){this.length=0},Dn.prototype.resize=function(y){this.reserve(y),this.length=y},Dn.prototype.reserve=function(y){if(y>this.capacity){this.capacity=Math.max(y,Math.floor(this.capacity*to),yn),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var I=this.uint8;this._refreshViews(),I&&this.uint8.set(I)}},Dn.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};function Rn(m,y){y===void 0&&(y=1);var I=0,U=0,J=m.map(function(fe){var Fe=fn(fe.type),Qe=I=Ai(I,Math.max(y,Fe)),st=fe.components||1;return U=Math.max(U,Fe),I+=Fe*st,{name:fe.name,type:fe.type,components:st,offset:Qe}}),ne=Ai(I,Math.max(U,y));return{members:J,size:ne,alignment:y}}function fn(m){return On[m].BYTES_PER_ELEMENT}function Ai(m,y){return Math.ceil(m/y)*y}var ji=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.int16[fe+0]=J,this.int16[fe+1]=ne,U},y}(Dn);ji.prototype.bytesPerElement=4,Z("StructArrayLayout2i4",ji);var Ln=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*4;return this.int16[Qe+0]=J,this.int16[Qe+1]=ne,this.int16[Qe+2]=fe,this.int16[Qe+3]=Fe,U},y}(Dn);Ln.prototype.bytesPerElement=8,Z("StructArrayLayout4i8",Ln);var Un=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*6;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.int16[mt+2]=fe,this.int16[mt+3]=Fe,this.int16[mt+4]=Qe,this.int16[mt+5]=st,U},y}(Dn);Un.prototype.bytesPerElement=12,Z("StructArrayLayout2i4i12",Un);var gn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*4,Xt=U*8;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.uint8[Xt+4]=fe,this.uint8[Xt+5]=Fe,this.uint8[Xt+6]=Qe,this.uint8[Xt+7]=st,U},y}(Dn);gn.prototype.bytesPerElement=8,Z("StructArrayLayout2i4ub8",gn);var fa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.float32[fe+0]=J,this.float32[fe+1]=ne,U},y}(Dn);fa.prototype.bytesPerElement=8,Z("StructArrayLayout2f8",fa);var Kn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=this.length;return this.resize(nr+1),this.emplace(nr,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr){var Lr=U*10;return this.uint16[Lr+0]=J,this.uint16[Lr+1]=ne,this.uint16[Lr+2]=fe,this.uint16[Lr+3]=Fe,this.uint16[Lr+4]=Qe,this.uint16[Lr+5]=st,this.uint16[Lr+6]=mt,this.uint16[Lr+7]=Xt,this.uint16[Lr+8]=ur,this.uint16[Lr+9]=nr,U},y}(Dn);Kn.prototype.bytesPerElement=20,Z("StructArrayLayout10ui20",Kn);var Za=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr){var Yr=this.length;return this.resize(Yr+1),this.emplace(Yr,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr){var _i=U*12;return this.int16[_i+0]=J,this.int16[_i+1]=ne,this.int16[_i+2]=fe,this.int16[_i+3]=Fe,this.uint16[_i+4]=Qe,this.uint16[_i+5]=st,this.uint16[_i+6]=mt,this.uint16[_i+7]=Xt,this.int16[_i+8]=ur,this.int16[_i+9]=nr,this.int16[_i+10]=Lr,this.int16[_i+11]=Yr,U},y}(Dn);Za.prototype.bytesPerElement=24,Z("StructArrayLayout4i4ui4i24",Za);var wn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.float32[Fe+0]=J,this.float32[Fe+1]=ne,this.float32[Fe+2]=fe,U},y}(Dn);wn.prototype.bytesPerElement=12,Z("StructArrayLayout3f12",wn);var vn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.uint32[ne+0]=J,U},y}(Dn);vn.prototype.bytesPerElement=4,Z("StructArrayLayout1ul4",vn);var Aa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt){var ur=this.length;return this.resize(ur+1),this.emplace(ur,U,J,ne,fe,Fe,Qe,st,mt,Xt)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=U*10,Lr=U*5;return this.int16[nr+0]=J,this.int16[nr+1]=ne,this.int16[nr+2]=fe,this.int16[nr+3]=Fe,this.int16[nr+4]=Qe,this.int16[nr+5]=st,this.uint32[Lr+3]=mt,this.uint16[nr+8]=Xt,this.uint16[nr+9]=ur,U},y}(Dn);Aa.prototype.bytesPerElement=20,Z("StructArrayLayout6i1ul2ui20",Aa);var oa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*6;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.int16[mt+2]=fe,this.int16[mt+3]=Fe,this.int16[mt+4]=Qe,this.int16[mt+5]=st,U},y}(Dn);oa.prototype.bytesPerElement=12,Z("StructArrayLayout2i2i2i12",oa);var Xn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe){var Qe=this.length;return this.resize(Qe+1),this.emplace(Qe,U,J,ne,fe,Fe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe){var st=U*4,mt=U*8;return this.float32[st+0]=J,this.float32[st+1]=ne,this.float32[st+2]=fe,this.int16[mt+6]=Fe,this.int16[mt+7]=Qe,U},y}(Dn);Xn.prototype.bytesPerElement=16,Z("StructArrayLayout2f1f2i16",Xn);var Vn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*12,st=U*3;return this.uint8[Qe+0]=J,this.uint8[Qe+1]=ne,this.float32[st+1]=fe,this.float32[st+2]=Fe,U},y}(Dn);Vn.prototype.bytesPerElement=12,Z("StructArrayLayout2ub2f12",Vn);var ma=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.uint16[Fe+0]=J,this.uint16[Fe+1]=ne,this.uint16[Fe+2]=fe,U},y}(Dn);ma.prototype.bytesPerElement=6,Z("StructArrayLayout3ui6",ma);var ro=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei){var Vi=this.length;return this.resize(Vi+1),this.emplace(Vi,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi){var en=U*24,An=U*12,ra=U*48;return this.int16[en+0]=J,this.int16[en+1]=ne,this.uint16[en+2]=fe,this.uint16[en+3]=Fe,this.uint32[An+2]=Qe,this.uint32[An+3]=st,this.uint32[An+4]=mt,this.uint16[en+10]=Xt,this.uint16[en+11]=ur,this.uint16[en+12]=nr,this.float32[An+7]=Lr,this.float32[An+8]=Yr,this.uint8[ra+36]=_i,this.uint8[ra+37]=si,this.uint8[ra+38]=Hi,this.uint32[An+10]=Ei,this.int16[en+22]=Vi,U},y}(Dn);ro.prototype.bytesPerElement=48,Z("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",ro);var Ao=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,xa,Pa,qo,Na,ja){var us=this.length;return this.resize(us+1),this.emplace(us,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,xa,Pa,qo,Na,ja)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,xa,Pa,qo,Na,ja,us){var zo=U*34,rl=U*17;return this.int16[zo+0]=J,this.int16[zo+1]=ne,this.int16[zo+2]=fe,this.int16[zo+3]=Fe,this.int16[zo+4]=Qe,this.int16[zo+5]=st,this.int16[zo+6]=mt,this.int16[zo+7]=Xt,this.uint16[zo+8]=ur,this.uint16[zo+9]=nr,this.uint16[zo+10]=Lr,this.uint16[zo+11]=Yr,this.uint16[zo+12]=_i,this.uint16[zo+13]=si,this.uint16[zo+14]=Hi,this.uint16[zo+15]=Ei,this.uint16[zo+16]=Vi,this.uint16[zo+17]=en,this.uint16[zo+18]=An,this.uint16[zo+19]=ra,this.uint16[zo+20]=$n,this.uint16[zo+21]=Ba,this.uint16[zo+22]=xa,this.uint32[rl+12]=Pa,this.float32[rl+13]=qo,this.float32[rl+14]=Na,this.float32[rl+15]=ja,this.float32[rl+16]=us,U},y}(Dn);Ao.prototype.bytesPerElement=68,Z("StructArrayLayout8i15ui1ul4f68",Ao);var Jn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.float32[ne+0]=J,U},y}(Dn);Jn.prototype.bytesPerElement=4,Z("StructArrayLayout1f4",Jn);var Oa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.int16[Fe+0]=J,this.int16[Fe+1]=ne,this.int16[Fe+2]=fe,U},y}(Dn);Oa.prototype.bytesPerElement=6,Z("StructArrayLayout3i6",Oa);var _o=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*2,Qe=U*4;return this.uint32[Fe+0]=J,this.uint16[Qe+2]=ne,this.uint16[Qe+3]=fe,U},y}(Dn);_o.prototype.bytesPerElement=8,Z("StructArrayLayout1ul2ui8",_o);var Po=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.uint16[fe+0]=J,this.uint16[fe+1]=ne,U},y}(Dn);Po.prototype.bytesPerElement=4,Z("StructArrayLayout2ui4",Po);var $o=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.uint16[ne+0]=J,U},y}(Dn);$o.prototype.bytesPerElement=2,Z("StructArrayLayout1ui2",$o);var Xl=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*4;return this.float32[Qe+0]=J,this.float32[Qe+1]=ne,this.float32[Qe+2]=fe,this.float32[Qe+3]=Fe,U},y}(Dn);Xl.prototype.bytesPerElement=16,Z("StructArrayLayout4f16",Xl);var $c=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return I.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},I.x1.get=function(){return this._structArray.int16[this._pos2+2]},I.y1.get=function(){return this._structArray.int16[this._pos2+3]},I.x2.get=function(){return this._structArray.int16[this._pos2+4]},I.y2.get=function(){return this._structArray.int16[this._pos2+5]},I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.anchorPoint.get=function(){return new u(this.anchorPointX,this.anchorPointY)},Object.defineProperties(y.prototype,I),y}(Bn);$c.prototype.size=20;var bs=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new $c(this,U)},y}(Aa);Z("CollisionBoxArray",bs);var Qc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},I.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},I.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},I.segment.get=function(){return this._structArray.uint16[this._pos2+10]},I.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},I.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},I.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},I.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},I.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},I.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},I.placedOrientation.set=function(U){this._structArray.uint8[this._pos1+37]=U},I.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},I.hidden.set=function(U){this._structArray.uint8[this._pos1+38]=U},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+10]=U},I.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(y.prototype,I),y}(Bn);Qc.prototype.size=48;var El=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new Qc(this,U)},y}(ro);Z("PlacedSymbolArray",El);var bc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},I.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},I.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},I.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},I.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},I.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},I.key.get=function(){return this._structArray.uint16[this._pos2+8]},I.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},I.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},I.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},I.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},I.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},I.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},I.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},I.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},I.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},I.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},I.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},I.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},I.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+12]=U},I.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},I.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},I.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},I.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(y.prototype,I),y}(Bn);bc.prototype.size=68;var wc=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new bc(this,U)},y}(Ao);Z("SymbolInstanceArray",wc);var yf=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getoffsetX=function(U){return this.float32[U*1+0]},y}(Jn);Z("GlyphOffsetArray",yf);var Hl=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getx=function(U){return this.int16[U*3+0]},y.prototype.gety=function(U){return this.int16[U*3+1]},y.prototype.gettileUnitDistanceFromAnchor=function(U){return this.int16[U*3+2]},y}(Oa);Z("SymbolLineVertexArray",Hl);var Fc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(y.prototype,I),y}(Bn);Fc.prototype.size=8;var ef=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new Fc(this,U)},y}(_o);Z("FeatureIndexArray",ef);var ls=Rn([{name:"a_pos",components:2,type:"Int16"}],4),_f=ls.members,ns=function(y){y===void 0&&(y=[]),this.segments=y};ns.prototype.prepareSegment=function(y,I,U,J){var ne=this.segments[this.segments.length-1];return y>ns.MAX_VERTEX_ARRAY_LENGTH&&re("Max vertices per segment is "+ns.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+y),(!ne||ne.vertexLength+y>ns.MAX_VERTEX_ARRAY_LENGTH||ne.sortKey!==J)&&(ne={vertexOffset:I.length,primitiveOffset:U.length,vertexLength:0,primitiveLength:0},J!==void 0&&(ne.sortKey=J),this.segments.push(ne)),ne},ns.prototype.get=function(){return this.segments},ns.prototype.destroy=function(){for(var y=0,I=this.segments;y>>16)*Qe&65535)<<16)&4294967295,mt=mt<<15|mt>>>17,mt=(mt&65535)*st+(((mt>>>16)*st&65535)<<16)&4294967295,fe^=mt,fe=fe<<13|fe>>>19,Fe=(fe&65535)*5+(((fe>>>16)*5&65535)<<16)&4294967295,fe=(Fe&65535)+27492+(((Fe>>>16)+58964&65535)<<16);switch(mt=0,J){case 3:mt^=(I.charCodeAt(Xt+2)&255)<<16;case 2:mt^=(I.charCodeAt(Xt+1)&255)<<8;case 1:mt^=I.charCodeAt(Xt)&255,mt=(mt&65535)*Qe+(((mt>>>16)*Qe&65535)<<16)&4294967295,mt=mt<<15|mt>>>17,mt=(mt&65535)*st+(((mt>>>16)*st&65535)<<16)&4294967295,fe^=mt}return fe^=I.length,fe^=fe>>>16,fe=(fe&65535)*2246822507+(((fe>>>16)*2246822507&65535)<<16)&4294967295,fe^=fe>>>13,fe=(fe&65535)*3266489909+(((fe>>>16)*3266489909&65535)<<16)&4294967295,fe^=fe>>>16,fe>>>0}m.exports=y}),O=a(function(m){function y(I,U){for(var J=I.length,ne=U^J,fe=0,Fe;J>=4;)Fe=I.charCodeAt(fe)&255|(I.charCodeAt(++fe)&255)<<8|(I.charCodeAt(++fe)&255)<<16|(I.charCodeAt(++fe)&255)<<24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),Fe^=Fe>>>24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16)^Fe,J-=4,++fe;switch(J){case 3:ne^=(I.charCodeAt(fe+2)&255)<<16;case 2:ne^=(I.charCodeAt(fe+1)&255)<<8;case 1:ne^=I.charCodeAt(fe)&255,ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16)}return ne^=ne>>>13,ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16),ne^=ne>>>15,ne>>>0}m.exports=y}),$=K,pe=K,de=O;$.murmur3=pe,$.murmur2=de;var Ie=function(){this.ids=[],this.positions=[],this.indexed=!1};Ie.prototype.add=function(y,I,U,J){this.ids.push(pt(y)),this.positions.push(I,U,J)},Ie.prototype.getPositions=function(y){for(var I=pt(y),U=0,J=this.ids.length-1;U>1;this.ids[ne]>=I?J=ne:U=ne+1}for(var fe=[];this.ids[U]===I;){var Fe=this.positions[3*U],Qe=this.positions[3*U+1],st=this.positions[3*U+2];fe.push({index:Fe,start:Qe,end:st}),U++}return fe},Ie.serialize=function(y,I){var U=new Float64Array(y.ids),J=new Uint32Array(y.positions);return Kt(U,J,0,U.length-1),I&&I.push(U.buffer,J.buffer),{ids:U,positions:J}},Ie.deserialize=function(y){var I=new Ie;return I.ids=y.ids,I.positions=y.positions,I.indexed=!0,I};var $e=Math.pow(2,53)-1;function pt(m){var y=+m;return!isNaN(y)&&y<=$e?y:$(String(m))}function Kt(m,y,I,U){for(;I>1],ne=I-1,fe=U+1;;){do ne++;while(m[ne]J);if(ne>=fe)break;ir(m,ne,fe),ir(y,3*ne,3*fe),ir(y,3*ne+1,3*fe+1),ir(y,3*ne+2,3*fe+2)}fe-Ife.x+1||Qefe.y+1)&&re("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return I}function Uo(m,y){return{type:m.type,id:m.id,properties:m.properties,geometry:y?da(m):[]}}function Ro(m,y,I,U,J){m.emplaceBack(y*2+(U+1)/2,I*2+(J+1)/2)}var gs=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.layoutVertexArray=new ji,this.indexArray=new ma,this.segments=new ns,this.programConfigurations=new Di(y.layers,y.zoom),this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};gs.prototype.populate=function(y,I,U){var J=this.layers[0],ne=[],fe=null;J.type==="circle"&&(fe=J.layout.get("circle-sort-key"));for(var Fe=0,Qe=y;Fe=rn||ur<0||ur>=rn)){var nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,y.sortKey),Lr=nr.vertexLength;Ro(this.layoutVertexArray,Xt,ur,-1,-1),Ro(this.layoutVertexArray,Xt,ur,1,-1),Ro(this.layoutVertexArray,Xt,ur,1,1),Ro(this.layoutVertexArray,Xt,ur,-1,1),this.indexArray.emplaceBack(Lr,Lr+1,Lr+2),this.indexArray.emplaceBack(Lr,Lr+3,Lr+2),nr.vertexLength+=4,nr.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,{},J)},Z("CircleBucket",gs,{omit:["layers"]});function fo(m,y){for(var I=0;I=3){for(var ne=0;ne1){if(Cv(m,y))return!0;for(var U=0;U1?m.distSqr(I):m.distSqr(I.sub(y)._mult(J)._add(y))}function yp(m,y){for(var I=!1,U,J,ne,fe=0;fey.y!=ne.y>y.y&&y.x<(ne.x-J.x)*(y.y-J.y)/(ne.y-J.y)+J.x&&(I=!I)}return I}function xd(m,y){for(var I=!1,U=0,J=m.length-1;Uy.y!=fe.y>y.y&&y.x<(fe.x-ne.x)*(y.y-ne.y)/(fe.y-ne.y)+ne.x&&(I=!I)}return I}function _p(m,y,I,U,J){for(var ne=0,fe=m;ne=Fe.x&&J>=Fe.y)return!0}var Qe=[new u(y,I),new u(y,J),new u(U,J),new u(U,I)];if(m.length>2)for(var st=0,mt=Qe;stJ.x&&y.x>J.x||m.yJ.y&&y.y>J.y)return!1;var ne=ae(m,y,I[0]);return ne!==ae(m,y,I[1])||ne!==ae(m,y,I[2])||ne!==ae(m,y,I[3])}function bd(m,y,I){var U=y.paint.get(m).value;return U.kind==="constant"?U.value:I.programConfigurations.get(y.id).getMaxValue(m)}function Lv(m){return Math.sqrt(m[0]*m[0]+m[1]*m[1])}function $v(m,y,I,U,J){if(!y[0]&&!y[1])return m;var ne=u.convert(y)._mult(J);I==="viewport"&&ne._rotate(-U);for(var fe=[],Fe=0;Fe0&&(ne=1/Math.sqrt(ne)),m[0]=y[0]*ne,m[1]=y[1]*ne,m[2]=y[2]*ne,m}function j9(m,y){return m[0]*y[0]+m[1]*y[1]+m[2]*y[2]}function W9(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=I[0],Fe=I[1],Qe=I[2];return m[0]=J*Qe-ne*Fe,m[1]=ne*fe-U*Qe,m[2]=U*Fe-J*fe,m}function Z9(m,y,I){var U=y[0],J=y[1],ne=y[2];return m[0]=U*I[0]+J*I[3]+ne*I[6],m[1]=U*I[1]+J*I[4]+ne*I[7],m[2]=U*I[2]+J*I[5]+ne*I[8],m}var X9=lm,PQ=function(){var m=sm();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=3),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fem.width||J.height>m.height||I.x>m.width-J.width||I.y>m.height-J.height)throw new RangeError("out of range source coordinates for image copy");if(J.width>y.width||J.height>y.height||U.x>y.width-J.width||U.y>y.height-J.height)throw new RangeError("out of range destination coordinates for image copy");for(var fe=m.data,Fe=y.data,Qe=0;Qe80*I){Fe=st=m[0],Qe=mt=m[1];for(var Lr=I;Lrst&&(st=Xt),ur>mt&&(mt=ur);nr=Math.max(st-Fe,mt-Qe),nr=nr!==0?1/nr:0}return Qx(ne,fe,I,Fe,Qe,nr),fe}function jw(m,y,I,U,J){var ne,fe;if(J===wS(m,y,I,U)>0)for(ne=y;ne=y;ne-=U)fe=qC(ne,m[ne],m[ne+1],fe);return fe&&tb(fe,fe.next)&&(nb(fe),fe=fe.next),fe}function um(m,y){if(!m)return m;y||(y=m);var I=m,U;do if(U=!1,!I.steiner&&(tb(I,I.next)||tf(I.prev,I,I.next)===0)){if(nb(I),I=y=I.prev,I===I.next)break;U=!0}else I=I.next;while(U||I!==y);return y}function Qx(m,y,I,U,J,ne,fe){if(m){!fe&&ne&&Ww(m,U,J,ne);for(var Fe=m,Qe,st;m.prev!==m.next;){if(Qe=m.prev,st=m.next,ne?RC(m,U,J,ne):DC(m)){y.push(Qe.i/I),y.push(m.i/I),y.push(st.i/I),nb(m),m=st.next,Fe=st.next;continue}if(m=st,m===Fe){fe?fe===1?(m=eb(um(m),y,I),Qx(m,y,I,U,J,ne,2)):fe===2&&m0(m,y,I,U,J,ne):Qx(um(m),y,I,U,J,ne,1);break}}}}function DC(m){var y=m.prev,I=m,U=m.next;if(tf(y,I,U)>=0)return!1;for(var J=m.next.next;J!==m.prev;){if(fm(y.x,y.y,I.x,I.y,U.x,U.y,J.x,J.y)&&tf(J.prev,J,J.next)>=0)return!1;J=J.next}return!0}function RC(m,y,I,U){var J=m.prev,ne=m,fe=m.next;if(tf(J,ne,fe)>=0)return!1;for(var Fe=J.xne.x?J.x>fe.x?J.x:fe.x:ne.x>fe.x?ne.x:fe.x,mt=J.y>ne.y?J.y>fe.y?J.y:fe.y:ne.y>fe.y?ne.y:fe.y,Xt=yS(Fe,Qe,y,I,U),ur=yS(st,mt,y,I,U),nr=m.prevZ,Lr=m.nextZ;nr&&nr.z>=Xt&&Lr&&Lr.z<=ur;){if(nr!==m.prev&&nr!==m.next&&fm(J.x,J.y,ne.x,ne.y,fe.x,fe.y,nr.x,nr.y)&&tf(nr.prev,nr,nr.next)>=0||(nr=nr.prevZ,Lr!==m.prev&&Lr!==m.next&&fm(J.x,J.y,ne.x,ne.y,fe.x,fe.y,Lr.x,Lr.y)&&tf(Lr.prev,Lr,Lr.next)>=0))return!1;Lr=Lr.nextZ}for(;nr&&nr.z>=Xt;){if(nr!==m.prev&&nr!==m.next&&fm(J.x,J.y,ne.x,ne.y,fe.x,fe.y,nr.x,nr.y)&&tf(nr.prev,nr,nr.next)>=0)return!1;nr=nr.prevZ}for(;Lr&&Lr.z<=ur;){if(Lr!==m.prev&&Lr!==m.next&&fm(J.x,J.y,ne.x,ne.y,fe.x,fe.y,Lr.x,Lr.y)&&tf(Lr.prev,Lr,Lr.next)>=0)return!1;Lr=Lr.nextZ}return!0}function eb(m,y,I){var U=m;do{var J=U.prev,ne=U.next.next;!tb(J,ne)&&Zw(J,U,U.next,ne)&&ib(J,ne)&&ib(ne,J)&&(y.push(J.i/I),y.push(U.i/I),y.push(ne.i/I),nb(U),nb(U.next),U=m=ne),U=U.next}while(U!==m);return um(U)}function m0(m,y,I,U,J,ne){var fe=m;do{for(var Fe=fe.next.next;Fe!==fe.prev;){if(fe.i!==Fe.i&&P1(fe,Fe)){var Qe=xS(fe,Fe);fe=um(fe,fe.next),Qe=um(Qe,Qe.next),Qx(fe,y,I,U,J,ne),Qx(Qe,y,I,U,J,ne);return}Fe=Fe.next}fe=fe.next}while(fe!==m)}function cm(m,y,I,U){var J=[],ne,fe,Fe,Qe,st;for(ne=0,fe=y.length;ne=I.next.y&&I.next.y!==I.y){var Fe=I.x+(J-I.y)*(I.next.x-I.x)/(I.next.y-I.y);if(Fe<=U&&Fe>ne){if(ne=Fe,Fe===U){if(J===I.y)return I;if(J===I.next.y)return I.next}fe=I.x=I.x&&I.x>=st&&U!==I.x&&fm(Jfe.x||I.x===fe.x&&iq(fe,I)))&&(fe=I,Xt=ur)),I=I.next;while(I!==Qe);return fe}function iq(m,y){return tf(m.prev,m,y.prev)<0&&tf(y.next,m,m.next)<0}function Ww(m,y,I,U){var J=m;do J.z===null&&(J.z=yS(J.x,J.y,y,I,U)),J.prevZ=J.prev,J.nextZ=J.next,J=J.next;while(J!==m);J.prevZ.nextZ=null,J.prevZ=null,mS(J)}function mS(m){var y,I,U,J,ne,fe,Fe,Qe,st=1;do{for(I=m,m=null,ne=null,fe=0;I;){for(fe++,U=I,Fe=0,y=0;y0||Qe>0&&U;)Fe!==0&&(Qe===0||!U||I.z<=U.z)?(J=I,I=I.nextZ,Fe--):(J=U,U=U.nextZ,Qe--),ne?ne.nextZ=J:m=J,J.prevZ=ne,ne=J;I=U}ne.nextZ=null,st*=2}while(fe>1);return m}function yS(m,y,I,U,J){return m=32767*(m-I)*J,y=32767*(y-U)*J,m=(m|m<<8)&16711935,m=(m|m<<4)&252645135,m=(m|m<<2)&858993459,m=(m|m<<1)&1431655765,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,m|y<<1}function _S(m){var y=m,I=m;do(y.x=0&&(m-fe)*(U-Fe)-(I-fe)*(y-Fe)>=0&&(I-fe)*(ne-Fe)-(J-fe)*(U-Fe)>=0}function P1(m,y){return m.next.i!==y.i&&m.prev.i!==y.i&&!FC(m,y)&&(ib(m,y)&&ib(y,m)&&nq(m,y)&&(tf(m.prev,m,y.prev)||tf(m,y.prev,y))||tb(m,y)&&tf(m.prev,m,m.next)>0&&tf(y.prev,y,y.next)>0)}function tf(m,y,I){return(y.y-m.y)*(I.x-y.x)-(y.x-m.x)*(I.y-y.y)}function tb(m,y){return m.x===y.x&&m.y===y.y}function Zw(m,y,I,U){var J=fy(tf(m,y,I)),ne=fy(tf(m,y,U)),fe=fy(tf(I,U,m)),Fe=fy(tf(I,U,y));return!!(J!==ne&&fe!==Fe||J===0&&rb(m,I,y)||ne===0&&rb(m,U,y)||fe===0&&rb(I,m,U)||Fe===0&&rb(I,y,U))}function rb(m,y,I){return y.x<=Math.max(m.x,I.x)&&y.x>=Math.min(m.x,I.x)&&y.y<=Math.max(m.y,I.y)&&y.y>=Math.min(m.y,I.y)}function fy(m){return m>0?1:m<0?-1:0}function FC(m,y){var I=m;do{if(I.i!==m.i&&I.next.i!==m.i&&I.i!==y.i&&I.next.i!==y.i&&Zw(I,I.next,m,y))return!0;I=I.next}while(I!==m);return!1}function ib(m,y){return tf(m.prev,m,m.next)<0?tf(m,y,m.next)>=0&&tf(m,m.prev,y)>=0:tf(m,y,m.prev)<0||tf(m,m.next,y)<0}function nq(m,y){var I=m,U=!1,J=(m.x+y.x)/2,ne=(m.y+y.y)/2;do I.y>ne!=I.next.y>ne&&I.next.y!==I.y&&J<(I.next.x-I.x)*(ne-I.y)/(I.next.y-I.y)+I.x&&(U=!U),I=I.next;while(I!==m);return U}function xS(m,y){var I=new bS(m.i,m.x,m.y),U=new bS(y.i,y.x,y.y),J=m.next,ne=y.prev;return m.next=y,y.prev=m,I.next=J,J.prev=I,U.next=I,I.prev=U,ne.next=U,U.prev=ne,U}function qC(m,y,I,U){var J=new bS(m,y,I);return U?(J.next=U.next,J.prev=U,U.next.prev=J,U.next=J):(J.prev=J,J.next=J),J}function nb(m){m.next.prev=m.prev,m.prev.next=m.next,m.prevZ&&(m.prevZ.nextZ=m.nextZ),m.nextZ&&(m.nextZ.prevZ=m.prevZ)}function bS(m,y,I){this.i=m,this.x=y,this.y=I,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}L1.deviation=function(m,y,I,U){var J=y&&y.length,ne=J?y[0]*I:m.length,fe=Math.abs(wS(m,0,ne,I));if(J)for(var Fe=0,Qe=y.length;Fe0&&(U+=m[J-1].length,I.holes.push(U))}return I},Gw.default=IC;function TS(m,y,I,U,J){mg(m,y,I||0,U||m.length-1,J||OC)}function mg(m,y,I,U,J){for(;U>I;){if(U-I>600){var ne=U-I+1,fe=y-I+1,Fe=Math.log(ne),Qe=.5*Math.exp(2*Fe/3),st=.5*Math.sqrt(Fe*Qe*(ne-Qe)/ne)*(fe-ne/2<0?-1:1),mt=Math.max(I,Math.floor(y-fe*Qe/ne+st)),Xt=Math.min(U,Math.floor(y+(ne-fe)*Qe/ne+st));mg(m,y,mt,Xt,J)}var ur=m[y],nr=I,Lr=U;for(I1(m,I,y),J(m[U],ur)>0&&I1(m,I,U);nr0;)Lr--}J(m[I],ur)===0?I1(m,I,Lr):(Lr++,I1(m,Lr,U)),Lr<=y&&(I=Lr+1),y<=Lr&&(U=Lr-1)}}function I1(m,y,I){var U=m[y];m[y]=m[I],m[I]=U}function OC(m,y){return my?1:0}function Xw(m,y){var I=m.length;if(I<=1)return[m];for(var U=[],J,ne,fe=0;fe1)for(var Qe=0;Qe>3}if(U--,I===1||I===2)J+=m.readSVarint(),ne+=m.readSVarint(),I===1&&(Fe&&fe.push(Fe),Fe=[]),Fe.push(new u(J,ne));else if(I===7)Fe&&Fe.push(Fe[0].clone());else throw new Error("unknown command "+I)}return Fe&&fe.push(Fe),fe},hy.prototype.bbox=function(){var m=this._pbf;m.pos=this._geometry;for(var y=m.readVarint()+m.pos,I=1,U=0,J=0,ne=0,fe=1/0,Fe=-1/0,Qe=1/0,st=-1/0;m.pos>3}if(U--,I===1||I===2)J+=m.readSVarint(),ne+=m.readSVarint(),JFe&&(Fe=J),nest&&(st=ne);else if(I!==7)throw new Error("unknown command "+I)}return[fe,Qe,Fe,st]},hy.prototype.toGeoJSON=function(m,y,I){var U=this.extent*Math.pow(2,I),J=this.extent*m,ne=this.extent*y,fe=this.loadGeometry(),Fe=hy.types[this.type],Qe,st;function mt(nr){for(var Lr=0;Lr>3;y=U===1?m.readString():U===2?m.readFloat():U===3?m.readDouble():U===4?m.readVarint64():U===5?m.readVarint():U===6?m.readSVarint():U===7?m.readBoolean():null}return y}MS.prototype.feature=function(m){if(m<0||m>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[m];var y=this._pbf.readVarint()+this._pbf.pos;return new SS(this._pbf,y,this.extent,this._keys,this._values)};var XC=oq;function oq(m,y){this.layers=m.readFields(sq,{},y)}function sq(m,y,I){if(m===3){var U=new yg(I,I.readVarint()+I.pos);U.length&&(y[U.name]=U)}}var YC=XC,D1=SS,KC=yg,_g={VectorTile:YC,VectorTileFeature:D1,VectorTileLayer:KC},JC=_g.VectorTileFeature.types,Kw=500,R1=Math.pow(2,13);function hm(m,y,I,U,J,ne,fe,Fe){m.emplaceBack(y,I,Math.floor(U*R1)*2+fe,J*R1*2,ne*R1*2,Math.round(Fe))}var Wp=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.layoutVertexArray=new Un,this.indexArray=new ma,this.programConfigurations=new Di(y.layers,y.zoom),this.segments=new ns,this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};Wp.prototype.populate=function(y,I,U){this.features=[],this.hasPattern=Yw("fill-extrusion",this.layers,I);for(var J=0,ne=y;J=1){var Vi=_i[Hi-1];if(!lq(Ei,Vi)){nr.vertexLength+4>ns.MAX_VERTEX_ARRAY_LENGTH&&(nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var en=Ei.sub(Vi)._perp()._unit(),An=Vi.dist(Ei);si+An>32768&&(si=0),hm(this.layoutVertexArray,Ei.x,Ei.y,en.x,en.y,0,0,si),hm(this.layoutVertexArray,Ei.x,Ei.y,en.x,en.y,0,1,si),si+=An,hm(this.layoutVertexArray,Vi.x,Vi.y,en.x,en.y,0,0,si),hm(this.layoutVertexArray,Vi.x,Vi.y,en.x,en.y,0,1,si);var ra=nr.vertexLength;this.indexArray.emplaceBack(ra,ra+2,ra+1),this.indexArray.emplaceBack(ra+1,ra+2,ra+3),nr.vertexLength+=4,nr.primitiveLength+=2}}}}if(nr.vertexLength+st>ns.MAX_VERTEX_ARRAY_LENGTH&&(nr=this.segments.prepareSegment(st,this.layoutVertexArray,this.indexArray)),JC[y.type]==="Polygon"){for(var $n=[],Ba=[],xa=nr.vertexLength,Pa=0,qo=Qe;Parn)||m.y===y.y&&(m.y<0||m.y>rn)}function uq(m){return m.every(function(y){return y.x<0})||m.every(function(y){return y.x>rn})||m.every(function(y){return y.y<0})||m.every(function(y){return y.y>rn})}var z1=new Oi({"fill-extrusion-opacity":new At(on["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new Er(on["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new At(on["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new At(on["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Wr(on["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new Er(on["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new Er(on["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new At(on["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])}),rd={paint:z1},dm=function(m){function y(I){m.call(this,I,rd)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new Wp(U)},y.prototype.queryRadius=function(){return Lv(this.paint.get("fill-extrusion-translate"))},y.prototype.is3D=function(){return!0},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st,mt){var Xt=$v(U,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),Qe.angle,st),ur=this.paint.get("fill-extrusion-height").evaluate(J,ne),nr=this.paint.get("fill-extrusion-base").evaluate(J,ne),Lr=cq(Xt,mt,Qe,0),Yr=kS(fe,nr,ur,mt),_i=Yr[0],si=Yr[1];return $C(_i,si,Lr)},y}(cn);function dy(m,y){return m.x*y.x+m.y*y.y}function ES(m,y){if(m.length===1){for(var I=0,U=y[I++],J;!J||U.equals(J);)if(J=y[I++],!J)return 1/0;for(;I=2&&y[st-1].equals(y[st-2]);)st--;for(var mt=0;mt0;if($n&&Hi>mt){var xa=nr.dist(Lr);if(xa>2*Xt){var Pa=nr.sub(nr.sub(Lr)._mult(Xt/xa)._round());this.updateDistance(Lr,Pa),this.addCurrentVertex(Pa,_i,0,0,ur),Lr=Pa}}var qo=Lr&&Yr,Na=qo?U:Qe?"butt":J;if(qo&&Na==="round"&&(Anne&&(Na="bevel"),Na==="bevel"&&(An>2&&(Na="flipbevel"),An100)Ei=si.mult(-1);else{var ja=An*_i.add(si).mag()/_i.sub(si).mag();Ei._perp()._mult(ja*(Ba?-1:1))}this.addCurrentVertex(nr,Ei,0,0,ur),this.addCurrentVertex(nr,Ei.mult(-1),0,0,ur)}else if(Na==="bevel"||Na==="fakeround"){var us=-Math.sqrt(An*An-1),zo=Ba?us:0,rl=Ba?0:us;if(Lr&&this.addCurrentVertex(nr,_i,zo,rl,ur),Na==="fakeround")for(var ou=Math.round(ra*180/Math.PI/LS),il=1;il2*Xt){var Xf=nr.add(Yr.sub(nr)._mult(Xt/Nh)._round());this.updateDistance(nr,Xf),this.addCurrentVertex(Xf,si,0,0,ur),nr=Xf}}}}},jf.prototype.addCurrentVertex=function(y,I,U,J,ne,fe){fe===void 0&&(fe=!1);var Fe=I.x+I.y*U,Qe=I.y-I.x*U,st=-I.x+I.y*J,mt=-I.y-I.x*J;this.addHalfVertex(y,Fe,Qe,fe,!1,U,ne),this.addHalfVertex(y,st,mt,fe,!0,-J,ne),this.distance>ub/2&&this.totalDistance===0&&(this.distance=0,this.addCurrentVertex(y,I,U,J,ne,fe))},jf.prototype.addHalfVertex=function(y,I,U,J,ne,fe,Fe){var Qe=y.x,st=y.y,mt=this.lineClips?this.scaledDistance*(ub-1):this.scaledDistance,Xt=mt*$w;if(this.layoutVertexArray.emplaceBack((Qe<<1)+(J?1:0),(st<<1)+(ne?1:0),Math.round(Jw*I)+128,Math.round(Jw*U)+128,(fe===0?0:fe<0?-1:1)+1|(Xt&63)<<2,Xt>>6),this.lineClips){var ur=this.scaledDistance-this.lineClips.start,nr=this.lineClips.end-this.lineClips.start,Lr=ur/nr;this.layoutVertexArray2.emplaceBack(Lr,this.lineClipsArray.length)}var Yr=Fe.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Yr),Fe.primitiveLength++),ne?this.e2=Yr:this.e1=Yr},jf.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},jf.prototype.updateDistance=function(y,I){this.distance+=y.dist(I),this.updateScaledDistance()},Z("LineBucket",jf,{omit:["layers","patternFeatures"]});var PS=new Oi({"line-cap":new At(on.layout_line["line-cap"]),"line-join":new Er(on.layout_line["line-join"]),"line-miter-limit":new At(on.layout_line["line-miter-limit"]),"line-round-limit":new At(on.layout_line["line-round-limit"]),"line-sort-key":new Er(on.layout_line["line-sort-key"])}),IS=new Oi({"line-opacity":new Er(on.paint_line["line-opacity"]),"line-color":new Er(on.paint_line["line-color"]),"line-translate":new At(on.paint_line["line-translate"]),"line-translate-anchor":new At(on.paint_line["line-translate-anchor"]),"line-width":new Er(on.paint_line["line-width"]),"line-gap-width":new Er(on.paint_line["line-gap-width"]),"line-offset":new Er(on.paint_line["line-offset"]),"line-blur":new Er(on.paint_line["line-blur"]),"line-dasharray":new wi(on.paint_line["line-dasharray"]),"line-pattern":new Wr(on.paint_line["line-pattern"]),"line-gradient":new Ui(on.paint_line["line-gradient"])}),Qw={paint:IS,layout:PS},hq=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.possiblyEvaluate=function(U,J){return J=new pn(Math.floor(J.zoom),{now:J.now,fadeDuration:J.fadeDuration,zoomHistory:J.zoomHistory,transition:J.transition}),m.prototype.possiblyEvaluate.call(this,U,J)},y.prototype.evaluate=function(U,J,ne,fe){return J=x({},J,{zoom:Math.floor(J.zoom)}),m.prototype.evaluate.call(this,U,J,ne,fe)},y}(Er),D=new hq(Qw.paint.properties["line-width"].specification);D.useIntegerZoom=!0;var A=function(m){function y(I){m.call(this,I,Qw),this.gradientVersion=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._handleSpecialPaintPropertyUpdate=function(U){if(U==="line-gradient"){var J=this._transitionablePaint._values["line-gradient"].value.expression;this.stepInterpolant=J._styleExpression.expression instanceof yu,this.gradientVersion=(this.gradientVersion+1)%v}},y.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},y.prototype.recalculate=function(U,J){m.prototype.recalculate.call(this,U,J),this.paint._values["line-floorwidth"]=D.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,U)},y.prototype.createBucket=function(U){return new jf(U)},y.prototype.queryRadius=function(U){var J=U,ne=R(bd("line-width",this,J),bd("line-gap-width",this,J)),fe=bd("line-offset",this,J);return ne/2+Math.abs(fe)+Lv(this.paint.get("line-translate"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st){var mt=$v(U,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),Qe.angle,st),Xt=st/2*R(this.paint.get("line-width").evaluate(J,ne),this.paint.get("line-gap-width").evaluate(J,ne)),ur=this.paint.get("line-offset").evaluate(J,ne);return ur&&(fe=j(fe,ur*st)),zu(mt,fe,Xt)},y.prototype.isTileClipped=function(){return!0},y}(cn);function R(m,y){return y>0?y+2*m:m}function j(m,y){for(var I=[],U=new u(0,0),J=0;J":"\uFE40","?":"\uFE16","@":"\uFF20","[":"\uFE47","\\":"\uFF3C","]":"\uFE48","^":"\uFF3E",_:"\uFE33","`":"\uFF40","{":"\uFE37","|":"\u2015","}":"\uFE38","~":"\uFF5E","\xA2":"\uFFE0","\xA3":"\uFFE1","\xA5":"\uFFE5","\xA6":"\uFFE4","\xAC":"\uFFE2","\xAF":"\uFFE3","\u2013":"\uFE32","\u2014":"\uFE31","\u2018":"\uFE43","\u2019":"\uFE44","\u201C":"\uFE41","\u201D":"\uFE42","\u2026":"\uFE19","\u2027":"\u30FB","\u20A9":"\uFFE6","\u3001":"\uFE11","\u3002":"\uFE12","\u3008":"\uFE3F","\u3009":"\uFE40","\u300A":"\uFE3D","\u300B":"\uFE3E","\u300C":"\uFE41","\u300D":"\uFE42","\u300E":"\uFE43","\u300F":"\uFE44","\u3010":"\uFE3B","\u3011":"\uFE3C","\u3014":"\uFE39","\u3015":"\uFE3A","\u3016":"\uFE17","\u3017":"\uFE18","\uFF01":"\uFE15","\uFF08":"\uFE35","\uFF09":"\uFE36","\uFF0C":"\uFE10","\uFF0D":"\uFE32","\uFF0E":"\u30FB","\uFF1A":"\uFE13","\uFF1B":"\uFE14","\uFF1C":"\uFE3F","\uFF1E":"\uFE40","\uFF1F":"\uFE16","\uFF3B":"\uFE47","\uFF3D":"\uFE48","\uFF3F":"\uFE33","\uFF5B":"\uFE37","\uFF5C":"\u2015","\uFF5D":"\uFE38","\uFF5F":"\uFE35","\uFF60":"\uFE36","\uFF61":"\uFE12","\uFF62":"\uFE41","\uFF63":"\uFE42"};function ki(m){for(var y="",I=0;I>1,mt=-7,Xt=I?J-1:0,ur=I?-1:1,nr=m[y+Xt];for(Xt+=ur,ne=nr&(1<<-mt)-1,nr>>=-mt,mt+=Fe;mt>0;ne=ne*256+m[y+Xt],Xt+=ur,mt-=8);for(fe=ne&(1<<-mt)-1,ne>>=-mt,mt+=U;mt>0;fe=fe*256+m[y+Xt],Xt+=ur,mt-=8);if(ne===0)ne=1-st;else{if(ne===Qe)return fe?NaN:(nr?-1:1)*(1/0);fe=fe+Math.pow(2,U),ne=ne-st}return(nr?-1:1)*fe*Math.pow(2,ne-U)},Va=function(m,y,I,U,J,ne){var fe,Fe,Qe,st=ne*8-J-1,mt=(1<>1,ur=J===23?Math.pow(2,-24)-Math.pow(2,-77):0,nr=U?0:ne-1,Lr=U?1:-1,Yr=y<0||y===0&&1/y<0?1:0;for(y=Math.abs(y),isNaN(y)||y===1/0?(Fe=isNaN(y)?1:0,fe=mt):(fe=Math.floor(Math.log(y)/Math.LN2),y*(Qe=Math.pow(2,-fe))<1&&(fe--,Qe*=2),fe+Xt>=1?y+=ur/Qe:y+=ur*Math.pow(2,1-Xt),y*Qe>=2&&(fe++,Qe/=2),fe+Xt>=mt?(Fe=0,fe=mt):fe+Xt>=1?(Fe=(y*Qe-1)*Math.pow(2,J),fe=fe+Xt):(Fe=y*Math.pow(2,Xt-1)*Math.pow(2,J),fe=0));J>=8;m[I+nr]=Fe&255,nr+=Lr,Fe/=256,J-=8);for(fe=fe<0;m[I+nr]=fe&255,nr+=Lr,fe/=256,st-=8);m[I+nr-Lr]|=Yr*128},Io={read:ta,write:Va},La=Hn;function Hn(m){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(m)?m:new Uint8Array(m||0),this.pos=0,this.type=0,this.length=this.buf.length}Hn.Varint=0,Hn.Fixed64=1,Hn.Bytes=2,Hn.Fixed32=5;var lo=65536*65536,Qa=1/lo,Ya=12,Tn=typeof TextDecoder=="undefined"?null:new TextDecoder("utf8");Hn.prototype={destroy:function(){this.buf=null},readFields:function(m,y,I){for(I=I||this.length;this.pos>3,ne=this.pos;this.type=U&7,m(J,y,this),this.pos===ne&&this.skip(U)}return y},readMessage:function(m,y){return this.readFields(m,y,this.readVarint()+this.pos)},readFixed32:function(){var m=qh(this.buf,this.pos);return this.pos+=4,m},readSFixed32:function(){var m=Rv(this.buf,this.pos);return this.pos+=4,m},readFixed64:function(){var m=qh(this.buf,this.pos)+qh(this.buf,this.pos+4)*lo;return this.pos+=8,m},readSFixed64:function(){var m=qh(this.buf,this.pos)+Rv(this.buf,this.pos+4)*lo;return this.pos+=8,m},readFloat:function(){var m=Io.read(this.buf,this.pos,!0,23,4);return this.pos+=4,m},readDouble:function(){var m=Io.read(this.buf,this.pos,!0,52,8);return this.pos+=8,m},readVarint:function(m){var y=this.buf,I,U;return U=y[this.pos++],I=U&127,U<128||(U=y[this.pos++],I|=(U&127)<<7,U<128)||(U=y[this.pos++],I|=(U&127)<<14,U<128)||(U=y[this.pos++],I|=(U&127)<<21,U<128)?I:(U=y[this.pos],I|=(U&15)<<28,bo(I,m,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var m=this.readVarint();return m%2===1?(m+1)/-2:m/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var m=this.readVarint()+this.pos,y=this.pos;return this.pos=m,m-y>=Ya&&Tn?Cl(this.buf,y,m):uv(this.buf,y,m)},readBytes:function(){var m=this.readVarint()+this.pos,y=this.buf.subarray(this.pos,m);return this.pos=m,y},readPackedVarint:function(m,y){if(this.type!==Hn.Bytes)return m.push(this.readVarint(y));var I=Ka(this);for(m=m||[];this.pos127;);else if(y===Hn.Bytes)this.pos=this.readVarint()+this.pos;else if(y===Hn.Fixed32)this.pos+=4;else if(y===Hn.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+y)},writeTag:function(m,y){this.writeVarint(m<<3|y)},realloc:function(m){for(var y=this.length||16;y268435455||m<0){wu(m,this);return}this.realloc(4),this.buf[this.pos++]=m&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=(m>>>=7)&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=(m>>>=7)&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=m>>>7&127)))},writeSVarint:function(m){this.writeVarint(m<0?-m*2-1:m*2)},writeBoolean:function(m){this.writeVarint(!!m)},writeString:function(m){m=String(m),this.realloc(m.length*4),this.pos++;var y=this.pos;this.pos=qu(this.buf,m,this.pos);var I=this.pos-y;I>=128&&ep(y,I,this),this.pos=y-1,this.writeVarint(I),this.pos+=I},writeFloat:function(m){this.realloc(4),Io.write(this.buf,m,this.pos,!0,23,4),this.pos+=4},writeDouble:function(m){this.realloc(8),Io.write(this.buf,m,this.pos,!0,52,8),this.pos+=8},writeBytes:function(m){var y=m.length;this.writeVarint(y),this.realloc(y);for(var I=0;I=128&&ep(I,U,this),this.pos=I-1,this.writeVarint(U),this.pos+=U},writeMessage:function(m,y,I){this.writeTag(m,Hn.Bytes),this.writeRawMessage(y,I)},writePackedVarint:function(m,y){y.length&&this.writeMessage(m,id,y)},writePackedSVarint:function(m,y){y.length&&this.writeMessage(m,hh,y)},writePackedBoolean:function(m,y){y.length&&this.writeMessage(m,Gd,y)},writePackedFloat:function(m,y){y.length&&this.writeMessage(m,Vd,y)},writePackedDouble:function(m,y){y.length&&this.writeMessage(m,Hd,y)},writePackedFixed32:function(m,y){y.length&&this.writeMessage(m,rf,y)},writePackedSFixed32:function(m,y){y.length&&this.writeMessage(m,dh,y)},writePackedFixed64:function(m,y){y.length&&this.writeMessage(m,Ad,y)},writePackedSFixed64:function(m,y){y.length&&this.writeMessage(m,nd,y)},writeBytesField:function(m,y){this.writeTag(m,Hn.Bytes),this.writeBytes(y)},writeFixed32Field:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeFixed32(y)},writeSFixed32Field:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeSFixed32(y)},writeFixed64Field:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeFixed64(y)},writeSFixed64Field:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeSFixed64(y)},writeVarintField:function(m,y){this.writeTag(m,Hn.Varint),this.writeVarint(y)},writeSVarintField:function(m,y){this.writeTag(m,Hn.Varint),this.writeSVarint(y)},writeStringField:function(m,y){this.writeTag(m,Hn.Bytes),this.writeString(y)},writeFloatField:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeFloat(y)},writeDoubleField:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeDouble(y)},writeBooleanField:function(m,y){this.writeVarintField(m,!!y)}};function bo(m,y,I){var U=I.buf,J,ne;if(ne=U[I.pos++],J=(ne&112)>>4,ne<128||(ne=U[I.pos++],J|=(ne&127)<<3,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<10,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<17,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<24,ne<128)||(ne=U[I.pos++],J|=(ne&1)<<31,ne<128))return Vo(m,J,y);throw new Error("Expected varint not more than 10 bytes")}function Ka(m){return m.type===Hn.Bytes?m.readVarint()+m.pos:m.pos+1}function Vo(m,y,I){return I?y*4294967296+(m>>>0):(y>>>0)*4294967296+(m>>>0)}function wu(m,y){var I,U;if(m>=0?(I=m%4294967296|0,U=m/4294967296|0):(I=~(-m%4294967296),U=~(-m/4294967296),I^4294967295?I=I+1|0:(I=0,U=U+1|0)),m>=18446744073709552e3||m<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");y.realloc(10),hu(I,U,y),fh(U,y)}function hu(m,y,I){I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos]=m&127}function fh(m,y){var I=(m&7)<<4;y.buf[y.pos++]|=I|((m>>>=3)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127)))))}function ep(m,y,I){var U=y<=16383?1:y<=2097151?2:y<=268435455?3:Math.floor(Math.log(y)/(Math.LN2*7));I.realloc(U);for(var J=I.pos-1;J>=m;J--)I.buf[J+U]=I.buf[J]}function id(m,y){for(var I=0;I>>8,m[I+2]=y>>>16,m[I+3]=y>>>24}function Rv(m,y){return(m[y]|m[y+1]<<8|m[y+2]<<16)+(m[y+3]<<24)}function uv(m,y,I){for(var U="",J=y;J239?4:ne>223?3:ne>191?2:1;if(J+Fe>I)break;var Qe,st,mt;Fe===1?ne<128&&(fe=ne):Fe===2?(Qe=m[J+1],(Qe&192)===128&&(fe=(ne&31)<<6|Qe&63,fe<=127&&(fe=null))):Fe===3?(Qe=m[J+1],st=m[J+2],(Qe&192)===128&&(st&192)===128&&(fe=(ne&15)<<12|(Qe&63)<<6|st&63,(fe<=2047||fe>=55296&&fe<=57343)&&(fe=null))):Fe===4&&(Qe=m[J+1],st=m[J+2],mt=m[J+3],(Qe&192)===128&&(st&192)===128&&(mt&192)===128&&(fe=(ne&15)<<18|(Qe&63)<<12|(st&63)<<6|mt&63,(fe<=65535||fe>=1114112)&&(fe=null))),fe===null?(fe=65533,Fe=1):fe>65535&&(fe-=65536,U+=String.fromCharCode(fe>>>10&1023|55296),fe=56320|fe&1023),U+=String.fromCharCode(fe),J+=Fe}return U}function Cl(m,y,I){return Tn.decode(m.subarray(y,I))}function qu(m,y,I){for(var U=0,J,ne;U55295&&J<57344)if(ne)if(J<56320){m[I++]=239,m[I++]=191,m[I++]=189,ne=J;continue}else J=ne-55296<<10|J-56320|65536,ne=null;else{J>56319||U+1===y.length?(m[I++]=239,m[I++]=191,m[I++]=189):ne=J;continue}else ne&&(m[I++]=239,m[I++]=191,m[I++]=189,ne=null);J<128?m[I++]=J:(J<2048?m[I++]=J>>6|192:(J<65536?m[I++]=J>>12|224:(m[I++]=J>>18|240,m[I++]=J>>12&63|128),m[I++]=J>>6&63|128),m[I++]=J&63|128)}return I}var Tu=3;function zv(m,y,I){m===1&&I.readMessage(qc,y)}function qc(m,y,I){if(m===3){var U=I.readMessage(F1,{}),J=U.id,ne=U.bitmap,fe=U.width,Fe=U.height,Qe=U.left,st=U.top,mt=U.advance;y.push({id:J,bitmap:new Dv({width:fe+2*Tu,height:Fe+2*Tu},ne),metrics:{width:fe,height:Fe,left:Qe,top:st,advance:mt}})}}function F1(m,y,I){m===1?y.id=I.readVarint():m===2?y.bitmap=I.readBytes():m===3?y.width=I.readVarint():m===4?y.height=I.readVarint():m===5?y.left=I.readSVarint():m===6?y.top=I.readSVarint():m===7&&(y.advance=I.readVarint())}function y0(m){return new La(m).readFields(zv,[])}var Zp=Tu;function tp(m){for(var y=0,I=0,U=0,J=m;U=0;nr--){var Lr=Fe[nr];if(!(ur.w>Lr.w||ur.h>Lr.h)){if(ur.x=Lr.x,ur.y=Lr.y,st=Math.max(st,ur.y+ur.h),Qe=Math.max(Qe,ur.x+ur.w),ur.w===Lr.w&&ur.h===Lr.h){var Yr=Fe.pop();nr=0&&J>=y&&x0[this.text.charCodeAt(J)];J--)U--;this.text=this.text.substring(y,U),this.sectionIndex=this.sectionIndex.slice(y,U)},Oh.prototype.substring=function(y,I){var U=new Oh;return U.text=this.text.substring(y,I),U.sectionIndex=this.sectionIndex.slice(y,I),U.sections=this.sections,U},Oh.prototype.toString=function(){return this.text},Oh.prototype.getMaxScale=function(){var y=this;return this.sectionIndex.reduce(function(I,U){return Math.max(I,y.sections[U].scale)},0)},Oh.prototype.addTextSection=function(y,I){this.text+=y.text,this.sections.push(vy.forText(y.scale,y.fontStack||I));for(var U=this.sections.length-1,J=0;J=_0?null:++this.imageSectionID:(this.imageSectionID=e3,this.imageSectionID)};function dq(m,y){for(var I=[],U=m.text,J=0,ne=0,fe=y;ne=0,mt=0,Xt=0;Xt0&&Xf>Ba&&(Ba=Xf)}else{var nl=I[Pa.fontStack],Ws=nl&&nl[Na];if(Ws&&Ws.rect)zo=Ws.rect,us=Ws.metrics;else{var Au=y[Pa.fontStack],Ou=Au&&Au[Na];if(!Ou)continue;us=Ou.metrics}ja=(en-Pa.scale)*Zi}il?(m.verticalizable=!0,$n.push({glyph:Na,imageName:rl,x:ur,y:nr+ja,vertical:il,scale:Pa.scale,fontStack:Pa.fontStack,sectionIndex:qo,metrics:us,rect:zo}),ur+=ou*Pa.scale+st):($n.push({glyph:Na,imageName:rl,x:ur,y:nr+ja,vertical:il,scale:Pa.scale,fontStack:Pa.fontStack,sectionIndex:qo,metrics:us,rect:zo}),ur+=us.advance*Pa.scale+st)}if($n.length!==0){var Wd=ur-st;Lr=Math.max(Wd,Lr),mq($n,0,$n.length-1,_i,Ba)}ur=0;var Zd=ne*en+Ba;ra.lineOffset=Math.max(Ba,An),nr+=Zd,Yr=Math.max(Zd,Yr),++si}var Uh=nr-q1,hv=RS(fe),dv=hv.horizontalAlign,vh=hv.verticalAlign;Sd(m.positionedLines,_i,dv,vh,Lr,Yr,ne,Uh,J.length),m.top+=-vh*Uh,m.bottom=m.top+Uh,m.left+=-dv*Lr,m.right=m.left+Lr}function mq(m,y,I,U,J){if(!(!U&&!J))for(var ne=m[I],fe=ne.metrics.advance*ne.scale,Fe=(m[I].x+fe)*U,Qe=y;Qe<=I;Qe++)m[Qe].x-=Fe,m[Qe].y+=J}function Sd(m,y,I,U,J,ne,fe,Fe,Qe){var st=(y-I)*J,mt=0;ne!==fe?mt=-Fe*U-q1:mt=(-U*Qe+.5)*fe;for(var Xt=0,ur=m;Xt-I/2;){if(fe--,fe<0)return!1;Fe-=m[fe].dist(ne),ne=m[fe]}Fe+=m[fe].dist(m[fe+1]),fe++;for(var Qe=[],st=0;FeU;)st-=Qe.shift().angleDelta;if(st>J)return!1;fe++,Fe+=Xt.dist(ur)}return!0}function FQ(m){for(var y=0,I=0;Ist){var Lr=(st-Qe)/nr,Yr=Qs(Xt.x,ur.x,Lr),_i=Qs(Xt.y,ur.y,Lr),si=new jd(Yr,_i,ur.angleTo(Xt),mt);return si._round(),!fe||zQ(m,si,Fe,fe,y)?si:void 0}Qe+=nr}}function qQe(m,y,I,U,J,ne,fe,Fe,Qe){var st=qQ(U,ne,fe),mt=OQ(U,J),Xt=mt*fe,ur=m[0].x===0||m[0].x===Qe||m[0].y===0||m[0].y===Qe;y-Xt=0&&Vi=0&&en=0&&ur+st<=mt){var An=new jd(Vi,en,Hi,Lr);An._round(),(!U||zQ(m,An,ne,U,J))&&nr.push(An)}}Xt+=si}return!Fe&&!nr.length&&!fe&&(nr=BQ(m,Xt/2,I,U,J,ne,fe,!0,Qe)),nr}function NQ(m,y,I,U,J){for(var ne=[],fe=0;fe=U&&Xt.x>=U)&&(mt.x>=U?mt=new u(U,mt.y+(Xt.y-mt.y)*((U-mt.x)/(Xt.x-mt.x)))._round():Xt.x>=U&&(Xt=new u(U,mt.y+(Xt.y-mt.y)*((U-mt.x)/(Xt.x-mt.x)))._round()),!(mt.y>=J&&Xt.y>=J)&&(mt.y>=J?mt=new u(mt.x+(Xt.x-mt.x)*((J-mt.y)/(Xt.y-mt.y)),J)._round():Xt.y>=J&&(Xt=new u(mt.x+(Xt.x-mt.x)*((J-mt.y)/(Xt.y-mt.y)),J)._round()),(!Qe||!mt.equals(Qe[Qe.length-1]))&&(Qe=[mt],ne.push(Qe)),Qe.push(Xt)))))}return ne}var i3=oc;function UQ(m,y,I,U){var J=[],ne=m.image,fe=ne.pixelRatio,Fe=ne.paddedRect.w-2*i3,Qe=ne.paddedRect.h-2*i3,st=m.right-m.left,mt=m.bottom-m.top,Xt=ne.stretchX||[[0,Fe]],ur=ne.stretchY||[[0,Qe]],nr=function(nl,Ws){return nl+Ws[1]-Ws[0]},Lr=Xt.reduce(nr,0),Yr=ur.reduce(nr,0),_i=Fe-Lr,si=Qe-Yr,Hi=0,Ei=Lr,Vi=0,en=Yr,An=0,ra=_i,$n=0,Ba=si;if(ne.content&&U){var xa=ne.content;Hi=o6(Xt,0,xa[0]),Vi=o6(ur,0,xa[1]),Ei=o6(Xt,xa[0],xa[2]),en=o6(ur,xa[1],xa[3]),An=xa[0]-Hi,$n=xa[1]-Vi,ra=xa[2]-xa[0]-Ei,Ba=xa[3]-xa[1]-en}var Pa=function(nl,Ws,Au,Ou){var nf=s6(nl.stretch-Hi,Ei,st,m.left),bf=l6(nl.fixed-An,ra,nl.stretch,Lr),Nh=s6(Ws.stretch-Vi,en,mt,m.top),Xf=l6(Ws.fixed-$n,Ba,Ws.stretch,Yr),Wd=s6(Au.stretch-Hi,Ei,st,m.left),Zd=l6(Au.fixed-An,ra,Au.stretch,Lr),Uh=s6(Ou.stretch-Vi,en,mt,m.top),hv=l6(Ou.fixed-$n,Ba,Ou.stretch,Yr),dv=new u(nf,Nh),vh=new u(Wd,Nh),vv=new u(Wd,Uh),Tp=new u(nf,Uh),my=new u(bf/fe,Xf/fe),N1=new u(Zd/fe,hv/fe),U1=y*Math.PI/180;if(U1){var V1=Math.sin(U1),f3=Math.cos(U1),b0=[f3,-V1,V1,f3];dv._matMult(b0),vh._matMult(b0),Tp._matMult(b0),vv._matMult(b0)}var v6=nl.stretch+nl.fixed,Sq=Au.stretch+Au.fixed,p6=Ws.stretch+Ws.fixed,Mq=Ou.stretch+Ou.fixed,Xp={x:ne.paddedRect.x+i3+v6,y:ne.paddedRect.y+i3+p6,w:Sq-v6,h:Mq-p6},h3=ra/fe/st,g6=Ba/fe/mt;return{tl:dv,tr:vh,bl:Tp,br:vv,tex:Xp,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:my,pixelOffsetBR:N1,minFontScaleX:h3,minFontScaleY:g6,isSDF:I}};if(!U||!ne.stretchX&&!ne.stretchY)J.push(Pa({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:Fe+1},{fixed:0,stretch:Qe+1}));else for(var qo=VQ(Xt,_i,Lr),Na=VQ(ur,si,Yr),ja=0;ja0&&(Lr=Math.max(10,Lr),this.circleDiameter=Lr)}else{var Yr=fe.top*Fe-Qe,_i=fe.bottom*Fe+Qe,si=fe.left*Fe-Qe,Hi=fe.right*Fe+Qe,Ei=fe.collisionPadding;if(Ei&&(si-=Ei[0]*Fe,Yr-=Ei[1]*Fe,Hi+=Ei[2]*Fe,_i+=Ei[3]*Fe),mt){var Vi=new u(si,Yr),en=new u(Hi,Yr),An=new u(si,_i),ra=new u(Hi,_i),$n=mt*Math.PI/180;Vi._rotate($n),en._rotate($n),An._rotate($n),ra._rotate($n),si=Math.min(Vi.x,en.x,An.x,ra.x),Hi=Math.max(Vi.x,en.x,An.x,ra.x),Yr=Math.min(Vi.y,en.y,An.y,ra.y),_i=Math.max(Vi.y,en.y,An.y,ra.y)}y.emplaceBack(I.x,I.y,si,Yr,Hi,_i,U,J,ne)}this.boxEndIndex=y.length},n3=function(y,I){if(y===void 0&&(y=[]),I===void 0&&(I=BQe),this.data=y,this.length=this.data.length,this.compare=I,this.length>0)for(var U=(this.length>>1)-1;U>=0;U--)this._down(U)};n3.prototype.push=function(y){this.data.push(y),this.length++,this._up(this.length-1)},n3.prototype.pop=function(){if(this.length!==0){var y=this.data[0],I=this.data.pop();return this.length--,this.length>0&&(this.data[0]=I,this._down(0)),y}},n3.prototype.peek=function(){return this.data[0]},n3.prototype._up=function(y){for(var I=this,U=I.data,J=I.compare,ne=U[y];y>0;){var fe=y-1>>1,Fe=U[fe];if(J(ne,Fe)>=0)break;U[y]=Fe,y=fe}U[y]=ne},n3.prototype._down=function(y){for(var I=this,U=I.data,J=I.compare,ne=this.length>>1,fe=U[y];y=0)break;U[y]=Qe,y=Fe}U[y]=fe};function BQe(m,y){return my?1:0}function NQe(m,y,I){y===void 0&&(y=1),I===void 0&&(I=!1);for(var U=1/0,J=1/0,ne=-1/0,fe=-1/0,Fe=m[0],Qe=0;Qene)&&(ne=st.x),(!Qe||st.y>fe)&&(fe=st.y)}var mt=ne-U,Xt=fe-J,ur=Math.min(mt,Xt),nr=ur/2,Lr=new n3([],UQe);if(ur===0)return new u(U,J);for(var Yr=U;Yrsi.d||!si.d)&&(si=Ei,I&&console.log("found best %d after %d probes",Math.round(1e4*Ei.d)/1e4,Hi)),!(Ei.max-si.d<=y)&&(nr=Ei.h/2,Lr.push(new a3(Ei.p.x-nr,Ei.p.y-nr,nr,m)),Lr.push(new a3(Ei.p.x+nr,Ei.p.y-nr,nr,m)),Lr.push(new a3(Ei.p.x-nr,Ei.p.y+nr,nr,m)),Lr.push(new a3(Ei.p.x+nr,Ei.p.y+nr,nr,m)),Hi+=4)}return I&&(console.log("num probes: "+Hi),console.log("best distance: "+si.d)),si.p}function UQe(m,y){return y.max-m.max}function a3(m,y,I,U){this.p=new u(m,y),this.h=I,this.d=VQe(this.p,U),this.max=this.d+this.h*Math.SQRT2}function VQe(m,y){for(var I=!1,U=1/0,J=0;Jm.y!=mt.y>m.y&&m.x<(mt.x-st.x)*(m.y-st.y)/(mt.y-st.y)+st.x&&(I=!I),U=Math.min(U,vg(m,st,mt))}return(I?1:-1)*Math.sqrt(U)}function HQe(m){for(var y=0,I=0,U=0,J=m[0],ne=0,fe=J.length,Fe=fe-1;ne=rn||b0.y<0||b0.y>=rn||WQe(m,b0,f3,I,U,J,Na,m.layers[0],m.collisionBoxArray,y.index,y.sourceLayerIndex,m.index,si,en,$n,Qe,Ei,An,Ba,nr,y,ne,st,mt,fe)};if(xa==="line")for(var us=0,zo=NQ(y.geometry,0,0,rn,rn);us1){var Nh=FQe(bf,ra,I.vertical||Lr,U,Yr,Hi);Nh&&ja(bf,Nh)}}else if(y.type==="Polygon")for(var Xf=0,Wd=Xw(y.geometry,0);XfO1&&re(m.layerIds[0]+': Value for "text-size" is >= '+zS+'. Reduce your "text-size".')):_i.kind==="composite"&&(si=[Md*nr.compositeTextSizes[0].evaluate(fe,{},Lr),Md*nr.compositeTextSizes[1].evaluate(fe,{},Lr)],(si[0]>O1||si[1]>O1)&&re(m.layerIds[0]+': Value for "text-size" is >= '+zS+'. Reduce your "text-size".')),m.addSymbols(m.text,Yr,si,Fe,ne,fe,st,y,Qe.lineStartIndex,Qe.lineLength,ur,Lr);for(var Hi=0,Ei=mt;HiO1&&re(m.layerIds[0]+': Value for "icon-size" is >= '+zS+'. Reduce your "icon-size".')):dv.kind==="composite"&&(vh=[Md*en.compositeIconSizes[0].evaluate(Vi,{},ra),Md*en.compositeIconSizes[1].evaluate(Vi,{},ra)],(vh[0]>O1||vh[1]>O1)&&re(m.layerIds[0]+': Value for "icon-size" is >= '+zS+'. Reduce your "icon-size".')),m.addSymbols(m.icon,Uh,vh,Ei,Hi,Vi,!1,y,xa.lineStartIndex,xa.lineLength,-1,ra),il=m.icon.placedSymbolArray.length-1,hv&&(zo=hv.length*4,m.addSymbols(m.icon,hv,vh,Ei,Hi,Vi,cv.vertical,y,xa.lineStartIndex,xa.lineLength,-1,ra),nl=m.icon.placedSymbolArray.length-1)}for(var vv in U.horizontal){var Tp=U.horizontal[vv];if(!Pa){Au=$(Tp.text);var my=Fe.layout.get("text-rotate").evaluate(Vi,{},ra);Pa=new u6(Qe,y,st,mt,Xt,Tp,ur,nr,Lr,my)}var N1=Tp.positionedLines.length===1;if(rl+=GQ(m,y,Tp,ne,Fe,Lr,Vi,Yr,xa,U.vertical?cv.horizontal:cv.horizontalOnly,N1?Object.keys(U.horizontal):[vv],Ws,il,en,ra),N1)break}U.vertical&&(ou+=GQ(m,y,U.vertical,ne,Fe,Lr,Vi,Yr,xa,cv.vertical,["vertical"],Ws,nl,en,ra));var U1=Pa?Pa.boxStartIndex:m.collisionBoxArray.length,V1=Pa?Pa.boxEndIndex:m.collisionBoxArray.length,f3=Na?Na.boxStartIndex:m.collisionBoxArray.length,b0=Na?Na.boxEndIndex:m.collisionBoxArray.length,v6=qo?qo.boxStartIndex:m.collisionBoxArray.length,Sq=qo?qo.boxEndIndex:m.collisionBoxArray.length,p6=ja?ja.boxStartIndex:m.collisionBoxArray.length,Mq=ja?ja.boxEndIndex:m.collisionBoxArray.length,Xp=-1,h3=function(OS,see){return OS&&OS.circleDiameter?Math.max(OS.circleDiameter,see):see};Xp=h3(Pa,Xp),Xp=h3(Na,Xp),Xp=h3(qo,Xp),Xp=h3(ja,Xp);var g6=Xp>-1?1:0;g6&&(Xp*=$n/Zi),m.glyphOffsetArray.length>=au.MAX_GLYPHS&&re("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),Vi.sortKey!==void 0&&m.addToSortKeyRanges(m.symbolInstances.length,Vi.sortKey),m.symbolInstances.emplaceBack(y.x,y.y,Ws.right>=0?Ws.right:-1,Ws.center>=0?Ws.center:-1,Ws.left>=0?Ws.left:-1,Ws.vertical||-1,il,nl,Au,U1,V1,f3,b0,v6,Sq,p6,Mq,st,rl,ou,us,zo,g6,0,ur,Ou,nf,Xp)}function ZQe(m,y,I,U){var J=m.compareText;if(!(y in J))J[y]=[];else for(var ne=J[y],fe=ne.length-1;fe>=0;fe--)if(U.dist(ne[fe])0)&&(fe.value.kind!=="constant"||fe.value.value.length>0),mt=Qe.value.kind!=="constant"||!!Qe.value.value||Object.keys(Qe.parameters).length>0,Xt=ne.get("symbol-sort-key");if(this.features=[],!(!st&&!mt)){for(var ur=I.iconDependencies,nr=I.glyphDependencies,Lr=I.availableImages,Yr=new pn(this.zoom),_i=0,si=y;_i=0;for(var ou=0,il=Ba.sections;ou=0;Qe--)fe[Qe]={x:I[Qe].x,y:I[Qe].y,tileUnitDistanceFromAnchor:ne},Qe>0&&(ne+=I[Qe-1].dist(I[Qe]));for(var st=0;st0},au.prototype.hasIconData=function(){return this.icon.segments.get().length>0},au.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},au.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},au.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},au.prototype.addIndicesForPlacedSymbol=function(y,I){for(var U=y.placedSymbolArray.get(I),J=U.vertexStartIndex+U.numGlyphs*4,ne=U.vertexStartIndex;ne1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(y),this.sortedAngle=y,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var U=0,J=this.symbolInstanceIndexes;U=0&&st.indexOf(Fe)===Qe&&I.addIndicesForPlacedSymbol(I.text,Fe)}),fe.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,fe.verticalPlacedTextSymbolIndex),fe.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,fe.placedIconSymbolIndex),fe.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,fe.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Z("SymbolBucket",au,{omit:["layers","collisionBoxArray","features","compareText"]}),au.MAX_GLYPHS=65535,au.addDynamicAttributes=xq;function JQe(m,y){return y.replace(/{([^{}]+)}/g,function(I,U){return U in m?String(m[U]):""})}var $Qe=new Oi({"symbol-placement":new At(on.layout_symbol["symbol-placement"]),"symbol-spacing":new At(on.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new At(on.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Er(on.layout_symbol["symbol-sort-key"]),"symbol-z-order":new At(on.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new At(on.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new At(on.layout_symbol["icon-ignore-placement"]),"icon-optional":new At(on.layout_symbol["icon-optional"]),"icon-rotation-alignment":new At(on.layout_symbol["icon-rotation-alignment"]),"icon-size":new Er(on.layout_symbol["icon-size"]),"icon-text-fit":new At(on.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new At(on.layout_symbol["icon-text-fit-padding"]),"icon-image":new Er(on.layout_symbol["icon-image"]),"icon-rotate":new Er(on.layout_symbol["icon-rotate"]),"icon-padding":new At(on.layout_symbol["icon-padding"]),"icon-keep-upright":new At(on.layout_symbol["icon-keep-upright"]),"icon-offset":new Er(on.layout_symbol["icon-offset"]),"icon-anchor":new Er(on.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new At(on.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new At(on.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new At(on.layout_symbol["text-rotation-alignment"]),"text-field":new Er(on.layout_symbol["text-field"]),"text-font":new Er(on.layout_symbol["text-font"]),"text-size":new Er(on.layout_symbol["text-size"]),"text-max-width":new Er(on.layout_symbol["text-max-width"]),"text-line-height":new At(on.layout_symbol["text-line-height"]),"text-letter-spacing":new Er(on.layout_symbol["text-letter-spacing"]),"text-justify":new Er(on.layout_symbol["text-justify"]),"text-radial-offset":new Er(on.layout_symbol["text-radial-offset"]),"text-variable-anchor":new At(on.layout_symbol["text-variable-anchor"]),"text-anchor":new Er(on.layout_symbol["text-anchor"]),"text-max-angle":new At(on.layout_symbol["text-max-angle"]),"text-writing-mode":new At(on.layout_symbol["text-writing-mode"]),"text-rotate":new Er(on.layout_symbol["text-rotate"]),"text-padding":new At(on.layout_symbol["text-padding"]),"text-keep-upright":new At(on.layout_symbol["text-keep-upright"]),"text-transform":new Er(on.layout_symbol["text-transform"]),"text-offset":new Er(on.layout_symbol["text-offset"]),"text-allow-overlap":new At(on.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new At(on.layout_symbol["text-ignore-placement"]),"text-optional":new At(on.layout_symbol["text-optional"])}),QQe=new Oi({"icon-opacity":new Er(on.paint_symbol["icon-opacity"]),"icon-color":new Er(on.paint_symbol["icon-color"]),"icon-halo-color":new Er(on.paint_symbol["icon-halo-color"]),"icon-halo-width":new Er(on.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Er(on.paint_symbol["icon-halo-blur"]),"icon-translate":new At(on.paint_symbol["icon-translate"]),"icon-translate-anchor":new At(on.paint_symbol["icon-translate-anchor"]),"text-opacity":new Er(on.paint_symbol["text-opacity"]),"text-color":new Er(on.paint_symbol["text-color"],{runtimeType:Tl,getOverride:function(m){return m.textColor},hasOverride:function(m){return!!m.textColor}}),"text-halo-color":new Er(on.paint_symbol["text-halo-color"]),"text-halo-width":new Er(on.paint_symbol["text-halo-width"]),"text-halo-blur":new Er(on.paint_symbol["text-halo-blur"]),"text-translate":new At(on.paint_symbol["text-translate"]),"text-translate-anchor":new At(on.paint_symbol["text-translate-anchor"])}),bq={paint:QQe,layout:$Qe},l3=function(y){this.type=y.property.overrides?y.property.overrides.runtimeType:Ec,this.defaultValue=y};l3.prototype.evaluate=function(y){if(y.formattedSection){var I=this.defaultValue.property.overrides;if(I&&I.hasOverride(y.formattedSection))return I.getOverride(y.formattedSection)}return y.feature&&y.featureState?this.defaultValue.evaluate(y.feature,y.featureState):this.defaultValue.property.specification.default},l3.prototype.eachChild=function(y){if(!this.defaultValue.isConstant()){var I=this.defaultValue.value;y(I._styleExpression.expression)}},l3.prototype.outputDefined=function(){return!1},l3.prototype.serialize=function(){return null},Z("FormatSectionOverride",l3,{omit:["defaultValue"]});var eet=function(m){function y(I){m.call(this,I,bq)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.recalculate=function(U,J){if(m.prototype.recalculate.call(this,U,J),this.layout.get("icon-rotation-alignment")==="auto"&&(this.layout.get("symbol-placement")!=="point"?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),this.layout.get("text-rotation-alignment")==="auto"&&(this.layout.get("symbol-placement")!=="point"?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),this.layout.get("text-pitch-alignment")==="auto"&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),this.layout.get("icon-pitch-alignment")==="auto"&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),this.layout.get("symbol-placement")==="point"){var ne=this.layout.get("text-writing-mode");if(ne){for(var fe=[],Fe=0,Qe=ne;Fe",targetMapId:J,sourceMapId:fe.mapId})}}},u3.prototype.receive=function(y){var I=y.data,U=I.id;if(U&&!(I.targetMapId&&this.mapId!==I.targetMapId))if(I.type===""){delete this.tasks[U];var J=this.cancelCallbacks[U];delete this.cancelCallbacks[U],J&&J()}else ke()||I.mustQueue?(this.tasks[U]=I,this.taskQueue.push(U),this.invoker.trigger()):this.processTask(U,I)},u3.prototype.process=function(){if(this.taskQueue.length){var y=this.taskQueue.shift(),I=this.tasks[y];delete this.tasks[y],this.taskQueue.length&&this.invoker.trigger(),I&&this.processTask(y,I)}},u3.prototype.processTask=function(y,I){var U=this;if(I.type===""){var J=this.callbacks[y];delete this.callbacks[y],J&&(I.error?J(We(I.error)):J(null,We(I.data)))}else{var ne=!1,fe=Te(this.globalScope)?void 0:[],Fe=I.hasCallback?function(ur,nr){ne=!0,delete U.cancelCallbacks[y],U.target.postMessage({id:y,type:"",sourceMapId:U.mapId,error:ur?Ue(ur):null,data:Ue(nr,fe)},fe)}:function(ur){ne=!0},Qe=null,st=We(I.data);if(this.parent[I.type])Qe=this.parent[I.type](I.sourceMapId,st,Fe);else if(this.parent.getWorkerSource){var mt=I.type.split("."),Xt=this.parent.getWorkerSource(I.sourceMapId,mt[0],st.source);Qe=Xt[mt[1]](st,Fe)}else Fe(new Error("Could not find function "+I.type));!ne&&Qe&&Qe.cancel&&(this.cancelCallbacks[y]=Qe.cancel)}},u3.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};function het(m,y,I){y=Math.pow(2,I)-y-1;var U=KQ(m*256,y*256,I),J=KQ((m+1)*256,(y+1)*256,I);return U[0]+","+U[1]+","+J[0]+","+J[1]}function KQ(m,y,I){var U=2*Math.PI*6378137/256/Math.pow(2,I),J=m*U-2*Math.PI*6378137/2,ne=y*U-2*Math.PI*6378137/2;return[J,ne]}var Wf=function(y,I){y&&(I?this.setSouthWest(y).setNorthEast(I):y.length===4?this.setSouthWest([y[0],y[1]]).setNorthEast([y[2],y[3]]):this.setSouthWest(y[0]).setNorthEast(y[1]))};Wf.prototype.setNorthEast=function(y){return this._ne=y instanceof sc?new sc(y.lng,y.lat):sc.convert(y),this},Wf.prototype.setSouthWest=function(y){return this._sw=y instanceof sc?new sc(y.lng,y.lat):sc.convert(y),this},Wf.prototype.extend=function(y){var I=this._sw,U=this._ne,J,ne;if(y instanceof sc)J=y,ne=y;else if(y instanceof Wf){if(J=y._sw,ne=y._ne,!J||!ne)return this}else{if(Array.isArray(y))if(y.length===4||y.every(Array.isArray)){var fe=y;return this.extend(Wf.convert(fe))}else{var Fe=y;return this.extend(sc.convert(Fe))}return this}return!I&&!U?(this._sw=new sc(J.lng,J.lat),this._ne=new sc(ne.lng,ne.lat)):(I.lng=Math.min(J.lng,I.lng),I.lat=Math.min(J.lat,I.lat),U.lng=Math.max(ne.lng,U.lng),U.lat=Math.max(ne.lat,U.lat)),this},Wf.prototype.getCenter=function(){return new sc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Wf.prototype.getSouthWest=function(){return this._sw},Wf.prototype.getNorthEast=function(){return this._ne},Wf.prototype.getNorthWest=function(){return new sc(this.getWest(),this.getNorth())},Wf.prototype.getSouthEast=function(){return new sc(this.getEast(),this.getSouth())},Wf.prototype.getWest=function(){return this._sw.lng},Wf.prototype.getSouth=function(){return this._sw.lat},Wf.prototype.getEast=function(){return this._ne.lng},Wf.prototype.getNorth=function(){return this._ne.lat},Wf.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Wf.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Wf.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Wf.prototype.contains=function(y){var I=sc.convert(y),U=I.lng,J=I.lat,ne=this._sw.lat<=J&&J<=this._ne.lat,fe=this._sw.lng<=U&&U<=this._ne.lng;return this._sw.lng>this._ne.lng&&(fe=this._sw.lng>=U&&U>=this._ne.lng),ne&&fe},Wf.convert=function(y){return!y||y instanceof Wf?y:new Wf(y)};var JQ=63710088e-1,sc=function(y,I){if(isNaN(y)||isNaN(I))throw new Error("Invalid LngLat object: ("+y+", "+I+")");if(this.lng=+y,this.lat=+I,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};sc.prototype.wrap=function(){return new sc(E(this.lng,-180,180),this.lat)},sc.prototype.toArray=function(){return[this.lng,this.lat]},sc.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},sc.prototype.distanceTo=function(y){var I=Math.PI/180,U=this.lat*I,J=y.lat*I,ne=Math.sin(U)*Math.sin(J)+Math.cos(U)*Math.cos(J)*Math.cos((y.lng-this.lng)*I),fe=JQ*Math.acos(Math.min(ne,1));return fe},sc.prototype.toBounds=function(y){y===void 0&&(y=0);var I=40075017,U=360*y/I,J=U/Math.cos(Math.PI/180*this.lat);return new Wf(new sc(this.lng-J,this.lat-U),new sc(this.lng+J,this.lat+U))},sc.convert=function(y){if(y instanceof sc)return y;if(Array.isArray(y)&&(y.length===2||y.length===3))return new sc(Number(y[0]),Number(y[1]));if(!Array.isArray(y)&&typeof y=="object"&&y!==null)return new sc(Number("lng"in y?y.lng:y.lon),Number(y.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")};var $Q=2*Math.PI*JQ;function QQ(m){return $Q*Math.cos(m*Math.PI/180)}function eee(m){return(180+m)/360}function tee(m){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+m*Math.PI/360)))/360}function ree(m,y){return m/QQ(y)}function det(m){return m*360-180}function Tq(m){var y=180-m*360;return 360/Math.PI*Math.atan(Math.exp(y*Math.PI/180))-90}function vet(m,y){return m*QQ(Tq(y))}function pet(m){return 1/Math.cos(m*Math.PI/180)}var hb=function(y,I,U){U===void 0&&(U=0),this.x=+y,this.y=+I,this.z=+U};hb.fromLngLat=function(y,I){I===void 0&&(I=0);var U=sc.convert(y);return new hb(eee(U.lng),tee(U.lat),ree(I,U.lat))},hb.prototype.toLngLat=function(){return new sc(det(this.x),Tq(this.y))},hb.prototype.toAltitude=function(){return vet(this.z,this.y)},hb.prototype.meterInMercatorCoordinateUnits=function(){return 1/$Q*pet(Tq(this.y))};var db=function(y,I,U){this.z=y,this.x=I,this.y=U,this.key=qS(0,y,y,I,U)};db.prototype.equals=function(y){return this.z===y.z&&this.x===y.x&&this.y===y.y},db.prototype.url=function(y,I){var U=het(this.x,this.y,this.z),J=get(this.z,this.x,this.y);return y[(this.x+this.y)%y.length].replace("{prefix}",(this.x%16).toString(16)+(this.y%16).toString(16)).replace("{z}",String(this.z)).replace("{x}",String(this.x)).replace("{y}",String(I==="tms"?Math.pow(2,this.z)-this.y-1:this.y)).replace("{quadkey}",J).replace("{bbox-epsg-3857}",U)},db.prototype.getTilePoint=function(y){var I=Math.pow(2,this.z);return new u((y.x*I-this.x)*rn,(y.y*I-this.y)*rn)},db.prototype.toString=function(){return this.z+"/"+this.x+"/"+this.y};var iee=function(y,I){this.wrap=y,this.canonical=I,this.key=qS(y,I.z,I.z,I.x,I.y)},Zf=function(y,I,U,J,ne){this.overscaledZ=y,this.wrap=I,this.canonical=new db(U,+J,+ne),this.key=qS(I,y,U,J,ne)};Zf.prototype.equals=function(y){return this.overscaledZ===y.overscaledZ&&this.wrap===y.wrap&&this.canonical.equals(y.canonical)},Zf.prototype.scaledTo=function(y){var I=this.canonical.z-y;return y>this.canonical.z?new Zf(y,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Zf(y,this.wrap,y,this.canonical.x>>I,this.canonical.y>>I)},Zf.prototype.calculateScaledKey=function(y,I){var U=this.canonical.z-y;return y>this.canonical.z?qS(this.wrap*+I,y,this.canonical.z,this.canonical.x,this.canonical.y):qS(this.wrap*+I,y,y,this.canonical.x>>U,this.canonical.y>>U)},Zf.prototype.isChildOf=function(y){if(y.wrap!==this.wrap)return!1;var I=this.canonical.z-y.canonical.z;return y.overscaledZ===0||y.overscaledZ>I&&y.canonical.y===this.canonical.y>>I},Zf.prototype.children=function(y){if(this.overscaledZ>=y)return[new Zf(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var I=this.canonical.z+1,U=this.canonical.x*2,J=this.canonical.y*2;return[new Zf(I,this.wrap,I,U,J),new Zf(I,this.wrap,I,U+1,J),new Zf(I,this.wrap,I,U,J+1),new Zf(I,this.wrap,I,U+1,J+1)]},Zf.prototype.isLessThan=function(y){return this.wrapy.wrap?!1:this.overscaledZy.overscaledZ?!1:this.canonical.xy.canonical.x?!1:this.canonical.y0;ne--)J=1<=this.dim+1||I<-1||I>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(I+1)*this.stride+(y+1)},py.prototype._unpackMapbox=function(y,I,U){return(y*256*256+I*256+U)/10-1e4},py.prototype._unpackTerrarium=function(y,I,U){return y*256+I+U/256-32768},py.prototype.getPixels=function(){return new ch({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},py.prototype.backfillBorder=function(y,I,U){if(this.dim!==y.dim)throw new Error("dem dimension mismatch");var J=I*this.dim,ne=I*this.dim+this.dim,fe=U*this.dim,Fe=U*this.dim+this.dim;switch(I){case-1:J=ne-1;break;case 1:ne=J+1;break}switch(U){case-1:fe=Fe-1;break;case 1:Fe=fe+1;break}for(var Qe=-I*this.dim,st=-U*this.dim,mt=fe;mt=0&&Xt[3]>=0&&Qe.insert(Fe,Xt[0],Xt[1],Xt[2],Xt[3])}},gy.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new _g.VectorTile(new La(this.rawTileData)).layers,this.sourceLayerCoder=new h6(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},gy.prototype.query=function(y,I,U,J){var ne=this;this.loadVTLayers();for(var fe=y.params||{},Fe=rn/y.tileSize/y.scale,Qe=be(fe.filter),st=y.queryGeometry,mt=y.queryPadding*Fe,Xt=aee(st),ur=this.grid.query(Xt.minX-mt,Xt.minY-mt,Xt.maxX+mt,Xt.maxY+mt),nr=aee(y.cameraQueryGeometry),Lr=this.grid3D.query(nr.minX-mt,nr.minY-mt,nr.maxX+mt,nr.maxY+mt,function(An,ra,$n,Ba){return _p(y.cameraQueryGeometry,An-mt,ra-mt,$n+mt,Ba+mt)}),Yr=0,_i=Lr;Yr<_i.length;Yr+=1){var si=_i[Yr];ur.push(si)}ur.sort(yet);for(var Hi={},Ei,Vi=function(An){var ra=ur[An];if(ra!==Ei){Ei=ra;var $n=ne.featureIndexArray.get(ra),Ba=null;ne.loadMatchingFeature(Hi,$n.bucketIndex,$n.sourceLayerIndex,$n.featureIndex,Qe,fe.layers,fe.availableImages,I,U,J,function(xa,Pa,qo){return Ba||(Ba=da(xa)),Pa.queryIntersectsFeature(st,xa,qo,Ba,ne.z,y.transform,Fe,y.pixelPosMatrix)})}},en=0;enJ)ne=!1;else if(!I)ne=!0;else if(this.expirationTime=Ha.maxzoom)&&Ha.visibility!=="none"){h(Sn,this.zoom,Zt);var oo=Si[Ha.id]=Ha.createBucket({index:gi.bucketLayerIDs.length,layers:Sn,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:Ca,sourceID:this.source});oo.populate(jn,Mi,this.tileID.canonical),gi.bucketLayerIDs.push(Sn.map(function(hi){return hi.id}))}}}}var xn,_t,br,Hr,ti=i.mapObject(Mi.glyphDependencies,function(hi){return Object.keys(hi).map(Number)});Object.keys(ti).length?_r.send("getGlyphs",{uid:this.uid,stacks:ti},function(hi,Ji){xn||(xn=hi,_t=Ji,an.call(Zr))}):_t={};var zi=Object.keys(Mi.iconDependencies);zi.length?_r.send("getImages",{icons:zi,source:this.source,tileID:this.tileID,type:"icons"},function(hi,Ji){xn||(xn=hi,br=Ji,an.call(Zr))}):br={};var Yi=Object.keys(Mi.patternDependencies);Yi.length?_r.send("getImages",{icons:Yi,source:this.source,tileID:this.tileID,type:"patterns"},function(hi,Ji){xn||(xn=hi,Hr=Ji,an.call(Zr))}):Hr={},an.call(this);function an(){if(xn)return Fr(xn);if(_t&&br&&Hr){var hi=new c(_t),Ji=new i.ImageAtlas(br,Hr);for(var ca in Si){var Fn=Si[ca];Fn instanceof i.SymbolBucket?(h(Fn.layers,this.zoom,Zt),i.performSymbolLayout(Fn,_t,hi.positions,br,Ji.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):Fn.hasPattern&&(Fn instanceof i.LineBucket||Fn instanceof i.FillBucket||Fn instanceof i.FillExtrusionBucket)&&(h(Fn.layers,this.zoom,Zt),Fn.addFeatures(Mi,this.tileID.canonical,Ji.patternPositions))}this.status="done",Fr(null,{buckets:i.values(Si).filter(function(Ma){return!Ma.isEmpty()}),featureIndex:gi,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:hi.image,imageAtlas:Ji,glyphMap:this.returnDependencies?_t:null,iconMap:this.returnDependencies?br:null,glyphPositions:this.returnDependencies?hi.positions:null})}}};function h(Dt,ft,jt){for(var Zt=new i.EvaluationParameters(ft),_r=0,Fr=Dt;_r=0!=!!ft&&Dt.reverse()}var L=i.vectorTile.VectorTileFeature.prototype.toGeoJSON,x=function(ft){this._feature=ft,this.extent=i.EXTENT,this.type=ft.type,this.properties=ft.tags,"id"in ft&&!isNaN(ft.id)&&(this.id=parseInt(ft.id,10))};x.prototype.loadGeometry=function(){if(this._feature.type===1){for(var ft=[],jt=0,Zt=this._feature.geometry;jt>31}function ke(Dt,ft){for(var jt=Dt.loadGeometry(),Zt=Dt.type,_r=0,Fr=0,Zr=jt.length,Vr=0;Vr>1;Te(Dt,ft,Zr,Zt,_r,Fr%2),ie(Dt,ft,jt,Zt,Zr-1,Fr+1),ie(Dt,ft,jt,Zr+1,_r,Fr+1)}}function Te(Dt,ft,jt,Zt,_r,Fr){for(;_r>Zt;){if(_r-Zt>600){var Zr=_r-Zt+1,Vr=jt-Zt+1,gi=Math.log(Zr),Si=.5*Math.exp(2*gi/3),Mi=.5*Math.sqrt(gi*Si*(Zr-Si)/Zr)*(Vr-Zr/2<0?-1:1),Pi=Math.max(Zt,Math.floor(jt-Vr*Si/Zr+Mi)),Gi=Math.min(_r,Math.floor(jt+(Zr-Vr)*Si/Zr+Mi));Te(Dt,ft,jt,Pi,Gi,Fr)}var Ki=ft[2*jt+Fr],Ca=Zt,jn=_r;for(Ee(Dt,ft,Zt,jt),ft[2*_r+Fr]>Ki&&Ee(Dt,ft,Zt,_r);CaKi;)jn--}ft[2*Zt+Fr]===Ki?Ee(Dt,ft,Zt,jn):(jn++,Ee(Dt,ft,jn,_r)),jn<=jt&&(Zt=jn+1),jt<=jn&&(_r=jn-1)}}function Ee(Dt,ft,jt,Zt){Ae(Dt,jt,Zt),Ae(ft,2*jt,2*Zt),Ae(ft,2*jt+1,2*Zt+1)}function Ae(Dt,ft,jt){var Zt=Dt[ft];Dt[ft]=Dt[jt],Dt[jt]=Zt}function ze(Dt,ft,jt,Zt,_r,Fr,Zr){for(var Vr=[0,Dt.length-1,0],gi=[],Si,Mi;Vr.length;){var Pi=Vr.pop(),Gi=Vr.pop(),Ki=Vr.pop();if(Gi-Ki<=Zr){for(var Ca=Ki;Ca<=Gi;Ca++)Si=ft[2*Ca],Mi=ft[2*Ca+1],Si>=jt&&Si<=_r&&Mi>=Zt&&Mi<=Fr&&gi.push(Dt[Ca]);continue}var jn=Math.floor((Ki+Gi)/2);Si=ft[2*jn],Mi=ft[2*jn+1],Si>=jt&&Si<=_r&&Mi>=Zt&&Mi<=Fr&&gi.push(Dt[jn]);var ua=(Pi+1)%2;(Pi===0?jt<=Si:Zt<=Mi)&&(Vr.push(Ki),Vr.push(jn-1),Vr.push(ua)),(Pi===0?_r>=Si:Fr>=Mi)&&(Vr.push(jn+1),Vr.push(Gi),Vr.push(ua))}return gi}function Ce(Dt,ft,jt,Zt,_r,Fr){for(var Zr=[0,Dt.length-1,0],Vr=[],gi=_r*_r;Zr.length;){var Si=Zr.pop(),Mi=Zr.pop(),Pi=Zr.pop();if(Mi-Pi<=Fr){for(var Gi=Pi;Gi<=Mi;Gi++)me(ft[2*Gi],ft[2*Gi+1],jt,Zt)<=gi&&Vr.push(Dt[Gi]);continue}var Ki=Math.floor((Pi+Mi)/2),Ca=ft[2*Ki],jn=ft[2*Ki+1];me(Ca,jn,jt,Zt)<=gi&&Vr.push(Dt[Ki]);var ua=(Si+1)%2;(Si===0?jt-_r<=Ca:Zt-_r<=jn)&&(Zr.push(Pi),Zr.push(Ki-1),Zr.push(ua)),(Si===0?jt+_r>=Ca:Zt+_r>=jn)&&(Zr.push(Ki+1),Zr.push(Mi),Zr.push(ua))}return Vr}function me(Dt,ft,jt,Zt){var _r=Dt-jt,Fr=ft-Zt;return _r*_r+Fr*Fr}var De=function(Dt){return Dt[0]},ce=function(Dt){return Dt[1]},Ge=function(ft,jt,Zt,_r,Fr){jt===void 0&&(jt=De),Zt===void 0&&(Zt=ce),_r===void 0&&(_r=64),Fr===void 0&&(Fr=Float64Array),this.nodeSize=_r,this.points=ft;for(var Zr=ft.length<65536?Uint16Array:Uint32Array,Vr=this.ids=new Zr(ft.length),gi=this.coords=new Fr(ft.length*2),Si=0;Si=_r;Mi--){var Pi=+Date.now();gi=this._cluster(gi,Mi),this.trees[Mi]=new Ge(gi,Ke,bt,Zr,Float32Array),Zt&&console.log("z%d: %d clusters in %dms",Mi,gi.length,+Date.now()-Pi)}return Zt&&console.timeEnd("total time"),this},ct.prototype.getClusters=function(ft,jt){var Zt=((ft[0]+180)%360+360)%360-180,_r=Math.max(-90,Math.min(90,ft[1])),Fr=ft[2]===180?180:((ft[2]+180)%360+360)%360-180,Zr=Math.max(-90,Math.min(90,ft[3]));if(ft[2]-ft[0]>=360)Zt=-180,Fr=180;else if(Zt>Fr){var Vr=this.getClusters([Zt,_r,180,Zr],jt),gi=this.getClusters([-180,_r,Fr,Zr],jt);return Vr.concat(gi)}for(var Si=this.trees[this._limitZoom(jt)],Mi=Si.range(kt(Zt),Ct(Zr),kt(Fr),Ct(_r)),Pi=[],Gi=0,Ki=Mi;Gijt&&(jn+=jo.numPoints||1)}if(jn>=gi){for(var sa=Pi.x*Ca,Sn=Pi.y*Ca,Ha=Vr&&Ca>1?this._map(Pi,!0):null,oo=(Mi<<5)+(jt+1)+this.points.length,xn=0,_t=Ki;xn<_t.length;xn+=1){var br=_t[xn],Hr=Gi.points[br];if(!(Hr.zoom<=jt)){Hr.zoom=jt;var ti=Hr.numPoints||1;sa+=Hr.x*ti,Sn+=Hr.y*ti,Hr.parentId=oo,Vr&&(Ha||(Ha=this._map(Pi,!0)),Vr(Ha,this._map(Hr)))}}Pi.parentId=oo,Zt.push(qt(sa/jn,Sn/jn,oo,jn,Ha))}else if(Zt.push(Pi),jn>1)for(var zi=0,Yi=Ki;zi>5},ct.prototype._getOriginZoom=function(ft){return(ft-this.points.length)%32},ct.prototype._map=function(ft,jt){if(ft.numPoints)return jt?er({},ft.properties):ft.properties;var Zt=this.points[ft.index].properties,_r=this.options.map(Zt);return jt&&_r===Zt?er({},_r):_r};function qt(Dt,ft,jt,Zt,_r){return{x:Dt,y:ft,zoom:1/0,id:jt,parentId:-1,numPoints:Zt,properties:_r}}function rt(Dt,ft){var jt=Dt.geometry.coordinates,Zt=jt[0],_r=jt[1];return{x:kt(Zt),y:Ct(_r),zoom:1/0,index:ft,parentId:-1}}function ot(Dt){return{type:"Feature",id:Dt.id,properties:It(Dt),geometry:{type:"Point",coordinates:[Yt(Dt.x),mr(Dt.y)]}}}function It(Dt){var ft=Dt.numPoints,jt=ft>=1e4?Math.round(ft/1e3)+"k":ft>=1e3?Math.round(ft/100)/10+"k":ft;return er(er({},Dt.properties),{cluster:!0,cluster_id:Dt.id,point_count:ft,point_count_abbreviated:jt})}function kt(Dt){return Dt/360+.5}function Ct(Dt){var ft=Math.sin(Dt*Math.PI/180),jt=.5-.25*Math.log((1+ft)/(1-ft))/Math.PI;return jt<0?0:jt>1?1:jt}function Yt(Dt){return(Dt-.5)*360}function mr(Dt){var ft=(180-Dt*360)*Math.PI/180;return 360*Math.atan(Math.exp(ft))/Math.PI-90}function er(Dt,ft){for(var jt in ft)Dt[jt]=ft[jt];return Dt}function Ke(Dt){return Dt.x}function bt(Dt){return Dt.y}function xt(Dt,ft,jt,Zt){for(var _r=Zt,Fr=jt-ft>>1,Zr=jt-ft,Vr,gi=Dt[ft],Si=Dt[ft+1],Mi=Dt[jt],Pi=Dt[jt+1],Gi=ft+3;Gi_r)Vr=Gi,_r=Ki;else if(Ki===_r){var Ca=Math.abs(Gi-Fr);CaZt&&(Vr-ft>3&&xt(Dt,ft,Vr,Zt),Dt[Vr+2]=_r,jt-Vr>3&&xt(Dt,Vr,jt,Zt))}function Lt(Dt,ft,jt,Zt,_r,Fr){var Zr=_r-jt,Vr=Fr-Zt;if(Zr!==0||Vr!==0){var gi=((Dt-jt)*Zr+(ft-Zt)*Vr)/(Zr*Zr+Vr*Vr);gi>1?(jt=_r,Zt=Fr):gi>0&&(jt+=Zr*gi,Zt+=Vr*gi)}return Zr=Dt-jt,Vr=ft-Zt,Zr*Zr+Vr*Vr}function St(Dt,ft,jt,Zt){var _r={id:typeof Dt=="undefined"?null:Dt,type:ft,geometry:jt,tags:Zt,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return Et(_r),_r}function Et(Dt){var ft=Dt.geometry,jt=Dt.type;if(jt==="Point"||jt==="MultiPoint"||jt==="LineString")dt(Dt,ft);else if(jt==="Polygon"||jt==="MultiLineString")for(var Zt=0;Zt0&&(Zt?Zr+=(_r*Si-gi*Fr)/2:Zr+=Math.sqrt(Math.pow(gi-_r,2)+Math.pow(Si-Fr,2))),_r=gi,Fr=Si}var Mi=ft.length-3;ft[2]=1,xt(ft,0,Mi,jt),ft[Mi+2]=1,ft.size=Math.abs(Zr),ft.start=0,ft.end=ft.size}function Br(Dt,ft,jt,Zt){for(var _r=0;_r1?1:jt}function ut(Dt,ft,jt,Zt,_r,Fr,Zr,Vr){if(jt/=ft,Zt/=ft,Fr>=jt&&Zr=Zt)return null;for(var gi=[],Si=0;Si=jt&&Ca=Zt)continue;var jn=[];if(Gi==="Point"||Gi==="MultiPoint")Ne(Pi,jn,jt,Zt,_r);else if(Gi==="LineString")Ye(Pi,jn,jt,Zt,_r,!1,Vr.lineMetrics);else if(Gi==="MultiLineString")Xe(Pi,jn,jt,Zt,_r,!1);else if(Gi==="Polygon")Xe(Pi,jn,jt,Zt,_r,!0);else if(Gi==="MultiPolygon")for(var ua=0;ua=jt&&Zr<=Zt&&(ft.push(Dt[Fr]),ft.push(Dt[Fr+1]),ft.push(Dt[Fr+2]))}}function Ye(Dt,ft,jt,Zt,_r,Fr,Zr){for(var Vr=Ve(Dt),gi=_r===0?Le:xe,Si=Dt.start,Mi,Pi,Gi=0;Gijt&&(Pi=gi(Vr,Ki,Ca,ua,Fa,jt),Zr&&(Vr.start=Si+Mi*Pi)):Da>Zt?jo=jt&&(Pi=gi(Vr,Ki,Ca,ua,Fa,jt),sa=!0),jo>Zt&&Da<=Zt&&(Pi=gi(Vr,Ki,Ca,ua,Fa,Zt),sa=!0),!Fr&&sa&&(Zr&&(Vr.end=Si+Mi*Pi),ft.push(Vr),Vr=Ve(Dt)),Zr&&(Si+=Mi)}var Sn=Dt.length-3;Ki=Dt[Sn],Ca=Dt[Sn+1],jn=Dt[Sn+2],Da=_r===0?Ki:Ca,Da>=jt&&Da<=Zt&&ht(Vr,Ki,Ca,jn),Sn=Vr.length-3,Fr&&Sn>=3&&(Vr[Sn]!==Vr[0]||Vr[Sn+1]!==Vr[1])&&ht(Vr,Vr[0],Vr[1],Vr[2]),Vr.length&&ft.push(Vr)}function Ve(Dt){var ft=[];return ft.size=Dt.size,ft.start=Dt.start,ft.end=Dt.end,ft}function Xe(Dt,ft,jt,Zt,_r,Fr){for(var Zr=0;ZrZr.maxX&&(Zr.maxX=Mi),Pi>Zr.maxY&&(Zr.maxY=Pi)}return Zr}function ai(Dt,ft,jt,Zt){var _r=ft.geometry,Fr=ft.type,Zr=[];if(Fr==="Point"||Fr==="MultiPoint")for(var Vr=0;Vr<_r.length;Vr+=3)Zr.push(_r[Vr]),Zr.push(_r[Vr+1]),Dt.numPoints++,Dt.numSimplified++;else if(Fr==="LineString")jr(Zr,_r,Dt,jt,!1,!1);else if(Fr==="MultiLineString"||Fr==="Polygon")for(Vr=0;Vr<_r.length;Vr++)jr(Zr,_r[Vr],Dt,jt,Fr==="Polygon",Vr===0);else if(Fr==="MultiPolygon")for(var gi=0;gi<_r.length;gi++){var Si=_r[gi];for(Vr=0;Vr0&&ft.size<(_r?Zr:Zt)){jt.numPoints+=ft.length/3;return}for(var Vr=[],gi=0;giZr)&&(jt.numSimplified++,Vr.push(ft[gi]),Vr.push(ft[gi+1])),jt.numPoints++;_r&&ri(Vr,Fr),Dt.push(Vr)}function ri(Dt,ft){for(var jt=0,Zt=0,_r=Dt.length,Fr=_r-2;Zt<_r;Fr=Zt,Zt+=2)jt+=(Dt[Zt]-Dt[Fr])*(Dt[Zt+1]+Dt[Fr+1]);if(jt>0===ft)for(Zt=0,_r=Dt.length;Zt<_r/2;Zt+=2){var Zr=Dt[Zt],Vr=Dt[Zt+1];Dt[Zt]=Dt[_r-2-Zt],Dt[Zt+1]=Dt[_r-1-Zt],Dt[_r-2-Zt]=Zr,Dt[_r-1-Zt]=Vr}}function bi(Dt,ft){return new nn(Dt,ft)}function nn(Dt,ft){ft=this.options=Ni(Object.create(this.options),ft);var jt=ft.debug;if(jt&&console.time("preprocess data"),ft.maxZoom<0||ft.maxZoom>24)throw new Error("maxZoom should be in the 0-24 range");if(ft.promoteId&&ft.generateId)throw new Error("promoteId and generateId cannot be used together.");var Zt=Ht(Dt,ft);this.tiles={},this.tileCoords=[],jt&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",ft.indexMaxZoom,ft.indexMaxPoints),console.time("generate tiles"),this.stats={},this.total=0),Zt=Se(Zt,ft),Zt.length&&this.splitTile(Zt,0,0,0),jt&&(Zt.length&&console.log("features: %d, points: %d",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd("generate tiles"),console.log("tiles generated:",this.total,JSON.stringify(this.stats)))}nn.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},nn.prototype.splitTile=function(Dt,ft,jt,Zt,_r,Fr,Zr){for(var Vr=[Dt,ft,jt,Zt],gi=this.options,Si=gi.debug;Vr.length;){Zt=Vr.pop(),jt=Vr.pop(),ft=Vr.pop(),Dt=Vr.pop();var Mi=1<1&&console.time("creation"),Gi=this.tiles[Pi]=Qr(Dt,ft,jt,Zt,gi),this.tileCoords.push({z:ft,x:jt,y:Zt}),Si)){Si>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",ft,jt,Zt,Gi.numFeatures,Gi.numPoints,Gi.numSimplified),console.timeEnd("creation"));var Ki="z"+ft;this.stats[Ki]=(this.stats[Ki]||0)+1,this.total++}if(Gi.source=Dt,_r){if(ft===gi.maxZoom||ft===_r)continue;var Ca=1<<_r-ft;if(jt!==Math.floor(Fr/Ca)||Zt!==Math.floor(Zr/Ca))continue}else if(ft===gi.indexMaxZoom||Gi.numPoints<=gi.indexMaxPoints)continue;if(Gi.source=null,Dt.length!==0){Si>1&&console.time("clipping");var jn=.5*gi.buffer/gi.extent,ua=.5-jn,Fa=.5+jn,Da=1+jn,jo,sa,Sn,Ha,oo,xn;jo=sa=Sn=Ha=null,oo=ut(Dt,Mi,jt-jn,jt+Fa,0,Gi.minX,Gi.maxX,gi),xn=ut(Dt,Mi,jt+ua,jt+Da,0,Gi.minX,Gi.maxX,gi),Dt=null,oo&&(jo=ut(oo,Mi,Zt-jn,Zt+Fa,1,Gi.minY,Gi.maxY,gi),sa=ut(oo,Mi,Zt+ua,Zt+Da,1,Gi.minY,Gi.maxY,gi),oo=null),xn&&(Sn=ut(xn,Mi,Zt-jn,Zt+Fa,1,Gi.minY,Gi.maxY,gi),Ha=ut(xn,Mi,Zt+ua,Zt+Da,1,Gi.minY,Gi.maxY,gi),xn=null),Si>1&&console.timeEnd("clipping"),Vr.push(jo||[],ft+1,jt*2,Zt*2),Vr.push(sa||[],ft+1,jt*2,Zt*2+1),Vr.push(Sn||[],ft+1,jt*2+1,Zt*2),Vr.push(Ha||[],ft+1,jt*2+1,Zt*2+1)}}},nn.prototype.getTile=function(Dt,ft,jt){var Zt=this.options,_r=Zt.extent,Fr=Zt.debug;if(Dt<0||Dt>24)return null;var Zr=1<1&&console.log("drilling down to z%d-%d-%d",Dt,ft,jt);for(var gi=Dt,Si=ft,Mi=jt,Pi;!Pi&&gi>0;)gi--,Si=Math.floor(Si/2),Mi=Math.floor(Mi/2),Pi=this.tiles[Wi(gi,Si,Mi)];return!Pi||!Pi.source?null:(Fr>1&&console.log("found parent tile z%d-%d-%d",gi,Si,Mi),Fr>1&&console.time("drilling down"),this.splitTile(Pi.source,gi,Si,Mi,Dt,ft,jt),Fr>1&&console.timeEnd("drilling down"),this.tiles[Vr]?Vt(this.tiles[Vr],_r):null)};function Wi(Dt,ft,jt){return((1<=0?0:Y.button},o.remove=function(Y){Y.parentNode&&Y.parentNode.removeChild(Y)};function _(Y,z,K){var O,$,pe,de=i.browser.devicePixelRatio>1?"@2x":"",Ie=i.getJSON(z.transformRequest(z.normalizeSpriteURL(Y,de,".json"),i.ResourceType.SpriteJSON),function(Kt,ir){Ie=null,pe||(pe=Kt,O=ir,pt())}),$e=i.getImage(z.transformRequest(z.normalizeSpriteURL(Y,de,".png"),i.ResourceType.SpriteImage),function(Kt,ir){$e=null,pe||(pe=Kt,$=ir,pt())});function pt(){if(pe)K(pe);else if(O&&$){var Kt=i.browser.getImageData($),ir={};for(var Jt in O){var vt=O[Jt],Pt=vt.width,Wt=vt.height,rr=vt.x,dr=vt.y,pr=vt.sdf,kr=vt.pixelRatio,Sr=vt.stretchX,gr=vt.stretchY,Cr=vt.content,cr=new i.RGBAImage({width:Pt,height:Wt});i.RGBAImage.copy(Kt,cr,{x:rr,y:dr},{x:0,y:0},{width:Pt,height:Wt}),ir[Jt]={data:cr,pixelRatio:kr,sdf:pr,stretchX:Sr,stretchY:gr,content:Cr}}K(null,ir)}}return{cancel:function(){Ie&&(Ie.cancel(),Ie=null),$e&&($e.cancel(),$e=null)}}}function b(Y){var z=Y.userImage;if(z&&z.render){var K=z.render();if(K)return Y.data.replace(new Uint8Array(z.data.buffer)),!0}return!1}var p=1,E=function(Y){function z(){Y.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new i.RGBAImage({width:1,height:1}),this.dirty=!0}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.isLoaded=function(){return this.loaded},z.prototype.setLoaded=function(O){if(this.loaded!==O&&(this.loaded=O,O)){for(var $=0,pe=this.requestors;$=0?1.2:1))}C.prototype.draw=function(Y){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(Y,this.buffer,this.middle);for(var z=this.ctx.getImageData(0,0,this.size,this.size),K=new Uint8ClampedArray(this.size*this.size),O=0;O65535){Kt(new Error("glyphs > 65535 not supported"));return}if(vt.ranges[Wt]){Kt(null,{stack:ir,id:Jt,glyph:Pt});return}var rr=vt.requests[Wt];rr||(rr=vt.requests[Wt]=[],P.loadGlyphRange(ir,Wt,O.url,O.requestManager,function(dr,pr){if(pr){for(var kr in pr)O._doesCharSupportLocalGlyph(+kr)||(vt.glyphs[+kr]=pr[+kr]);vt.ranges[Wt]=!0}for(var Sr=0,gr=rr;Sr1&&(pt=z[++$e]);var ir=Math.abs(Kt-pt.left),Jt=Math.abs(Kt-pt.right),vt=Math.min(ir,Jt),Pt=void 0,Wt=pe/O*($+1);if(pt.isDash){var rr=$-Math.abs(Wt);Pt=Math.sqrt(vt*vt+rr*rr)}else Pt=$-Math.sqrt(vt*vt+Wt*Wt);this.data[Ie+Kt]=Math.max(0,Math.min(255,Pt+128))}},H.prototype.addRegularDash=function(z){for(var K=z.length-1;K>=0;--K){var O=z[K],$=z[K+1];O.zeroLength?z.splice(K,1):$&&$.isDash===O.isDash&&($.left=O.left,z.splice(K,1))}var pe=z[0],de=z[z.length-1];pe.isDash===de.isDash&&(pe.left=de.left-this.width,de.right=pe.right+this.width);for(var Ie=this.width*this.nextRow,$e=0,pt=z[$e],Kt=0;Kt1&&(pt=z[++$e]);var ir=Math.abs(Kt-pt.left),Jt=Math.abs(Kt-pt.right),vt=Math.min(ir,Jt),Pt=pt.isDash?vt:-vt;this.data[Ie+Kt]=Math.max(0,Math.min(255,Pt+128))}},H.prototype.addDash=function(z,K){var O=K?7:0,$=2*O+1;if(this.nextRow+$>this.height)return i.warnOnce("LineAtlas out of space"),null;for(var pe=0,de=0;de=O.minX&&z.x=O.minY&&z.y0&&(Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y-1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,O.wrap,$.z,$.x,$.y-1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y-1).key]={backfilled:!1}),$.y+10&&(pe.resourceTiming=O._resourceTiming,O._resourceTiming=[]),O.fire(new i.Event("data",pe))})},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setData=function(O){var $=this;return this._data=O,this.fire(new i.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(pe){if(pe){$.fire(new i.ErrorEvent(pe));return}var de={dataType:"source",sourceDataType:"content"};$._collectResourceTiming&&$._resourceTiming&&$._resourceTiming.length>0&&(de.resourceTiming=$._resourceTiming,$._resourceTiming=[]),$.fire(new i.Event("data",de))}),this},z.prototype.getClusterExpansionZoom=function(O,$){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:O,source:this.id},$),this},z.prototype.getClusterChildren=function(O,$){return this.actor.send("geojson.getClusterChildren",{clusterId:O,source:this.id},$),this},z.prototype.getClusterLeaves=function(O,$,pe,de){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:O,limit:$,offset:pe},de),this},z.prototype._updateWorkerData=function(O){var $=this;this._loaded=!1;var pe=i.extend({},this.workerOptions),de=this._data;typeof de=="string"?(pe.request=this.map._requestManager.transformRequest(i.browser.resolveURL(de),i.ResourceType.Source),pe.request.collectResourceTiming=this._collectResourceTiming):pe.data=JSON.stringify(de),this.actor.send(this.type+".loadData",pe,function(Ie,$e){$._removed||$e&&$e.abandoned||($._loaded=!0,$e&&$e.resourceTiming&&$e.resourceTiming[$.id]&&($._resourceTiming=$e.resourceTiming[$.id].slice(0)),$.actor.send($.type+".coalesce",{source:pe.source},null),O(Ie))})},z.prototype.loaded=function(){return this._loaded},z.prototype.loadTile=function(O,$){var pe=this,de=O.actor?"reloadTile":"loadTile";O.actor=this.actor;var Ie={type:this.type,uid:O.uid,tileID:O.tileID,zoom:O.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:i.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};O.request=this.actor.send(de,Ie,function($e,pt){return delete O.request,O.unloadVectorData(),O.aborted?$(null):$e?$($e):(O.loadVectorData(pt,pe.map.painter,de==="reloadTile"),$(null))})},z.prototype.abortTile=function(O){O.request&&(O.request.cancel(),delete O.request),O.aborted=!0},z.prototype.unloadTile=function(O){O.unloadVectorData(),this.actor.send("removeTile",{uid:O.uid,type:this.type,source:this.id})},z.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},z.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},z.prototype.hasTransition=function(){return!1},z}(i.Evented),Me=i.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),ke=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.dispatcher=$,this.coordinates=O.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(pe),this.options=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(O,$){var pe=this;this._loaded=!1,this.fire(new i.Event("dataloading",{dataType:"source"})),this.url=this.options.url,i.getImage(this.map._requestManager.transformRequest(this.url,i.ResourceType.Image),function(de,Ie){pe._loaded=!0,de?pe.fire(new i.ErrorEvent(de)):Ie&&(pe.image=Ie,O&&(pe.coordinates=O),$&&$(),pe._finishLoading())})},z.prototype.loaded=function(){return this._loaded},z.prototype.updateImage=function(O){var $=this;return!this.image||!O.url?this:(this.options.url=O.url,this.load(O.coordinates,function(){$.texture=null}),this)},z.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new i.Event("data",{dataType:"source",sourceDataType:"metadata"})))},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setCoordinates=function(O){var $=this;this.coordinates=O;var pe=O.map(i.MercatorCoordinate.fromLngLat);this.tileID=ge(pe),this.minzoom=this.maxzoom=this.tileID.z;var de=pe.map(function(Ie){return $.tileID.getTilePoint(Ie)._round()});return this._boundsArray=new i.StructArrayLayout4i8,this._boundsArray.emplaceBack(de[0].x,de[0].y,0,0),this._boundsArray.emplaceBack(de[1].x,de[1].y,i.EXTENT,0),this._boundsArray.emplaceBack(de[3].x,de[3].y,0,i.EXTENT),this._boundsArray.emplaceBack(de[2].x,de[2].y,i.EXTENT,i.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new i.Event("data",{dataType:"source",sourceDataType:"content"})),this},z.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||!this.image)){var O=this.map.painter.context,$=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new i.Texture(O,this.image,$.RGBA),this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE));for(var pe in this.tiles){var de=this.tiles[pe];de.state!=="loaded"&&(de.state="loaded",de.texture=this.texture)}}},z.prototype.loadTile=function(O,$){this.tileID&&this.tileID.equals(O.tileID.canonical)?(this.tiles[String(O.tileID.wrap)]=O,O.buckets={},$(null)):(O.state="errored",$(null))},z.prototype.serialize=function(){return{type:"image",url:this.options.url,coordinates:this.coordinates}},z.prototype.hasTransition=function(){return!1},z}(i.Evented);function ge(Y){for(var z=1/0,K=1/0,O=-1/0,$=-1/0,pe=0,de=Y;pe$.end(0)?this.fire(new i.ErrorEvent(new i.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+$.start(0)+" and "+$.end(0)+"-second mark."))):this.video.currentTime=O}},z.prototype.getVideo=function(){return this.video},z.prototype.onAdd=function(O){this.map||(this.map=O,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},z.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||this.video.readyState<2)){var O=this.map.painter.context,$=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE),$.texSubImage2D($.TEXTURE_2D,0,0,0,$.RGBA,$.UNSIGNED_BYTE,this.video)):(this.texture=new i.Texture(O,this.video,$.RGBA),this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE));for(var pe in this.tiles){var de=this.tiles[pe];de.state!=="loaded"&&(de.state="loaded",de.texture=this.texture)}}},z.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},z.prototype.hasTransition=function(){return this.video&&!this.video.paused},z}(ke),Te=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),O.coordinates?(!Array.isArray(O.coordinates)||O.coordinates.length!==4||O.coordinates.some(function(de){return!Array.isArray(de)||de.length!==2||de.some(function(Ie){return typeof Ie!="number"})}))&&this.fire(new i.ErrorEvent(new i.ValidationError("sources."+K,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new i.ErrorEvent(new i.ValidationError("sources."+K,null,'missing required property "coordinates"'))),O.animate&&typeof O.animate!="boolean"&&this.fire(new i.ErrorEvent(new i.ValidationError("sources."+K,null,'optional "animate" property must be a boolean value'))),O.canvas?typeof O.canvas!="string"&&!(O.canvas instanceof i.window.HTMLCanvasElement)&&this.fire(new i.ErrorEvent(new i.ValidationError("sources."+K,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new i.ErrorEvent(new i.ValidationError("sources."+K,null,'missing required property "canvas"'))),this.options=O,this.animate=O.animate!==void 0?O.animate:!0}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){if(this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof i.window.HTMLCanvasElement?this.options.canvas:i.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new i.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero.")));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading()},z.prototype.getCanvas=function(){return this.canvas},z.prototype.onAdd=function(O){this.map=O,this.load(),this.canvas&&this.animate&&this.play()},z.prototype.onRemove=function(){this.pause()},z.prototype.prepare=function(){var O=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,O=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,O=!0),!this._hasInvalidDimensions()&&Object.keys(this.tiles).length!==0){var $=this.map.painter.context,pe=$.gl;this.boundsBuffer||(this.boundsBuffer=$.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(O||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new i.Texture($,this.canvas,pe.RGBA,{premultiply:!0});for(var de in this.tiles){var Ie=this.tiles[de];Ie.state!=="loaded"&&(Ie.state="loaded",Ie.texture=this.texture)}}},z.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},z.prototype.hasTransition=function(){return this._playing},z.prototype._hasInvalidDimensions=function(){for(var O=0,$=[this.canvas.width,this.canvas.height];O<$.length;O+=1){var pe=$[O];if(isNaN(pe)||pe<=0)return!0}return!1},z}(ke),Ee={vector:W,raster:re,"raster-dem":ae,geojson:_e,video:ie,image:ke,canvas:Te},Ae=function(Y,z,K,O){var $=new Ee[z.type](Y,z,K,O);if($.id!==Y)throw new Error("Expected Source id to be "+Y+" instead of "+$.id);return i.bindAll(["load","abort","unload","serialize","prepare"],$),$},ze=function(Y){return Ee[Y]},Ce=function(Y,z){Ee[Y]=z};function me(Y,z){var K=i.identity([]);return i.translate(K,K,[1,1,0]),i.scale(K,K,[Y.width*.5,Y.height*.5,1]),i.multiply(K,K,Y.calculatePosMatrix(z.toUnwrapped()))}function De(Y,z,K){if(Y)for(var O=0,$=Y;O<$.length;O+=1){var pe=$[O],de=z[pe];if(de&&de.source===K&&de.type==="fill-extrusion")return!0}else for(var Ie in z){var $e=z[Ie];if($e.source===K&&$e.type==="fill-extrusion")return!0}return!1}function ce(Y,z,K,O,$,pe){var de=De($&&$.layers,z,Y.id),Ie=pe.maxPitchScaleFactor(),$e=Y.tilesIn(O,Ie,de);$e.sort(ct);for(var pt=[],Kt=0,ir=$e;Ktthis.max){var Ie=this._getAndRemoveByKey(this.order[0]);Ie&&this.onRemove(Ie)}return this},rt.prototype.has=function(z){return z.wrapped().key in this.data},rt.prototype.getAndRemove=function(z){return this.has(z)?this._getAndRemoveByKey(z.wrapped().key):null},rt.prototype._getAndRemoveByKey=function(z){var K=this.data[z].shift();return K.timeout&&clearTimeout(K.timeout),this.data[z].length===0&&delete this.data[z],this.order.splice(this.order.indexOf(z),1),K.value},rt.prototype.getByKey=function(z){var K=this.data[z];return K?K[0].value:null},rt.prototype.get=function(z){if(!this.has(z))return null;var K=this.data[z.wrapped().key][0];return K.value},rt.prototype.remove=function(z,K){if(!this.has(z))return this;var O=z.wrapped().key,$=K===void 0?0:this.data[O].indexOf(K),pe=this.data[O][$];return this.data[O].splice($,1),pe.timeout&&clearTimeout(pe.timeout),this.data[O].length===0&&delete this.data[O],this.onRemove(pe.value),this.order.splice(this.order.indexOf(O),1),this},rt.prototype.setMaxSize=function(z){for(this.max=z;this.order.length>this.max;){var K=this._getAndRemoveByKey(this.order[0]);K&&this.onRemove(K)}return this},rt.prototype.filter=function(z){var K=[];for(var O in this.data)for(var $=0,pe=this.data[O];$1||(Math.abs(ir)>1&&(Math.abs(ir+vt)===1?ir+=vt:Math.abs(ir-vt)===1&&(ir-=vt)),!(!Kt.dem||!pt.dem)&&(pt.dem.backfillBorder(Kt.dem,ir,Jt),pt.neighboringTiles&&pt.neighboringTiles[Pt]&&(pt.neighboringTiles[Pt].backfilled=!0)))}},z.prototype.getTile=function(O){return this.getTileByID(O.key)},z.prototype.getTileByID=function(O){return this._tiles[O]},z.prototype._retainLoadedChildren=function(O,$,pe,de){for(var Ie in this._tiles){var $e=this._tiles[Ie];if(!(de[Ie]||!$e.hasData()||$e.tileID.overscaledZ<=$||$e.tileID.overscaledZ>pe)){for(var pt=$e.tileID;$e&&$e.tileID.overscaledZ>$+1;){var Kt=$e.tileID.scaledTo($e.tileID.overscaledZ-1);$e=this._tiles[Kt.key],$e&&$e.hasData()&&(pt=Kt)}for(var ir=pt;ir.overscaledZ>$;)if(ir=ir.scaledTo(ir.overscaledZ-1),O[ir.key]){de[pt.key]=pt;break}}}},z.prototype.findLoadedParent=function(O,$){if(O.key in this._loadedParentTiles){var pe=this._loadedParentTiles[O.key];return pe&&pe.tileID.overscaledZ>=$?pe:null}for(var de=O.overscaledZ-1;de>=$;de--){var Ie=O.scaledTo(de),$e=this._getLoadedTile(Ie);if($e)return $e}},z.prototype._getLoadedTile=function(O){var $=this._tiles[O.key];if($&&$.hasData())return $;var pe=this._cache.getByKey(O.wrapped().key);return pe},z.prototype.updateCacheSize=function(O){var $=Math.ceil(O.width/this._source.tileSize)+1,pe=Math.ceil(O.height/this._source.tileSize)+1,de=$*pe,Ie=5,$e=Math.floor(de*Ie),pt=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,$e):$e;this._cache.setMaxSize(pt)},z.prototype.handleWrapJump=function(O){var $=this._prevLng===void 0?O:this._prevLng,pe=O-$,de=pe/360,Ie=Math.round(de);if(this._prevLng=O,Ie){var $e={};for(var pt in this._tiles){var Kt=this._tiles[pt];Kt.tileID=Kt.tileID.unwrapTo(Kt.tileID.wrap+Ie),$e[Kt.tileID.key]=Kt}this._tiles=$e;for(var ir in this._timers)clearTimeout(this._timers[ir]),delete this._timers[ir];for(var Jt in this._tiles){var vt=this._tiles[Jt];this._setTileReloadTimer(Jt,vt)}}},z.prototype.update=function(O){var $=this;if(this.transform=O,!(!this._sourceLoaded||this._paused)){this.updateCacheSize(O),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={};var pe;this.used?this._source.tileID?pe=O.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(yi){return new i.OverscaledTileID(yi.canonical.z,yi.wrap,yi.canonical.z,yi.canonical.x,yi.canonical.y)}):(pe=O.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(pe=pe.filter(function(yi){return $._source.hasTile(yi)}))):pe=[];var de=O.coveringZoomLevel(this._source),Ie=Math.max(de-z.maxOverzooming,this._source.minzoom),$e=Math.max(de+z.maxUnderzooming,this._source.minzoom),pt=this._updateRetainedTiles(pe,de);if(gi(this._source.type)){for(var Kt={},ir={},Jt=Object.keys(pt),vt=0,Pt=Jt;vtthis._source.maxzoom){var pr=rr.children(this._source.maxzoom)[0],kr=this.getTile(pr);if(kr&&kr.hasData()){pe[pr.key]=pr;continue}}else{var Sr=rr.children(this._source.maxzoom);if(pe[Sr[0].key]&&pe[Sr[1].key]&&pe[Sr[2].key]&&pe[Sr[3].key])continue}for(var gr=dr.wasRequested(),Cr=rr.overscaledZ-1;Cr>=Ie;--Cr){var cr=rr.scaledTo(Cr);if(de[cr.key]||(de[cr.key]=!0,dr=this.getTile(cr),!dr&&gr&&(dr=this._addTile(cr)),dr&&(pe[cr.key]=cr,gr=dr.wasRequested(),dr.hasData())))break}}}return pe},z.prototype._updateLoadedParentTileCache=function(){this._loadedParentTiles={};for(var O in this._tiles){for(var $=[],pe=void 0,de=this._tiles[O].tileID;de.overscaledZ>0;){if(de.key in this._loadedParentTiles){pe=this._loadedParentTiles[de.key];break}$.push(de.key);var Ie=de.scaledTo(de.overscaledZ-1);if(pe=this._getLoadedTile(Ie),pe)break;de=Ie}for(var $e=0,pt=$;$e0)&&($.hasData()&&$.state!=="reloading"?this._cache.add($.tileID,$,$.getExpiryTimeout()):($.aborted=!0,this._abortTile($),this._unloadTile($))))},z.prototype.clearTiles=function(){this._shouldReloadOnResume=!1,this._paused=!1;for(var O in this._tiles)this._removeTile(O);this._cache.reset()},z.prototype.tilesIn=function(O,$,pe){var de=this,Ie=[],$e=this.transform;if(!$e)return Ie;for(var pt=pe?$e.getCameraQueryGeometry(O):O,Kt=O.map(function(Cr){return $e.pointCoordinate(Cr)}),ir=pt.map(function(Cr){return $e.pointCoordinate(Cr)}),Jt=this.getIds(),vt=1/0,Pt=1/0,Wt=-1/0,rr=-1/0,dr=0,pr=ir;dr=0&&tn[1].y+yi>=0){var Di=Kt.map(function(Qn){return Gr.getTilePoint(Qn)}),ln=ir.map(function(Qn){return Gr.getTilePoint(Qn)});Ie.push({tile:cr,tileID:Gr,queryGeometry:Di,cameraQueryGeometry:ln,scale:ei})}}},gr=0;gr=i.browser.now())return!0}return!1},z.prototype.setFeatureState=function(O,$,pe){O=O||"_geojsonTileLayer",this._state.updateState(O,$,pe)},z.prototype.removeFeatureState=function(O,$,pe){O=O||"_geojsonTileLayer",this._state.removeFeatureState(O,$,pe)},z.prototype.getFeatureState=function(O,$){return O=O||"_geojsonTileLayer",this._state.getState(O,$)},z.prototype.setDependencies=function(O,$,pe){var de=this._tiles[O];de&&de.setDependencies($,pe)},z.prototype.reloadTilesForDependencies=function(O,$){for(var pe in this._tiles){var de=this._tiles[pe];de.hasDependency(O,$)&&this._reloadTile(pe,"reloading")}this._cache.filter(function(Ie){return!Ie.hasDependency(O,$)})},z}(i.Evented);Zr.maxOverzooming=10,Zr.maxUnderzooming=3;function Vr(Y,z){var K=Math.abs(Y.wrap*2)-+(Y.wrap<0),O=Math.abs(z.wrap*2)-+(z.wrap<0);return Y.overscaledZ-z.overscaledZ||O-K||z.canonical.y-Y.canonical.y||z.canonical.x-Y.canonical.x}function gi(Y){return Y==="raster"||Y==="image"||Y==="video"}function Si(){return new i.window.Worker(ns.workerUrl)}var Mi="mapboxgl_preloaded_worker_pool",Pi=function(){this.active={}};Pi.prototype.acquire=function(z){if(!this.workers)for(this.workers=[];this.workers.length0?($-de)/Ie:0;return this.points[pe].mult(1-$e).add(this.points[K].mult($e))};var hi=function(z,K,O){var $=this.boxCells=[],pe=this.circleCells=[];this.xCellCount=Math.ceil(z/O),this.yCellCount=Math.ceil(K/O);for(var de=0;dethis.width||$<0||K>this.height)return pe?!1:[];var Ie=[];if(z<=0&&K<=0&&this.width<=O&&this.height<=$){if(pe)return!0;for(var $e=0;$e0:Ie}},hi.prototype._queryCircle=function(z,K,O,$,pe){var de=z-O,Ie=z+O,$e=K-O,pt=K+O;if(Ie<0||de>this.width||pt<0||$e>this.height)return $?!1:[];var Kt=[],ir={hitTest:$,circle:{x:z,y:K,radius:O},seenUids:{box:{},circle:{}}};return this._forEachCell(de,$e,Ie,pt,this._queryCellCircle,Kt,ir,pe),$?Kt.length>0:Kt},hi.prototype.query=function(z,K,O,$,pe){return this._query(z,K,O,$,!1,pe)},hi.prototype.hitTest=function(z,K,O,$,pe){return this._query(z,K,O,$,!0,pe)},hi.prototype.hitTestCircle=function(z,K,O,$){return this._queryCircle(z,K,O,!0,$)},hi.prototype._queryCell=function(z,K,O,$,pe,de,Ie,$e){var pt=Ie.seenUids,Kt=this.boxCells[pe];if(Kt!==null)for(var ir=this.bboxes,Jt=0,vt=Kt;Jt=ir[Wt+0]&&$>=ir[Wt+1]&&(!$e||$e(this.boxKeys[Pt]))){if(Ie.hitTest)return de.push(!0),!0;de.push({key:this.boxKeys[Pt],x1:ir[Wt],y1:ir[Wt+1],x2:ir[Wt+2],y2:ir[Wt+3]})}}}var rr=this.circleCells[pe];if(rr!==null)for(var dr=this.circles,pr=0,kr=rr;prIe*Ie+$e*$e},hi.prototype._circleAndRectCollide=function(z,K,O,$,pe,de,Ie){var $e=(de-$)/2,pt=Math.abs(z-($+$e));if(pt>$e+O)return!1;var Kt=(Ie-pe)/2,ir=Math.abs(K-(pe+Kt));if(ir>Kt+O)return!1;if(pt<=$e||ir<=Kt)return!0;var Jt=pt-$e,vt=ir-Kt;return Jt*Jt+vt*vt<=O*O};function Ji(Y,z,K,O,$){var pe=i.create();return z?(i.scale(pe,pe,[1/$,1/$,1]),K||i.rotateZ(pe,pe,O.angle)):i.multiply(pe,O.labelPlaneMatrix,Y),pe}function ca(Y,z,K,O,$){if(z){var pe=i.clone(Y);return i.scale(pe,pe,[$,$,1]),K||i.rotateZ(pe,pe,-O.angle),pe}else return O.glCoordMatrix}function Fn(Y,z){var K=[Y.x,Y.y,0,1];wl(K,K,z);var O=K[3];return{point:new i.Point(K[0]/O,K[1]/O),signedDistanceFromCamera:O}}function Ma(Y,z){return .5+.5*(Y/z)}function go(Y,z){var K=Y[0]/Y[3],O=Y[1]/Y[3],$=K>=-z[0]&&K<=z[0]&&O>=-z[1]&&O<=z[1];return $}function Bo(Y,z,K,O,$,pe,de,Ie){var $e=O?Y.textSizeData:Y.iconSizeData,pt=i.evaluateSizeForZoom($e,K.transform.zoom),Kt=[256/K.width*2+1,256/K.height*2+1],ir=O?Y.text.dynamicLayoutVertexArray:Y.icon.dynamicLayoutVertexArray;ir.clear();for(var Jt=Y.lineVertexArray,vt=O?Y.text.placedSymbolArray:Y.icon.placedSymbolArray,Pt=K.transform.width/K.transform.height,Wt=!1,rr=0;rrpe)return{useVertical:!0}}return(Y===i.WritingMode.vertical?z.yK.x)?{needsFlipping:!0}:null}function xo(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt){var Pt=z/24,Wt=Y.lineOffsetX*Pt,rr=Y.lineOffsetY*Pt,dr;if(Y.numGlyphs>1){var pr=Y.glyphStartIndex+Y.numGlyphs,kr=Y.lineStartIndex,Sr=Y.lineStartIndex+Y.lineLength,gr=ho(Pt,Ie,Wt,rr,K,Kt,ir,Y,$e,pe,Jt);if(!gr)return{notEnoughRoom:!0};var Cr=Fn(gr.first.point,de).point,cr=Fn(gr.last.point,de).point;if(O&&!K){var Gr=Mo(Y.writingMode,Cr,cr,vt);if(Gr)return Gr}dr=[gr.first];for(var ei=Y.glyphStartIndex+1;ei0?ln.point:qs(ir,Di,yi,1,$),qn=Mo(Y.writingMode,yi,Qn,vt);if(qn)return qn}var rn=Cs(Pt*Ie.getoffsetX(Y.glyphStartIndex),Wt,rr,K,Kt,ir,Y.segment,Y.lineStartIndex,Y.lineStartIndex+Y.lineLength,$e,pe,Jt);if(!rn)return{notEnoughRoom:!0};dr=[rn]}for(var bn=0,mn=dr;bn0?1:-1,Pt=0;O&&(vt*=-1,Pt=Math.PI),vt<0&&(Pt+=Math.PI);for(var Wt=vt>0?Ie+de:Ie+de+1,rr=$,dr=$,pr=0,kr=0,Sr=Math.abs(Jt),gr=[];pr+kr<=Sr;){if(Wt+=vt,Wt=$e)return null;if(dr=rr,gr.push(rr),rr=ir[Wt],rr===void 0){var Cr=new i.Point(pt.getx(Wt),pt.gety(Wt)),cr=Fn(Cr,Kt);if(cr.signedDistanceFromCamera>0)rr=ir[Wt]=cr.point;else{var Gr=Wt-vt,ei=pr===0?pe:new i.Point(pt.getx(Gr),pt.gety(Gr));rr=qs(ei,Cr,dr,Sr-pr+1,Kt)}}pr+=kr,kr=dr.dist(rr)}var yi=(Sr-pr)/kr,tn=rr.sub(dr),Di=tn.mult(yi)._add(dr);Di._add(tn._unit()._perp()._mult(K*vt));var ln=Pt+Math.atan2(rr.y-dr.y,rr.x-dr.x);return gr.push(Di),{point:Di,angle:ln,path:gr}}var Zs=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Xs(Y,z){for(var K=0;K=1;Gn--)mn.push(rn.path[Gn]);for(var da=1;da0){for(var fo=mn[0].clone(),as=mn[0].clone(),tl=1;tl=ln.x&&as.x<=Qn.x&&fo.y>=ln.y&&as.y<=Qn.y?gs=[mn]:as.xQn.x||as.yQn.y?gs=[]:gs=i.clipLine([mn],ln.x,ln.y,Qn.x,Qn.y)}for(var zu=0,kv=gs;zu=this.screenRightBoundary||$this.screenBottomBoundary},cl.prototype.isInsideGrid=function(z,K,O,$){return O>=0&&z=0&&K0){var Sr;return this.prevPlacement&&this.prevPlacement.variableOffsets[Jt.crossTileID]&&this.prevPlacement.placements[Jt.crossTileID]&&this.prevPlacement.placements[Jt.crossTileID].text&&(Sr=this.prevPlacement.variableOffsets[Jt.crossTileID].anchor),this.variableOffsets[Jt.crossTileID]={textOffset:rr,width:O,height:$,anchor:z,textBoxScale:pe,prevAnchor:Sr},this.markUsedJustification(vt,z,Jt,Pt),vt.allowVerticalPlacement&&(this.markUsedOrientation(vt,Pt,Jt),this.placedOrientations[Jt.crossTileID]=Pt),{shift:dr,placedGlyphBoxes:pr}}},ys.prototype.placeLayerBucketPart=function(z,K,O){var $=this,pe=z.parameters,de=pe.bucket,Ie=pe.layout,$e=pe.posMatrix,pt=pe.textLabelPlaneMatrix,Kt=pe.labelToScreenMatrix,ir=pe.textPixelRatio,Jt=pe.holdingForFade,vt=pe.collisionBoxArray,Pt=pe.partiallyEvaluatedTextSize,Wt=pe.collisionGroup,rr=Ie.get("text-optional"),dr=Ie.get("icon-optional"),pr=Ie.get("text-allow-overlap"),kr=Ie.get("icon-allow-overlap"),Sr=Ie.get("text-rotation-alignment")==="map",gr=Ie.get("text-pitch-alignment")==="map",Cr=Ie.get("icon-text-fit")!=="none",cr=Ie.get("symbol-z-order")==="viewport-y",Gr=pr&&(kr||!de.hasIconData()||dr),ei=kr&&(pr||!de.hasTextData()||rr);!de.collisionArrays&&vt&&de.deserializeCollisionBoxes(vt);var yi=function(rn,bn){if(!K[rn.crossTileID]){if(Jt){$.placements[rn.crossTileID]=new Hs(!1,!1,!1);return}var mn=!1,Gn=!1,da=!0,Uo=null,Ro={box:null,offscreen:null},gs={box:null,offscreen:null},fo=null,as=null,tl=null,zu=0,kv=0,Cv=0;bn.textFeatureIndex?zu=bn.textFeatureIndex:rn.useRuntimeCollisionCircles&&(zu=rn.featureIndex),bn.verticalTextFeatureIndex&&(kv=bn.verticalTextFeatureIndex);var _d=bn.textBox;if(_d){var Jv=function(Fu){var kl=i.WritingMode.horizontal;if(de.allowVerticalPlacement&&!Fu&&$.prevPlacement){var wd=$.prevPlacement.placedOrientations[rn.crossTileID];wd&&($.placedOrientations[rn.crossTileID]=wd,kl=wd,$.markUsedOrientation(de,kl,rn))}return kl},vg=function(Fu,kl){if(de.allowVerticalPlacement&&rn.numVerticalGlyphVertices>0&&bn.verticalTextBox)for(var wd=0,uy=de.writingModes;wd0&&(Ud=Ud.filter(function(Fu){return Fu!==bd.anchor}),Ud.unshift(bd.anchor))}var Lv=function(Fu,kl,wd){for(var uy=Fu.x2-Fu.x1,k1=Fu.y2-Fu.y1,Yl=rn.textBoxScale,Xx=Cr&&!kr?kl:null,sm={box:[],offscreen:!1},Bw=pr?Ud.length*2:Ud.length,Iv=0;Iv=Ud.length,Yx=$.attemptAnchorPlacement(lm,Fu,uy,k1,Yl,Sr,gr,ir,$e,Wt,Nw,rn,de,wd,Xx);if(Yx&&(sm=Yx.placedGlyphBoxes,sm&&sm.box&&sm.box.length)){mn=!0,Uo=Yx.shift;break}}return sm},$v=function(){return Lv(_d,bn.iconBox,i.WritingMode.horizontal)},Pv=function(){var Fu=bn.verticalTextBox,kl=Ro&&Ro.box&&Ro.box.length;return de.allowVerticalPlacement&&!kl&&rn.numVerticalGlyphVertices>0&&Fu?Lv(Fu,bn.verticalIconBox,i.WritingMode.vertical):{box:null,offscreen:null}};vg($v,Pv),Ro&&(mn=Ro.box,da=Ro.offscreen);var oy=Jv(Ro&&Ro.box);if(!mn&&$.prevPlacement){var pg=$.prevPlacement.variableOffsets[rn.crossTileID];pg&&($.variableOffsets[rn.crossTileID]=pg,$.markUsedJustification(de,pg.anchor,rn,oy))}}else{var yp=function(Fu,kl){var wd=$.collisionIndex.placeCollisionBox(Fu,pr,ir,$e,Wt.predicate);return wd&&wd.box&&wd.box.length&&($.markUsedOrientation(de,kl,rn),$.placedOrientations[rn.crossTileID]=kl),wd},xd=function(){return yp(_d,i.WritingMode.horizontal)},_p=function(){var Fu=bn.verticalTextBox;return de.allowVerticalPlacement&&rn.numVerticalGlyphVertices>0&&Fu?yp(Fu,i.WritingMode.vertical):{box:null,offscreen:null}};vg(xd,_p),Jv(Ro&&Ro.box&&Ro.box.length)}}if(fo=Ro,mn=fo&&fo.box&&fo.box.length>0,da=fo&&fo.offscreen,rn.useRuntimeCollisionCircles){var Gf=de.text.placedSymbolArray.get(rn.centerJustifiedTextSymbolIndex),gg=i.evaluateSizeForFeature(de.textSizeData,Pt,Gf),sy=Ie.get("text-padding"),Fh=rn.collisionCircleDiameter;as=$.collisionIndex.placeCollisionCircles(pr,Gf,de.lineVertexArray,de.glyphOffsetArray,gg,$e,pt,Kt,O,gr,Wt.predicate,Fh,sy),mn=pr||as.circles.length>0&&!as.collisionDetected,da=da&&as.offscreen}if(bn.iconFeatureIndex&&(Cv=bn.iconFeatureIndex),bn.iconBox){var nm=function(Fu){var kl=Cr&&Uo?fc(Fu,Uo.x,Uo.y,Sr,gr,$.transform.angle):Fu;return $.collisionIndex.placeCollisionBox(kl,kr,ir,$e,Wt.predicate)};gs&&gs.box&&gs.box.length&&bn.verticalIconBox?(tl=nm(bn.verticalIconBox),Gn=tl.box.length>0):(tl=nm(bn.iconBox),Gn=tl.box.length>0),da=da&&tl.offscreen}var M1=rr||rn.numHorizontalGlyphVertices===0&&rn.numVerticalGlyphVertices===0,E1=dr||rn.numIconVertices===0;if(!M1&&!E1?Gn=mn=Gn&&mn:E1?M1||(Gn=Gn&&mn):mn=Gn&&mn,mn&&fo&&fo.box&&(gs&&gs.box&&kv?$.collisionIndex.insertCollisionBox(fo.box,Ie.get("text-ignore-placement"),de.bucketInstanceId,kv,Wt.ID):$.collisionIndex.insertCollisionBox(fo.box,Ie.get("text-ignore-placement"),de.bucketInstanceId,zu,Wt.ID)),Gn&&tl&&$.collisionIndex.insertCollisionBox(tl.box,Ie.get("icon-ignore-placement"),de.bucketInstanceId,Cv,Wt.ID),as&&(mn&&$.collisionIndex.insertCollisionCircles(as.circles,Ie.get("text-ignore-placement"),de.bucketInstanceId,zu,Wt.ID),O)){var ly=de.bucketInstanceId,am=$.collisionCircleArrays[ly];am===void 0&&(am=$.collisionCircleArrays[ly]=new Eo);for(var om=0;om=0;--Di){var ln=tn[Di];yi(de.symbolInstances.get(ln),de.collisionArrays[ln])}else for(var Qn=z.symbolInstanceStart;Qn=0&&(de>=0&&Kt!==de?z.text.placedSymbolArray.get(Kt).crossTileID=0:z.text.placedSymbolArray.get(Kt).crossTileID=O.crossTileID)}},ys.prototype.markUsedOrientation=function(z,K,O){for(var $=K===i.WritingMode.horizontal||K===i.WritingMode.horizontalOnly?K:0,pe=K===i.WritingMode.vertical?K:0,de=[O.leftJustifiedTextSymbolIndex,O.centerJustifiedTextSymbolIndex,O.rightJustifiedTextSymbolIndex],Ie=0,$e=de;Ie<$e.length;Ie+=1){var pt=$e[Ie];z.text.placedSymbolArray.get(pt).placedOrientation=$}O.verticalPlacedTextSymbolIndex&&(z.text.placedSymbolArray.get(O.verticalPlacedTextSymbolIndex).placedOrientation=pe)},ys.prototype.commit=function(z){this.commitTime=z,this.zoomAtLastRecencyCheck=this.transform.zoom;var K=this.prevPlacement,O=!1;this.prevZoomAdjustment=K?K.zoomAdjustment(this.transform.zoom):0;var $=K?K.symbolFadeChange(z):1,pe=K?K.opacities:{},de=K?K.variableOffsets:{},Ie=K?K.placedOrientations:{};for(var $e in this.placements){var pt=this.placements[$e],Kt=pe[$e];Kt?(this.opacities[$e]=new Ys(Kt,$,pt.text,pt.icon),O=O||pt.text!==Kt.text.placed||pt.icon!==Kt.icon.placed):(this.opacities[$e]=new Ys(null,$,pt.text,pt.icon,pt.skipFade),O=O||pt.text||pt.icon)}for(var ir in pe){var Jt=pe[ir];if(!this.opacities[ir]){var vt=new Ys(Jt,$,!1,!1);vt.isHidden()||(this.opacities[ir]=vt,O=O||Jt.text.placed||Jt.icon.placed)}}for(var Pt in de)!this.variableOffsets[Pt]&&this.opacities[Pt]&&!this.opacities[Pt].isHidden()&&(this.variableOffsets[Pt]=de[Pt]);for(var Wt in Ie)!this.placedOrientations[Wt]&&this.opacities[Wt]&&!this.opacities[Wt].isHidden()&&(this.placedOrientations[Wt]=Ie[Wt]);O?this.lastPlacementChangeTime=z:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=K?K.lastPlacementChangeTime:z)},ys.prototype.updateLayerOpacities=function(z,K){for(var O={},$=0,pe=K;$0||gr>0,yi=kr.numIconVertices>0,tn=$.placedOrientations[kr.crossTileID],Di=tn===i.WritingMode.vertical,ln=tn===i.WritingMode.horizontal||tn===i.WritingMode.horizontalOnly;if(ei){var Qn=Ec(Gr.text),qn=Di?Zn:Qn;Pt(z.text,Sr,qn);var rn=ln?Zn:Qn;Pt(z.text,gr,rn);var bn=Gr.text.isHidden();[kr.rightJustifiedTextSymbolIndex,kr.centerJustifiedTextSymbolIndex,kr.leftJustifiedTextSymbolIndex].forEach(function(Cv){Cv>=0&&(z.text.placedSymbolArray.get(Cv).hidden=bn||Di?1:0)}),kr.verticalPlacedTextSymbolIndex>=0&&(z.text.placedSymbolArray.get(kr.verticalPlacedTextSymbolIndex).hidden=bn||ln?1:0);var mn=$.variableOffsets[kr.crossTileID];mn&&$.markUsedJustification(z,mn.anchor,kr,tn);var Gn=$.placedOrientations[kr.crossTileID];Gn&&($.markUsedJustification(z,"left",kr,Gn),$.markUsedOrientation(z,Gn,kr))}if(yi){var da=Ec(Gr.icon),Uo=!(Jt&&kr.verticalPlacedIconSymbolIndex&&Di);if(kr.placedIconSymbolIndex>=0){var Ro=Uo?da:Zn;Pt(z.icon,kr.numIconVertices,Ro),z.icon.placedSymbolArray.get(kr.placedIconSymbolIndex).hidden=Gr.icon.isHidden()}if(kr.verticalPlacedIconSymbolIndex>=0){var gs=Uo?Zn:da;Pt(z.icon,kr.numVerticalIconVertices,gs),z.icon.placedSymbolArray.get(kr.verticalPlacedIconSymbolIndex).hidden=Gr.icon.isHidden()}}if(z.hasIconCollisionBoxData()||z.hasTextCollisionBoxData()){var fo=z.collisionArrays[pr];if(fo){var as=new i.Point(0,0);if(fo.textBox||fo.verticalTextBox){var tl=!0;if(pt){var zu=$.variableOffsets[Cr];zu?(as=ju(zu.anchor,zu.width,zu.height,zu.textOffset,zu.textBoxScale),Kt&&as._rotate(ir?$.transform.angle:-$.transform.angle)):tl=!1}fo.textBox&&on(z.textCollisionBox.collisionVertexArray,Gr.text.placed,!tl||Di,as.x,as.y),fo.verticalTextBox&&on(z.textCollisionBox.collisionVertexArray,Gr.text.placed,!tl||ln,as.x,as.y)}var kv=!!(!ln&&fo.verticalIconBox);fo.iconBox&&on(z.iconCollisionBox.collisionVertexArray,Gr.icon.placed,kv,Jt?as.x:0,Jt?as.y:0),fo.verticalIconBox&&on(z.iconCollisionBox.collisionVertexArray,Gr.icon.placed,!kv,Jt?as.x:0,Jt?as.y:0)}}},rr=0;rrz},ys.prototype.setStale=function(){this.stale=!0};function on(Y,z,K,O,$){Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0)}var ha=Math.pow(2,25),Qu=Math.pow(2,24),Il=Math.pow(2,17),vo=Math.pow(2,16),Wl=Math.pow(2,9),Ks=Math.pow(2,8),Zl=Math.pow(2,1);function Ec(Y){if(Y.opacity===0&&!Y.placed)return 0;if(Y.opacity===1&&Y.placed)return 4294967295;var z=Y.placed?1:0,K=Math.floor(Y.opacity*127);return K*ha+z*Qu+K*Il+z*vo+K*Wl+z*Ks+K*Zl+z}var Zn=0,ko=function(z){this._sortAcrossTiles=z.layout.get("symbol-z-order")!=="viewport-y"&&z.layout.get("symbol-sort-key").constantOr(1)!==void 0,this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};ko.prototype.continuePlacement=function(z,K,O,$,pe){for(var de=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var Ie=z[this._currentPlacementIndex],$e=K[Ie],pt=this.placement.collisionIndex.transform.zoom;if($e.type==="symbol"&&(!$e.minzoom||$e.minzoom<=pt)&&(!$e.maxzoom||$e.maxzoom>pt)){this._inProgressLayer||(this._inProgressLayer=new ko($e));var Kt=this._inProgressLayer.continuePlacement(O[$e.source],this.placement,this._showCollisionBoxes,$e,de);if(Kt)return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Co.prototype.commit=function(z){return this.placement.commit(z),this.placement};var Tl=512/i.EXTENT/2,uf=function(z,K,O){this.tileID=z,this.indexedSymbolInstances={},this.bucketInstanceId=O;for(var $=0;$z.overscaledZ)for(var pt in $e){var Kt=$e[pt];Kt.tileID.isChildOf(z)&&Kt.findMatches(K.symbolInstances,z,de)}else{var ir=z.scaledTo(Number(Ie)),Jt=$e[ir.key];Jt&&Jt.findMatches(K.symbolInstances,z,de)}}for(var vt=0;vt0)throw new Error("Unimplemented: "+de.map(function(Ie){return Ie.command}).join(", ")+".");return pe.forEach(function(Ie){Ie.command!=="setTransition"&&$[Ie.command].apply($,Ie.args)}),this.stylesheet=O,!0},z.prototype.addImage=function(O,$){if(this.getImage(O))return this.fire(new i.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(O,$),this._afterImageUpdated(O)},z.prototype.updateImage=function(O,$){this.imageManager.updateImage(O,$)},z.prototype.getImage=function(O){return this.imageManager.getImage(O)},z.prototype.removeImage=function(O){if(!this.getImage(O))return this.fire(new i.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(O),this._afterImageUpdated(O)},z.prototype._afterImageUpdated=function(O){this._availableImages=this.imageManager.listImages(),this._changedImages[O]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new i.Event("data",{dataType:"style"}))},z.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},z.prototype.addSource=function(O,$,pe){var de=this;if(pe===void 0&&(pe={}),this._checkLoaded(),this.sourceCaches[O]!==void 0)throw new Error("There is already a source with this ID");if(!$.type)throw new Error("The type property must be defined, but only the following properties were given: "+Object.keys($).join(", ")+".");var Ie=["vector","raster","geojson","video","image"],$e=Ie.indexOf($.type)>=0;if(!($e&&this._validate(i.validateStyle.source,"sources."+O,$,null,pe))){this.map&&this.map._collectResourceTiming&&($.collectResourceTiming=!0);var pt=this.sourceCaches[O]=new Zr(O,$,this.dispatcher);pt.style=this,pt.setEventedParent(this,function(){return{isSourceLoaded:de.loaded(),source:pt.serialize(),sourceId:O}}),pt.onAdd(this.map),this._changed=!0}},z.prototype.removeSource=function(O){if(this._checkLoaded(),this.sourceCaches[O]===void 0)throw new Error("There is no source with this ID");for(var $ in this._layers)if(this._layers[$].source===O)return this.fire(new i.ErrorEvent(new Error('Source "'+O+'" cannot be removed while layer "'+$+'" is using it.')));var pe=this.sourceCaches[O];delete this.sourceCaches[O],delete this._updatedSources[O],pe.fire(new i.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:O})),pe.setEventedParent(null),pe.clearTiles(),pe.onRemove&&pe.onRemove(this.map),this._changed=!0},z.prototype.setGeoJSONSourceData=function(O,$){this._checkLoaded();var pe=this.sourceCaches[O].getSource();pe.setData($),this._changed=!0},z.prototype.getSource=function(O){return this.sourceCaches[O]&&this.sourceCaches[O].getSource()},z.prototype.addLayer=function(O,$,pe){pe===void 0&&(pe={}),this._checkLoaded();var de=O.id;if(this.getLayer(de)){this.fire(new i.ErrorEvent(new Error('Layer with id "'+de+'" already exists on this map')));return}var Ie;if(O.type==="custom"){if(Al(this,i.validateCustomStyleLayer(O)))return;Ie=i.createStyleLayer(O)}else{if(typeof O.source=="object"&&(this.addSource(de,O.source),O=i.clone$1(O),O=i.extend(O,{source:de})),this._validate(i.validateStyle.layer,"layers."+de,O,{arrayIndex:-1},pe))return;Ie=i.createStyleLayer(O),this._validateLayer(Ie),Ie.setEventedParent(this,{layer:{id:de}}),this._serializedLayers[Ie.id]=Ie.serialize()}var $e=$?this._order.indexOf($):this._order.length;if($&&$e===-1){this.fire(new i.ErrorEvent(new Error('Layer with id "'+$+'" does not exist on this map.')));return}if(this._order.splice($e,0,de),this._layerOrderChanged=!0,this._layers[de]=Ie,this._removedLayers[de]&&Ie.source&&Ie.type!=="custom"){var pt=this._removedLayers[de];delete this._removedLayers[de],pt.type!==Ie.type?this._updatedSources[Ie.source]="clear":(this._updatedSources[Ie.source]="reload",this.sourceCaches[Ie.source].pause())}this._updateLayer(Ie),Ie.onAdd&&Ie.onAdd(this.map)},z.prototype.moveLayer=function(O,$){this._checkLoaded(),this._changed=!0;var pe=this._layers[O];if(!pe){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot be moved.")));return}if(O!==$){var de=this._order.indexOf(O);this._order.splice(de,1);var Ie=$?this._order.indexOf($):this._order.length;if($&&Ie===-1){this.fire(new i.ErrorEvent(new Error('Layer with id "'+$+'" does not exist on this map.')));return}this._order.splice(Ie,0,O),this._layerOrderChanged=!0}},z.prototype.removeLayer=function(O){this._checkLoaded();var $=this._layers[O];if(!$){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot be removed.")));return}$.setEventedParent(null);var pe=this._order.indexOf(O);this._order.splice(pe,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[O]=$,delete this._layers[O],delete this._serializedLayers[O],delete this._updatedLayers[O],delete this._updatedPaintProps[O],$.onRemove&&$.onRemove(this.map)},z.prototype.getLayer=function(O){return this._layers[O]},z.prototype.hasLayer=function(O){return O in this._layers},z.prototype.setLayerZoomRange=function(O,$,pe){this._checkLoaded();var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot have zoom extent.")));return}de.minzoom===$&&de.maxzoom===pe||($!=null&&(de.minzoom=$),pe!=null&&(de.maxzoom=pe),this._updateLayer(de))},z.prototype.setFilter=function(O,$,pe){pe===void 0&&(pe={}),this._checkLoaded();var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot be filtered.")));return}if(!i.deepEqual(de.filter,$)){if($==null){de.filter=void 0,this._updateLayer(de);return}this._validate(i.validateStyle.filter,"layers."+de.id+".filter",$,null,pe)||(de.filter=i.clone$1($),this._updateLayer(de))}},z.prototype.getFilter=function(O){return i.clone$1(this.getLayer(O).filter)},z.prototype.setLayoutProperty=function(O,$,pe,de){de===void 0&&(de={}),this._checkLoaded();var Ie=this.getLayer(O);if(!Ie){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot be styled.")));return}i.deepEqual(Ie.getLayoutProperty($),pe)||(Ie.setLayoutProperty($,pe,de),this._updateLayer(Ie))},z.prototype.getLayoutProperty=function(O,$){var pe=this.getLayer(O);if(!pe){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style.")));return}return pe.getLayoutProperty($)},z.prototype.setPaintProperty=function(O,$,pe,de){de===void 0&&(de={}),this._checkLoaded();var Ie=this.getLayer(O);if(!Ie){this.fire(new i.ErrorEvent(new Error("The layer '"+O+"' does not exist in the map's style and cannot be styled.")));return}if(!i.deepEqual(Ie.getPaintProperty($),pe)){var $e=Ie.setPaintProperty($,pe,de);$e&&this._updateLayer(Ie),this._changed=!0,this._updatedPaintProps[O]=!0}},z.prototype.getPaintProperty=function(O,$){return this.getLayer(O).getPaintProperty($)},z.prototype.setFeatureState=function(O,$){this._checkLoaded();var pe=O.source,de=O.sourceLayer,Ie=this.sourceCaches[pe];if(Ie===void 0){this.fire(new i.ErrorEvent(new Error("The source '"+pe+"' does not exist in the map's style.")));return}var $e=Ie.getSource().type;if($e==="geojson"&&de){this.fire(new i.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter.")));return}if($e==="vector"&&!de){this.fire(new i.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));return}O.id===void 0&&this.fire(new i.ErrorEvent(new Error("The feature id parameter must be provided."))),Ie.setFeatureState(de,O.id,$)},z.prototype.removeFeatureState=function(O,$){this._checkLoaded();var pe=O.source,de=this.sourceCaches[pe];if(de===void 0){this.fire(new i.ErrorEvent(new Error("The source '"+pe+"' does not exist in the map's style.")));return}var Ie=de.getSource().type,$e=Ie==="vector"?O.sourceLayer:void 0;if(Ie==="vector"&&!$e){this.fire(new i.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));return}if($&&typeof O.id!="string"&&typeof O.id!="number"){this.fire(new i.ErrorEvent(new Error("A feature id is required to remove its specific state property.")));return}de.removeFeatureState($e,O.id,$)},z.prototype.getFeatureState=function(O){this._checkLoaded();var $=O.source,pe=O.sourceLayer,de=this.sourceCaches[$];if(de===void 0){this.fire(new i.ErrorEvent(new Error("The source '"+$+"' does not exist in the map's style.")));return}var Ie=de.getSource().type;if(Ie==="vector"&&!pe){this.fire(new i.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));return}return O.id===void 0&&this.fire(new i.ErrorEvent(new Error("The feature id parameter must be provided."))),de.getFeatureState(pe,O.id)},z.prototype.getTransition=function(){return i.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},z.prototype.serialize=function(){return i.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:i.mapObject(this.sourceCaches,function(O){return O.serialize()}),layers:this._serializeLayers(this._order)},function(O){return O!==void 0})},z.prototype._updateLayer=function(O){this._updatedLayers[O.id]=!0,O.source&&!this._updatedSources[O.source]&&this.sourceCaches[O.source].getSource().type!=="raster"&&(this._updatedSources[O.source]="reload",this.sourceCaches[O.source].pause()),this._changed=!0},z.prototype._flattenAndSortRenderedFeatures=function(O){for(var $=this,pe=function(ln){return $._layers[ln].type==="fill-extrusion"},de={},Ie=[],$e=this._order.length-1;$e>=0;$e--){var pt=this._order[$e];if(pe(pt)){de[pt]=$e;for(var Kt=0,ir=O;Kt=0;pr--){var kr=this._order[pr];if(pe(kr))for(var Sr=Ie.length-1;Sr>=0;Sr--){var gr=Ie[Sr].feature;if(de[gr.layer.id] 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`,Ml=`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; +#pragma mapbox: define lowp float base +#pragma mapbox: define lowp float height +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float base +#pragma mapbox: initialize lowp float height +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Jh=`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; +#pragma mapbox: define lowp float base +#pragma mapbox: define lowp float height +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float base +#pragma mapbox: initialize lowp float height +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0 +? a_pos +: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`,Lh=`#ifdef GL_ES +precision highp float; +#endif +uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,oh="uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}",hf=`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent; +#define PI 3.141592653589793 +void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Ph="uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}",$h=`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,rc=` +#define scale 0.015873016 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}`,sh=`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Wc=` +#define scale 0.015873016 +attribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}`,df=`uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Cu=` +#define scale 0.015873016 +#define LINE_DISTANCE_SCALE 2.0 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`,Uf=`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Zc=` +#define scale 0.015873016 +#define LINE_DISTANCE_SCALE 2.0 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`,vs=`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Ih="uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}",Nd=`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float opacity +lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Qh=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity; +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float opacity +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}`,Cf=`#define SDF_PX 8.0 +uniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +float EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,gd=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`,Lu=`#define SDF_PX 8.0 +#define SDF 1.0 +#define ICON 0.0 +uniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +float fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,ed=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`,eu=Ds(Bf,Gc),Pu=Ds(pd,Nf),Lc=Ds(ss,ff),fl=Ds(ah,Ul),Xc=Ds(Js,hc),ic=Ds(Cc,Ts),yu=Ds($s,ds),Qs=Ds(Es,dc),td=Ds(Sl,ec),md=Ds(Is,sv),Wu=Ds(wo,Bd),Pc=Ds(Qo,$a),vc=Ds(Ef,tc),lv=Ds(uu,Ch),Lf=Ds(jc,kf),Vf=Ds(Ml,Jh),Iu=Ds(Lh,oh),lh=Ds(hf,Ph),tu=Ds($h,rc),vf=Ds(sh,Wc),yd=Ds(df,Cu),uh=Ds(Uf,Zc),Os=Ds(vs,Ih),_u=Ds(Nd,Qh),xu=Ds(Cf,gd),Dh=Ds(Lu,ed);function Ds(Y,z){var K=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,O=z.match(/attribute ([\w]+) ([\w]+)/g),$=Y.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),pe=z.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),de=pe?pe.concat($):$,Ie={};return Y=Y.replace(K,function($e,pt,Kt,ir,Jt){return Ie[Jt]=!0,pt==="define"?` +#ifndef HAS_UNIFORM_u_`+Jt+` +varying `+Kt+" "+ir+" "+Jt+`; +#else +uniform `+Kt+" "+ir+" u_"+Jt+`; +#endif +`:` +#ifdef HAS_UNIFORM_u_`+Jt+` + `+Kt+" "+ir+" "+Jt+" = u_"+Jt+`; +#endif +`}),z=z.replace(K,function($e,pt,Kt,ir,Jt){var vt=ir==="float"?"vec2":"vec4",Pt=Jt.match(/color/)?"color":vt;return Ie[Jt]?pt==="define"?` +#ifndef HAS_UNIFORM_u_`+Jt+` +uniform lowp float u_`+Jt+`_t; +attribute `+Kt+" "+vt+" a_"+Jt+`; +varying `+Kt+" "+ir+" "+Jt+`; +#else +uniform `+Kt+" "+ir+" u_"+Jt+`; +#endif +`:Pt==="vec4"?` +#ifndef HAS_UNIFORM_u_`+Jt+` + `+Jt+" = a_"+Jt+`; +#else + `+Kt+" "+ir+" "+Jt+" = u_"+Jt+`; +#endif +`:` +#ifndef HAS_UNIFORM_u_`+Jt+` + `+Jt+" = unpack_mix_"+Pt+"(a_"+Jt+", u_"+Jt+`_t); +#else + `+Kt+" "+ir+" "+Jt+" = u_"+Jt+`; +#endif +`:pt==="define"?` +#ifndef HAS_UNIFORM_u_`+Jt+` +uniform lowp float u_`+Jt+`_t; +attribute `+Kt+" "+vt+" a_"+Jt+`; +#else +uniform `+Kt+" "+ir+" u_"+Jt+`; +#endif +`:Pt==="vec4"?` +#ifndef HAS_UNIFORM_u_`+Jt+` + `+Kt+" "+ir+" "+Jt+" = a_"+Jt+`; +#else + `+Kt+" "+ir+" "+Jt+" = u_"+Jt+`; +#endif +`:` +#ifndef HAS_UNIFORM_u_`+Jt+` + `+Kt+" "+ir+" "+Jt+" = unpack_mix_"+Pt+"(a_"+Jt+", u_"+Jt+`_t); +#else + `+Kt+" "+ir+" "+Jt+" = u_"+Jt+`; +#endif +`}),{fragmentSource:Y,vertexSource:z,staticAttributes:O,staticUniforms:de}}var Pf=Object.freeze({__proto__:null,prelude:eu,background:Pu,backgroundPattern:Lc,circle:fl,clippingMask:Xc,heatmap:ic,heatmapTexture:yu,collisionBox:Qs,collisionCircle:td,debug:md,fill:Wu,fillOutline:Pc,fillOutlinePattern:vc,fillPattern:lv,fillExtrusion:Lf,fillExtrusionPattern:Vf,hillshadePrepare:Iu,hillshade:lh,line:tu,lineGradient:vf,linePattern:yd,lineSDF:uh,raster:Os,symbolIcon:_u,symbolSDF:xu,symbolTextAndIcon:Dh}),Ic=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Ic.prototype.bind=function(z,K,O,$,pe,de,Ie,$e){this.context=z;for(var pt=this.boundPaintVertexBuffers.length!==$.length,Kt=0;!pt&&Kt<$.length;Kt++)this.boundPaintVertexBuffers[Kt]!==$[Kt]&&(pt=!0);var ir=!this.vao||this.boundProgram!==K||this.boundLayoutVertexBuffer!==O||pt||this.boundIndexBuffer!==pe||this.boundVertexOffset!==de||this.boundDynamicVertexBuffer!==Ie||this.boundDynamicVertexBuffer2!==$e;!z.extVertexArrayObject||ir?this.freshBind(K,O,$,pe,de,Ie,$e):(z.bindVertexArrayOES.set(this.vao),Ie&&Ie.bind(),pe&&pe.dynamicDraw&&pe.bind(),$e&&$e.bind())},Ic.prototype.freshBind=function(z,K,O,$,pe,de,Ie){var $e,pt=z.numAttributes,Kt=this.context,ir=Kt.gl;if(Kt.extVertexArrayObject)this.vao&&this.destroy(),this.vao=Kt.extVertexArrayObject.createVertexArrayOES(),Kt.bindVertexArrayOES.set(this.vao),$e=0,this.boundProgram=z,this.boundLayoutVertexBuffer=K,this.boundPaintVertexBuffers=O,this.boundIndexBuffer=$,this.boundVertexOffset=pe,this.boundDynamicVertexBuffer=de,this.boundDynamicVertexBuffer2=Ie;else{$e=Kt.currentNumAttributes||0;for(var Jt=pt;Jt<$e;Jt++)ir.disableVertexAttribArray(Jt)}K.enableAttributes(ir,z);for(var vt=0,Pt=O;vt>16,Ie>>16],u_pixel_coord_lower:[de&65535,Ie&65535]}}function pf(Y,z,K,O){var $=K.imageManager.getPattern(Y.from.toString()),pe=K.imageManager.getPattern(Y.to.toString()),de=K.imageManager.getPixelSize(),Ie=de.width,$e=de.height,pt=Math.pow(2,O.tileID.overscaledZ),Kt=O.tileSize*Math.pow(2,K.transform.tileZoom)/pt,ir=Kt*(O.tileID.canonical.x+O.tileID.wrap*pt),Jt=Kt*O.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:$.tl,u_pattern_br_a:$.br,u_pattern_tl_b:pe.tl,u_pattern_br_b:pe.br,u_texsize:[Ie,$e],u_mix:z.t,u_pattern_size_a:$.displaySize,u_pattern_size_b:pe.displaySize,u_scale_a:z.fromScale,u_scale_b:z.toScale,u_tile_units_to_pixels:1/Ls(O,1,K.transform.tileZoom),u_pixel_coord_upper:[ir>>16,Jt>>16],u_pixel_coord_lower:[ir&65535,Jt&65535]}}var Rh=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_lightpos:new i.Uniform3f(Y,z.u_lightpos),u_lightintensity:new i.Uniform1f(Y,z.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,z.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,z.u_vertical_gradient),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Dl=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_lightpos:new i.Uniform3f(Y,z.u_lightpos),u_lightintensity:new i.Uniform1f(Y,z.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,z.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,z.u_vertical_gradient),u_height_factor:new i.Uniform1f(Y,z.u_height_factor),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},zh=function(Y,z,K,O){var $=z.style.light,pe=$.properties.get("position"),de=[pe.x,pe.y,pe.z],Ie=i.create$1();$.properties.get("anchor")==="viewport"&&i.fromRotation(Ie,-z.transform.angle),i.transformMat3(de,de,Ie);var $e=$.properties.get("color");return{u_matrix:Y,u_lightpos:de,u_lightintensity:$.properties.get("intensity"),u_lightcolor:[$e.r,$e.g,$e.b],u_vertical_gradient:+K,u_opacity:O}},Xu=function(Y,z,K,O,$,pe,de){return i.extend(zh(Y,z,K,O),pc(pe,z,de),{u_height_factor:-Math.pow(2,$.overscaledZ)/de.tileSize/8})},Dc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},gc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},hl=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world)}},ru=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},mc=function(Y){return{u_matrix:Y}},Yc=function(Y,z,K,O){return i.extend(mc(Y),pc(K,z,O))},nc=function(Y,z){return{u_matrix:Y,u_world:z}},gf=function(Y,z,K,O,$){return i.extend(Yc(Y,z,K,O),{u_world:$})},gt=function(Y,z){return{u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_scale_with_map:new i.Uniform1i(Y,z.u_scale_with_map),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_extrude_scale:new i.Uniform2f(Y,z.u_extrude_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},Bt=function(Y,z,K,O){var $=Y.transform,pe,de;if(O.paint.get("circle-pitch-alignment")==="map"){var Ie=Ls(K,1,$.zoom);pe=!0,de=[Ie,Ie]}else pe=!1,de=$.pixelsToGLUnits;return{u_camera_to_center_distance:$.cameraToCenterDistance,u_scale_with_map:+(O.paint.get("circle-pitch-scale")==="map"),u_matrix:Y.translatePosMatrix(z.posMatrix,K,O.paint.get("circle-translate"),O.paint.get("circle-translate-anchor")),u_pitch_with_map:+pe,u_device_pixel_ratio:i.browser.devicePixelRatio,u_extrude_scale:de}},wr=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pixels_to_tile_units:new i.Uniform1f(Y,z.u_pixels_to_tile_units),u_extrude_scale:new i.Uniform2f(Y,z.u_extrude_scale),u_overscale_factor:new i.Uniform1f(Y,z.u_overscale_factor)}},vr=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_inv_matrix:new i.UniformMatrix4f(Y,z.u_inv_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_viewport_size:new i.Uniform2f(Y,z.u_viewport_size)}},Ur=function(Y,z,K){var O=Ls(K,1,z.zoom),$=Math.pow(2,z.zoom-K.tileID.overscaledZ),pe=K.tileID.overscaleFactor();return{u_matrix:Y,u_camera_to_center_distance:z.cameraToCenterDistance,u_pixels_to_tile_units:O,u_extrude_scale:[z.pixelsToGLUnits[0]/(O*$),z.pixelsToGLUnits[1]/(O*$)],u_overscale_factor:pe}},fi=function(Y,z,K){return{u_matrix:Y,u_inv_matrix:z,u_camera_to_center_distance:K.cameraToCenterDistance,u_viewport_size:[K.width,K.height]}},xi=function(Y,z){return{u_color:new i.UniformColor(Y,z.u_color),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_overlay:new i.Uniform1i(Y,z.u_overlay),u_overlay_scale:new i.Uniform1f(Y,z.u_overlay_scale)}},Fi=function(Y,z,K){return K===void 0&&(K=1),{u_matrix:Y,u_color:z,u_overlay:0,u_overlay_scale:K}},Xi=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},hn=function(Y){return{u_matrix:Y}},Ti=function(Y,z){return{u_extrude_scale:new i.Uniform1f(Y,z.u_extrude_scale),u_intensity:new i.Uniform1f(Y,z.u_intensity),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},qi=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world),u_image:new i.Uniform1i(Y,z.u_image),u_color_ramp:new i.Uniform1i(Y,z.u_color_ramp),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Ii=function(Y,z,K,O){return{u_matrix:Y,u_extrude_scale:Ls(z,1,K),u_intensity:O}},mi=function(Y,z,K,O){var $=i.create();i.ortho($,0,Y.width,Y.height,0,0,1);var pe=Y.context.gl;return{u_matrix:$,u_world:[pe.drawingBufferWidth,pe.drawingBufferHeight],u_image:K,u_color_ramp:O,u_opacity:z.paint.get("heatmap-opacity")}},Pn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_latrange:new i.Uniform2f(Y,z.u_latrange),u_light:new i.Uniform2f(Y,z.u_light),u_shadow:new i.UniformColor(Y,z.u_shadow),u_highlight:new i.UniformColor(Y,z.u_highlight),u_accent:new i.UniformColor(Y,z.u_accent)}},Ea=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_dimension:new i.Uniform2f(Y,z.u_dimension),u_zoom:new i.Uniform1f(Y,z.u_zoom),u_unpack:new i.Uniform4f(Y,z.u_unpack)}},Ta=function(Y,z,K){var O=K.paint.get("hillshade-shadow-color"),$=K.paint.get("hillshade-highlight-color"),pe=K.paint.get("hillshade-accent-color"),de=K.paint.get("hillshade-illumination-direction")*(Math.PI/180);K.paint.get("hillshade-illumination-anchor")==="viewport"&&(de-=Y.transform.angle);var Ie=!Y.options.moving;return{u_matrix:Y.transform.calculatePosMatrix(z.tileID.toUnwrapped(),Ie),u_image:0,u_latrange:qa(Y,z.tileID),u_light:[K.paint.get("hillshade-exaggeration"),de],u_shadow:O,u_highlight:$,u_accent:pe}},ka=function(Y,z){var K=z.stride,O=i.create();return i.ortho(O,0,i.EXTENT,-i.EXTENT,0,0,1),i.translate(O,O,[0,-i.EXTENT,0]),{u_matrix:O,u_image:1,u_dimension:[K,K],u_zoom:Y.overscaledZ,u_unpack:z.getUnpackVector()}};function qa(Y,z){var K=Math.pow(2,z.canonical.z),O=z.canonical.y;return[new i.MercatorCoordinate(0,O/K).toLngLat().lat,new i.MercatorCoordinate(0,(O+1)/K).toLngLat().lat]}var Cn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels)}},sn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_image:new i.Uniform1i(Y,z.u_image),u_image_height:new i.Uniform1f(Y,z.u_image_height)}},Ua=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_image:new i.Uniform1i(Y,z.u_image),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},mo=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_patternscale_a:new i.Uniform2f(Y,z.u_patternscale_a),u_patternscale_b:new i.Uniform2f(Y,z.u_patternscale_b),u_sdfgamma:new i.Uniform1f(Y,z.u_sdfgamma),u_image:new i.Uniform1i(Y,z.u_image),u_tex_y_a:new i.Uniform1f(Y,z.u_tex_y_a),u_tex_y_b:new i.Uniform1f(Y,z.u_tex_y_b),u_mix:new i.Uniform1f(Y,z.u_mix)}},Xo=function(Y,z,K){var O=Y.transform;return{u_matrix:yl(Y,z,K),u_ratio:1/Ls(z,1,O.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_units_to_pixels:[1/O.pixelsToGLUnits[0],1/O.pixelsToGLUnits[1]]}},As=function(Y,z,K,O){return i.extend(Xo(Y,z,K),{u_image:0,u_image_height:O})},es=function(Y,z,K,O){var $=Y.transform,pe=No(z,$);return{u_matrix:yl(Y,z,K),u_texsize:z.imageAtlasTexture.size,u_ratio:1/Ls(z,1,$.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_image:0,u_scale:[pe,O.fromScale,O.toScale],u_fade:O.t,u_units_to_pixels:[1/$.pixelsToGLUnits[0],1/$.pixelsToGLUnits[1]]}},_s=function(Y,z,K,O,$){var pe=Y.transform,de=Y.lineAtlas,Ie=No(z,pe),$e=K.layout.get("line-cap")==="round",pt=de.getDash(O.from,$e),Kt=de.getDash(O.to,$e),ir=pt.width*$.fromScale,Jt=Kt.width*$.toScale;return i.extend(Xo(Y,z,K),{u_patternscale_a:[Ie/ir,-pt.height/2],u_patternscale_b:[Ie/Jt,-Kt.height/2],u_sdfgamma:de.width/(Math.min(ir,Jt)*256*i.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:pt.y,u_tex_y_b:Kt.y,u_mix:$.t})};function No(Y,z){return 1/Ls(Y,1,z.tileZoom)}function yl(Y,z,K){return Y.translatePosMatrix(z.tileID.posMatrix,z,K.paint.get("line-translate"),K.paint.get("line-translate-anchor"))}var Gs=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_tl_parent:new i.Uniform2f(Y,z.u_tl_parent),u_scale_parent:new i.Uniform1f(Y,z.u_scale_parent),u_buffer_scale:new i.Uniform1f(Y,z.u_buffer_scale),u_fade_t:new i.Uniform1f(Y,z.u_fade_t),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_image0:new i.Uniform1i(Y,z.u_image0),u_image1:new i.Uniform1i(Y,z.u_image1),u_brightness_low:new i.Uniform1f(Y,z.u_brightness_low),u_brightness_high:new i.Uniform1f(Y,z.u_brightness_high),u_saturation_factor:new i.Uniform1f(Y,z.u_saturation_factor),u_contrast_factor:new i.Uniform1f(Y,z.u_contrast_factor),u_spin_weights:new i.Uniform3f(Y,z.u_spin_weights)}},Rs=function(Y,z,K,O,$){return{u_matrix:Y,u_tl_parent:z,u_scale_parent:K,u_buffer_scale:1,u_fade_t:O.mix,u_opacity:O.opacity*$.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:$.paint.get("raster-brightness-min"),u_brightness_high:$.paint.get("raster-brightness-max"),u_saturation_factor:ps($.paint.get("raster-saturation")),u_contrast_factor:Ja($.paint.get("raster-contrast")),u_spin_weights:ia($.paint.get("raster-hue-rotate"))}};function ia(Y){Y*=Math.PI/180;var z=Math.sin(Y),K=Math.cos(Y);return[(2*K+1)/3,(-Math.sqrt(3)*z-K+1)/3,(Math.sqrt(3)*z-K+1)/3]}function Ja(Y){return Y>0?1/(1-Y):1+Y}function ps(Y){return Y>0?1-1/(1.001-Y):-Y}var Jo=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texture:new i.Uniform1i(Y,z.u_texture)}},iu=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texture:new i.Uniform1i(Y,z.u_texture),u_gamma_scale:new i.Uniform1f(Y,z.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,z.u_is_halo)}},Du=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texsize_icon:new i.Uniform2f(Y,z.u_texsize_icon),u_texture:new i.Uniform1i(Y,z.u_texture),u_texture_icon:new i.Uniform1i(Y,z.u_texture_icon),u_gamma_scale:new i.Uniform1f(Y,z.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,z.u_is_halo)}},ac=function(Y,z,K,O,$,pe,de,Ie,$e,pt){var Kt=$.transform;return{u_is_size_zoom_constant:+(Y==="constant"||Y==="source"),u_is_size_feature_constant:+(Y==="constant"||Y==="camera"),u_size_t:z?z.uSizeT:0,u_size:z?z.uSize:0,u_camera_to_center_distance:Kt.cameraToCenterDistance,u_pitch:Kt.pitch/360*2*Math.PI,u_rotate_symbol:+K,u_aspect_ratio:Kt.width/Kt.height,u_fade_change:$.options.fadeDuration?$.symbolFadeChange:1,u_matrix:pe,u_label_plane_matrix:de,u_coord_matrix:Ie,u_is_text:+$e,u_pitch_with_map:+O,u_texsize:pt,u_texture:0}},mf=function(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=$.transform;return i.extend(ac(Y,z,K,O,$,pe,de,Ie,$e,pt),{u_gamma_scale:O?Math.cos(ir._pitch)*ir.cameraToCenterDistance:1,u_device_pixel_ratio:i.browser.devicePixelRatio,u_is_halo:+Kt})},bu=function(Y,z,K,O,$,pe,de,Ie,$e,pt){return i.extend(mf(Y,z,K,O,$,pe,de,Ie,!0,$e,!0),{u_texsize_icon:pt,u_texture_icon:1})},Kc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_color:new i.UniformColor(Y,z.u_color)}},Ru=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_image:new i.Uniform1i(Y,z.u_image),u_pattern_tl_a:new i.Uniform2f(Y,z.u_pattern_tl_a),u_pattern_br_a:new i.Uniform2f(Y,z.u_pattern_br_a),u_pattern_tl_b:new i.Uniform2f(Y,z.u_pattern_tl_b),u_pattern_br_b:new i.Uniform2f(Y,z.u_pattern_br_b),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_mix:new i.Uniform1f(Y,z.u_mix),u_pattern_size_a:new i.Uniform2f(Y,z.u_pattern_size_a),u_pattern_size_b:new i.Uniform2f(Y,z.u_pattern_size_b),u_scale_a:new i.Uniform1f(Y,z.u_scale_a),u_scale_b:new i.Uniform1f(Y,z.u_scale_b),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_tile_units_to_pixels:new i.Uniform1f(Y,z.u_tile_units_to_pixels)}},Rc=function(Y,z,K){return{u_matrix:Y,u_opacity:z,u_color:K}},Ra=function(Y,z,K,O,$,pe){return i.extend(pf(O,pe,K,$),{u_matrix:Y,u_opacity:z})},eo={fillExtrusion:Rh,fillExtrusionPattern:Dl,fill:Dc,fillPattern:gc,fillOutline:hl,fillOutlinePattern:ru,circle:gt,collisionBox:wr,collisionCircle:vr,debug:xi,clippingMask:Xi,heatmap:Ti,heatmapTexture:qi,hillshade:Pn,hillshadePrepare:Ea,line:Cn,lineGradient:sn,linePattern:Ua,lineSDF:mo,raster:Gs,symbolIcon:Jo,symbolSDF:iu,symbolTextAndIcon:Du,background:Kc,backgroundPattern:Ru},Jc;function yc(Y,z,K,O,$,pe,de){for(var Ie=Y.context,$e=Ie.gl,pt=Y.useProgram("collisionBox"),Kt=[],ir=0,Jt=0,vt=0;vt0){var Sr=i.create(),gr=dr;i.mul(Sr,rr.placementInvProjMatrix,Y.transform.glCoordMatrix),i.mul(Sr,Sr,rr.placementViewportMatrix),Kt.push({circleArray:kr,circleOffset:Jt,transform:gr,invTransform:Sr}),ir+=kr.length/4,Jt=ir}pr&&pt.draw(Ie,$e.LINES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),_r.disabled,Ur(dr,Y.transform,Wt),K.id,pr.layoutVertexBuffer,pr.indexBuffer,pr.segments,null,Y.transform.zoom,null,null,pr.collisionVertexBuffer)}}if(!(!de||!Kt.length)){var Cr=Y.useProgram("collisionCircle"),cr=new i.StructArrayLayout2f1f2i16;cr.resize(ir*4),cr._trim();for(var Gr=0,ei=0,yi=Kt;ei=0&&(Pt[rr.associatedIconIndex]={shiftedAnchor:ln,angle:Qn})}}if(Kt){vt.clear();for(var rn=Y.icon.placedSymbolArray,bn=0;bn0){var de=i.browser.now(),Ie=(de-Y.timeAdded)/pe,$e=z?(de-z.timeAdded)/pe:-1,pt=K.getSource(),Kt=$.coveringZoomLevel({tileSize:pt.tileSize,roundZoom:pt.roundZoom}),ir=!z||Math.abs(z.tileID.overscaledZ-Kt)>Math.abs(Y.tileID.overscaledZ-Kt),Jt=ir&&Y.refreshedUponExpiration?1:i.clamp(ir?Ie:1-$e,0,1);return Y.refreshedUponExpiration&&Ie>=1&&(Y.refreshedUponExpiration=!1),z?{opacity:1,mix:1-Jt}:{opacity:Jt,mix:0}}else return{opacity:1,mix:0}}function Ut(Y,z,K){var O=K.paint.get("background-color"),$=K.paint.get("background-opacity");if($!==0){var pe=Y.context,de=pe.gl,Ie=Y.transform,$e=Ie.tileSize,pt=K.paint.get("background-pattern");if(!Y.isPatternMissing(pt)){var Kt=!pt&&O.a===1&&$===1&&Y.opaquePassEnabledForLayer()?"opaque":"translucent";if(Y.renderPass===Kt){var ir=$i.disabled,Jt=Y.depthModeForSublayer(0,Kt==="opaque"?Wi.ReadWrite:Wi.ReadOnly),vt=Y.colorModeForRenderPass(),Pt=Y.useProgram(pt?"backgroundPattern":"background"),Wt=Ie.coveringTiles({tileSize:$e});pt&&(pe.activeTexture.set(de.TEXTURE0),Y.imageManager.bind(Y.context));for(var rr=K.getCrossfadeParameters(),dr=0,pr=Wt;dr "+K.overscaledZ);var dr=rr+" "+vt+"kb";Ga(Y,dr),de.draw(O,$.TRIANGLES,Ie,$e,ft.alphaBlended,_r.disabled,Fi(pe,i.Color.transparent,Wt),Kt,Y.debugBuffer,Y.quadTriangleIndexBuffer,Y.debugSegments)}function Ga(Y,z){Y.initDebugOverlayCanvas();var K=Y.debugOverlayCanvas,O=Y.context.gl,$=Y.debugOverlayCanvas.getContext("2d");$.clearRect(0,0,K.width,K.height),$.shadowColor="white",$.shadowBlur=2,$.lineWidth=1.5,$.strokeStyle="white",$.textBaseline="top",$.font="bold 36px Open Sans, sans-serif",$.fillText(z,5,5),$.strokeText(z,5,5),Y.debugOverlayTexture.update(K),Y.debugOverlayTexture.bind(O.LINEAR,O.CLAMP_TO_EDGE)}function To(Y,z,K){var O=Y.context,$=K.implementation;if(Y.renderPass==="offscreen"){var pe=$.prerender;pe&&(Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),pe.call($,O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState())}else if(Y.renderPass==="translucent"){Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),O.setStencilMode($i.disabled);var de=$.renderingMode==="3d"?new Wi(Y.context.gl.LEQUAL,Wi.ReadWrite,Y.depthRangeFor3D):Y.depthModeForSublayer(0,Wi.ReadOnly);O.setDepthMode(de),$.render(O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState(),O.bindFramebuffer.set(null)}}var Wa={symbol:w,circle:it,heatmap:yt,line:Mr,fill:he,"fill-extrusion":Pe,hillshade:Je,raster:Mt,background:Ut,debug:pa,custom:To},co=function(z,K){this.context=new Fr(z),this.transform=K,this._tileTextures={},this.setup(),this.numSublayers=Zr.maxUnderzooming+Zr.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new nh,this.gpuTimers={}};co.prototype.resize=function(z,K){if(this.width=z*i.browser.devicePixelRatio,this.height=K*i.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var O=0,$=this.style._order;O<$.length;O+=1){var pe=$[O];this.style._layers[pe].resize()}},co.prototype.setup=function(){var z=this.context,K=new i.StructArrayLayout2i4;K.emplaceBack(0,0),K.emplaceBack(i.EXTENT,0),K.emplaceBack(0,i.EXTENT),K.emplaceBack(i.EXTENT,i.EXTENT),this.tileExtentBuffer=z.createVertexBuffer(K,kc.members),this.tileExtentSegments=i.SegmentVector.simpleSegment(0,0,4,2);var O=new i.StructArrayLayout2i4;O.emplaceBack(0,0),O.emplaceBack(i.EXTENT,0),O.emplaceBack(0,i.EXTENT),O.emplaceBack(i.EXTENT,i.EXTENT),this.debugBuffer=z.createVertexBuffer(O,kc.members),this.debugSegments=i.SegmentVector.simpleSegment(0,0,4,5);var $=new i.StructArrayLayout4i8;$.emplaceBack(0,0,0,0),$.emplaceBack(i.EXTENT,0,i.EXTENT,0),$.emplaceBack(0,i.EXTENT,0,i.EXTENT),$.emplaceBack(i.EXTENT,i.EXTENT,i.EXTENT,i.EXTENT),this.rasterBoundsBuffer=z.createVertexBuffer($,Me.members),this.rasterBoundsSegments=i.SegmentVector.simpleSegment(0,0,4,2);var pe=new i.StructArrayLayout2i4;pe.emplaceBack(0,0),pe.emplaceBack(1,0),pe.emplaceBack(0,1),pe.emplaceBack(1,1),this.viewportBuffer=z.createVertexBuffer(pe,kc.members),this.viewportSegments=i.SegmentVector.simpleSegment(0,0,4,2);var de=new i.StructArrayLayout1ui2;de.emplaceBack(0),de.emplaceBack(1),de.emplaceBack(3),de.emplaceBack(2),de.emplaceBack(0),this.tileBorderIndexBuffer=z.createIndexBuffer(de);var Ie=new i.StructArrayLayout3ui6;Ie.emplaceBack(0,1,2),Ie.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=z.createIndexBuffer(Ie),this.emptyTexture=new i.Texture(z,{width:1,height:1,data:new Uint8Array([0,0,0,0])},z.gl.RGBA);var $e=this.context.gl;this.stencilClearMode=new $i({func:$e.ALWAYS,mask:0},0,255,$e.ZERO,$e.ZERO,$e.ZERO)},co.prototype.clearStencil=function(){var z=this.context,K=z.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var O=i.create();i.ortho(O,0,this.width,this.height,0,0,1),i.scale(O,O,[K.drawingBufferWidth,K.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(z,K.TRIANGLES,Wi.disabled,this.stencilClearMode,ft.disabled,_r.disabled,hn(O),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},co.prototype._renderTileClippingMasks=function(z,K){if(!(this.currentStencilSource===z.source||!z.isTileClipped()||!K||!K.length)){this.currentStencilSource=z.source;var O=this.context,$=O.gl;this.nextStencilID+K.length>256&&this.clearStencil(),O.setColorMode(ft.disabled),O.setDepthMode(Wi.disabled);var pe=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var de=0,Ie=K;de256&&this.clearStencil();var z=this.nextStencilID++,K=this.context.gl;return new $i({func:K.NOTEQUAL,mask:255},z,255,K.KEEP,K.KEEP,K.REPLACE)},co.prototype.stencilModeForClipping=function(z){var K=this.context.gl;return new $i({func:K.EQUAL,mask:255},this._tileClippingMaskIDs[z.key],0,K.KEEP,K.KEEP,K.REPLACE)},co.prototype.stencilConfigForOverlap=function(z){var K,O=this.context.gl,$=z.sort(function(pt,Kt){return Kt.overscaledZ-pt.overscaledZ}),pe=$[$.length-1].overscaledZ,de=$[0].overscaledZ-pe+1;if(de>1){this.currentStencilSource=void 0,this.nextStencilID+de>256&&this.clearStencil();for(var Ie={},$e=0;$e=0;this.currentLayer--){var Sr=this.style._layers[$[this.currentLayer]],gr=pe[Sr.source],Cr=$e[Sr.source];this._renderTileClippingMasks(Sr,Cr),this.renderLayer(this,gr,Sr,Cr)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer<$.length;this.currentLayer++){var cr=this.style._layers[$[this.currentLayer]],Gr=pe[cr.source],ei=(cr.type==="symbol"?Kt:pt)[cr.source];this._renderTileClippingMasks(cr,$e[cr.source]),this.renderLayer(this,Gr,cr,ei)}if(this.options.showTileBoundaries){var yi,tn,Di=i.values(this.style._layers);Di.forEach(function(ln){ln.source&&!ln.isHidden(O.transform.zoom)&&(ln.source!==(tn&&tn.id)&&(tn=O.style.sourceCaches[ln.source]),(!yi||yi.getSource().maxzoom0?K.pop():null},co.prototype.isPatternMissing=function(z){if(!z)return!1;if(!z.from||!z.to)return!0;var K=this.imageManager.getPattern(z.from.toString()),O=this.imageManager.getPattern(z.to.toString());return!K||!O},co.prototype.useProgram=function(z,K){this.cache=this.cache||{};var O=""+z+(K?K.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[O]||(this.cache[O]=new Hf(this.context,z,Pf[z],K,eo[z],this._showOverdrawInspector)),this.cache[O]},co.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},co.prototype.setBaseState=function(){var z=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(z.FUNC_ADD)},co.prototype.initDebugOverlayCanvas=function(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=i.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var z=this.context.gl;this.debugOverlayTexture=new i.Texture(this.context,this.debugOverlayCanvas,z.RGBA)}},co.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var Do=function(z,K){this.points=z,this.planes=K};Do.fromInvProjectionMatrix=function(z,K,O){var $=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]],pe=Math.pow(2,O),de=$.map(function(pt){return i.transformMat4([],pt,z)}).map(function(pt){return i.scale$1([],pt,1/pt[3]/K*pe)}),Ie=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],$e=Ie.map(function(pt){var Kt=i.sub([],de[pt[0]],de[pt[1]]),ir=i.sub([],de[pt[2]],de[pt[1]]),Jt=i.normalize([],i.cross([],Kt,ir)),vt=-i.dot(Jt,de[pt[1]]);return Jt.concat(vt)});return new Do(de,$e)};var zs=function(z,K){this.min=z,this.max=K,this.center=i.scale$2([],i.add([],this.min,this.max),.5)};zs.prototype.quadrant=function(z){for(var K=[z%2===0,z<2],O=i.clone$2(this.min),$=i.clone$2(this.max),pe=0;pe=0;if(de===0)return 0;de!==K.length&&(O=!1)}if(O)return 2;for(var $e=0;$e<3;$e++){for(var pt=Number.MAX_VALUE,Kt=-Number.MAX_VALUE,ir=0;irthis.max[$e]-this.min[$e])return 0}return 1};var Ss=function(z,K,O,$){if(z===void 0&&(z=0),K===void 0&&(K=0),O===void 0&&(O=0),$===void 0&&($=0),isNaN(z)||z<0||isNaN(K)||K<0||isNaN(O)||O<0||isNaN($)||$<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=z,this.bottom=K,this.left=O,this.right=$};Ss.prototype.interpolate=function(z,K,O){return K.top!=null&&z.top!=null&&(this.top=i.number(z.top,K.top,O)),K.bottom!=null&&z.bottom!=null&&(this.bottom=i.number(z.bottom,K.bottom,O)),K.left!=null&&z.left!=null&&(this.left=i.number(z.left,K.left,O)),K.right!=null&&z.right!=null&&(this.right=i.number(z.right,K.right,O)),this},Ss.prototype.getCenter=function(z,K){var O=i.clamp((this.left+z-this.right)/2,0,z),$=i.clamp((this.top+K-this.bottom)/2,0,K);return new i.Point(O,$)},Ss.prototype.equals=function(z){return this.top===z.top&&this.bottom===z.bottom&&this.left===z.left&&this.right===z.right},Ss.prototype.clone=function(){return new Ss(this.top,this.bottom,this.left,this.right)},Ss.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var yo=function(z,K,O,$,pe){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=pe===void 0?!0:pe,this._minZoom=z||0,this._maxZoom=K||22,this._minPitch=O==null?0:O,this._maxPitch=$==null?60:$,this.setMaxBounds(),this.width=0,this.height=0,this._center=new i.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Ss,this._posMatrixCache={},this._alignedPosMatrixCache={}},po={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};yo.prototype.clone=function(){var z=new yo(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return z.tileSize=this.tileSize,z.latRange=this.latRange,z.width=this.width,z.height=this.height,z._center=this._center,z.zoom=this.zoom,z.angle=this.angle,z._fov=this._fov,z._pitch=this._pitch,z._unmodified=this._unmodified,z._edgeInsets=this._edgeInsets.clone(),z._calcMatrices(),z},po.minZoom.get=function(){return this._minZoom},po.minZoom.set=function(Y){this._minZoom!==Y&&(this._minZoom=Y,this.zoom=Math.max(this.zoom,Y))},po.maxZoom.get=function(){return this._maxZoom},po.maxZoom.set=function(Y){this._maxZoom!==Y&&(this._maxZoom=Y,this.zoom=Math.min(this.zoom,Y))},po.minPitch.get=function(){return this._minPitch},po.minPitch.set=function(Y){this._minPitch!==Y&&(this._minPitch=Y,this.pitch=Math.max(this.pitch,Y))},po.maxPitch.get=function(){return this._maxPitch},po.maxPitch.set=function(Y){this._maxPitch!==Y&&(this._maxPitch=Y,this.pitch=Math.min(this.pitch,Y))},po.renderWorldCopies.get=function(){return this._renderWorldCopies},po.renderWorldCopies.set=function(Y){Y===void 0?Y=!0:Y===null&&(Y=!1),this._renderWorldCopies=Y},po.worldSize.get=function(){return this.tileSize*this.scale},po.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},po.size.get=function(){return new i.Point(this.width,this.height)},po.bearing.get=function(){return-this.angle/Math.PI*180},po.bearing.set=function(Y){var z=-i.wrap(Y,-180,180)*Math.PI/180;this.angle!==z&&(this._unmodified=!1,this.angle=z,this._calcMatrices(),this.rotationMatrix=i.create$2(),i.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},po.pitch.get=function(){return this._pitch/Math.PI*180},po.pitch.set=function(Y){var z=i.clamp(Y,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==z&&(this._unmodified=!1,this._pitch=z,this._calcMatrices())},po.fov.get=function(){return this._fov/Math.PI*180},po.fov.set=function(Y){Y=Math.max(.01,Math.min(60,Y)),this._fov!==Y&&(this._unmodified=!1,this._fov=Y/180*Math.PI,this._calcMatrices())},po.zoom.get=function(){return this._zoom},po.zoom.set=function(Y){var z=Math.min(Math.max(Y,this.minZoom),this.maxZoom);this._zoom!==z&&(this._unmodified=!1,this._zoom=z,this.scale=this.zoomScale(z),this.tileZoom=Math.floor(z),this.zoomFraction=z-this.tileZoom,this._constrain(),this._calcMatrices())},po.center.get=function(){return this._center},po.center.set=function(Y){Y.lat===this._center.lat&&Y.lng===this._center.lng||(this._unmodified=!1,this._center=Y,this._constrain(),this._calcMatrices())},po.padding.get=function(){return this._edgeInsets.toJSON()},po.padding.set=function(Y){this._edgeInsets.equals(Y)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,Y,1),this._calcMatrices())},po.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},yo.prototype.isPaddingEqual=function(z){return this._edgeInsets.equals(z)},yo.prototype.interpolatePadding=function(z,K,O){this._unmodified=!1,this._edgeInsets.interpolate(z,K,O),this._constrain(),this._calcMatrices()},yo.prototype.coveringZoomLevel=function(z){var K=(z.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/z.tileSize));return Math.max(0,K)},yo.prototype.getVisibleUnwrappedCoordinates=function(z){var K=[new i.UnwrappedTileID(0,z)];if(this._renderWorldCopies)for(var O=this.pointCoordinate(new i.Point(0,0)),$=this.pointCoordinate(new i.Point(this.width,0)),pe=this.pointCoordinate(new i.Point(this.width,this.height)),de=this.pointCoordinate(new i.Point(0,this.height)),Ie=Math.floor(Math.min(O.x,$.x,pe.x,de.x)),$e=Math.floor(Math.max(O.x,$.x,pe.x,de.x)),pt=1,Kt=Ie-pt;Kt<=$e+pt;Kt++)Kt!==0&&K.push(new i.UnwrappedTileID(Kt,z));return K},yo.prototype.coveringTiles=function(z){var K=this.coveringZoomLevel(z),O=K;if(z.minzoom!==void 0&&Kz.maxzoom&&(K=z.maxzoom);var $=i.MercatorCoordinate.fromLngLat(this.center),pe=Math.pow(2,K),de=[pe*$.x,pe*$.y,0],Ie=Do.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,K),$e=z.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&($e=K);var pt=3,Kt=function(Di){return{aabb:new zs([Di*pe,0,0],[(Di+1)*pe,pe,0]),zoom:0,x:0,y:0,wrap:Di,fullyVisible:!1}},ir=[],Jt=[],vt=K,Pt=z.reparseOverscaled?O:K;if(this._renderWorldCopies)for(var Wt=1;Wt<=3;Wt++)ir.push(Kt(-Wt)),ir.push(Kt(Wt));for(ir.push(Kt(0));ir.length>0;){var rr=ir.pop(),dr=rr.x,pr=rr.y,kr=rr.fullyVisible;if(!kr){var Sr=rr.aabb.intersects(Ie);if(Sr===0)continue;kr=Sr===2}var gr=rr.aabb.distanceX(de),Cr=rr.aabb.distanceY(de),cr=Math.max(Math.abs(gr),Math.abs(Cr)),Gr=pt+(1<Gr&&rr.zoom>=$e){Jt.push({tileID:new i.OverscaledTileID(rr.zoom===vt?Pt:rr.zoom,rr.wrap,rr.zoom,dr,pr),distanceSq:i.sqrLen([de[0]-.5-dr,de[1]-.5-pr])});continue}for(var ei=0;ei<4;ei++){var yi=(dr<<1)+ei%2,tn=(pr<<1)+(ei>>1);ir.push({aabb:rr.aabb.quadrant(ei),zoom:rr.zoom+1,x:yi,y:tn,wrap:rr.wrap,fullyVisible:kr})}}return Jt.sort(function(Di,ln){return Di.distanceSq-ln.distanceSq}).map(function(Di){return Di.tileID})},yo.prototype.resize=function(z,K){this.width=z,this.height=K,this.pixelsToGLUnits=[2/z,-2/K],this._constrain(),this._calcMatrices()},po.unmodified.get=function(){return this._unmodified},yo.prototype.zoomScale=function(z){return Math.pow(2,z)},yo.prototype.scaleZoom=function(z){return Math.log(z)/Math.LN2},yo.prototype.project=function(z){var K=i.clamp(z.lat,-this.maxValidLatitude,this.maxValidLatitude);return new i.Point(i.mercatorXfromLng(z.lng)*this.worldSize,i.mercatorYfromLat(K)*this.worldSize)},yo.prototype.unproject=function(z){return new i.MercatorCoordinate(z.x/this.worldSize,z.y/this.worldSize).toLngLat()},po.point.get=function(){return this.project(this.center)},yo.prototype.setLocationAtPoint=function(z,K){var O=this.pointCoordinate(K),$=this.pointCoordinate(this.centerPoint),pe=this.locationCoordinate(z),de=new i.MercatorCoordinate(pe.x-(O.x-$.x),pe.y-(O.y-$.y));this.center=this.coordinateLocation(de),this._renderWorldCopies&&(this.center=this.center.wrap())},yo.prototype.locationPoint=function(z){return this.coordinatePoint(this.locationCoordinate(z))},yo.prototype.pointLocation=function(z){return this.coordinateLocation(this.pointCoordinate(z))},yo.prototype.locationCoordinate=function(z){return i.MercatorCoordinate.fromLngLat(z)},yo.prototype.coordinateLocation=function(z){return z.toLngLat()},yo.prototype.pointCoordinate=function(z){var K=0,O=[z.x,z.y,0,1],$=[z.x,z.y,1,1];i.transformMat4(O,O,this.pixelMatrixInverse),i.transformMat4($,$,this.pixelMatrixInverse);var pe=O[3],de=$[3],Ie=O[0]/pe,$e=$[0]/de,pt=O[1]/pe,Kt=$[1]/de,ir=O[2]/pe,Jt=$[2]/de,vt=ir===Jt?0:(K-ir)/(Jt-ir);return new i.MercatorCoordinate(i.number(Ie,$e,vt)/this.worldSize,i.number(pt,Kt,vt)/this.worldSize)},yo.prototype.coordinatePoint=function(z){var K=[z.x*this.worldSize,z.y*this.worldSize,0,1];return i.transformMat4(K,K,this.pixelMatrix),new i.Point(K[0]/K[3],K[1]/K[3])},yo.prototype.getBounds=function(){return new i.LngLatBounds().extend(this.pointLocation(new i.Point(0,0))).extend(this.pointLocation(new i.Point(this.width,0))).extend(this.pointLocation(new i.Point(this.width,this.height))).extend(this.pointLocation(new i.Point(0,this.height)))},yo.prototype.getMaxBounds=function(){return!this.latRange||this.latRange.length!==2||!this.lngRange||this.lngRange.length!==2?null:new i.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]])},yo.prototype.setMaxBounds=function(z){z?(this.lngRange=[z.getWest(),z.getEast()],this.latRange=[z.getSouth(),z.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},yo.prototype.calculatePosMatrix=function(z,K){K===void 0&&(K=!1);var O=z.key,$=K?this._alignedPosMatrixCache:this._posMatrixCache;if($[O])return $[O];var pe=z.canonical,de=this.worldSize/this.zoomScale(pe.z),Ie=pe.x+Math.pow(2,pe.z)*z.wrap,$e=i.identity(new Float64Array(16));return i.translate($e,$e,[Ie*de,pe.y*de,0]),i.scale($e,$e,[de/i.EXTENT,de/i.EXTENT,1]),i.multiply($e,K?this.alignedProjMatrix:this.projMatrix,$e),$[O]=new Float32Array($e),$[O]},yo.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},yo.prototype._constrain=function(){if(!(!this.center||!this.width||!this.height||this._constraining)){this._constraining=!0;var z=-90,K=90,O=-180,$=180,pe,de,Ie,$e,pt=this.size,Kt=this._unmodified;if(this.latRange){var ir=this.latRange;z=i.mercatorYfromLat(ir[1])*this.worldSize,K=i.mercatorYfromLat(ir[0])*this.worldSize,pe=K-zK&&($e=K-rr)}if(this.lngRange){var dr=vt.x,pr=pt.x/2;dr-pr$&&(Ie=$-pr)}(Ie!==void 0||$e!==void 0)&&(this.center=this.unproject(new i.Point(Ie!==void 0?Ie:vt.x,$e!==void 0?$e:vt.y))),this._unmodified=Kt,this._constraining=!1}},yo.prototype._calcMatrices=function(){if(this.height){var z=this._fov/2,K=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(z)*this.height;var O=Math.PI/2+this._pitch,$=this._fov*(.5+K.y/this.height),pe=Math.sin($)*this.cameraToCenterDistance/Math.sin(i.clamp(Math.PI-O-$,.01,Math.PI-.01)),de=this.point,Ie=de.x,$e=de.y,pt=Math.cos(Math.PI/2-this._pitch)*pe+this.cameraToCenterDistance,Kt=pt*1.01,ir=this.height/50,Jt=new Float64Array(16);i.perspective(Jt,this._fov,this.width/this.height,ir,Kt),Jt[8]=-K.x*2/this.width,Jt[9]=K.y*2/this.height,i.scale(Jt,Jt,[1,-1,1]),i.translate(Jt,Jt,[0,0,-this.cameraToCenterDistance]),i.rotateX(Jt,Jt,this._pitch),i.rotateZ(Jt,Jt,this.angle),i.translate(Jt,Jt,[-Ie,-$e,0]),this.mercatorMatrix=i.scale([],Jt,[this.worldSize,this.worldSize,this.worldSize]),i.scale(Jt,Jt,[1,1,i.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=Jt,this.invProjMatrix=i.invert([],this.projMatrix);var vt=this.width%2/2,Pt=this.height%2/2,Wt=Math.cos(this.angle),rr=Math.sin(this.angle),dr=Ie-Math.round(Ie)+Wt*vt+rr*Pt,pr=$e-Math.round($e)+Wt*Pt+rr*vt,kr=new Float64Array(Jt);if(i.translate(kr,kr,[dr>.5?dr-1:dr,pr>.5?pr-1:pr,0]),this.alignedProjMatrix=kr,Jt=i.create(),i.scale(Jt,Jt,[this.width/2,-this.height/2,1]),i.translate(Jt,Jt,[1,-1,0]),this.labelPlaneMatrix=Jt,Jt=i.create(),i.scale(Jt,Jt,[1,-1,1]),i.translate(Jt,Jt,[-1,-1,0]),i.scale(Jt,Jt,[2/this.width,2/this.height,1]),this.glCoordMatrix=Jt,this.pixelMatrix=i.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),Jt=i.invert(new Float64Array(16),this.pixelMatrix),!Jt)throw new Error("failed to invert matrix");this.pixelMatrixInverse=Jt,this._posMatrixCache={},this._alignedPosMatrixCache={}}},yo.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var z=this.pointCoordinate(new i.Point(0,0)),K=[z.x*this.worldSize,z.y*this.worldSize,0,1],O=i.transformMat4(K,K,this.pixelMatrix);return O[3]/this.cameraToCenterDistance},yo.prototype.getCameraPoint=function(){var z=this._pitch,K=Math.tan(z)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new i.Point(0,K))},yo.prototype.getCameraQueryGeometry=function(z){var K=this.getCameraPoint();if(z.length===1)return[z[0],K];for(var O=K.x,$=K.y,pe=K.x,de=K.y,Ie=0,$e=z;Ie<$e.length;Ie+=1){var pt=$e[Ie];O=Math.min(O,pt.x),$=Math.min($,pt.y),pe=Math.max(pe,pt.x),de=Math.max(de,pt.y)}return[new i.Point(O,$),new i.Point(pe,$),new i.Point(pe,de),new i.Point(O,de),new i.Point(O,$)]},Object.defineProperties(yo.prototype,po);function _l(Y,z){var K=!1,O=null,$=function(){O=null,K&&(Y(),O=setTimeout($,z),K=!1)};return function(){return K=!0,O||$(),O}}var Vl=function(z){this._hashName=z&&encodeURIComponent(z),i.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this),this._updateHash=_l(this._updateHashUnthrottled.bind(this),30*1e3/100)};Vl.prototype.addTo=function(z){return this._map=z,i.window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},Vl.prototype.remove=function(){return i.window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},Vl.prototype.getHashString=function(z){var K=this._map.getCenter(),O=Math.round(this._map.getZoom()*100)/100,$=Math.ceil((O*Math.LN2+Math.log(512/360/.5))/Math.LN10),pe=Math.pow(10,$),de=Math.round(K.lng*pe)/pe,Ie=Math.round(K.lat*pe)/pe,$e=this._map.getBearing(),pt=this._map.getPitch(),Kt="";if(z?Kt+="/"+de+"/"+Ie+"/"+O:Kt+=O+"/"+Ie+"/"+de,($e||pt)&&(Kt+="/"+Math.round($e*10)/10),pt&&(Kt+="/"+Math.round(pt)),this._hashName){var ir=this._hashName,Jt=!1,vt=i.window.location.hash.slice(1).split("&").map(function(Pt){var Wt=Pt.split("=")[0];return Wt===ir?(Jt=!0,Wt+"="+Kt):Pt}).filter(function(Pt){return Pt});return Jt||vt.push(ir+"="+Kt),"#"+vt.join("&")}return"#"+Kt},Vl.prototype._getCurrentHash=function(){var z=this,K=i.window.location.hash.replace("#","");if(this._hashName){var O;return K.split("&").map(function($){return $.split("=")}).forEach(function($){$[0]===z._hashName&&(O=$)}),(O&&O[1]||"").split("/")}return K.split("/")},Vl.prototype._onHashChange=function(){var z=this._getCurrentHash();if(z.length>=3&&!z.some(function(O){return isNaN(O)})){var K=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(z[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+z[2],+z[1]],zoom:+z[0],bearing:K,pitch:+(z[4]||0)}),!0}return!1},Vl.prototype._updateHashUnthrottled=function(){var z=i.window.location.href.replace(/(#.+)?$/,this.getHashString());try{i.window.history.replaceState(i.window.history.state,null,z)}catch(K){}};var Yu={linearity:.3,easing:i.bezier(0,0,.3,1)},cu=i.extend({deceleration:2500,maxSpeed:1400},Yu),el=i.extend({deceleration:20,maxSpeed:1400},Yu),nu=i.extend({deceleration:1e3,maxSpeed:360},Yu),zc=i.extend({deceleration:1e3,maxSpeed:90},Yu),Rl=function(z){this._map=z,this.clear()};Rl.prototype.clear=function(){this._inertiaBuffer=[]},Rl.prototype.record=function(z){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:i.browser.now(),settings:z})},Rl.prototype._drainInertiaBuffer=function(){for(var z=this._inertiaBuffer,K=i.browser.now(),O=160;z.length>0&&K-z[0].time>O;)z.shift()},Rl.prototype._onMoveEnd=function(z){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var K={zoom:0,bearing:0,pitch:0,pan:new i.Point(0,0),pinchAround:void 0,around:void 0},O=0,$=this._inertiaBuffer;O<$.length;O+=1){var pe=$[O],de=pe.settings;K.zoom+=de.zoomDelta||0,K.bearing+=de.bearingDelta||0,K.pitch+=de.pitchDelta||0,de.panDelta&&K.pan._add(de.panDelta),de.around&&(K.around=de.around),de.pinchAround&&(K.pinchAround=de.pinchAround)}var Ie=this._inertiaBuffer[this._inertiaBuffer.length-1],$e=Ie.time-this._inertiaBuffer[0].time,pt={};if(K.pan.mag()){var Kt=Z(K.pan.mag(),$e,i.extend({},cu,z||{}));pt.offset=K.pan.mult(Kt.amount/K.pan.mag()),pt.center=this._map.transform.center,zl(pt,Kt)}if(K.zoom){var ir=Z(K.zoom,$e,el);pt.zoom=this._map.transform.zoom+ir.amount,zl(pt,ir)}if(K.bearing){var Jt=Z(K.bearing,$e,nu);pt.bearing=this._map.transform.bearing+i.clamp(Jt.amount,-179,179),zl(pt,Jt)}if(K.pitch){var vt=Z(K.pitch,$e,zc);pt.pitch=this._map.transform.pitch+vt.amount,zl(pt,vt)}if(pt.zoom||pt.bearing){var Pt=K.pinchAround===void 0?K.around:K.pinchAround;pt.around=Pt?this._map.unproject(Pt):this._map.getCenter()}return this.clear(),i.extend(pt,{noMoveStart:!0})}};function zl(Y,z){(!Y.duration||Y.duration=this._clickTolerance||this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.dblclick=function(z){return this._firePreventable(new oe(z.type,this._map,z))},Ue.prototype.mouseover=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.mouseout=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.touchstart=function(z){return this._firePreventable(new we(z.type,this._map,z))},Ue.prototype.touchmove=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype.touchend=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype.touchcancel=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype._firePreventable=function(z){if(this._map.fire(z),z.defaultPrevented)return{}},Ue.prototype.isEnabled=function(){return!0},Ue.prototype.isActive=function(){return!1},Ue.prototype.enable=function(){},Ue.prototype.disable=function(){};var We=function(z){this._map=z};We.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},We.prototype.mousemove=function(z){this._map.fire(new oe(z.type,this._map,z))},We.prototype.mousedown=function(){this._delayContextMenu=!0},We.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new oe("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},We.prototype.contextmenu=function(z){this._delayContextMenu?this._contextMenuEvent=z:this._map.fire(new oe(z.type,this._map,z)),this._map.listens("contextmenu")&&z.preventDefault()},We.prototype.isEnabled=function(){return!0},We.prototype.isActive=function(){return!1},We.prototype.enable=function(){},We.prototype.disable=function(){};var wt=function(z,K){this._map=z,this._el=z.getCanvasContainer(),this._container=z.getContainer(),this._clickTolerance=K.clickTolerance||1};wt.prototype.isEnabled=function(){return!!this._enabled},wt.prototype.isActive=function(){return!!this._active},wt.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},wt.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},wt.prototype.mousedown=function(z,K){this.isEnabled()&&z.shiftKey&&z.button===0&&(o.disableDrag(),this._startPos=this._lastPos=K,this._active=!0)},wt.prototype.mousemoveWindow=function(z,K){if(this._active){var O=K;if(!(this._lastPos.equals(O)||!this._box&&O.dist(this._startPos)this.numTouches)&&(this.aborted=!0),!this.aborted&&(this.startTime===void 0&&(this.startTime=z.timeStamp),O.length===this.numTouches&&(this.centroid=zt(K),this.touches=tt(O,K)))},Ir.prototype.touchmove=function(z,K,O){if(!(this.aborted||!this.centroid)){var $=tt(O,K);for(var pe in this.touches){var de=this.touches[pe],Ie=$[pe];(!Ie||Ie.dist(de)>Rr)&&(this.aborted=!0)}}},Ir.prototype.touchend=function(z,K,O){if((!this.centroid||z.timeStamp-this.startTime>lr)&&(this.aborted=!0),O.length===0){var $=!this.aborted&&this.centroid;if(this.reset(),$)return $}};var oi=function(z){this.singleTap=new Ir(z),this.numTaps=z.numTaps,this.reset()};oi.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},oi.prototype.touchstart=function(z,K,O){this.singleTap.touchstart(z,K,O)},oi.prototype.touchmove=function(z,K,O){this.singleTap.touchmove(z,K,O)},oi.prototype.touchend=function(z,K,O){var $=this.singleTap.touchend(z,K,O);if($){var pe=z.timeStamp-this.lastTime0&&(this._active=!0);var $=tt(O,K),pe=new i.Point(0,0),de=new i.Point(0,0),Ie=0;for(var $e in $){var pt=$[$e],Kt=this._touches[$e];Kt&&(pe._add(pt),de._add(pt.sub(Kt)),Ie++,$[$e]=pt)}if(this._touches=$,!(IeMath.abs(Y.x)}var pn=100,za=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},z.prototype._start=function(O){this._lastPoints=O,Ns(O[0].sub(O[1]))&&(this._valid=!1)},z.prototype._move=function(O,$,pe){var de=O[0].sub(this._lastPoints[0]),Ie=O[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(de,Ie,pe.timeStamp),!!this._valid){this._lastPoints=O,this._active=!0;var $e=(de.y+Ie.y)/2,pt=-.5;return{pitchDelta:$e*pt}}},z.prototype.gestureBeginsVertically=function(O,$,pe){if(this._valid!==void 0)return this._valid;var de=2,Ie=O.mag()>=de,$e=$.mag()>=de;if(!(!Ie&&!$e)){if(!Ie||!$e)return this._firstMove===void 0&&(this._firstMove=pe),pe-this._firstMove0==$.y>0;return Ns(O)&&Ns($)&&pt}},z}(Nn),Lo={panStep:100,bearingStep:15,pitchStep:10},Fo=function(){var z=Lo;this._panStep=z.panStep,this._bearingStep=z.bearingStep,this._pitchStep=z.pitchStep,this._rotationDisabled=!1};Fo.prototype.reset=function(){this._active=!1},Fo.prototype.keydown=function(z){var K=this;if(!(z.altKey||z.ctrlKey||z.metaKey)){var O=0,$=0,pe=0,de=0,Ie=0;switch(z.keyCode){case 61:case 107:case 171:case 187:O=1;break;case 189:case 109:case 173:O=-1;break;case 37:z.shiftKey?$=-1:(z.preventDefault(),de=-1);break;case 39:z.shiftKey?$=1:(z.preventDefault(),de=1);break;case 38:z.shiftKey?pe=1:(z.preventDefault(),Ie=-1);break;case 40:z.shiftKey?pe=-1:(z.preventDefault(),Ie=1);break;default:return}return this._rotationDisabled&&($=0,pe=0),{cameraAnimation:function($e){var pt=$e.getZoom();$e.easeTo({duration:300,easeId:"keyboardHandler",easing:js,zoom:O?Math.round(pt)+O*(z.shiftKey?2:1):pt,bearing:$e.getBearing()+$*K._bearingStep,pitch:$e.getPitch()+pe*K._pitchStep,offset:[-de*K._panStep,-Ie*K._panStep],center:$e.getCenter()},{originalEvent:z})}}}},Fo.prototype.enable=function(){this._enabled=!0},Fo.prototype.disable=function(){this._enabled=!1,this.reset()},Fo.prototype.isEnabled=function(){return this._enabled},Fo.prototype.isActive=function(){return this._active},Fo.prototype.disableRotation=function(){this._rotationDisabled=!0},Fo.prototype.enableRotation=function(){this._rotationDisabled=!1};function js(Y){return Y*(2-Y)}var xl=4.000244140625,fu=1/100,dl=1/450,xc=2,At=function(z,K){this._map=z,this._el=z.getCanvasContainer(),this._handler=K,this._delta=0,this._defaultZoomRate=fu,this._wheelZoomRate=dl,i.bindAll(["_onTimeout"],this)};At.prototype.setZoomRate=function(z){this._defaultZoomRate=z},At.prototype.setWheelZoomRate=function(z){this._wheelZoomRate=z},At.prototype.isEnabled=function(){return!!this._enabled},At.prototype.isActive=function(){return!!this._active||this._finishTimeout!==void 0},At.prototype.isZooming=function(){return!!this._zooming},At.prototype.enable=function(z){this.isEnabled()||(this._enabled=!0,this._aroundCenter=z&&z.around==="center")},At.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},At.prototype.wheel=function(z){if(this.isEnabled()){var K=z.deltaMode===i.window.WheelEvent.DOM_DELTA_LINE?z.deltaY*40:z.deltaY,O=i.browser.now(),$=O-(this._lastWheelEventTime||0);this._lastWheelEventTime=O,K!==0&&K%xl===0?this._type="wheel":K!==0&&Math.abs(K)<4?this._type="trackpad":$>400?(this._type=null,this._lastValue=K,this._timeout=setTimeout(this._onTimeout,40,z)):this._type||(this._type=Math.abs($*K)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,K+=this._lastValue)),z.shiftKey&&K&&(K=K/4),this._type&&(this._lastWheelEvent=z,this._delta-=K,this._active||this._start(z)),z.preventDefault()}},At.prototype._onTimeout=function(z){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(z)},At.prototype._start=function(z){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var K=o.mousePos(this._el,z);this._around=i.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(K)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},At.prototype.renderFrame=function(){var z=this;if(this._frameId&&(this._frameId=null,!!this.isActive())){var K=this._map.transform;if(this._delta!==0){var O=this._type==="wheel"&&Math.abs(this._delta)>xl?this._wheelZoomRate:this._defaultZoomRate,$=xc/(1+Math.exp(-Math.abs(this._delta*O)));this._delta<0&&$!==0&&($=1/$);var pe=typeof this._targetZoom=="number"?K.zoomScale(this._targetZoom):K.scale;this._targetZoom=Math.min(K.maxZoom,Math.max(K.minZoom,K.scaleZoom(pe*$))),this._type==="wheel"&&(this._startZoom=K.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var de=typeof this._targetZoom=="number"?this._targetZoom:K.zoom,Ie=this._startZoom,$e=this._easing,pt=!1,Kt;if(this._type==="wheel"&&Ie&&$e){var ir=Math.min((i.browser.now()-this._lastWheelEventTime)/200,1),Jt=$e(ir);Kt=i.number(Ie,de,Jt),ir<1?this._frameId||(this._frameId=!0):pt=!0}else Kt=de,pt=!0;return this._active=!0,pt&&(this._active=!1,this._finishTimeout=setTimeout(function(){z._zooming=!1,z._handler._triggerRenderFrame(),delete z._targetZoom,delete z._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!pt,zoomDelta:Kt-K.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},At.prototype._smoothOutEasing=function(z){var K=i.ease;if(this._prevEase){var O=this._prevEase,$=(i.browser.now()-O.start)/O.duration,pe=O.easing($+.01)-O.easing($),de=.27/Math.sqrt(pe*pe+1e-4)*.01,Ie=Math.sqrt(.27*.27-de*de);K=i.bezier(de,Ie,.25,1)}return this._prevEase={start:i.browser.now(),duration:z,easing:K},K},At.prototype.reset=function(){this._active=!1};var Er=function(z,K){this._clickZoom=z,this._tapZoom=K};Er.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},Er.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},Er.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},Er.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var Wr=function(){this.reset()};Wr.prototype.reset=function(){this._active=!1},Wr.prototype.dblclick=function(z,K){return z.preventDefault(),{cameraAnimation:function(O){O.easeTo({duration:300,zoom:O.getZoom()+(z.shiftKey?-1:1),around:O.unproject(K)},{originalEvent:z})}}},Wr.prototype.enable=function(){this._enabled=!0},Wr.prototype.disable=function(){this._enabled=!1,this.reset()},Wr.prototype.isEnabled=function(){return this._enabled},Wr.prototype.isActive=function(){return this._active};var wi=function(){this._tap=new oi({numTouches:1,numTaps:1}),this.reset()};wi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},wi.prototype.touchstart=function(z,K,O){this._swipePoint||(this._tapTime&&z.timeStamp-this._tapTime>or&&this.reset(),this._tapTime?O.length>0&&(this._swipePoint=K[0],this._swipeTouch=O[0].identifier):this._tap.touchstart(z,K,O))},wi.prototype.touchmove=function(z,K,O){if(!this._tapTime)this._tap.touchmove(z,K,O);else if(this._swipePoint){if(O[0].identifier!==this._swipeTouch)return;var $=K[0],pe=$.y-this._swipePoint.y;return this._swipePoint=$,z.preventDefault(),this._active=!0,{zoomDelta:pe/128}}},wi.prototype.touchend=function(z,K,O){if(this._tapTime)this._swipePoint&&O.length===0&&this.reset();else{var $=this._tap.touchend(z,K,O);$&&(this._tapTime=z.timeStamp)}},wi.prototype.touchcancel=function(){this.reset()},wi.prototype.enable=function(){this._enabled=!0},wi.prototype.disable=function(){this._enabled=!1,this.reset()},wi.prototype.isEnabled=function(){return this._enabled},wi.prototype.isActive=function(){return this._active};var Ui=function(z,K,O){this._el=z,this._mousePan=K,this._touchPan=O};Ui.prototype.enable=function(z){this._inertiaOptions=z||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},Ui.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},Ui.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},Ui.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var Oi=function(z,K,O){this._pitchWithRotate=z.pitchWithRotate,this._mouseRotate=K,this._mousePitch=O};Oi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},Oi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},Oi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},Oi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var Bi=function(z,K,O,$){this._el=z,this._touchZoom=K,this._touchRotate=O,this._tapDragZoom=$,this._rotationDisabled=!1,this._enabled=!0};Bi.prototype.enable=function(z){this._touchZoom.enable(z),this._rotationDisabled||this._touchRotate.enable(z),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},Bi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},Bi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},Bi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},Bi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},Bi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var cn=function(Y){return Y.zoom||Y.drag||Y.pitch||Y.rotate},On=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z}(i.Event);function Bn(Y){return Y.panDelta&&Y.panDelta.mag()||Y.zoomDelta||Y.bearingDelta||Y.pitchDelta}var yn=function(z,K){this._map=z,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Rl(z),this._bearingSnap=K.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(K),i.bindAll(["handleEvent","handleWindowEvent"],this);var O=this._el;this._listeners=[[O,"touchstart",{passive:!0}],[O,"touchmove",{passive:!1}],[O,"touchend",void 0],[O,"touchcancel",void 0],[O,"mousedown",void 0],[O,"mousemove",void 0],[O,"mouseup",void 0],[i.window.document,"mousemove",{capture:!0}],[i.window.document,"mouseup",void 0],[O,"mouseover",void 0],[O,"mouseout",void 0],[O,"dblclick",void 0],[O,"click",void 0],[O,"keydown",{capture:!1}],[O,"keyup",void 0],[O,"wheel",{passive:!1}],[O,"contextmenu",void 0],[i.window,"blur",void 0]];for(var $=0,pe=this._listeners;$Ie?Math.min(2,gr):Math.max(.5,gr),Di=Math.pow(tn,1-ei),ln=de.unproject(kr.add(Sr.mult(ei*Di)).mult(yi));de.setLocationAtPoint(de.renderWorldCopies?ln.wrap():ln,rr)}pe._fireMoveEvents($)},function(ei){pe._afterEase($,ei)},O),this},z.prototype._prepareEase=function(O,$,pe){pe===void 0&&(pe={}),this._moving=!0,!$&&!pe.moving&&this.fire(new i.Event("movestart",O)),this._zooming&&!pe.zooming&&this.fire(new i.Event("zoomstart",O)),this._rotating&&!pe.rotating&&this.fire(new i.Event("rotatestart",O)),this._pitching&&!pe.pitching&&this.fire(new i.Event("pitchstart",O))},z.prototype._fireMoveEvents=function(O){this.fire(new i.Event("move",O)),this._zooming&&this.fire(new i.Event("zoom",O)),this._rotating&&this.fire(new i.Event("rotate",O)),this._pitching&&this.fire(new i.Event("pitch",O))},z.prototype._afterEase=function(O,$){if(!(this._easeId&&$&&this._easeId===$)){delete this._easeId;var pe=this._zooming,de=this._rotating,Ie=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,pe&&this.fire(new i.Event("zoomend",O)),de&&this.fire(new i.Event("rotateend",O)),Ie&&this.fire(new i.Event("pitchend",O)),this.fire(new i.Event("moveend",O))}},z.prototype.flyTo=function(O,$){var pe=this;if(!O.essential&&i.browser.prefersReducedMotion){var de=i.pick(O,["center","zoom","bearing","pitch","around"]);return this.jumpTo(de,$)}this.stop(),O=i.extend({offset:[0,0],speed:1.2,curve:1.42,easing:i.ease},O);var Ie=this.transform,$e=this.getZoom(),pt=this.getBearing(),Kt=this.getPitch(),ir=this.getPadding(),Jt="zoom"in O?i.clamp(+O.zoom,Ie.minZoom,Ie.maxZoom):$e,vt="bearing"in O?this._normalizeBearing(O.bearing,pt):pt,Pt="pitch"in O?+O.pitch:Kt,Wt="padding"in O?O.padding:Ie.padding,rr=Ie.zoomScale(Jt-$e),dr=i.Point.convert(O.offset),pr=Ie.centerPoint.add(dr),kr=Ie.pointLocation(pr),Sr=i.LngLat.convert(O.center||kr);this._normalizeCenter(Sr);var gr=Ie.project(kr),Cr=Ie.project(Sr).sub(gr),cr=O.curve,Gr=Math.max(Ie.width,Ie.height),ei=Gr/rr,yi=Cr.mag();if("minZoom"in O){var tn=i.clamp(Math.min(O.minZoom,$e,Jt),Ie.minZoom,Ie.maxZoom),Di=Gr/Ie.zoomScale(tn-$e);cr=Math.sqrt(Di/yi*2)}var ln=cr*cr;function Qn(fo){var as=(ei*ei-Gr*Gr+(fo?-1:1)*ln*ln*yi*yi)/(2*(fo?ei:Gr)*ln*yi);return Math.log(Math.sqrt(as*as+1)-as)}function qn(fo){return(Math.exp(fo)-Math.exp(-fo))/2}function rn(fo){return(Math.exp(fo)+Math.exp(-fo))/2}function bn(fo){return qn(fo)/rn(fo)}var mn=Qn(0),Gn=function(fo){return rn(mn)/rn(mn+cr*fo)},da=function(fo){return Gr*((rn(mn)*bn(mn+cr*fo)-qn(mn))/ln)/yi},Uo=(Qn(1)-mn)/cr;if(Math.abs(yi)<1e-6||!isFinite(Uo)){if(Math.abs(Gr-ei)<1e-6)return this.easeTo(O,$);var Ro=eiO.maxDuration&&(O.duration=0),this._zooming=!0,this._rotating=pt!==vt,this._pitching=Pt!==Kt,this._padding=!Ie.isPaddingEqual(Wt),this._prepareEase($,!1),this._ease(function(fo){var as=fo*Uo,tl=1/Gn(as);Ie.zoom=fo===1?Jt:$e+Ie.scaleZoom(tl),pe._rotating&&(Ie.bearing=i.number(pt,vt,fo)),pe._pitching&&(Ie.pitch=i.number(Kt,Pt,fo)),pe._padding&&(Ie.interpolatePadding(ir,Wt,fo),pr=Ie.centerPoint.add(dr));var zu=fo===1?Sr:Ie.unproject(gr.add(Cr.mult(da(as))).mult(tl));Ie.setLocationAtPoint(Ie.renderWorldCopies?zu.wrap():zu,pr),pe._fireMoveEvents($)},function(){return pe._afterEase($)},O),this},z.prototype.isEasing=function(){return!!this._easeFrameId},z.prototype.stop=function(){return this._stop()},z.prototype._stop=function(O,$){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var pe=this._onEaseEnd;delete this._onEaseEnd,pe.call(this,$)}if(!O){var de=this.handlers;de&&de.stop(!1)}return this},z.prototype._ease=function(O,$,pe){pe.animate===!1||pe.duration===0?(O(1),$()):(this._easeStart=i.browser.now(),this._easeOptions=pe,this._onEaseFrame=O,this._onEaseEnd=$,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},z.prototype._renderFrameCallback=function(){var O=Math.min((i.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(O)),O<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},z.prototype._normalizeBearing=function(O,$){O=i.wrap(O,-180,180);var pe=Math.abs(O-$);return Math.abs(O-360-$)180?-360:pe<-180?360:0}},z}(i.Evented),Dn=function(z){z===void 0&&(z={}),this.options=z,i.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)};Dn.prototype.getDefaultPosition=function(){return"bottom-right"},Dn.prototype.onAdd=function(z){var K=this.options&&this.options.compact;return this._map=z,this._container=o.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=o.create("button","mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=o.create("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),K&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),K===void 0&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},Dn.prototype.onRemove=function(){o.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Dn.prototype._setElementTitle=function(z,K){var O=this._map._getUIString("AttributionControl."+K);z.title=O,z.setAttribute("aria-label",O)},Dn.prototype._toggleAttribution=function(){this._container.classList.contains("mapboxgl-compact-show")?(this._container.classList.remove("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-pressed","false")):(this._container.classList.add("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-pressed","true"))},Dn.prototype._updateEditLink=function(){var z=this._editLink;z||(z=this._editLink=this._container.querySelector(".mapbox-improve-map"));var K=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||i.config.ACCESS_TOKEN}];if(z){var O=K.reduce(function($,pe,de){return pe.value&&($+=pe.key+"="+pe.value+(de=0)return!1;return!0});var Ie=z.join(" | ");Ie!==this._attribHTML&&(this._attribHTML=Ie,z.length?(this._innerContainer.innerHTML=Ie,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Dn.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")};var Rn=function(){i.bindAll(["_updateLogo"],this),i.bindAll(["_updateCompact"],this)};Rn.prototype.onAdd=function(z){this._map=z,this._container=o.create("div","mapboxgl-ctrl");var K=o.create("a","mapboxgl-ctrl-logo");return K.target="_blank",K.rel="noopener nofollow",K.href="https://www.mapbox.com/",K.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),K.setAttribute("rel","noopener nofollow"),this._container.appendChild(K),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Rn.prototype.onRemove=function(){o.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Rn.prototype.getDefaultPosition=function(){return"bottom-left"},Rn.prototype._updateLogo=function(z){(!z||z.sourceDataType==="metadata")&&(this._container.style.display=this._logoRequired()?"block":"none")},Rn.prototype._logoRequired=function(){if(this._map.style){var z=this._map.style.sourceCaches;for(var K in z){var O=z[K].getSource();if(O.mapbox_logo)return!0}return!1}},Rn.prototype._updateCompact=function(){var z=this._container.children;if(z.length){var K=z[0];this._map.getCanvasContainer().offsetWidth<250?K.classList.add("mapboxgl-compact"):K.classList.remove("mapboxgl-compact")}};var fn=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};fn.prototype.add=function(z){var K=++this._id,O=this._queue;return O.push({callback:z,id:K,cancelled:!1}),K},fn.prototype.remove=function(z){for(var K=this._currentlyRunning,O=K?this._queue.concat(K):this._queue,$=0,pe=O;$O.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(O.minPitch!=null&&O.maxPitch!=null&&O.minPitch>O.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(O.minPitch!=null&&O.minPitchZa)throw new Error("maxPitch must be less than or equal to "+Za);var pe=new yo(O.minZoom,O.maxZoom,O.minPitch,O.maxPitch,O.renderWorldCopies);if(Y.call(this,pe,O),this._interactive=O.interactive,this._maxTileCacheSize=O.maxTileCacheSize,this._failIfMajorPerformanceCaveat=O.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=O.preserveDrawingBuffer,this._antialias=O.antialias,this._trackResize=O.trackResize,this._bearingSnap=O.bearingSnap,this._refreshExpiredTiles=O.refreshExpiredTiles,this._fadeDuration=O.fadeDuration,this._crossSourceCollisions=O.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=O.collectResourceTiming,this._renderTaskQueue=new fn,this._controls=[],this._mapId=i.uniqueId(),this._locale=i.extend({},Ai,O.locale),this._clickTolerance=O.clickTolerance,this._requestManager=new i.RequestManager(O.transformRequest,O.accessToken),typeof O.container=="string"){if(this._container=i.window.document.getElementById(O.container),!this._container)throw new Error("Container '"+O.container+"' not found.")}else if(O.container instanceof Ln)this._container=O.container;else throw new Error("Invalid type: 'container' must be a String or HTMLElement.");if(O.maxBounds&&this.setMaxBounds(O.maxBounds),i.bindAll(["_onWindowOnline","_onWindowResize","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),this.painter===void 0)throw new Error("Failed to initialize WebGL.");this.on("move",function(){return $._update(!1)}),this.on("moveend",function(){return $._update(!1)}),this.on("zoom",function(){return $._update(!0)}),typeof i.window!="undefined"&&(i.window.addEventListener("online",this._onWindowOnline,!1),i.window.addEventListener("resize",this._onWindowResize,!1),i.window.addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new yn(this,O);var de=typeof O.hash=="string"&&O.hash||void 0;this._hash=O.hash&&new Vl(de).addTo(this),(!this._hash||!this._hash._onHashChange())&&(this.jumpTo({center:O.center,zoom:O.zoom,bearing:O.bearing,pitch:O.pitch}),O.bounds&&(this.resize(),this.fitBounds(O.bounds,i.extend({},O.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=O.localIdeographFontFamily,O.style&&this.setStyle(O.style,{localIdeographFontFamily:O.localIdeographFontFamily}),O.attributionControl&&this.addControl(new Dn({customAttribution:O.customAttribution})),this.addControl(new Rn,O.logoPosition),this.on("style.load",function(){$.transform.unmodified&&$.jumpTo($.style.stylesheet)}),this.on("data",function(Ie){$._update(Ie.dataType==="style"),$.fire(new i.Event(Ie.dataType+"data",Ie))}),this.on("dataloading",function(Ie){$.fire(new i.Event(Ie.dataType+"dataloading",Ie))})}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return z.prototype._getMapId=function(){return this._mapId},z.prototype.addControl=function($,pe){if(pe===void 0&&($.getDefaultPosition?pe=$.getDefaultPosition():pe="top-right"),!$||!$.onAdd)return this.fire(new i.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var de=$.onAdd(this);this._controls.push($);var Ie=this._controlPositions[pe];return pe.indexOf("bottom")!==-1?Ie.insertBefore(de,Ie.firstChild):Ie.appendChild(de),this},z.prototype.removeControl=function($){if(!$||!$.onRemove)return this.fire(new i.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var pe=this._controls.indexOf($);return pe>-1&&this._controls.splice(pe,1),$.onRemove(this),this},z.prototype.hasControl=function($){return this._controls.indexOf($)>-1},z.prototype.resize=function($){var pe=this._containerDimensions(),de=pe[0],Ie=pe[1];this._resizeCanvas(de,Ie),this.transform.resize(de,Ie),this.painter.resize(de,Ie);var $e=!this._moving;return $e&&(this.stop(),this.fire(new i.Event("movestart",$)).fire(new i.Event("move",$))),this.fire(new i.Event("resize",$)),$e&&this.fire(new i.Event("moveend",$)),this},z.prototype.getBounds=function(){return this.transform.getBounds()},z.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},z.prototype.setMaxBounds=function($){return this.transform.setMaxBounds(i.LngLatBounds.convert($)),this._update()},z.prototype.setMinZoom=function($){if($=$==null?gn:$,$>=gn&&$<=this.transform.maxZoom)return this.transform.minZoom=$,this._update(),this.getZoom()<$&&this.setZoom($),this;throw new Error("minZoom must be between "+gn+" and the current maxZoom, inclusive")},z.prototype.getMinZoom=function(){return this.transform.minZoom},z.prototype.setMaxZoom=function($){if($=$==null?fa:$,$>=this.transform.minZoom)return this.transform.maxZoom=$,this._update(),this.getZoom()>$&&this.setZoom($),this;throw new Error("maxZoom must be greater than the current minZoom")},z.prototype.getMaxZoom=function(){return this.transform.maxZoom},z.prototype.setMinPitch=function($){if($=$==null?Kn:$,$=Kn&&$<=this.transform.maxPitch)return this.transform.minPitch=$,this._update(),this.getPitch()<$&&this.setPitch($),this;throw new Error("minPitch must be between "+Kn+" and the current maxPitch, inclusive")},z.prototype.getMinPitch=function(){return this.transform.minPitch},z.prototype.setMaxPitch=function($){if($=$==null?Za:$,$>Za)throw new Error("maxPitch must be less than or equal to "+Za);if($>=this.transform.minPitch)return this.transform.maxPitch=$,this._update(),this.getPitch()>$&&this.setPitch($),this;throw new Error("maxPitch must be greater than the current minPitch")},z.prototype.getMaxPitch=function(){return this.transform.maxPitch},z.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},z.prototype.setRenderWorldCopies=function($){return this.transform.renderWorldCopies=$,this._update()},z.prototype.project=function($){return this.transform.locationPoint(i.LngLat.convert($))},z.prototype.unproject=function($){return this.transform.pointLocation(i.Point.convert($))},z.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},z.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},z.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},z.prototype._createDelegatedListener=function($,pe,de){var Ie=this,$e;if($==="mouseenter"||$==="mouseover"){var pt=!1,Kt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length?pt||(pt=!0,de.call(Ie,new oe($,Ie,rr.originalEvent,{features:dr}))):pt=!1},ir=function(){pt=!1};return{layer:pe,listener:de,delegates:{mousemove:Kt,mouseout:ir}}}else if($==="mouseleave"||$==="mouseout"){var Jt=!1,vt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length?Jt=!0:Jt&&(Jt=!1,de.call(Ie,new oe($,Ie,rr.originalEvent)))},Pt=function(rr){Jt&&(Jt=!1,de.call(Ie,new oe($,Ie,rr.originalEvent)))};return{layer:pe,listener:de,delegates:{mousemove:vt,mouseout:Pt}}}else{var Wt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length&&(rr.features=dr,de.call(Ie,rr),delete rr.features)};return{layer:pe,listener:de,delegates:($e={},$e[$]=Wt,$e)}}},z.prototype.on=function($,pe,de){if(de===void 0)return Y.prototype.on.call(this,$,pe);var Ie=this._createDelegatedListener($,pe,de);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[$]=this._delegatedListeners[$]||[],this._delegatedListeners[$].push(Ie);for(var $e in Ie.delegates)this.on($e,Ie.delegates[$e]);return this},z.prototype.once=function($,pe,de){if(de===void 0)return Y.prototype.once.call(this,$,pe);var Ie=this._createDelegatedListener($,pe,de);for(var $e in Ie.delegates)this.once($e,Ie.delegates[$e]);return this},z.prototype.off=function($,pe,de){var Ie=this;if(de===void 0)return Y.prototype.off.call(this,$,pe);var $e=function(pt){for(var Kt=pt[$],ir=0;ir180;){var de=K.locationPoint(Y);if(de.x>=0&&de.y>=0&&de.x<=K.width&&de.y<=K.height)break;Y.lng>K.center.lng?Y.lng-=360:Y.lng+=360}return Y}var ro={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function Ao(Y,z,K){var O=Y.classList;for(var $ in ro)O.remove("mapboxgl-"+K+"-anchor-"+$);O.add("mapboxgl-"+K+"-anchor-"+z)}var Jn=function(Y){function z(K,O){if(Y.call(this),(K instanceof i.window.HTMLElement||O)&&(K=i.extend({element:K},O)),i.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress"],this),this._anchor=K&&K.anchor||"center",this._color=K&&K.color||"#3FB1CE",this._scale=K&&K.scale||1,this._draggable=K&&K.draggable||!1,this._clickTolerance=K&&K.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=K&&K.rotation||0,this._rotationAlignment=K&&K.rotationAlignment||"auto",this._pitchAlignment=K&&K.pitchAlignment&&K.pitchAlignment!=="auto"?K.pitchAlignment:this._rotationAlignment,!K||!K.element){this._defaultMarker=!0,this._element=o.create("div"),this._element.setAttribute("aria-label","Map marker");var $=o.createNS("http://www.w3.org/2000/svg","svg"),pe=41,de=27;$.setAttributeNS(null,"display","block"),$.setAttributeNS(null,"height",pe+"px"),$.setAttributeNS(null,"width",de+"px"),$.setAttributeNS(null,"viewBox","0 0 "+de+" "+pe);var Ie=o.createNS("http://www.w3.org/2000/svg","g");Ie.setAttributeNS(null,"stroke","none"),Ie.setAttributeNS(null,"stroke-width","1"),Ie.setAttributeNS(null,"fill","none"),Ie.setAttributeNS(null,"fill-rule","evenodd");var $e=o.createNS("http://www.w3.org/2000/svg","g");$e.setAttributeNS(null,"fill-rule","nonzero");var pt=o.createNS("http://www.w3.org/2000/svg","g");pt.setAttributeNS(null,"transform","translate(3.0, 29.0)"),pt.setAttributeNS(null,"fill","#000000");for(var Kt=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}],ir=0,Jt=Kt;ir=$}this._isDragging&&(this._pos=O.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none",this._state==="pending"&&(this._state="active",this.fire(new i.Event("dragstart"))),this.fire(new i.Event("drag")))},z.prototype._onUp=function(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),this._state==="active"&&this.fire(new i.Event("dragend")),this._state="inactive"},z.prototype._addDragHandler=function(O){this._element.contains(O.originalEvent.target)&&(O.preventDefault(),this._positionDelta=O.point.sub(this._pos).add(this._offset),this._pointerdownPos=O.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},z.prototype.setDraggable=function(O){return this._draggable=!!O,this._map&&(O?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this},z.prototype.isDraggable=function(){return this._draggable},z.prototype.setRotation=function(O){return this._rotation=O||0,this._update(),this},z.prototype.getRotation=function(){return this._rotation},z.prototype.setRotationAlignment=function(O){return this._rotationAlignment=O||"auto",this._update(),this},z.prototype.getRotationAlignment=function(){return this._rotationAlignment},z.prototype.setPitchAlignment=function(O){return this._pitchAlignment=O&&O!=="auto"?O:this._rotationAlignment,this._update(),this},z.prototype.getPitchAlignment=function(){return this._pitchAlignment},z}(i.Evented),Oa={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},_o;function Po(Y){_o!==void 0?Y(_o):i.window.navigator.permissions!==void 0?i.window.navigator.permissions.query({name:"geolocation"}).then(function(z){_o=z.state!=="denied",Y(_o)}):(_o=!!i.window.navigator.geolocation,Y(_o))}var $o=0,Xl=!1,$c=function(Y){function z(K){Y.call(this),this.options=i.extend({},Oa,K),i.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.onAdd=function(O){return this._map=O,this._container=o.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),Po(this._setupUI),this._container},z.prototype.onRemove=function(){this._geolocationWatchID!==void 0&&(i.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),o.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,$o=0,Xl=!1},z.prototype._isOutOfMapMaxBounds=function(O){var $=this._map.getMaxBounds(),pe=O.coords;return $&&(pe.longitude<$.getWest()||pe.longitude>$.getEast()||pe.latitude<$.getSouth()||pe.latitude>$.getNorth())},z.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break}},z.prototype._onSuccess=function(O){if(this._map){if(this._isOutOfMapMaxBounds(O)){this._setErrorState(),this.fire(new i.Event("outofmaxbounds",O)),this._updateMarker(),this._finish();return}if(this.options.trackUserLocation)switch(this._lastKnownPosition=O,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(O),(!this.options.trackUserLocation||this._watchState==="ACTIVE_LOCK")&&this._updateCamera(O),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new i.Event("geolocate",O)),this._finish()}},z.prototype._updateCamera=function(O){var $=new i.LngLat(O.coords.longitude,O.coords.latitude),pe=O.coords.accuracy,de=this._map.getBearing(),Ie=i.extend({bearing:de},this.options.fitBoundsOptions);this._map.fitBounds($.toBounds(pe),Ie,{geolocateSource:!0})},z.prototype._updateMarker=function(O){if(O){var $=new i.LngLat(O.coords.longitude,O.coords.latitude);this._accuracyCircleMarker.setLngLat($).addTo(this._map),this._userLocationDotMarker.setLngLat($).addTo(this._map),this._accuracy=O.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},z.prototype._updateCircleRadius=function(){var O=this._map._container.clientHeight/2,$=this._map.unproject([0,O]),pe=this._map.unproject([1,O]),de=$.distanceTo(pe),Ie=Math.ceil(2*this._accuracy/de);this._circleElement.style.width=Ie+"px",this._circleElement.style.height=Ie+"px"},z.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},z.prototype._onError=function(O){if(this._map){if(this.options.trackUserLocation)if(O.code===1){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var $=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=$,this._geolocateButton.setAttribute("aria-label",$),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(O.code===3&&Xl)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new i.Event("error",O)),this._finish()}},z.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},z.prototype._setupUI=function(O){var $=this;if(this._container.addEventListener("contextmenu",function(Ie){return Ie.preventDefault()}),this._geolocateButton=o.create("button","mapboxgl-ctrl-geolocate",this._container),o.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",O===!1){i.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var pe=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=pe,this._geolocateButton.setAttribute("aria-label",pe)}else{var de=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=de,this._geolocateButton.setAttribute("aria-label",de)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=o.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Jn(this._dotElement),this._circleElement=o.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Jn({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",function(Ie){var $e=Ie.originalEvent&&Ie.originalEvent.type==="resize";!Ie.geolocateSource&&$._watchState==="ACTIVE_LOCK"&&!$e&&($._watchState="BACKGROUND",$._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),$._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),$.fire(new i.Event("trackuserlocationend")))})},z.prototype.trigger=function(){if(!this._setup)return i.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new i.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":$o--,Xl=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new i.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new i.Event("trackuserlocationstart"));break}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error");break}if(this._watchState==="OFF"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),$o++;var O;$o>1?(O={maximumAge:6e5,timeout:0},Xl=!0):(O=this.options.positionOptions,Xl=!1),this._geolocationWatchID=i.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,O)}}else i.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},z.prototype._clearWatch=function(){i.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},z}(i.Evented),bs={maxWidth:100,unit:"metric"},Qc=function(z){this.options=i.extend({},bs,z),i.bindAll(["_onMove","setUnit"],this)};Qc.prototype.getDefaultPosition=function(){return"bottom-left"},Qc.prototype._onMove=function(){El(this._map,this._container,this.options)},Qc.prototype.onAdd=function(z){return this._map=z,this._container=o.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",z.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},Qc.prototype.onRemove=function(){o.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},Qc.prototype.setUnit=function(z){this.options.unit=z,El(this._map,this._container,this.options)};function El(Y,z,K){var O=K&&K.maxWidth||100,$=Y._container.clientHeight/2,pe=Y.unproject([0,$]),de=Y.unproject([O,$]),Ie=pe.distanceTo(de);if(K&&K.unit==="imperial"){var $e=3.2808*Ie;if($e>5280){var pt=$e/5280;bc(z,O,pt,Y._getUIString("ScaleControl.Miles"))}else bc(z,O,$e,Y._getUIString("ScaleControl.Feet"))}else if(K&&K.unit==="nautical"){var Kt=Ie/1852;bc(z,O,Kt,Y._getUIString("ScaleControl.NauticalMiles"))}else Ie>=1e3?bc(z,O,Ie/1e3,Y._getUIString("ScaleControl.Kilometers")):bc(z,O,Ie,Y._getUIString("ScaleControl.Meters"))}function bc(Y,z,K,O){var $=yf(K),pe=$/K;Y.style.width=z*pe+"px",Y.innerHTML=$+" "+O}function wc(Y){var z=Math.pow(10,Math.ceil(-Math.log(Y)/Math.LN10));return Math.round(Y*z)/z}function yf(Y){var z=Math.pow(10,(""+Math.floor(Y)).length-1),K=Y/z;return K=K>=10?10:K>=5?5:K>=3?3:K>=2?2:K>=1?1:wc(K),z*K}var Hl=function(z){this._fullscreen=!1,z&&z.container&&(z.container instanceof i.window.HTMLElement?this._container=z.container:i.warnOnce("Full screen control 'container' must be a DOM element.")),i.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in i.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in i.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in i.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in i.window.document&&(this._fullscreenchange="MSFullscreenChange")};Hl.prototype.onAdd=function(z){return this._map=z,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",i.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},Hl.prototype.onRemove=function(){o.remove(this._controlContainer),this._map=null,i.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Hl.prototype._checkFullscreenSupport=function(){return!!(i.window.document.fullscreenEnabled||i.window.document.mozFullScreenEnabled||i.window.document.msFullscreenEnabled||i.window.document.webkitFullscreenEnabled)},Hl.prototype._setupUI=function(){var z=this._fullscreenButton=o.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);o.create("span","mapboxgl-ctrl-icon",z).setAttribute("aria-hidden",!0),z.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),i.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Hl.prototype._updateTitle=function(){var z=this._getTitle();this._fullscreenButton.setAttribute("aria-label",z),this._fullscreenButton.title=z},Hl.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},Hl.prototype._isFullscreen=function(){return this._fullscreen},Hl.prototype._changeIcon=function(){var z=i.window.document.fullscreenElement||i.window.document.mozFullScreenElement||i.window.document.webkitFullscreenElement||i.window.document.msFullscreenElement;z===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},Hl.prototype._onClickFullscreen=function(){this._isFullscreen()?i.window.document.exitFullscreen?i.window.document.exitFullscreen():i.window.document.mozCancelFullScreen?i.window.document.mozCancelFullScreen():i.window.document.msExitFullscreen?i.window.document.msExitFullscreen():i.window.document.webkitCancelFullScreen&&i.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var Fc={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},ef=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", "),ls=function(Y){function z(K){Y.call(this),this.options=i.extend(Object.create(Fc),K),i.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.addTo=function(O){return this._map&&this.remove(),this._map=O,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new i.Event("open")),this},z.prototype.isOpen=function(){return!!this._map},z.prototype.remove=function(){return this._content&&o.remove(this._content),this._container&&(o.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new i.Event("close")),this},z.prototype.getLngLat=function(){return this._lngLat},z.prototype.setLngLat=function(O){return this._lngLat=i.LngLat.convert(O),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},z.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},z.prototype.getElement=function(){return this._container},z.prototype.setText=function(O){return this.setDOMContent(i.window.document.createTextNode(O))},z.prototype.setHTML=function(O){var $=i.window.document.createDocumentFragment(),pe=i.window.document.createElement("body"),de;for(pe.innerHTML=O;de=pe.firstChild,!!de;)$.appendChild(de);return this.setDOMContent($)},z.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},z.prototype.setMaxWidth=function(O){return this.options.maxWidth=O,this._update(),this},z.prototype.setDOMContent=function(O){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create("div","mapboxgl-popup-content",this._container);return this._content.appendChild(O),this._createCloseButton(),this._update(),this._focusFirstElement(),this},z.prototype.addClassName=function(O){this._container&&this._container.classList.add(O)},z.prototype.removeClassName=function(O){this._container&&this._container.classList.remove(O)},z.prototype.setOffset=function(O){return this.options.offset=O,this._update(),this},z.prototype.toggleClassName=function(O){if(this._container)return this._container.classList.toggle(O)},z.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=o.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},z.prototype._onMouseUp=function(O){this._update(O.point)},z.prototype._onMouseMove=function(O){this._update(O.point)},z.prototype._onDrag=function(O){this._update(O.point)},z.prototype._update=function(O){var $=this,pe=this._lngLat||this._trackPointer;if(!(!this._map||!pe||!this._content)&&(this._container||(this._container=o.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=o.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach(function(vt){return $._container.classList.add(vt)}),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=ma(this._lngLat,this._pos,this._map.transform)),!(this._trackPointer&&!O))){var de=this._pos=this._trackPointer&&O?O:this._map.project(this._lngLat),Ie=this.options.anchor,$e=_f(this.options.offset);if(!Ie){var pt=this._container.offsetWidth,Kt=this._container.offsetHeight,ir;de.y+$e.bottom.ythis._map.transform.height-Kt?ir=["bottom"]:ir=[],de.xthis._map.transform.width-pt/2&&ir.push("right"),ir.length===0?Ie="bottom":Ie=ir.join("-")}var Jt=de.add($e[Ie]).round();o.setTransform(this._container,ro[Ie]+" translate("+Jt.x+"px,"+Jt.y+"px)"),Ao(this._container,Ie,"popup")}},z.prototype._focusFirstElement=function(){if(!(!this.options.focusAfterOpen||!this._container)){var O=this._container.querySelector(ef);O&&O.focus()}},z.prototype._onClose=function(){this.remove()},z}(i.Evented);function _f(Y){if(Y)if(typeof Y=="number"){var z=Math.round(Math.sqrt(.5*Math.pow(Y,2)));return{center:new i.Point(0,0),top:new i.Point(0,Y),"top-left":new i.Point(z,z),"top-right":new i.Point(-z,z),bottom:new i.Point(0,-Y),"bottom-left":new i.Point(z,-z),"bottom-right":new i.Point(-z,-z),left:new i.Point(Y,0),right:new i.Point(-Y,0)}}else if(Y instanceof i.Point||Array.isArray(Y)){var K=i.Point.convert(Y);return{center:K,top:K,"top-left":K,"top-right":K,bottom:K,"bottom-left":K,"bottom-right":K,left:K,right:K}}else return{center:i.Point.convert(Y.center||[0,0]),top:i.Point.convert(Y.top||[0,0]),"top-left":i.Point.convert(Y["top-left"]||[0,0]),"top-right":i.Point.convert(Y["top-right"]||[0,0]),bottom:i.Point.convert(Y.bottom||[0,0]),"bottom-left":i.Point.convert(Y["bottom-left"]||[0,0]),"bottom-right":i.Point.convert(Y["bottom-right"]||[0,0]),left:i.Point.convert(Y.left||[0,0]),right:i.Point.convert(Y.right||[0,0])};else return _f(new i.Point(0,0))}var ns={version:i.version,supported:a,setRTLTextPlugin:i.setRTLTextPlugin,getRTLTextPluginStatus:i.getRTLTextPluginStatus,Map:vn,NavigationControl:Xn,GeolocateControl:$c,AttributionControl:Dn,ScaleControl:Qc,FullscreenControl:Hl,Popup:ls,Marker:Jn,Style:mu,LngLat:i.LngLat,LngLatBounds:i.LngLatBounds,Point:i.Point,MercatorCoordinate:i.MercatorCoordinate,Evented:i.Evented,config:i.config,prewarm:jn,clearPrewarmedResources:ua,get accessToken(){return i.config.ACCESS_TOKEN},set accessToken(Y){i.config.ACCESS_TOKEN=Y},get baseApiUrl(){return i.config.API_URL},set baseApiUrl(Y){i.config.API_URL=Y},get workerCount(){return Pi.workerCount},set workerCount(Y){Pi.workerCount=Y},get maxParallelImageRequests(){return i.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(Y){i.config.MAX_PARALLEL_IMAGE_REQUESTS=Y},clearStorage:function(z){i.clearTileCache(z)},workerUrl:""};return ns}),r})});var cVe=ye((k1r,uVe)=>{"use strict";var fw=Ar(),aGt=Ll().sanitizeHTML,oGt=tJ(),oVe=d1();function sVe(e,t){this.subplot=e,this.uid=e.uid+"-"+t,this.index=t,this.idSource="source-"+this.uid,this.idLayer=oVe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var sg=sVe.prototype;sg.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=a7(t)};sg.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType==="image"&&e.sourcetype==="image"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};sg.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};sg.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup["layout-"+this.index]};sg.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]};sg.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapboxLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};sg.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!a7(e)){var r=sGt(e);t.addSource(this.idSource,r)}};sg.findFollowingMapboxLayerId=function(e){if(e==="traces")for(var t=this.subplot.getMapLayers(),r=0;r0){for(var r=0;r0}function lVe(e){var t={},r={};switch(e.type){case"circle":fw.extendFlat(r,{"circle-radius":e.circle.radius,"circle-color":e.color,"circle-opacity":e.opacity});break;case"line":fw.extendFlat(r,{"line-width":e.line.width,"line-color":e.color,"line-opacity":e.opacity,"line-dasharray":e.line.dash});break;case"fill":fw.extendFlat(r,{"fill-color":e.color,"fill-outline-color":e.fill.outlinecolor,"fill-opacity":e.opacity});break;case"symbol":var n=e.symbol,i=oGt(n.textposition,n.iconsize);fw.extendFlat(t,{"icon-image":n.icon+"-15","icon-size":n.iconsize/10,"text-field":n.text,"text-size":n.textfont.size,"text-anchor":i.anchor,"text-offset":i.offset,"symbol-placement":n.placement}),fw.extendFlat(r,{"icon-color":e.color,"text-color":n.textfont.color,"text-opacity":e.opacity});break;case"raster":fw.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":e.opacity});break}return{layout:t,paint:r}}function sGt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t==="geojson"?i="data":t==="vector"?i=typeof r=="string"?"url":"tiles":t==="raster"?(i="tiles",n.tileSize=256):t==="image"&&(i="url",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=aGt(e.sourceattribution)),n}uVe.exports=function(t,r,n){var i=new sVe(t,r);return i.update(n),i}});var _Ve=ye((C1r,yVe)=>{"use strict";var lJ=sJ(),uJ=Ar(),vVe=fx(),fVe=ya(),lGt=Xa(),uGt=yv(),o7=Nc(),pVe=Eg(),cGt=pVe.drawMode,fGt=pVe.selectMode,hGt=wf().prepSelect,dGt=wf().clearOutline,vGt=wf().clearSelectionsCache,pGt=wf().selectOnClick,Mx=d1(),gGt=cVe();function gVe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Eh=gVe.prototype;Eh.plot=function(e,t,r){var n=this,i=t[n.id];n.map&&i.accesstoken!==n.accessToken&&(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash={},n.layerList=[]);var a;n.map?a=new Promise(function(o,s){n.updateMap(e,t,o,s)}):a=new Promise(function(o,s){n.createMap(e,t,o,s)}),r.push(a)};Eh.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=mVe(a.style,t);i.accessToken=a.accesstoken;var s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new lJ.Map({container:i.div,style:o.style,center:cJ(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new lJ.AttributionControl({compact:!0}));u._canvas.style.left="0px",u._canvas.style.top="0px",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var c=[];c.push(new Promise(function(f){u.once("load",f)})),c=c.concat(vVe.fetchTraceGeoData(e)),Promise.all(c).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Eh.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=mVe(o.style,t);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once("styledata",u)}))),s=s.concat(vVe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Eh.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i1)for(i=0;i-1&&pGt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf("event")>-1&&o7.click(n,l.originalEvent)}}};Eh.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=uJ.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off("click",t.onClickInPanHandler),fGt(a)||cGt(a)?(r.dragPan.disable(),r.on("zoomstart",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){hGt(l,u,c,t.dragOptions,a)},uGt.init(t.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener("touchstart",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on("click",t.onClickInPanHandler))};Eh.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+"px",n.height=r.h*(t.y[1]-t.y[0])+"px",n.left=r.l+t.x[0]*r.w+"px",n.top=r.t+(1-t.y[1])*r.h+"px",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Eh.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i{"use strict";var fJ=Ar(),mGt=F_(),yGt=Xd(),xVe=Kk();bVe.exports=function(t,r,n){mGt(t,r,n,{type:"mapbox",attributes:xVe,handleDefaults:_Gt,partition:"y",accessToken:r._mapboxAccessToken})};function _Gt(e,t,r,n){r("accesstoken",n.accessToken),r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch");var i=r("bounds.west"),a=r("bounds.east"),o=r("bounds.south"),s=r("bounds.north");(i===void 0||a===void 0||o===void 0||s===void 0)&&delete t.bounds,yGt(e,t,{name:"layers",handleItemDefaults:xGt}),t._input=e}function xGt(e,t){function r(l,u){return fJ.coerce(e,t,xVe.layers,l,u)}var n=r("visible");if(n){var i=r("sourcetype"),a=i==="raster"||i==="image";r("source"),r("sourceattribution"),i==="vector"&&r("sourcelayer"),i==="image"&&r("coordinates");var o;a&&(o="raster");var s=r("type",o);a&&s!=="raster"&&(s=t.type="raster",fJ.log("Source types *raster* and *image* must drawn *raster* layer type.")),r("below"),r("color"),r("opacity"),r("minzoom"),r("maxzoom"),s==="circle"&&r("circle.radius"),s==="line"&&(r("line.width"),r("line.dash")),s==="fill"&&r("fill.outlinecolor"),s==="symbol"&&(r("symbol.icon"),r("symbol.iconsize"),r("symbol.text"),fJ.coerceFont(r,"symbol.textfont",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r("symbol.textposition"),r("symbol.placement"))}}});var s7=ye(Hp=>{"use strict";var TVe=sJ(),im=Ar(),hJ=im.strTranslate,bGt=im.strScale,wGt=Cd().getSubplotCalcData,TGt=Kp(),AGt=ba(),AVe=ao(),SGt=Ll(),MGt=_Ve(),Ex="mapbox",ty=Hp.constants=d1();Hp.name=Ex;Hp.attr="subplot";Hp.idRoot=Ex;Hp.idRegex=Hp.attrRegex=im.counterRegex(Ex);var EGt=["mapbox subplots and traces are deprecated!","Please consider switching to `map` subplots and traces.","Learn more at: https://plotly.com/javascript/maplibre-migration/"].join(" ");Hp.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}};Hp.layoutAttributes=Kk();Hp.supplyLayoutDefaults=wVe();var SVe=!0;Hp.plot=function(t){SVe&&(SVe=!1,im.warn(EGt));var r=t._fullLayout,n=t.calcdata,i=r._subplots[Ex];if(TVe.version!==ty.requiredVersion)throw new Error(ty.wrongVersionErrorMsg);var a=kGt(t,i);TVe.accessToken=a;for(var o=0;op/2){var E=v.split("|").join("
");_.text(E).attr("data-unformatted",E).call(SGt.convertToTspans,e),b=AVe.bBox(_.node())}_.attr("transform",hJ(-3,-b.height+8)),d.insert("rect",".static-attribution").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:"rgba(255, 255, 255, 0.75)"});var k=1;b.width+6>p&&(k=p/(b.width+6));var S=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];d.attr("transform",hJ(S[0],S[1])+bGt(k))}};function kGt(e,t){var r=e._fullLayout,n=e._context;if(n.mapboxAccessToken==="")return"";for(var i=[],a=[],o=!1,s=!1,l=0;l1&&im.warn(ty.multipleTokensErrorMsg),i[0]):(a.length&&im.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}function MVe(e){return typeof e=="string"&&(ty.styleValuesMapbox.indexOf(e)!==-1||e.indexOf("mapbox://")===0||e.indexOf("stamen")===0)}Hp.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[Ex],n=0;n{"use strict";var I1r=["*scattermapbox* trace is deprecated!","Please consider switching to the *scattermap* trace type and `map` subplots.","Learn more at: https://plotly.com/javascript/maplibre-migration/"].join(" ");EVe.exports={attributes:QF(),supplyDefaults:BUe(),colorbar:Jd(),formatLabels:eJ(),calc:wz(),plot:QUe(),hoverPoints:n7().hoverPoints,eventData:iVe(),selectPoints:aVe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:"trace",name:"scattermapbox",basePlotModule:s7(),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}});var LVe=ye((R1r,CVe)=>{"use strict";CVe.exports=kVe()});var dJ=ye((z1r,PVe)=>{"use strict";var v1=sA(),CGt=Kl(),LGt=Wo().hovertemplateAttrs,PGt=vl(),kx=no().extendFlat;PVe.exports=kx({locations:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},geojson:{valType:"any",editType:"calc"},featureidkey:kx({},v1.featureidkey,{}),below:{valType:"string",editType:"plot"},text:v1.text,hovertext:v1.hovertext,marker:{line:{color:kx({},v1.marker.line.color,{editType:"plot"}),width:kx({},v1.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:kx({},v1.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:kx({},v1.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:kx({},v1.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:v1.hoverinfo,hovertemplate:LGt({},{keys:["properties"]}),showlegend:kx({},PGt.showlegend,{dflt:!1})},CGt("",{cLetter:"z",editTypeOverride:"calc"}))});var DVe=ye((F1r,IVe)=>{"use strict";var eC=Ar(),IGt=Hh(),DGt=dJ();IVe.exports=function(t,r,n,i){function a(c,f){return eC.coerce(t,r,DGt,c,f)}var o=a("locations"),s=a("z"),l=a("geojson");if(!eC.isArrayOrTypedArray(o)||!o.length||!eC.isArrayOrTypedArray(s)||!s.length||!(typeof l=="string"&&l!==""||eC.isPlainObject(l))){r.visible=!1;return}a("featureidkey"),r._length=Math.min(o.length,s.length),a("below"),a("text"),a("hovertext"),a("hovertemplate");var u=a("marker.line.width");u&&a("marker.line.color"),a("marker.opacity"),IGt(t,r,i,a,{prefix:"",cLetter:"z"}),eC.coerceSelectionMarkerOpacity(r,a)}});var vJ=ye((q1r,FVe)=>{"use strict";var RGt=uo(),p1=Ar(),zGt=Mu(),FGt=ao(),qGt=ux().makeBlank,RVe=fx();function OGt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:"none"},paint:{}},i={layout:{visibility:"none"},paint:{}},a=t._opts={fill:n,line:i,geojson:qGt()};if(!r)return a;var o=RVe.extractTraceFeature(e);if(!o)return a;var s=zGt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;p1.isArrayOrTypedArray(l.opacity)&&(c=function(E){var k=E.mo;return RGt(k)?+p1.constrain(k,0,1):0});var f;p1.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;p1.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var v=0;v{"use strict";var OVe=vJ().convert,BGt=vJ().convertOnSelect,qVe=d1().traceLayerPrefix;function BVe(e,t){this.type="choroplethmapbox",this.subplot=e,this.uid=t,this.sourceId="source-"+t,this.layerList=[["fill",qVe+t+"-fill"],["line",qVe+t+"-line"]],this.below=null}var DA=BVe.prototype;DA.update=function(e){this._update(OVe(e)),e[0].trace._glTrace=this};DA.updateOnSelect=function(e){this._update(BGt(e))};DA._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup["trace-"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i=0;r--)e.removeLayer(t[r][1])};DA.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};NVe.exports=function(t,r){var n=r[0].trace,i=new BVe(t,n.uid),a=i.sourceId,o=OVe(r),s=i.below=t.belowLookup["trace-"+n.uid];return t.map.addSource(a,{type:"geojson",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var HVe=ye((N1r,VVe)=>{"use strict";var B1r=["*choroplethmapbox* trace is deprecated!","Please consider switching to the *choroplethmap* trace type and `map` subplots.","Learn more at: https://plotly.com/javascript/maplibre-migration/"].join(" ");VVe.exports={attributes:dJ(),supplyDefaults:DVe(),colorbar:D_(),calc:Gz(),plot:UVe(),hoverPoints:Wz(),eventData:Zz(),selectPoints:Xz(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i=="string"&&i.indexOf("water")===0){for(var a=n+1;a{"use strict";GVe.exports=HVe()});var gJ=ye((V1r,ZVe)=>{"use strict";var NGt=Kl(),UGt=Wo().hovertemplateAttrs,WVe=vl(),l7=QF(),pJ=no().extendFlat;ZVe.exports=pJ({lon:l7.lon,lat:l7.lat,z:{valType:"data_array",editType:"calc"},radius:{valType:"number",editType:"plot",arrayOk:!0,min:1,dflt:30},below:{valType:"string",editType:"plot"},text:l7.text,hovertext:l7.hovertext,hoverinfo:pJ({},WVe.hoverinfo,{flags:["lon","lat","z","text","name"]}),hovertemplate:UGt(),showlegend:pJ({},WVe.showlegend,{dflt:!1})},NGt("",{cLetter:"z",editTypeOverride:"calc"}))});var YVe=ye((H1r,XVe)=>{"use strict";var VGt=Ar(),HGt=Hh(),GGt=gJ();XVe.exports=function(t,r,n,i){function a(u,c){return VGt.coerce(t,r,GGt,u,c)}var o=a("lon")||[],s=a("lat")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a("z"),a("radius"),a("below"),a("text"),a("hovertext"),a("hovertemplate"),HGt(t,r,i,a,{prefix:"",cLetter:"z"})}});var $Ve=ye((G1r,JVe)=>{"use strict";var mJ=uo(),jGt=Ar().isArrayOrTypedArray,yJ=Yo().BADNUM,WGt=qv(),KVe=Ar()._;JVe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=jGt(a)&&a.length,s=0;s{"use strict";var ZGt=uo(),_J=Ar(),QVe=va(),eHe=Mu(),tHe=Yo().BADNUM,XGt=ux().makeBlank;rHe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:"none"},paint:{}},a=r._opts={heatmap:i,geojson:XGt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=_J.isArrayOrTypedArray(l)&&l.length,f=_J.isArrayOrTypedArray(u);for(s=0;s0?+u[s]:0),o.push({type:"Feature",geometry:{type:"Point",coordinates:v},properties:d})}}var b=eHe.extractOpts(r),p=b.reversescale?eHe.flipScale(b.colorscale):b.colorscale,E=p[0][1],k=QVe.opacity(E)<1?E:QVe.addOpacity(E,0),S=["interpolate",["linear"],["heatmap-density"],0,k];for(s=1;s{"use strict";var nHe=iHe(),YGt=d1().traceLayerPrefix;function aHe(e,t){this.type="densitymapbox",this.subplot=e,this.uid=t,this.sourceId="source-"+t,this.layerList=[["heatmap",YGt+t+"-heatmap"]],this.below=null}var u7=aHe.prototype;u7.update=function(e){var t=this.subplot,r=this.layerList,n=nHe(e),i=t.belowLookup["trace-"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a=0;r--)e.removeLayer(t[r][1])};u7.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};oHe.exports=function(t,r){var n=r[0].trace,i=new aHe(t,n.uid),a=i.sourceId,o=nHe(r),s=i.below=t.belowLookup["trace-"+n.uid];return t.map.addSource(a,{type:"geojson",data:o.geojson}),i._addLayers(o,s),i}});var uHe=ye((Z1r,lHe)=>{"use strict";var KGt=Xa(),JGt=n7().hoverPoints,$Gt=n7().getExtraText;lHe.exports=function(t,r,n){var i=JGt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,"z"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=KGt.tickText(u,u.c2l(l.z),"hover").text}return a.extraText=$Gt(s,l,o[0].t.labels),[a]}}});var fHe=ye((X1r,cHe)=>{"use strict";cHe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var dHe=ye((K1r,hHe)=>{"use strict";var Y1r=["*densitymapbox* trace is deprecated!","Please consider switching to the *densitymap* trace type and `map` subplots.","Learn more at: https://plotly.com/javascript/maplibre-migration/"].join(" ");hHe.exports={attributes:gJ(),supplyDefaults:YVe(),colorbar:D_(),formatLabels:eJ(),calc:$Ve(),plot:sHe(),hoverPoints:uHe(),eventData:fHe(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n{"use strict";vHe.exports=dHe()});var mHe=ye(($1r,gHe)=>{gHe.exports={version:8,name:"orto",metadata:{"maputnik:renderer":"mlgljs"},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:"viewport",color:"white",intensity:.4,position:[1.15,45,30]},sources:{ortoEsri:{type:"raster",tiles:["https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}"],tileSize:256,maxzoom:18,attribution:"ESRI © ESRI"},ortoInstaMaps:{type:"raster",tiles:["https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png"],tileSize:256,maxzoom:13},ortoICGC:{type:"raster",tiles:["https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg"],tileSize:256,minzoom:13.1,maxzoom:20},openmaptiles:{type:"vector",url:"https://geoserveis.icgc.cat/contextmaps/basemap.json"}},sprite:"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1",glyphs:"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf",layers:[{id:"background",type:"background",paint:{"background-color":"#F4F9F4"}},{id:"ortoEsri",type:"raster",source:"ortoEsri",maxzoom:16,layout:{visibility:"visible"}},{id:"ortoICGC",type:"raster",source:"ortoICGC",minzoom:13.1,maxzoom:19,layout:{visibility:"visible"}},{id:"ortoInstaMaps",type:"raster",source:"ortoInstaMaps",maxzoom:13,layout:{visibility:"visible"}},{id:"waterway_tunnel",type:"line",source:"openmaptiles","source-layer":"waterway",minzoom:14,filter:["all",["in","class","river","stream","canal"],["==","brunnel","tunnel"]],layout:{"line-cap":"round"},paint:{"line-color":"#a0c8f0","line-width":{base:1.3,stops:[[13,.5],[20,6]]},"line-dasharray":[2,4]}},{id:"waterway-other",type:"line",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"waterway",filter:["!in","class","canal","river","stream"],layout:{"line-cap":"round"},paint:{"line-color":"#a0c8f0","line-width":{base:1.3,stops:[[13,.5],[20,2]]}}},{id:"waterway-stream-canal",type:"line",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"waterway",filter:["all",["in","class","canal","stream"],["!=","brunnel","tunnel"]],layout:{"line-cap":"round"},paint:{"line-color":"#a0c8f0","line-width":{base:1.3,stops:[[13,.5],[20,6]]}}},{id:"waterway-river",type:"line",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"waterway",filter:["all",["==","class","river"],["!=","brunnel","tunnel"]],layout:{"line-cap":"round"},paint:{"line-color":"#a0c8f0","line-width":{base:1.2,stops:[[10,.8],[20,4]]},"line-opacity":.5}},{id:"water-offset",type:"fill",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"water",maxzoom:8,filter:["==","$type","Polygon"],layout:{visibility:"visible"},paint:{"fill-opacity":0,"fill-color":"#a0c8f0","fill-translate":{base:1,stops:[[6,[2,0]],[8,[0,0]]]}}},{id:"water",type:"fill",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"water",layout:{visibility:"visible"},paint:{"fill-color":"hsl(210, 67%, 85%)","fill-opacity":0}},{id:"water-pattern",type:"fill",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"water",layout:{visibility:"visible"},paint:{"fill-translate":[0,2.5],"fill-pattern":"wave","fill-opacity":1}},{id:"landcover-ice-shelf",type:"fill",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"landcover",filter:["==","subclass","ice_shelf"],layout:{visibility:"visible"},paint:{"fill-color":"#fff","fill-opacity":{base:1,stops:[[0,.9],[10,.3]]}}},{id:"tunnel-service-track-casing",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","service","track"]],layout:{"line-join":"round"},paint:{"line-color":"#cfcdca","line-dasharray":[.5,.25],"line-width":{base:1.2,stops:[[15,1],[16,4],[20,11]]}}},{id:"tunnel-minor-casing",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["==","class","minor"]],layout:{"line-join":"round"},paint:{"line-color":"#cfcdca","line-opacity":{stops:[[12,0],[12.5,1]]},"line-width":{base:1.2,stops:[[12,.5],[13,1],[14,4],[20,15]]}}},{id:"tunnel-secondary-tertiary-casing",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","secondary","tertiary"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[8,1.5],[20,17]]}}},{id:"tunnel-trunk-primary-casing",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","primary","trunk"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-width":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},"line-opacity":.7}},{id:"tunnel-motorway-casing",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["==","class","motorway"]],layout:{"line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-dasharray":[.5,.25],"line-width":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},"line-opacity":.5}},{id:"tunnel-path",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","brunnel","tunnel"],["==","class","path"]]],paint:{"line-color":"#cba","line-dasharray":[1.5,.75],"line-width":{base:1.2,stops:[[15,1.2],[20,4]]}}},{id:"tunnel-service-track",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","service","track"]],layout:{"line-join":"round"},paint:{"line-color":"#fff","line-width":{base:1.2,stops:[[15.5,0],[16,2],[20,7.5]]}}},{id:"tunnel-minor",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["==","class","minor_road"]],layout:{"line-join":"round"},paint:{"line-color":"#fff","line-opacity":1,"line-width":{base:1.2,stops:[[13.5,0],[14,2.5],[20,11.5]]}}},{id:"tunnel-secondary-tertiary",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","secondary","tertiary"]],layout:{"line-join":"round"},paint:{"line-color":"#fff4c6","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,10]]}}},{id:"tunnel-trunk-primary",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","primary","trunk"]],layout:{"line-join":"round"},paint:{"line-color":"#fff4c6","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},"line-opacity":.5}},{id:"tunnel-motorway",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["==","class","motorway"]],layout:{"line-join":"round",visibility:"visible"},paint:{"line-color":"#ffdaa6","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},"line-opacity":.5}},{id:"tunnel-railway",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["==","class","rail"]],paint:{"line-color":"#bbb","line-width":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]},"line-dasharray":[2,2]}},{id:"ferry",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["in","class","ferry"]],layout:{"line-join":"round",visibility:"visible"},paint:{"line-color":"rgba(108, 159, 182, 1)","line-width":1.1,"line-dasharray":[2,2]}},{id:"aeroway-taxiway-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"aeroway",minzoom:12,filter:["all",["in","class","taxiway"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"rgba(153, 153, 153, 1)","line-width":{base:1.5,stops:[[11,2],[17,12]]},"line-opacity":1}},{id:"aeroway-runway-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"aeroway",minzoom:12,filter:["all",["in","class","runway"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"rgba(153, 153, 153, 1)","line-width":{base:1.5,stops:[[11,5],[17,55]]},"line-opacity":1}},{id:"aeroway-taxiway",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"aeroway",minzoom:4,filter:["all",["in","class","taxiway"],["==","$type","LineString"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"rgba(255, 255, 255, 1)","line-width":{base:1.5,stops:[[11,1],[17,10]]},"line-opacity":{base:1,stops:[[11,0],[12,1]]}}},{id:"aeroway-runway",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"aeroway",minzoom:4,filter:["all",["in","class","runway"],["==","$type","LineString"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"rgba(255, 255, 255, 1)","line-width":{base:1.5,stops:[[11,4],[17,50]]},"line-opacity":{base:1,stops:[[11,0],[12,1]]}}},{id:"highway-motorway-link-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:12,filter:["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway_link"]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:"highway-link-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:"highway-minor-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!=","brunnel","tunnel"],["in","class","minor","service","track"]]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#cfcdca","line-opacity":{stops:[[12,0],[12.5,0]]},"line-width":{base:1.2,stops:[[12,.5],[13,1],[14,4],[20,15]]}}},{id:"highway-secondary-tertiary-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","secondary","tertiary"]],layout:{"line-cap":"butt","line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-opacity":.5,"line-width":{base:1.2,stops:[[8,1.5],[20,17]]}}},{id:"highway-primary-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:5,filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","primary"]],layout:{"line-cap":"butt","line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-opacity":{stops:[[7,0],[8,.6]]},"line-width":{base:1.2,stops:[[7,0],[8,.6],[9,1.5],[20,22]]}}},{id:"highway-trunk-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:5,filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","trunk"]],layout:{"line-cap":"butt","line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-opacity":{stops:[[5,0],[6,.5]]},"line-width":{base:1.2,stops:[[5,0],[6,.6],[7,1.5],[20,22]]}}},{id:"highway-motorway-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:4,filter:["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway"]],layout:{"line-cap":"butt","line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-width":{base:1.2,stops:[[4,0],[5,.4],[6,.6],[7,1.5],[20,22]]},"line-opacity":{stops:[[4,0],[5,.5]]}}},{id:"highway-path",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["==","class","path"]]],paint:{"line-color":"#cba","line-dasharray":[1.5,.75],"line-width":{base:1.2,stops:[[15,1.2],[20,4]]}}},{id:"highway-motorway-link",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:12,filter:["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway_link"]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#fc8","line-width":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:"highway-link",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:"highway-minor",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!=","brunnel","tunnel"],["in","class","minor","service","track"]]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#fff","line-opacity":.5,"line-width":{base:1.2,stops:[[13.5,0],[14,2.5],[20,11.5]]}}},{id:"highway-secondary-tertiary",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","secondary","tertiary"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[6.5,0],[8,.5],[20,13]]},"line-opacity":.5}},{id:"highway-primary",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["in","class","primary"]]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[8.5,0],[9,.5],[20,18]]},"line-opacity":0}},{id:"highway-trunk",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["in","class","trunk"]]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},"line-opacity":.5}},{id:"highway-motorway",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:5,filter:["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway"]]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#fc8","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},"line-opacity":.5}},{id:"railway-transit",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","class","transit"],["!in","brunnel","tunnel"]]],layout:{visibility:"visible"},paint:{"line-color":"hsla(0, 0%, 73%, 0.77)","line-width":{base:1.4,stops:[[14,.4],[20,1]]}}},{id:"railway-transit-hatching",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","class","transit"],["!in","brunnel","tunnel"]]],layout:{visibility:"visible"},paint:{"line-color":"hsla(0, 0%, 73%, 0.68)","line-dasharray":[.2,8],"line-width":{base:1.4,stops:[[14.5,0],[15,2],[20,6]]}}},{id:"railway-service",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","class","rail"],["has","service"]]],paint:{"line-color":"hsla(0, 0%, 73%, 0.77)","line-width":{base:1.4,stops:[[14,.4],[20,1]]}}},{id:"railway-service-hatching",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","class","rail"],["has","service"]]],layout:{visibility:"visible"},paint:{"line-color":"hsla(0, 0%, 73%, 0.68)","line-dasharray":[.2,8],"line-width":{base:1.4,stops:[[14.5,0],[15,2],[20,6]]}}},{id:"railway",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!has","service"],["!in","brunnel","bridge","tunnel"],["==","class","rail"]]],paint:{"line-color":"#bbb","line-width":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]}}},{id:"railway-hatching",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!has","service"],["!in","brunnel","bridge","tunnel"],["==","class","rail"]]],paint:{"line-color":"#bbb","line-dasharray":[.2,8],"line-width":{base:1.4,stops:[[14.5,0],[15,3],[20,8]]}}},{id:"bridge-motorway-link-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","motorway_link"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:"bridge-link-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:"bridge-secondary-tertiary-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","secondary","tertiary"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[8,1.5],[20,28]]}}},{id:"bridge-trunk-primary-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","primary","trunk"]],layout:{"line-join":"round"},paint:{"line-color":"hsl(28, 76%, 67%)","line-width":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,26]]}}},{id:"bridge-motorway-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","motorway"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-width":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},"line-opacity":.5}},{id:"bridge-path-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","brunnel","bridge"],["==","class","path"]]],paint:{"line-color":"#f8f4f0","line-width":{base:1.2,stops:[[15,1.2],[20,18]]}}},{id:"bridge-path",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","brunnel","bridge"],["==","class","path"]]],paint:{"line-color":"#cba","line-width":{base:1.2,stops:[[15,1.2],[20,4]]},"line-dasharray":[1.5,.75]}},{id:"bridge-motorway-link",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","motorway_link"]],layout:{"line-join":"round"},paint:{"line-color":"#fc8","line-width":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:"bridge-link",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],layout:{"line-join":"round"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:"bridge-secondary-tertiary",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","secondary","tertiary"]],layout:{"line-join":"round"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,20]]}}},{id:"bridge-trunk-primary",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","primary","trunk"]],layout:{"line-join":"round"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]}}},{id:"bridge-motorway",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","motorway"]],layout:{"line-join":"round"},paint:{"line-color":"#fc8","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},"line-opacity":.5}},{id:"bridge-railway",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","rail"]],paint:{"line-color":"#bbb","line-width":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]}}},{id:"bridge-railway-hatching",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","rail"]],paint:{"line-color":"#bbb","line-dasharray":[.2,8],"line-width":{base:1.4,stops:[[14.5,0],[15,3],[20,8]]}}},{id:"cablecar",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["==","class","cable_car"],layout:{visibility:"visible","line-cap":"round"},paint:{"line-color":"hsl(0, 0%, 70%)","line-width":{base:1,stops:[[11,1],[19,2.5]]}}},{id:"cablecar-dash",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["==","class","cable_car"],layout:{visibility:"visible","line-cap":"round"},paint:{"line-color":"hsl(0, 0%, 70%)","line-width":{base:1,stops:[[11,3],[19,5.5]]},"line-dasharray":[2,3]}},{id:"boundary-land-level-4",type:"line",source:"openmaptiles","source-layer":"boundary",filter:["all",[">=","admin_level",4],["<=","admin_level",8],["!=","maritime",1]],layout:{"line-join":"round"},paint:{"line-color":"#9e9cab","line-dasharray":[3,1,1,1],"line-width":{base:1.4,stops:[[4,.4],[5,1],[12,3]]},"line-opacity":.6}},{id:"boundary-land-level-2",type:"line",source:"openmaptiles","source-layer":"boundary",filter:["all",["==","admin_level",2],["!=","maritime",1],["!=","disputed",1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(248, 7%, 66%)","line-width":{base:1,stops:[[0,.6],[4,1.4],[5,2],[12,2]]}}},{id:"boundary-land-disputed",type:"line",source:"openmaptiles","source-layer":"boundary",filter:["all",["!=","maritime",1],["==","disputed",1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(248, 7%, 70%)","line-dasharray":[1,3],"line-width":{base:1,stops:[[0,.6],[4,1.4],[5,2],[12,8]]}}},{id:"boundary-water",type:"line",source:"openmaptiles","source-layer":"boundary",filter:["all",["in","admin_level",2,4],["==","maritime",1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"rgba(154, 189, 214, 1)","line-width":{base:1,stops:[[0,.6],[4,1],[5,1],[12,1]]},"line-opacity":{stops:[[6,0],[10,0]]}}},{id:"waterway-name",type:"symbol",source:"openmaptiles","source-layer":"waterway",minzoom:13,filter:["all",["==","$type","LineString"],["has","name"]],layout:{"text-font":["Noto Sans Italic"],"text-size":14,"text-field":"{name:latin} {name:nonlatin}","text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"line","text-letter-spacing":.2,"symbol-spacing":350},paint:{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{id:"water-name-lakeline",type:"symbol",source:"openmaptiles","source-layer":"water_name",filter:["==","$type","LineString"],layout:{"text-font":["Noto Sans Italic"],"text-size":14,"text-field":`{name:latin} +{name:nonlatin}`,"text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"line","symbol-spacing":350,"text-letter-spacing":.2},paint:{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{id:"water-name-ocean",type:"symbol",source:"openmaptiles","source-layer":"water_name",filter:["all",["==","$type","Point"],["==","class","ocean"]],layout:{"text-font":["Noto Sans Italic"],"text-size":14,"text-field":"{name:latin}","text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"point","symbol-spacing":350,"text-letter-spacing":.2},paint:{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{id:"water-name-other",type:"symbol",source:"openmaptiles","source-layer":"water_name",filter:["all",["==","$type","Point"],["!in","class","ocean"]],layout:{"text-font":["Noto Sans Italic"],"text-size":{stops:[[0,10],[6,14]]},"text-field":`{name:latin} +{name:nonlatin}`,"text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"point","symbol-spacing":350,"text-letter-spacing":.2,visibility:"visible"},paint:{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{id:"poi-level-3",type:"symbol",source:"openmaptiles","source-layer":"poi",minzoom:16,filter:["all",["==","$type","Point"],[">=","rank",25]],layout:{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":`{name:latin} +{name:nonlatin}`,"text-offset":[0,.6],"text-size":12,"text-max-width":9},paint:{"text-halo-blur":.5,"text-color":"#666","text-halo-width":1,"text-halo-color":"#ffffff"}},{id:"poi-level-2",type:"symbol",source:"openmaptiles","source-layer":"poi",minzoom:15,filter:["all",["==","$type","Point"],["<=","rank",24],[">=","rank",15]],layout:{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":`{name:latin} +{name:nonlatin}`,"text-offset":[0,.6],"text-size":12,"text-max-width":9},paint:{"text-halo-blur":.5,"text-color":"#666","text-halo-width":1,"text-halo-color":"#ffffff"}},{id:"poi-level-1",type:"symbol",source:"openmaptiles","source-layer":"poi",minzoom:14,filter:["all",["==","$type","Point"],["<=","rank",14],["has","name"]],layout:{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":`{name:latin} +{name:nonlatin}`,"text-offset":[0,.6],"text-size":11,"text-max-width":9},paint:{"text-halo-blur":.5,"text-color":"rgba(191, 228, 172, 1)","text-halo-width":1,"text-halo-color":"rgba(30, 29, 29, 1)"}},{id:"poi-railway",type:"symbol",source:"openmaptiles","source-layer":"poi",minzoom:13,filter:["all",["==","$type","Point"],["has","name"],["==","class","railway"],["==","subclass","station"]],layout:{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":`{name:latin} +{name:nonlatin}`,"text-offset":[0,.6],"text-size":12,"text-max-width":9,"icon-optional":!1,"icon-ignore-placement":!1,"icon-allow-overlap":!1,"text-ignore-placement":!1,"text-allow-overlap":!1,"text-optional":!0},paint:{"text-halo-blur":.5,"text-color":"#666","text-halo-width":1,"text-halo-color":"#ffffff"}},{id:"road_oneway",type:"symbol",source:"openmaptiles","source-layer":"transportation",minzoom:15,filter:["all",["==","oneway",1],["in","class","motorway","trunk","primary","secondary","tertiary","minor","service"]],layout:{"symbol-placement":"line","icon-image":"oneway","symbol-spacing":75,"icon-padding":2,"icon-rotation-alignment":"map","icon-rotate":90,"icon-size":{stops:[[15,.5],[19,1]]}},paint:{"icon-opacity":.5}},{id:"road_oneway_opposite",type:"symbol",source:"openmaptiles","source-layer":"transportation",minzoom:15,filter:["all",["==","oneway",-1],["in","class","motorway","trunk","primary","secondary","tertiary","minor","service"]],layout:{"symbol-placement":"line","icon-image":"oneway","symbol-spacing":75,"icon-padding":2,"icon-rotation-alignment":"map","icon-rotate":-90,"icon-size":{stops:[[15,.5],[19,1]]}},paint:{"icon-opacity":.5}},{id:"highway-name-path",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:15.5,filter:["==","class","path"],layout:{"text-size":{base:1,stops:[[13,12],[14,13]]},"text-font":["Noto Sans Regular"],"text-field":"{name:latin} {name:nonlatin}","symbol-placement":"line","text-rotation-alignment":"map"},paint:{"text-halo-color":"#f8f4f0","text-color":"hsl(30, 23%, 62%)","text-halo-width":.5}},{id:"highway-name-minor",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:15,filter:["all",["==","$type","LineString"],["in","class","minor","service","track"]],layout:{"text-size":{base:1,stops:[[13,12],[14,13]]},"text-font":["Noto Sans Regular"],"text-field":"{name:latin} {name:nonlatin}","symbol-placement":"line","text-rotation-alignment":"map"},paint:{"text-halo-blur":.5,"text-color":"#765","text-halo-width":1}},{id:"highway-name-major",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:12.2,filter:["in","class","primary","secondary","tertiary","trunk"],layout:{"text-size":{base:1,stops:[[13,12],[14,13]]},"text-font":["Noto Sans Regular"],"text-field":"{name:latin} {name:nonlatin}","symbol-placement":"line","text-rotation-alignment":"map"},paint:{"text-halo-blur":.5,"text-color":"#765","text-halo-width":1}},{id:"highway-shield",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:8,filter:["all",["<=","ref_length",6],["==","$type","LineString"],["!in","network","us-interstate","us-highway","us-state"]],layout:{"text-size":10,"icon-image":"road_{ref_length}","icon-rotation-alignment":"viewport","symbol-spacing":200,"text-font":["Noto Sans Regular"],"symbol-placement":{base:1,stops:[[10,"point"],[11,"line"]]},"text-rotation-alignment":"viewport","icon-size":1,"text-field":"{ref}"},paint:{"text-opacity":1,"text-color":"rgba(20, 19, 19, 1)","text-halo-color":"rgba(230, 221, 221, 0)","text-halo-width":2,"icon-color":"rgba(183, 18, 18, 1)","icon-opacity":.3,"icon-halo-color":"rgba(183, 55, 55, 0)"}},{id:"highway-shield-us-interstate",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:7,filter:["all",["<=","ref_length",6],["==","$type","LineString"],["in","network","us-interstate"]],layout:{"text-size":10,"icon-image":"{network}_{ref_length}","icon-rotation-alignment":"viewport","symbol-spacing":200,"text-font":["Noto Sans Regular"],"symbol-placement":{base:1,stops:[[7,"point"],[7,"line"],[8,"line"]]},"text-rotation-alignment":"viewport","icon-size":1,"text-field":"{ref}"},paint:{"text-color":"rgba(0, 0, 0, 1)"}},{id:"highway-shield-us-other",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:9,filter:["all",["<=","ref_length",6],["==","$type","LineString"],["in","network","us-highway","us-state"]],layout:{"text-size":10,"icon-image":"{network}_{ref_length}","icon-rotation-alignment":"viewport","symbol-spacing":200,"text-font":["Noto Sans Regular"],"symbol-placement":{base:1,stops:[[10,"point"],[11,"line"]]},"text-rotation-alignment":"viewport","icon-size":1,"text-field":"{ref}"},paint:{"text-color":"rgba(0, 0, 0, 1)"}},{id:"place-other",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",minzoom:12,filter:["!in","class","city","town","village","country","continent"],layout:{"text-letter-spacing":.1,"text-size":{base:1.2,stops:[[12,10],[15,14]]},"text-font":["Noto Sans Bold"],"text-field":`{name:latin} +{name:nonlatin}`,"text-transform":"uppercase","text-max-width":9,visibility:"visible"},paint:{"text-color":"rgba(255,255,255,1)","text-halo-width":1.2,"text-halo-color":"rgba(57, 28, 28, 1)"}},{id:"place-village",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",minzoom:10,filter:["==","class","village"],layout:{"text-font":["Noto Sans Regular"],"text-size":{base:1.2,stops:[[10,12],[15,16]]},"text-field":`{name:latin} +{name:nonlatin}`,"text-max-width":8,visibility:"visible"},paint:{"text-color":"rgba(255, 255, 255, 1)","text-halo-width":1.2,"text-halo-color":"rgba(10, 9, 9, 0.8)"}},{id:"place-town",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["==","class","town"],layout:{"text-font":["Noto Sans Regular"],"text-size":{base:1.2,stops:[[10,14],[15,24]]},"text-field":`{name:latin} +{name:nonlatin}`,"text-max-width":8,visibility:"visible"},paint:{"text-color":"rgba(255, 255, 255, 1)","text-halo-width":1.2,"text-halo-color":"rgba(22, 22, 22, 0.8)"}},{id:"place-city",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["!=","capital",2],["==","class","city"]],layout:{"text-font":["Noto Sans Regular"],"text-size":{base:1.2,stops:[[7,14],[11,24]]},"text-field":`{name:latin} +{name:nonlatin}`,"text-max-width":8,visibility:"visible"},paint:{"text-color":"rgba(0, 0, 0, 1)","text-halo-width":1.2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-city-capital",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["==","capital",2],["==","class","city"]],layout:{"text-font":["Noto Sans Regular"],"text-size":{base:1.2,stops:[[7,14],[11,24]]},"text-field":`{name:latin} +{name:nonlatin}`,"text-max-width":8,"icon-image":"star_11","text-offset":[.4,0],"icon-size":.8,"text-anchor":"left",visibility:"visible"},paint:{"text-color":"#333","text-halo-width":1.2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-country-other",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["==","class","country"],[">=","rank",3],["!has","iso_a2"]],layout:{"text-font":["Noto Sans Italic"],"text-field":"{name:latin}","text-size":{stops:[[3,11],[7,17]]},"text-transform":"uppercase","text-max-width":6.25,visibility:"visible"},paint:{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-country-3",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["==","class","country"],[">=","rank",3],["has","iso_a2"]],layout:{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":{stops:[[3,11],[7,17]]},"text-transform":"uppercase","text-max-width":6.25,visibility:"visible"},paint:{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-country-2",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["==","class","country"],["==","rank",2],["has","iso_a2"]],layout:{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":{stops:[[2,11],[5,17]]},"text-transform":"uppercase","text-max-width":6.25,visibility:"visible"},paint:{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-country-1",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["==","class","country"],["==","rank",1],["has","iso_a2"]],layout:{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":{stops:[[1,11],[4,17]]},"text-transform":"uppercase","text-max-width":6.25,visibility:"visible"},paint:{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-continent",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",maxzoom:1,filter:["==","class","continent"],layout:{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":14,"text-max-width":6.25,"text-transform":"uppercase",visibility:"visible"},paint:{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}}],id:"qebnlkra6"}});var _He=ye((Q1r,yHe)=>{yHe.exports={version:8,name:"orto",metadata:{},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:"viewport",color:"white",intensity:.4,position:[1.15,45,30]},sources:{ortoEsri:{type:"raster",tiles:["https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}"],tileSize:256,maxzoom:18,attribution:"ESRI © ESRI"},ortoInstaMaps:{type:"raster",tiles:["https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png"],tileSize:256,maxzoom:13},ortoICGC:{type:"raster",tiles:["https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg"],tileSize:256,minzoom:13.1,maxzoom:20},openmaptiles:{type:"vector",url:"https://geoserveis.icgc.cat/contextmaps/basemap.json"}},sprite:"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1",glyphs:"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf",layers:[{id:"background",type:"background",paint:{"background-color":"#F4F9F4"}},{id:"ortoEsri",type:"raster",source:"ortoEsri",maxzoom:16,layout:{visibility:"visible"}},{id:"ortoICGC",type:"raster",source:"ortoICGC",minzoom:13.1,maxzoom:19,layout:{visibility:"visible"}},{id:"ortoInstaMaps",type:"raster",source:"ortoInstaMaps",maxzoom:13,layout:{visibility:"visible"}}]}});var Cx=ye((e_r,AHe)=>{"use strict";var QGt=$1(),ejt=mHe(),tjt=_He(),rjt='\xA9 OpenStreetMap contributors',xHe="https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",bHe="https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",c7="https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",ijt="https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json",njt="https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json",ajt="https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json",THe={basic:c7,streets:c7,outdoors:c7,light:xHe,dark:bHe,satellite:tjt,"satellite-streets":ejt,"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:rjt,tiles:["https://tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-positron":xHe,"carto-darkmatter":bHe,"carto-voyager":c7,"carto-positron-nolabels":ijt,"carto-darkmatter-nolabels":njt,"carto-voyager-nolabels":ajt},wHe=QGt(THe);AHe.exports={styleValueDflt:"basic",stylesMap:THe,styleValuesMap:wHe,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",missingStyleErrorMsg:["No valid maplibre style found, please set `map.style` to one of:",wHe.join(", "),"or use a tile service."].join(` +`),mapOnErrorMsg:"Map error."}});var tC=ye((t_r,CHe)=>{"use strict";var SHe=Ar(),MHe=va().defaultLine,ojt=Ju().attributes,sjt=Su(),ljt=Uc().textposition,ujt=Bu().overrideAll,cjt=Vs().templatedArray,EHe=Cx(),kHe=sjt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});kHe.family.dflt="Open Sans Regular, Arial Unicode MS Regular";var fjt=CHe.exports=ujt({_arrayAttrRegexps:[SHe.counterRegex("map",".layers",!0)],domain:ojt({name:"map"}),style:{valType:"any",values:EHe.styleValuesMap,dflt:EHe.styleValueDflt},center:{lon:{valType:"number",dflt:0},lat:{valType:"number",dflt:0}},zoom:{valType:"number",dflt:1},bearing:{valType:"number",dflt:0},pitch:{valType:"number",dflt:0},bounds:{west:{valType:"number"},east:{valType:"number"},south:{valType:"number"},north:{valType:"number"}},layers:cjt("layer",{visible:{valType:"boolean",dflt:!0},sourcetype:{valType:"enumerated",values:["geojson","vector","raster","image"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},sourceattribution:{valType:"string"},type:{valType:"enumerated",values:["circle","line","fill","symbol","raster"],dflt:"circle"},coordinates:{valType:"any"},below:{valType:"string"},color:{valType:"color",dflt:MHe},opacity:{valType:"number",min:0,max:1,dflt:1},minzoom:{valType:"number",min:0,max:24,dflt:0},maxzoom:{valType:"number",min:0,max:24,dflt:24},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2},dash:{valType:"data_array"}},fill:{outlinecolor:{valType:"color",dflt:MHe}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},placement:{valType:"enumerated",values:["point","line","line-center"],dflt:"point"},textfont:kHe,textposition:SHe.extendFlat({},ljt,{arrayOk:!1})}})},"plot","from-root");fjt.uirevision={valType:"any",editType:"none"}});var f7=ye((r_r,IHe)=>{"use strict";var hjt=Wo().hovertemplateAttrs,djt=Wo().texttemplateAttrs,vjt=Cg(),rC=Q2(),RA=Uc(),LHe=tC(),pjt=vl(),gjt=Kl(),hw=no().extendFlat,mjt=Bu().overrideAll,yjt=tC(),PHe=rC.line,zA=rC.marker;IHe.exports=mjt({lon:rC.lon,lat:rC.lat,cluster:{enabled:{valType:"boolean"},maxzoom:hw({},yjt.layers.maxzoom,{}),step:{valType:"number",arrayOk:!0,dflt:-1,min:-1},size:{valType:"number",arrayOk:!0,dflt:20,min:0},color:{valType:"color",arrayOk:!0},opacity:hw({},zA.opacity,{dflt:1})},mode:hw({},RA.mode,{dflt:"markers"}),text:hw({},RA.text,{}),texttemplate:djt({editType:"plot"},{keys:["lat","lon","text"]}),hovertext:hw({},RA.hovertext,{}),line:{color:PHe.color,width:PHe.width},connectgaps:RA.connectgaps,marker:hw({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:zA.opacity,size:zA.size,sizeref:zA.sizeref,sizemin:zA.sizemin,sizemode:zA.sizemode},gjt("marker")),fill:rC.fill,fillcolor:vjt(),textfont:LHe.layers.symbol.textfont,textposition:LHe.layers.symbol.textposition,below:{valType:"string"},selected:{marker:RA.selected.marker},unselected:{marker:RA.unselected.marker},hoverinfo:hw({},pjt.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:hjt()},"calc","nested")});var xJ=ye((i_r,DHe)=>{"use strict";var _jt=["Metropolis Black Italic","Metropolis Black","Metropolis Bold Italic","Metropolis Bold","Metropolis Extra Bold Italic","Metropolis Extra Bold","Metropolis Extra Light Italic","Metropolis Extra Light","Metropolis Light Italic","Metropolis Light","Metropolis Medium Italic","Metropolis Medium","Metropolis Regular Italic","Metropolis Regular","Metropolis Semi Bold Italic","Metropolis Semi Bold","Metropolis Thin Italic","Metropolis Thin","Open Sans Bold Italic","Open Sans Bold","Open Sans Extrabold Italic","Open Sans Extrabold","Open Sans Italic","Open Sans Light Italic","Open Sans Light","Open Sans Regular","Open Sans Semibold Italic","Open Sans Semibold","Klokantech Noto Sans Bold","Klokantech Noto Sans CJK Bold","Klokantech Noto Sans CJK Regular","Klokantech Noto Sans Italic","Klokantech Noto Sans Regular"];DHe.exports={isSupportedFont:function(e){return _jt.indexOf(e)!==-1}}});var FHe=ye((n_r,zHe)=>{"use strict";var iC=Ar(),bJ=lu(),xjt=t0(),bjt=q0(),wjt=O0(),Tjt=Rg(),RHe=f7(),Ajt=xJ().isSupportedFont;zHe.exports=function(t,r,n,i){function a(p,E){return iC.coerce(t,r,RHe,p,E)}function o(p,E){return iC.coerce2(t,r,RHe,p,E)}var s=Sjt(t,r,a);if(!s){r.visible=!1;return}if(a("text"),a("texttemplate"),a("hovertext"),a("hovertemplate"),a("mode"),a("below"),bJ.hasMarkers(r)){xjt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a("marker.allowoverlap"),a("marker.angle");var l=r.marker;l.symbol!=="circle"&&(iC.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),iC.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}bJ.hasLines(r)&&(bjt(t,r,n,i,a,{noDash:!0}),a("connectgaps"));var u=o("cluster.maxzoom"),c=o("cluster.step"),f=o("cluster.color",r.marker&&r.marker.color||n),h=o("cluster.size"),v=o("cluster.opacity"),d=u!==!1||c!==!1||f!==!1||h!==!1||v!==!1,_=a("cluster.enabled",d);if(_||bJ.hasText(r)){var b=i.font.family;wjt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:Ajt(b)?b:"Open Sans Regular",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a("fill"),r.fill!=="none"&&Tjt(t,r,n,a),iC.coerceSelectionMarkerOpacity(r,a)};function Sjt(e,t,r){var n=r("lon")||[],i=r("lat")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var wJ=ye((a_r,OHe)=>{"use strict";var qHe=Xa();OHe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=qHe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=qHe.tickText(o,o.c2l(s[1]),!0).text,i}});var TJ=ye((o_r,NHe)=>{"use strict";var BHe=Ar();NHe.exports=function(t,r){var n=t.split(" "),i=n[0],a=n[1],o=BHe.isArrayOrTypedArray(r)?BHe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=["",""],c=[0,0];switch(i){case"top":u[0]="top",c[1]=-l;break;case"bottom":u[0]="bottom",c[1]=l;break}switch(a){case"left":u[1]="right",c[0]=-s;break;case"right":u[1]="left",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join("-"):u[0]?f=u[0]:u[1]?f=u[1]:f="center",{anchor:f,offset:c}}});var WHe=ye((s_r,jHe)=>{"use strict";var HHe=uo(),av=Ar(),Mjt=Yo().BADNUM,d7=ux(),UHe=Mu(),Ejt=ao(),kjt=F3(),v7=lu(),Cjt=xJ().isSupportedFont,Ljt=TJ(),Pjt=np().appendArrayPointValue,Ijt=Ll().NEWLINES,Djt=Ll().BR_TAG_ALL;jHe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!=="none",o=v7.hasLines(n),s=v7.hasMarkers(n),l=v7.hasText(n),u=s&&n.marker.symbol==="circle",c=s&&n.marker.symbol!=="circle",f=n.cluster&&n.cluster.enabled,h=h7("fill"),v=h7("line"),d=h7("circle"),_=h7("symbol"),b={fill:h,line:v,circle:d,symbol:_};if(!i)return b;var p;if((a||o)&&(p=d7.calcTraceToLineCoords(r)),a&&(h.geojson=d7.makePolygon(p),h.layout.visibility="visible",av.extendFlat(h.paint,{"fill-color":n.fillcolor})),o&&(v.geojson=d7.makeLine(p),v.layout.visibility="visible",av.extendFlat(v.paint,{"line-width":n.line.width,"line-color":n.line.color,"line-opacity":n.opacity})),u){var E=Rjt(r);d.geojson=E.geojson,d.layout.visibility="visible",f&&(d.filter=["!",["has","point_count"]],b.cluster={type:"circle",filter:["has","point_count"],layout:{visibility:"visible"},paint:{"circle-color":SJ(n.cluster.color,n.cluster.step),"circle-radius":SJ(n.cluster.size,n.cluster.step),"circle-opacity":SJ(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:"symbol",filter:["has","point_count"],paint:{},layout:{"text-field":"{point_count_abbreviated}","text-font":VHe(n),"text-size":12}}),av.extendFlat(d.paint,{"circle-color":E.mcc,"circle-radius":E.mrc,"circle-opacity":E.mo})}if(u&&f&&(d.filter=["!",["has","point_count"]]),(c||l)&&(_.geojson=zjt(r,t),av.extendFlat(_.layout,{visibility:"visible","icon-image":"{symbol}-15","text-field":"{text}"}),c&&(av.extendFlat(_.layout,{"icon-size":n.marker.size/10}),"angle"in n.marker&&n.marker.angle!=="auto"&&av.extendFlat(_.layout,{"icon-rotate":{type:"identity",property:"angle"},"icon-rotation-alignment":"map"}),_.layout["icon-allow-overlap"]=n.marker.allowoverlap,av.extendFlat(_.paint,{"icon-opacity":n.opacity*n.marker.opacity,"icon-color":n.marker.color})),l)){var k=(n.marker||{}).size,S=Ljt(n.textposition,k);av.extendFlat(_.layout,{"text-size":n.textfont.size,"text-anchor":S.anchor,"text-offset":S.offset,"text-font":VHe(n)}),av.extendFlat(_.paint,{"text-color":n.textfont.color,"text-opacity":n.opacity})}return b};function h7(e){return{type:e,geojson:d7.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function Rjt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=av.isArrayOrTypedArray(r.color),a=av.isArrayOrTypedArray(r.size),o=av.isArrayOrTypedArray(r.opacity),s;function l(k){return t.opacity*k}function u(k){return k/2}var c;i&&(UHe.hasColorscale(t,"marker")?c=UHe.makeColorScaleFuncFromTrace(r):c=av.identity);var f;a&&(f=kjt(t));var h;o&&(h=function(k){var S=HHe(k)?+av.constrain(k,0,1):0;return l(S)});var v=[];for(s=0;s850?s+=" Black":i>750?s+=" Extra Bold":i>650?s+=" Bold":i>550?s+=" Semi Bold":i>450?s+=" Medium":i>350?s+=" Regular":i>250?s+=" Light":i>150?s+=" Extra Light":s+=" Thin"):a.slice(0,2).join(" ")==="Open Sans"?(s="Open Sans",i>750?s+=" Extrabold":i>650?s+=" Bold":i>550?s+=" Semibold":i>350?s+=" Regular":s+=" Light"):a.slice(0,3).join(" ")==="Klokantech Noto Sans"&&(s="Klokantech Noto Sans",a[3]==="CJK"&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),s==="Open Sans Regular Italic"?s="Open Sans Italic":s==="Open Sans Regular Bold"?s="Open Sans Bold":s==="Open Sans Regular Bold Italic"?s="Open Sans Bold Italic":s==="Klokantech Noto Sans Regular Italic"&&(s="Klokantech Noto Sans Italic"),Cjt(s)||(s=r);var l=s.split(", ");return l}});var KHe=ye((l_r,YHe)=>{"use strict";var Fjt=Ar(),ZHe=WHe(),FA=Cx().traceLayerPrefix,lg={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function XHe(e,t,r,n){this.type="scattermap",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+t+"-fill",line:"source-"+t+"-line",circle:"source-"+t+"-circle",symbol:"source-"+t+"-symbol",cluster:"source-"+t+"-circle",clusterCount:"source-"+t+"-circle"},this.layerIds={fill:FA+t+"-fill",line:FA+t+"-line",circle:FA+t+"-circle",symbol:FA+t+"-symbol",cluster:FA+t+"-cluster",clusterCount:FA+t+"-cluster-count"},this.below=null}var nC=XHe.prototype;nC.addSource=function(e,t,r){var n={type:"geojson",data:t.geojson};r&&r.enabled&&Fjt.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};nC.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};nC.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s=0;L--){var x=S[L];i.removeLayer(u.layerIds[x])}k||i.removeSource(u.sourceIds.circle)}function h(k){for(var S=lg.nonCluster,L=0;L=0;L--){var x=S[L];i.removeLayer(u.layerIds[x]),k||i.removeSource(u.sourceIds[x])}}function d(k){l?f(k):v(k)}function _(k){s?c(k):h(k)}function b(){for(var k=s?lg.cluster:lg.nonCluster,S=0;S=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};YHe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new XHe(t,n.uid,i,a),s=ZHe(t.gd,r),l=o.below=t.belowLookup["trace-"+n.uid],u,c,f;if(i)for(o.addSource("circle",s.circle,n.cluster),u=0;u{"use strict";var qjt=Nc(),MJ=Ar(),Ojt=mT(),Bjt=MJ.fillText,Njt=Yo().BADNUM,Ujt=Cx().traceLayerPrefix;function Vjt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=Ujt+i.uid+"-circle",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(M){return M.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),v=h*360,d=t-v;function _(M){var g=M.lonlat;if(g[0]===Njt||c&&l.indexOf(M.i+1)===-1)return 1/0;var P=MJ.modHalf(g[0],360),T=g[1],F=s.project([P,T]),q=F.x-a.c2p([d,T]),V=F.y-o.c2p([P,r]),H=Math.max(3,M.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-H,1-3/H)}if(qjt.getClosest(n,_,e),e.index!==!1){var b=n[e.index],p=b.lonlat,E=[MJ.modHalf(p[0],360)+v,p[1]],k=a.c2p(E),S=o.c2p(E),L=b.mrc||1;e.x0=k-L,e.x1=k+L,e.y0=S-L,e.y1=S+L;var x={};x[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,x);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=Ojt(i,b),e.extraText=JHe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function JHe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split("+"),a=i.indexOf("all")!==-1,o=i.indexOf("lon")!==-1,s=i.indexOf("lat")!==-1,l=t.lonlat,u=[];function c(f){return f+"\xB0"}return a||o&&s?u.push("("+c(l[1])+", "+c(l[0])+")"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf("text")!==-1)&&Bjt(t,e,u),u.join("
")}$He.exports={hoverPoints:Vjt,getExtraText:JHe}});var eGe=ye((c_r,QHe)=>{"use strict";QHe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var rGe=ye((f_r,tGe)=>{"use strict";var Hjt=Ar(),Gjt=lu(),jjt=Yo().BADNUM;tGe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!Gjt.hasMarkers(s))return[];if(r===!1)for(l=0;l{(function(e,t){typeof EJ=="object"&&typeof kJ!="undefined"?kJ.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis!="undefined"?globalThis:e||self,e.maplibregl=t())})(EJ,function(){"use strict";var e={},t={};function r(i,a,o){if(t[i]=o,i==="index"){var s="var sharedModule = {}; ("+t.shared+")(sharedModule); ("+t.worker+")(sharedModule);",l={};return t.shared(l),t.index(e,l),typeof window!="undefined"&&e.setWorkerUrl(window.URL.createObjectURL(new Blob([s],{type:"text/javascript"}))),e}}r("shared",["exports"],function(i){"use strict";function a(D,A,R,j){return new(R||(R=Promise))(function(te,ue){function ve(at){try{Ze(j.next(at))}catch(Tt){ue(Tt)}}function Re(at){try{Ze(j.throw(at))}catch(Tt){ue(Tt)}}function Ze(at){var Tt;at.done?te(at.value):(Tt=at.value,Tt instanceof R?Tt:new R(function(Ft){Ft(Tt)})).then(ve,Re)}Ze((j=j.apply(D,A||[])).next())})}function o(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}typeof SuppressedError=="function"&&SuppressedError;var s=l;function l(D,A){this.x=D,this.y=A}l.prototype={clone:function(){return new l(this.x,this.y)},add:function(D){return this.clone()._add(D)},sub:function(D){return this.clone()._sub(D)},multByPoint:function(D){return this.clone()._multByPoint(D)},divByPoint:function(D){return this.clone()._divByPoint(D)},mult:function(D){return this.clone()._mult(D)},div:function(D){return this.clone()._div(D)},rotate:function(D){return this.clone()._rotate(D)},rotateAround:function(D,A){return this.clone()._rotateAround(D,A)},matMult:function(D){return this.clone()._matMult(D)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(D){return this.x===D.x&&this.y===D.y},dist:function(D){return Math.sqrt(this.distSqr(D))},distSqr:function(D){var A=D.x-this.x,R=D.y-this.y;return A*A+R*R},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(D){return Math.atan2(this.y-D.y,this.x-D.x)},angleWith:function(D){return this.angleWithSep(D.x,D.y)},angleWithSep:function(D,A){return Math.atan2(this.x*A-this.y*D,this.x*D+this.y*A)},_matMult:function(D){var A=D[2]*this.x+D[3]*this.y;return this.x=D[0]*this.x+D[1]*this.y,this.y=A,this},_add:function(D){return this.x+=D.x,this.y+=D.y,this},_sub:function(D){return this.x-=D.x,this.y-=D.y,this},_mult:function(D){return this.x*=D,this.y*=D,this},_div:function(D){return this.x/=D,this.y/=D,this},_multByPoint:function(D){return this.x*=D.x,this.y*=D.y,this},_divByPoint:function(D){return this.x/=D.x,this.y/=D.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var D=this.y;return this.y=this.x,this.x=-D,this},_rotate:function(D){var A=Math.cos(D),R=Math.sin(D),j=R*this.x+A*this.y;return this.x=A*this.x-R*this.y,this.y=j,this},_rotateAround:function(D,A){var R=Math.cos(D),j=Math.sin(D),te=A.y+j*(this.x-A.x)+R*(this.y-A.y);return this.x=A.x+R*(this.x-A.x)-j*(this.y-A.y),this.y=te,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},l.convert=function(D){return D instanceof l?D:Array.isArray(D)?new l(D[0],D[1]):D};var u=o(s),c=f;function f(D,A,R,j){this.cx=3*D,this.bx=3*(R-D)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*A,this.by=3*(j-A)-this.cy,this.ay=1-this.cy-this.by,this.p1x=D,this.p1y=A,this.p2x=R,this.p2y=j}f.prototype={sampleCurveX:function(D){return((this.ax*D+this.bx)*D+this.cx)*D},sampleCurveY:function(D){return((this.ay*D+this.by)*D+this.cy)*D},sampleCurveDerivativeX:function(D){return(3*this.ax*D+2*this.bx)*D+this.cx},solveCurveX:function(D,A){if(A===void 0&&(A=1e-6),D<0)return 0;if(D>1)return 1;for(var R=D,j=0;j<8;j++){var te=this.sampleCurveX(R)-D;if(Math.abs(te)te?ve=R:Re=R,R=.5*(Re-ve)+ve;return R},solve:function(D,A){return this.sampleCurveY(this.solveCurveX(D,A))}};var h=o(c);let v,d;function _(){return v==null&&(v=typeof OffscreenCanvas!="undefined"&&new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),v}function b(){if(d==null&&(d=!1,_())){let A=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(A){for(let j=0;j<5*5;j++){let te=4*j;A.fillStyle=`rgb(${te},${te+1},${te+2})`,A.fillRect(j%5,Math.floor(j/5),1,1)}let R=A.getImageData(0,0,5,5).data;for(let j=0;j<5*5*4;j++)if(j%4!=3&&R[j]!==j){d=!0;break}}}return d||!1}function p(D,A,R,j){let te=new h(D,A,R,j);return ue=>te.solve(ue)}let E=p(.25,.1,.25,1);function k(D,A,R){return Math.min(R,Math.max(A,D))}function S(D,A,R){let j=R-A,te=((D-A)%j+j)%j+A;return te===A?R:te}function L(D,...A){for(let R of A)for(let j in R)D[j]=R[j];return D}let x=1;function C(D,A,R){let j={};for(let te in D)j[te]=A.call(this,D[te],te,D);return j}function M(D,A,R){let j={};for(let te in D)A.call(this,D[te],te,D)&&(j[te]=D[te]);return j}function g(D){return Array.isArray(D)?D.map(g):typeof D=="object"&&D?C(D,g):D}let P={};function T(D){P[D]||(typeof console!="undefined"&&console.warn(D),P[D]=!0)}function F(D,A,R){return(R.y-D.y)*(A.x-D.x)>(A.y-D.y)*(R.x-D.x)}function q(D){return typeof WorkerGlobalScope!="undefined"&&D!==void 0&&D instanceof WorkerGlobalScope}let V=null;function H(D){return typeof ImageBitmap!="undefined"&&D instanceof ImageBitmap}let X="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function G(D,A,R,j,te){return a(this,void 0,void 0,function*(){if(typeof VideoFrame=="undefined")throw new Error("VideoFrame not supported");let ue=new VideoFrame(D,{timestamp:0});try{let ve=ue==null?void 0:ue.format;if(!ve||!ve.startsWith("BGR")&&!ve.startsWith("RGB"))throw new Error(`Unrecognized format ${ve}`);let Re=ve.startsWith("BGR"),Ze=new Uint8ClampedArray(j*te*4);if(yield ue.copyTo(Ze,function(at,Tt,Ft,Qt,sr){let Tr=4*Math.max(-Tt,0),Pr=(Math.max(0,Ft)-Ft)*Qt*4+Tr,$r=4*Qt,ni=Math.max(0,Tt),Ri=Math.max(0,Ft);return{rect:{x:ni,y:Ri,width:Math.min(at.width,Tt+Qt)-ni,height:Math.min(at.height,Ft+sr)-Ri},layout:[{offset:Pr,stride:$r}]}}(D,A,R,j,te)),Re)for(let at=0;atq(self)?self.worker&&self.worker.referrer:(window.location.protocol==="blob:"?window.parent:window).location.href,Te=function(D,A){if(/:\/\//.test(D.url)&&!/^https?:|^file:/.test(D.url)){let j=Me(D.url);if(j)return j(D,A);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:D,targetMapId:ke},A)}if(!(/^file:/.test(R=D.url)||/^file:/.test(ie())&&!/^\w+:/.test(R))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(j,te){return a(this,void 0,void 0,function*(){let ue=new Request(j.url,{method:j.method||"GET",body:j.body,credentials:j.credentials,headers:j.headers,cache:j.cache,referrer:ie(),signal:te.signal});j.type!=="json"||ue.headers.has("Accept")||ue.headers.set("Accept","application/json");let ve=yield fetch(ue);if(!ve.ok){let at=yield ve.blob();throw new ge(ve.status,ve.statusText,j.url,at)}let Re;Re=j.type==="arrayBuffer"||j.type==="image"?ve.arrayBuffer():j.type==="json"?ve.json():ve.text();let Ze=yield Re;if(te.signal.aborted)throw ae();return{data:Ze,cacheControl:ve.headers.get("Cache-Control"),expires:ve.headers.get("Expires")}})}(D,A);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:D,mustQueue:!0,targetMapId:ke},A)}var R;return function(j,te){return new Promise((ue,ve)=>{var Re;let Ze=new XMLHttpRequest;Ze.open(j.method||"GET",j.url,!0),j.type!=="arrayBuffer"&&j.type!=="image"||(Ze.responseType="arraybuffer");for(let at in j.headers)Ze.setRequestHeader(at,j.headers[at]);j.type==="json"&&(Ze.responseType="text",!((Re=j.headers)===null||Re===void 0)&&Re.Accept||Ze.setRequestHeader("Accept","application/json")),Ze.withCredentials=j.credentials==="include",Ze.onerror=()=>{ve(new Error(Ze.statusText))},Ze.onload=()=>{if(!te.signal.aborted)if((Ze.status>=200&&Ze.status<300||Ze.status===0)&&Ze.response!==null){let at=Ze.response;if(j.type==="json")try{at=JSON.parse(Ze.response)}catch(Tt){return void ve(Tt)}ue({data:at,cacheControl:Ze.getResponseHeader("Cache-Control"),expires:Ze.getResponseHeader("Expires")})}else{let at=new Blob([Ze.response],{type:Ze.getResponseHeader("Content-Type")});ve(new ge(Ze.status,Ze.statusText,j.url,at))}},te.signal.addEventListener("abort",()=>{Ze.abort(),ve(ae())}),Ze.send(j.body)})}(D,A)};function Ee(D){if(!D||D.indexOf("://")<=0||D.indexOf("data:image/")===0||D.indexOf("blob:")===0)return!0;let A=new URL(D),R=window.location;return A.protocol===R.protocol&&A.host===R.host}function Ae(D,A,R){R[D]&&R[D].indexOf(A)!==-1||(R[D]=R[D]||[],R[D].push(A))}function ze(D,A,R){if(R&&R[D]){let j=R[D].indexOf(A);j!==-1&&R[D].splice(j,1)}}class Ce{constructor(A,R={}){L(this,R),this.type=A}}class me extends Ce{constructor(A,R={}){super("error",L({error:A},R))}}class De{on(A,R){return this._listeners=this._listeners||{},Ae(A,R,this._listeners),this}off(A,R){return ze(A,R,this._listeners),ze(A,R,this._oneTimeListeners),this}once(A,R){return R?(this._oneTimeListeners=this._oneTimeListeners||{},Ae(A,R,this._oneTimeListeners),this):new Promise(j=>this.once(A,j))}fire(A,R){typeof A=="string"&&(A=new Ce(A,R||{}));let j=A.type;if(this.listens(j)){A.target=this;let te=this._listeners&&this._listeners[j]?this._listeners[j].slice():[];for(let Re of te)Re.call(this,A);let ue=this._oneTimeListeners&&this._oneTimeListeners[j]?this._oneTimeListeners[j].slice():[];for(let Re of ue)ze(j,Re,this._oneTimeListeners),Re.call(this,A);let ve=this._eventedParent;ve&&(L(A,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),ve.fire(A))}else A instanceof me&&console.error(A.error);return this}listens(A){return this._listeners&&this._listeners[A]&&this._listeners[A].length>0||this._oneTimeListeners&&this._oneTimeListeners[A]&&this._oneTimeListeners[A].length>0||this._eventedParent&&this._eventedParent.listens(A)}setEventedParent(A,R){return this._eventedParent=A,this._eventedParentData=R,this}}var ce={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"enum",default:"mercator",values:{mercator:{},globe:{}}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};let Ge=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function nt(D,A){let R={};for(let j in D)j!=="ref"&&(R[j]=D[j]);return Ge.forEach(j=>{j in A&&(R[j]=A[j])}),R}function ct(D,A){if(Array.isArray(D)){if(!Array.isArray(A)||D.length!==A.length)return!1;for(let R=0;R`:D.itemType.kind==="value"?"array":`array<${A}>`}return D.kind}let Ve=[Lt,St,Et,dt,Ht,Br,$t,Ne(fr),Or,Nr,ut];function Xe(D,A){if(A.kind==="error")return null;if(D.kind==="array"){if(A.kind==="array"&&(A.N===0&&A.itemType.kind==="value"||!Xe(D.itemType,A.itemType))&&(typeof D.N!="number"||D.N===A.N))return null}else{if(D.kind===A.kind)return null;if(D.kind==="value"){for(let R of Ve)if(!Xe(R,A))return null}}return`Expected ${Ye(D)} but found ${Ye(A)} instead.`}function ht(D,A){return A.some(R=>R.kind===D.kind)}function Le(D,A){return A.some(R=>R==="null"?D===null:R==="array"?Array.isArray(D):R==="object"?D&&!Array.isArray(D)&&typeof D=="object":R===typeof D)}function xe(D,A){return D.kind==="array"&&A.kind==="array"?D.itemType.kind===A.itemType.kind&&typeof D.N=="number":D.kind===A.kind}let Se=.96422,lt=.82521,Gt=4/29,Vt=6/29,ar=3*Vt*Vt,Qr=Vt*Vt*Vt,ai=Math.PI/180,jr=180/Math.PI;function ri(D){return(D%=360)<0&&(D+=360),D}function bi([D,A,R,j]){let te,ue,ve=Wi((.2225045*(D=nn(D))+.7168786*(A=nn(A))+.0606169*(R=nn(R)))/1);D===A&&A===R?te=ue=ve:(te=Wi((.4360747*D+.3850649*A+.1430804*R)/Se),ue=Wi((.0139322*D+.0971045*A+.7141733*R)/lt));let Re=116*ve-16;return[Re<0?0:Re,500*(te-ve),200*(ve-ue),j]}function nn(D){return D<=.04045?D/12.92:Math.pow((D+.055)/1.055,2.4)}function Wi(D){return D>Qr?Math.pow(D,1/3):D/ar+Gt}function Ni([D,A,R,j]){let te=(D+16)/116,ue=isNaN(A)?te:te+A/500,ve=isNaN(R)?te:te-R/200;return te=1*$i(te),ue=Se*$i(ue),ve=lt*$i(ve),[_n(3.1338561*ue-1.6168667*te-.4906146*ve),_n(-.9787684*ue+1.9161415*te+.033454*ve),_n(.0719453*ue-.2289914*te+1.4052427*ve),j]}function _n(D){return(D=D<=.00304?12.92*D:1.055*Math.pow(D,1/2.4)-.055)<0?0:D>1?1:D}function $i(D){return D>Vt?D*D*D:ar*(D-Gt)}function zn(D){return parseInt(D.padEnd(2,D),16)/255}function Wn(D,A){return Dt(A?D/100:D,0,1)}function Dt(D,A,R){return Math.min(Math.max(A,D),R)}function ft(D){return!D.some(Number.isNaN)}let jt={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class Zt{constructor(A,R,j,te=1,ue=!0){this.r=A,this.g=R,this.b=j,this.a=te,ue||(this.r*=te,this.g*=te,this.b*=te,te||this.overwriteGetter("rgb",[A,R,j,te]))}static parse(A){if(A instanceof Zt)return A;if(typeof A!="string")return;let R=function(j){if((j=j.toLowerCase().trim())==="transparent")return[0,0,0,0];let te=jt[j];if(te){let[ve,Re,Ze]=te;return[ve/255,Re/255,Ze/255,1]}if(j.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(j)){let ve=j.length<6?1:2,Re=1;return[zn(j.slice(Re,Re+=ve)),zn(j.slice(Re,Re+=ve)),zn(j.slice(Re,Re+=ve)),zn(j.slice(Re,Re+ve)||"ff")]}if(j.startsWith("rgb")){let ve=j.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(ve){let[Re,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Ri]=ve,pi=[Tt||" ",sr||" ",$r].join("");if(pi===" "||pi===" /"||pi===",,"||pi===",,,"){let ki=[at,Qt,Pr].join(""),Zi=ki==="%%%"?100:ki===""?255:0;if(Zi){let ta=[Dt(+Ze/Zi,0,1),Dt(+Ft/Zi,0,1),Dt(+Tr/Zi,0,1),ni?Wn(+ni,Ri):1];if(ft(ta))return ta}}return}}let ue=j.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(ue){let[ve,Re,Ze,at,Tt,Ft,Qt,sr,Tr]=ue,Pr=[Ze||" ",Tt||" ",Qt].join("");if(Pr===" "||Pr===" /"||Pr===",,"||Pr===",,,"){let $r=[+Re,Dt(+at,0,100),Dt(+Ft,0,100),sr?Wn(+sr,Tr):1];if(ft($r))return function([ni,Ri,pi,ki]){function Zi(ta){let Va=(ta+ni/30)%12,Io=Ri*Math.min(pi,1-pi);return pi-Io*Math.max(-1,Math.min(Va-3,9-Va,1))}return ni=ri(ni),Ri/=100,pi/=100,[Zi(0),Zi(8),Zi(4),ki]}($r)}}}(A);return R?new Zt(...R,!1):void 0}get rgb(){let{r:A,g:R,b:j,a:te}=this,ue=te||1/0;return this.overwriteGetter("rgb",[A/ue,R/ue,j/ue,te])}get hcl(){return this.overwriteGetter("hcl",function(A){let[R,j,te,ue]=bi(A),ve=Math.sqrt(j*j+te*te);return[Math.round(1e4*ve)?ri(Math.atan2(te,j)*jr):NaN,ve,R,ue]}(this.rgb))}get lab(){return this.overwriteGetter("lab",bi(this.rgb))}overwriteGetter(A,R){return Object.defineProperty(this,A,{value:R}),R}toString(){let[A,R,j,te]=this.rgb;return`rgba(${[A,R,j].map(ue=>Math.round(255*ue)).join(",")},${te})`}}Zt.black=new Zt(0,0,0,1),Zt.white=new Zt(1,1,1,1),Zt.transparent=new Zt(0,0,0,0),Zt.red=new Zt(1,0,0,1);class _r{constructor(A,R,j){this.sensitivity=A?R?"variant":"case":R?"accent":"base",this.locale=j,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(A,R){return this.collator.compare(A,R)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Fr{constructor(A,R,j,te,ue){this.text=A,this.image=R,this.scale=j,this.fontStack=te,this.textColor=ue}}class Zr{constructor(A){this.sections=A}static fromString(A){return new Zr([new Fr(A,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(A=>A.text.length!==0||A.image&&A.image.name.length!==0)}static factory(A){return A instanceof Zr?A:Zr.fromString(A)}toString(){return this.sections.length===0?"":this.sections.map(A=>A.text).join("")}}class Vr{constructor(A){this.values=A.slice()}static parse(A){if(A instanceof Vr)return A;if(typeof A=="number")return new Vr([A,A,A,A]);if(Array.isArray(A)&&!(A.length<1||A.length>4)){for(let R of A)if(typeof R!="number")return;switch(A.length){case 1:A=[A[0],A[0],A[0],A[0]];break;case 2:A=[A[0],A[1],A[0],A[1]];break;case 3:A=[A[0],A[1],A[2],A[1]]}return new Vr(A)}}toString(){return JSON.stringify(this.values)}}let gi=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class Si{constructor(A){this.values=A.slice()}static parse(A){if(A instanceof Si)return A;if(Array.isArray(A)&&!(A.length<1)&&A.length%2==0){for(let R=0;R=0&&D<=255&&typeof A=="number"&&A>=0&&A<=255&&typeof R=="number"&&R>=0&&R<=255?j===void 0||typeof j=="number"&&j>=0&&j<=1?null:`Invalid rgba value [${[D,A,R,j].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof j=="number"?[D,A,R,j]:[D,A,R]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Gi(D){if(D===null||typeof D=="string"||typeof D=="boolean"||typeof D=="number"||D instanceof Zt||D instanceof _r||D instanceof Zr||D instanceof Vr||D instanceof Si||D instanceof Mi)return!0;if(Array.isArray(D)){for(let A of D)if(!Gi(A))return!1;return!0}if(typeof D=="object"){for(let A in D)if(!Gi(D[A]))return!1;return!0}return!1}function Ki(D){if(D===null)return Lt;if(typeof D=="string")return Et;if(typeof D=="boolean")return dt;if(typeof D=="number")return St;if(D instanceof Zt)return Ht;if(D instanceof _r)return xr;if(D instanceof Zr)return Br;if(D instanceof Vr)return Or;if(D instanceof Si)return ut;if(D instanceof Mi)return Nr;if(Array.isArray(D)){let A=D.length,R;for(let j of D){let te=Ki(j);if(R){if(R===te)continue;R=fr;break}R=te}return Ne(R||fr,A)}return $t}function Ca(D){let A=typeof D;return D===null?"":A==="string"||A==="number"||A==="boolean"?String(D):D instanceof Zt||D instanceof Zr||D instanceof Vr||D instanceof Si||D instanceof Mi?D.toString():JSON.stringify(D)}class jn{constructor(A,R){this.type=A,this.value=R}static parse(A,R){if(A.length!==2)return R.error(`'literal' expression requires exactly one argument, but found ${A.length-1} instead.`);if(!Gi(A[1]))return R.error("invalid value");let j=A[1],te=Ki(j),ue=R.expectedType;return te.kind!=="array"||te.N!==0||!ue||ue.kind!=="array"||typeof ue.N=="number"&&ue.N!==0||(te=ue),new jn(te,j)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class ua{constructor(A){this.name="ExpressionEvaluationError",this.message=A}toJSON(){return this.message}}let Fa={string:Et,number:St,boolean:dt,object:$t};class Da{constructor(A,R){this.type=A,this.args=R}static parse(A,R){if(A.length<2)return R.error("Expected at least one argument.");let j,te=1,ue=A[0];if(ue==="array"){let Re,Ze;if(A.length>2){let at=A[1];if(typeof at!="string"||!(at in Fa)||at==="object")return R.error('The item type argument of "array" must be one of string, number, boolean',1);Re=Fa[at],te++}else Re=fr;if(A.length>3){if(A[2]!==null&&(typeof A[2]!="number"||A[2]<0||A[2]!==Math.floor(A[2])))return R.error('The length argument to "array" must be a positive integer literal',2);Ze=A[2],te++}j=Ne(Re,Ze)}else{if(!Fa[ue])throw new Error(`Types doesn't contain name = ${ue}`);j=Fa[ue]}let ve=[];for(;teA.outputDefined())}}let jo={"to-boolean":dt,"to-color":Ht,"to-number":St,"to-string":Et};class sa{constructor(A,R){this.type=A,this.args=R}static parse(A,R){if(A.length<2)return R.error("Expected at least one argument.");let j=A[0];if(!jo[j])throw new Error(`Can't parse ${j} as it is not part of the known types`);if((j==="to-boolean"||j==="to-string")&&A.length!==2)return R.error("Expected one argument.");let te=jo[j],ue=[];for(let ve=1;ve4?`Invalid rbga value ${JSON.stringify(R)}: expected an array containing either three or four numeric values.`:Pi(R[0],R[1],R[2],R[3]),!j))return new Zt(R[0]/255,R[1]/255,R[2]/255,R[3])}throw new ua(j||`Could not parse color from value '${typeof R=="string"?R:JSON.stringify(R)}'`)}case"padding":{let R;for(let j of this.args){R=j.evaluate(A);let te=Vr.parse(R);if(te)return te}throw new ua(`Could not parse padding from value '${typeof R=="string"?R:JSON.stringify(R)}'`)}case"variableAnchorOffsetCollection":{let R;for(let j of this.args){R=j.evaluate(A);let te=Si.parse(R);if(te)return te}throw new ua(`Could not parse variableAnchorOffsetCollection from value '${typeof R=="string"?R:JSON.stringify(R)}'`)}case"number":{let R=null;for(let j of this.args){if(R=j.evaluate(A),R===null)return 0;let te=Number(R);if(!isNaN(te))return te}throw new ua(`Could not convert ${JSON.stringify(R)} to number.`)}case"formatted":return Zr.fromString(Ca(this.args[0].evaluate(A)));case"resolvedImage":return Mi.fromString(Ca(this.args[0].evaluate(A)));default:return Ca(this.args[0].evaluate(A))}}eachChild(A){this.args.forEach(A)}outputDefined(){return this.args.every(A=>A.outputDefined())}}let Sn=["Unknown","Point","LineString","Polygon"];class Ha{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type=="number"?Sn[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(A){let R=this._parseColorCache[A];return R||(R=this._parseColorCache[A]=Zt.parse(A)),R}}class oo{constructor(A,R,j=[],te,ue=new xt,ve=[]){this.registry=A,this.path=j,this.key=j.map(Re=>`[${Re}]`).join(""),this.scope=ue,this.errors=ve,this.expectedType=te,this._isConstant=R}parse(A,R,j,te,ue={}){return R?this.concat(R,j,te)._parse(A,ue):this._parse(A,ue)}_parse(A,R){function j(te,ue,ve){return ve==="assert"?new Da(ue,[te]):ve==="coerce"?new sa(ue,[te]):te}if(A!==null&&typeof A!="string"&&typeof A!="boolean"&&typeof A!="number"||(A=["literal",A]),Array.isArray(A)){if(A.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');let te=A[0];if(typeof te!="string")return this.error(`Expression name must be a string, but found ${typeof te} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let ue=this.registry[te];if(ue){let ve=ue.parse(A,this);if(!ve)return null;if(this.expectedType){let Re=this.expectedType,Ze=ve.type;if(Re.kind!=="string"&&Re.kind!=="number"&&Re.kind!=="boolean"&&Re.kind!=="object"&&Re.kind!=="array"||Ze.kind!=="value")if(Re.kind!=="color"&&Re.kind!=="formatted"&&Re.kind!=="resolvedImage"||Ze.kind!=="value"&&Ze.kind!=="string")if(Re.kind!=="padding"||Ze.kind!=="value"&&Ze.kind!=="number"&&Ze.kind!=="array")if(Re.kind!=="variableAnchorOffsetCollection"||Ze.kind!=="value"&&Ze.kind!=="array"){if(this.checkSubtype(Re,Ze))return null}else ve=j(ve,Re,R.typeAnnotation||"coerce");else ve=j(ve,Re,R.typeAnnotation||"coerce");else ve=j(ve,Re,R.typeAnnotation||"coerce");else ve=j(ve,Re,R.typeAnnotation||"assert")}if(!(ve instanceof jn)&&ve.type.kind!=="resolvedImage"&&this._isConstant(ve)){let Re=new Ha;try{ve=new jn(ve.type,ve.evaluate(Re))}catch(Ze){return this.error(Ze.message),null}}return ve}return this.error(`Unknown expression "${te}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(A===void 0?"'undefined' value invalid. Use null instead.":typeof A=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof A} instead.`)}concat(A,R,j){let te=typeof A=="number"?this.path.concat(A):this.path,ue=j?this.scope.concat(j):this.scope;return new oo(this.registry,this._isConstant,te,R||null,ue,this.errors)}error(A,...R){let j=`${this.key}${R.map(te=>`[${te}]`).join("")}`;this.errors.push(new bt(j,A))}checkSubtype(A,R){let j=Xe(A,R);return j&&this.error(j),j}}class xn{constructor(A,R){this.type=R.type,this.bindings=[].concat(A),this.result=R}evaluate(A){return this.result.evaluate(A)}eachChild(A){for(let R of this.bindings)A(R[1]);A(this.result)}static parse(A,R){if(A.length<4)return R.error(`Expected at least 3 arguments, but found ${A.length-1} instead.`);let j=[];for(let ue=1;ue=j.length)throw new ua(`Array index out of bounds: ${R} > ${j.length-1}.`);if(R!==Math.floor(R))throw new ua(`Array index must be an integer, but found ${R} instead.`);return j[R]}eachChild(A){A(this.index),A(this.input)}outputDefined(){return!1}}class Hr{constructor(A,R){this.type=dt,this.needle=A,this.haystack=R}static parse(A,R){if(A.length!==3)return R.error(`Expected 2 arguments, but found ${A.length-1} instead.`);let j=R.parse(A[1],1,fr),te=R.parse(A[2],2,fr);return j&&te?ht(j.type,[dt,Et,St,Lt,fr])?new Hr(j,te):R.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(j.type)} instead`):null}evaluate(A){let R=this.needle.evaluate(A),j=this.haystack.evaluate(A);if(!j)return!1;if(!Le(R,["boolean","string","number","null"]))throw new ua(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(Ki(R))} instead.`);if(!Le(j,["string","array"]))throw new ua(`Expected second argument to be of type array or string, but found ${Ye(Ki(j))} instead.`);return j.indexOf(R)>=0}eachChild(A){A(this.needle),A(this.haystack)}outputDefined(){return!0}}class ti{constructor(A,R,j){this.type=St,this.needle=A,this.haystack=R,this.fromIndex=j}static parse(A,R){if(A.length<=2||A.length>=5)return R.error(`Expected 3 or 4 arguments, but found ${A.length-1} instead.`);let j=R.parse(A[1],1,fr),te=R.parse(A[2],2,fr);if(!j||!te)return null;if(!ht(j.type,[dt,Et,St,Lt,fr]))return R.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(j.type)} instead`);if(A.length===4){let ue=R.parse(A[3],3,St);return ue?new ti(j,te,ue):null}return new ti(j,te)}evaluate(A){let R=this.needle.evaluate(A),j=this.haystack.evaluate(A);if(!Le(R,["boolean","string","number","null"]))throw new ua(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(Ki(R))} instead.`);let te;if(this.fromIndex&&(te=this.fromIndex.evaluate(A)),Le(j,["string"])){let ue=j.indexOf(R,te);return ue===-1?-1:[...j.slice(0,ue)].length}if(Le(j,["array"]))return j.indexOf(R,te);throw new ua(`Expected second argument to be of type array or string, but found ${Ye(Ki(j))} instead.`)}eachChild(A){A(this.needle),A(this.haystack),this.fromIndex&&A(this.fromIndex)}outputDefined(){return!1}}class zi{constructor(A,R,j,te,ue,ve){this.inputType=A,this.type=R,this.input=j,this.cases=te,this.outputs=ue,this.otherwise=ve}static parse(A,R){if(A.length<5)return R.error(`Expected at least 4 arguments, but found only ${A.length-1}.`);if(A.length%2!=1)return R.error("Expected an even number of arguments.");let j,te;R.expectedType&&R.expectedType.kind!=="value"&&(te=R.expectedType);let ue={},ve=[];for(let at=2;atNumber.MAX_SAFE_INTEGER)return Qt.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof Tr=="number"&&Math.floor(Tr)!==Tr)return Qt.error("Numeric branch labels must be integer values.");if(j){if(Qt.checkSubtype(j,Ki(Tr)))return null}else j=Ki(Tr);if(ue[String(Tr)]!==void 0)return Qt.error("Branch labels must be unique.");ue[String(Tr)]=ve.length}let sr=R.parse(Ft,at,te);if(!sr)return null;te=te||sr.type,ve.push(sr)}let Re=R.parse(A[1],1,fr);if(!Re)return null;let Ze=R.parse(A[A.length-1],A.length-1,te);return Ze?Re.type.kind!=="value"&&R.concat(1).checkSubtype(j,Re.type)?null:new zi(j,te,Re,ue,ve,Ze):null}evaluate(A){let R=this.input.evaluate(A);return(Ki(R)===this.inputType&&this.outputs[this.cases[R]]||this.otherwise).evaluate(A)}eachChild(A){A(this.input),this.outputs.forEach(A),A(this.otherwise)}outputDefined(){return this.outputs.every(A=>A.outputDefined())&&this.otherwise.outputDefined()}}class Yi{constructor(A,R,j){this.type=A,this.branches=R,this.otherwise=j}static parse(A,R){if(A.length<4)return R.error(`Expected at least 3 arguments, but found only ${A.length-1}.`);if(A.length%2!=0)return R.error("Expected an odd number of arguments.");let j;R.expectedType&&R.expectedType.kind!=="value"&&(j=R.expectedType);let te=[];for(let ve=1;veR.outputDefined())&&this.otherwise.outputDefined()}}class an{constructor(A,R,j,te){this.type=A,this.input=R,this.beginIndex=j,this.endIndex=te}static parse(A,R){if(A.length<=2||A.length>=5)return R.error(`Expected 3 or 4 arguments, but found ${A.length-1} instead.`);let j=R.parse(A[1],1,fr),te=R.parse(A[2],2,St);if(!j||!te)return null;if(!ht(j.type,[Ne(fr),Et,fr]))return R.error(`Expected first argument to be of type array or string, but found ${Ye(j.type)} instead`);if(A.length===4){let ue=R.parse(A[3],3,St);return ue?new an(j.type,j,te,ue):null}return new an(j.type,j,te)}evaluate(A){let R=this.input.evaluate(A),j=this.beginIndex.evaluate(A),te;if(this.endIndex&&(te=this.endIndex.evaluate(A)),Le(R,["string"]))return[...R].slice(j,te).join("");if(Le(R,["array"]))return R.slice(j,te);throw new ua(`Expected first argument to be of type array or string, but found ${Ye(Ki(R))} instead.`)}eachChild(A){A(this.input),A(this.beginIndex),this.endIndex&&A(this.endIndex)}outputDefined(){return!1}}function hi(D,A){let R=D.length-1,j,te,ue=0,ve=R,Re=0;for(;ue<=ve;)if(Re=Math.floor((ue+ve)/2),j=D[Re],te=D[Re+1],j<=A){if(Re===R||AA))throw new ua("Input is not a number.");ve=Re-1}return 0}class Ji{constructor(A,R,j){this.type=A,this.input=R,this.labels=[],this.outputs=[];for(let[te,ue]of j)this.labels.push(te),this.outputs.push(ue)}static parse(A,R){if(A.length-1<4)return R.error(`Expected at least 4 arguments, but found only ${A.length-1}.`);if((A.length-1)%2!=0)return R.error("Expected an even number of arguments.");let j=R.parse(A[1],1,St);if(!j)return null;let te=[],ue=null;R.expectedType&&R.expectedType.kind!=="value"&&(ue=R.expectedType);for(let ve=1;ve=Re)return R.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',at);let Ft=R.parse(Ze,Tt,ue);if(!Ft)return null;ue=ue||Ft.type,te.push([Re,Ft])}return new Ji(ue,j,te)}evaluate(A){let R=this.labels,j=this.outputs;if(R.length===1)return j[0].evaluate(A);let te=this.input.evaluate(A);if(te<=R[0])return j[0].evaluate(A);let ue=R.length;return te>=R[ue-1]?j[ue-1].evaluate(A):j[hi(R,te)].evaluate(A)}eachChild(A){A(this.input);for(let R of this.outputs)A(R)}outputDefined(){return this.outputs.every(A=>A.outputDefined())}}function ca(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var Fn=Ma;function Ma(D,A,R,j){this.cx=3*D,this.bx=3*(R-D)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*A,this.by=3*(j-A)-this.cy,this.ay=1-this.cy-this.by,this.p1x=D,this.p1y=A,this.p2x=R,this.p2y=j}Ma.prototype={sampleCurveX:function(D){return((this.ax*D+this.bx)*D+this.cx)*D},sampleCurveY:function(D){return((this.ay*D+this.by)*D+this.cy)*D},sampleCurveDerivativeX:function(D){return(3*this.ax*D+2*this.bx)*D+this.cx},solveCurveX:function(D,A){if(A===void 0&&(A=1e-6),D<0)return 0;if(D>1)return 1;for(var R=D,j=0;j<8;j++){var te=this.sampleCurveX(R)-D;if(Math.abs(te)te?ve=R:Re=R,R=.5*(Re-ve)+ve;return R},solve:function(D,A){return this.sampleCurveY(this.solveCurveX(D,A))}};var go=ca(Fn);function Bo(D,A,R){return D+R*(A-D)}function ho(D,A,R){return D.map((j,te)=>Bo(j,A[te],R))}let Mo={number:Bo,color:function(D,A,R,j="rgb"){switch(j){case"rgb":{let[te,ue,ve,Re]=ho(D.rgb,A.rgb,R);return new Zt(te,ue,ve,Re,!1)}case"hcl":{let[te,ue,ve,Re]=D.hcl,[Ze,at,Tt,Ft]=A.hcl,Qt,sr;if(isNaN(te)||isNaN(Ze))isNaN(te)?isNaN(Ze)?Qt=NaN:(Qt=Ze,ve!==1&&ve!==0||(sr=at)):(Qt=te,Tt!==1&&Tt!==0||(sr=ue));else{let Ri=Ze-te;Ze>te&&Ri>180?Ri-=360:Ze180&&(Ri+=360),Qt=te+R*Ri}let[Tr,Pr,$r,ni]=function([Ri,pi,ki,Zi]){return Ri=isNaN(Ri)?0:Ri*ai,Ni([ki,Math.cos(Ri)*pi,Math.sin(Ri)*pi,Zi])}([Qt,sr!=null?sr:Bo(ue,at,R),Bo(ve,Tt,R),Bo(Re,Ft,R)]);return new Zt(Tr,Pr,$r,ni,!1)}case"lab":{let[te,ue,ve,Re]=Ni(ho(D.lab,A.lab,R));return new Zt(te,ue,ve,Re,!1)}}},array:ho,padding:function(D,A,R){return new Vr(ho(D.values,A.values,R))},variableAnchorOffsetCollection:function(D,A,R){let j=D.values,te=A.values;if(j.length!==te.length)throw new ua(`Cannot interpolate values of different length. from: ${D.toString()}, to: ${A.toString()}`);let ue=[];for(let ve=0;vetypeof Tt!="number"||Tt<0||Tt>1))return R.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);te={name:"cubic-bezier",controlPoints:at}}}if(A.length-1<4)return R.error(`Expected at least 4 arguments, but found only ${A.length-1}.`);if((A.length-1)%2!=0)return R.error("Expected an even number of arguments.");if(ue=R.parse(ue,2,St),!ue)return null;let Re=[],Ze=null;j==="interpolate-hcl"||j==="interpolate-lab"?Ze=Ht:R.expectedType&&R.expectedType.kind!=="value"&&(Ze=R.expectedType);for(let at=0;at=Tt)return R.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',Qt);let Tr=R.parse(Ft,sr,Ze);if(!Tr)return null;Ze=Ze||Tr.type,Re.push([Tt,Tr])}return xe(Ze,St)||xe(Ze,Ht)||xe(Ze,Or)||xe(Ze,ut)||xe(Ze,Ne(St))?new xo(Ze,j,te,ue,Re):R.error(`Type ${Ye(Ze)} is not interpolatable.`)}evaluate(A){let R=this.labels,j=this.outputs;if(R.length===1)return j[0].evaluate(A);let te=this.input.evaluate(A);if(te<=R[0])return j[0].evaluate(A);let ue=R.length;if(te>=R[ue-1])return j[ue-1].evaluate(A);let ve=hi(R,te),Re=xo.interpolationFactor(this.interpolation,te,R[ve],R[ve+1]),Ze=j[ve].evaluate(A),at=j[ve+1].evaluate(A);switch(this.operator){case"interpolate":return Mo[this.type.kind](Ze,at,Re);case"interpolate-hcl":return Mo.color(Ze,at,Re,"hcl");case"interpolate-lab":return Mo.color(Ze,at,Re,"lab")}}eachChild(A){A(this.input);for(let R of this.outputs)A(R)}outputDefined(){return this.outputs.every(A=>A.outputDefined())}}function qs(D,A,R,j){let te=j-R,ue=D-R;return te===0?0:A===1?ue/te:(Math.pow(A,ue)-1)/(Math.pow(A,te)-1)}class Cs{constructor(A,R){this.type=A,this.args=R}static parse(A,R){if(A.length<2)return R.error("Expectected at least one argument.");let j=null,te=R.expectedType;te&&te.kind!=="value"&&(j=te);let ue=[];for(let Re of A.slice(1)){let Ze=R.parse(Re,1+ue.length,j,void 0,{typeAnnotation:"omit"});if(!Ze)return null;j=j||Ze.type,ue.push(Ze)}if(!j)throw new Error("No output type");let ve=te&&ue.some(Re=>Xe(te,Re.type));return new Cs(ve?fr:j,ue)}evaluate(A){let R,j=null,te=0;for(let ue of this.args)if(te++,j=ue.evaluate(A),j&&j instanceof Mi&&!j.available&&(R||(R=j.name),j=null,te===this.args.length&&(j=R)),j!==null)break;return j}eachChild(A){this.args.forEach(A)}outputDefined(){return this.args.every(A=>A.outputDefined())}}function Zs(D,A){return D==="=="||D==="!="?A.kind==="boolean"||A.kind==="string"||A.kind==="number"||A.kind==="null"||A.kind==="value":A.kind==="string"||A.kind==="number"||A.kind==="value"}function Xs(D,A,R,j){return j.compare(A,R)===0}function wl(D,A,R){let j=D!=="=="&&D!=="!=";return class iGe{constructor(ue,ve,Re){this.type=dt,this.lhs=ue,this.rhs=ve,this.collator=Re,this.hasUntypedArgument=ue.type.kind==="value"||ve.type.kind==="value"}static parse(ue,ve){if(ue.length!==3&&ue.length!==4)return ve.error("Expected two or three arguments.");let Re=ue[0],Ze=ve.parse(ue[1],1,fr);if(!Ze)return null;if(!Zs(Re,Ze.type))return ve.concat(1).error(`"${Re}" comparisons are not supported for type '${Ye(Ze.type)}'.`);let at=ve.parse(ue[2],2,fr);if(!at)return null;if(!Zs(Re,at.type))return ve.concat(2).error(`"${Re}" comparisons are not supported for type '${Ye(at.type)}'.`);if(Ze.type.kind!==at.type.kind&&Ze.type.kind!=="value"&&at.type.kind!=="value")return ve.error(`Cannot compare types '${Ye(Ze.type)}' and '${Ye(at.type)}'.`);j&&(Ze.type.kind==="value"&&at.type.kind!=="value"?Ze=new Da(at.type,[Ze]):Ze.type.kind!=="value"&&at.type.kind==="value"&&(at=new Da(Ze.type,[at])));let Tt=null;if(ue.length===4){if(Ze.type.kind!=="string"&&at.type.kind!=="string"&&Ze.type.kind!=="value"&&at.type.kind!=="value")return ve.error("Cannot use collator to compare non-string types.");if(Tt=ve.parse(ue[3],3,xr),!Tt)return null}return new iGe(Ze,at,Tt)}evaluate(ue){let ve=this.lhs.evaluate(ue),Re=this.rhs.evaluate(ue);if(j&&this.hasUntypedArgument){let Ze=Ki(ve),at=Ki(Re);if(Ze.kind!==at.kind||Ze.kind!=="string"&&Ze.kind!=="number")throw new ua(`Expected arguments for "${D}" to be (string, string) or (number, number), but found (${Ze.kind}, ${at.kind}) instead.`)}if(this.collator&&!j&&this.hasUntypedArgument){let Ze=Ki(ve),at=Ki(Re);if(Ze.kind!=="string"||at.kind!=="string")return A(ue,ve,Re)}return this.collator?R(ue,ve,Re,this.collator.evaluate(ue)):A(ue,ve,Re)}eachChild(ue){ue(this.lhs),ue(this.rhs),this.collator&&ue(this.collator)}outputDefined(){return!0}}}let os=wl("==",function(D,A,R){return A===R},Xs),cl=wl("!=",function(D,A,R){return A!==R},function(D,A,R,j){return!Xs(0,A,R,j)}),Ls=wl("<",function(D,A,R){return A",function(D,A,R){return A>R},function(D,A,R,j){return j.compare(A,R)>0}),Ys=wl("<=",function(D,A,R){return A<=R},function(D,A,R,j){return j.compare(A,R)<=0}),Hs=wl(">=",function(D,A,R){return A>=R},function(D,A,R,j){return j.compare(A,R)>=0});class Eo{constructor(A,R,j){this.type=xr,this.locale=j,this.caseSensitive=A,this.diacriticSensitive=R}static parse(A,R){if(A.length!==2)return R.error("Expected one argument.");let j=A[1];if(typeof j!="object"||Array.isArray(j))return R.error("Collator options argument must be an object.");let te=R.parse(j["case-sensitive"]!==void 0&&j["case-sensitive"],1,dt);if(!te)return null;let ue=R.parse(j["diacritic-sensitive"]!==void 0&&j["diacritic-sensitive"],1,dt);if(!ue)return null;let ve=null;return j.locale&&(ve=R.parse(j.locale,1,Et),!ve)?null:new Eo(te,ue,ve)}evaluate(A){return new _r(this.caseSensitive.evaluate(A),this.diacriticSensitive.evaluate(A),this.locale?this.locale.evaluate(A):null)}eachChild(A){A(this.caseSensitive),A(this.diacriticSensitive),this.locale&&A(this.locale)}outputDefined(){return!1}}class hs{constructor(A,R,j,te,ue){this.type=Et,this.number=A,this.locale=R,this.currency=j,this.minFractionDigits=te,this.maxFractionDigits=ue}static parse(A,R){if(A.length!==3)return R.error("Expected two arguments.");let j=R.parse(A[1],1,St);if(!j)return null;let te=A[2];if(typeof te!="object"||Array.isArray(te))return R.error("NumberFormat options argument must be an object.");let ue=null;if(te.locale&&(ue=R.parse(te.locale,1,Et),!ue))return null;let ve=null;if(te.currency&&(ve=R.parse(te.currency,1,Et),!ve))return null;let Re=null;if(te["min-fraction-digits"]&&(Re=R.parse(te["min-fraction-digits"],1,St),!Re))return null;let Ze=null;return te["max-fraction-digits"]&&(Ze=R.parse(te["max-fraction-digits"],1,St),!Ze)?null:new hs(j,ue,ve,Re,Ze)}evaluate(A){return new Intl.NumberFormat(this.locale?this.locale.evaluate(A):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(A):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(A):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(A):void 0}).format(this.number.evaluate(A))}eachChild(A){A(this.number),this.locale&&A(this.locale),this.currency&&A(this.currency),this.minFractionDigits&&A(this.minFractionDigits),this.maxFractionDigits&&A(this.maxFractionDigits)}outputDefined(){return!1}}class $l{constructor(A){this.type=Br,this.sections=A}static parse(A,R){if(A.length<2)return R.error("Expected at least one argument.");let j=A[1];if(!Array.isArray(j)&&typeof j=="object")return R.error("First argument must be an image or text section.");let te=[],ue=!1;for(let ve=1;ve<=A.length-1;++ve){let Re=A[ve];if(ue&&typeof Re=="object"&&!Array.isArray(Re)){ue=!1;let Ze=null;if(Re["font-scale"]&&(Ze=R.parse(Re["font-scale"],1,St),!Ze))return null;let at=null;if(Re["text-font"]&&(at=R.parse(Re["text-font"],1,Ne(Et)),!at))return null;let Tt=null;if(Re["text-color"]&&(Tt=R.parse(Re["text-color"],1,Ht),!Tt))return null;let Ft=te[te.length-1];Ft.scale=Ze,Ft.font=at,Ft.textColor=Tt}else{let Ze=R.parse(A[ve],1,fr);if(!Ze)return null;let at=Ze.type.kind;if(at!=="string"&&at!=="value"&&at!=="null"&&at!=="resolvedImage")return R.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");ue=!0,te.push({content:Ze,scale:null,font:null,textColor:null})}}return new $l(te)}evaluate(A){return new Zr(this.sections.map(R=>{let j=R.content.evaluate(A);return Ki(j)===Nr?new Fr("",j,null,null,null):new Fr(Ca(j),null,R.scale?R.scale.evaluate(A):null,R.font?R.font.evaluate(A).join(","):null,R.textColor?R.textColor.evaluate(A):null)}))}eachChild(A){for(let R of this.sections)A(R.content),R.scale&&A(R.scale),R.font&&A(R.font),R.textColor&&A(R.textColor)}outputDefined(){return!1}}class ju{constructor(A){this.type=Nr,this.input=A}static parse(A,R){if(A.length!==2)return R.error("Expected two arguments.");let j=R.parse(A[1],1,Et);return j?new ju(j):R.error("No image name provided.")}evaluate(A){let R=this.input.evaluate(A),j=Mi.fromString(R);return j&&A.availableImages&&(j.available=A.availableImages.indexOf(R)>-1),j}eachChild(A){A(this.input)}outputDefined(){return!1}}class fc{constructor(A){this.type=St,this.input=A}static parse(A,R){if(A.length!==2)return R.error(`Expected 1 argument, but found ${A.length-1} instead.`);let j=R.parse(A[1],1);return j?j.type.kind!=="array"&&j.type.kind!=="string"&&j.type.kind!=="value"?R.error(`Expected argument of type string or array, but found ${Ye(j.type)} instead.`):new fc(j):null}evaluate(A){let R=this.input.evaluate(A);if(typeof R=="string")return[...R].length;if(Array.isArray(R))return R.length;throw new ua(`Expected value to be of type string or array, but found ${Ye(Ki(R))} instead.`)}eachChild(A){A(this.input)}outputDefined(){return!1}}let ys=8192;function on(D,A){let R=(180+D[0])/360,j=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+D[1]*Math.PI/360)))/360,te=Math.pow(2,A.z);return[Math.round(R*te*ys),Math.round(j*te*ys)]}function ha(D,A){let R=Math.pow(2,A.z);return[(te=(D[0]/ys+A.x)/R,360*te-180),(j=(D[1]/ys+A.y)/R,360/Math.PI*Math.atan(Math.exp((180-360*j)*Math.PI/180))-90)];var j,te}function Qu(D,A){D[0]=Math.min(D[0],A[0]),D[1]=Math.min(D[1],A[1]),D[2]=Math.max(D[2],A[0]),D[3]=Math.max(D[3],A[1])}function Il(D,A){return!(D[0]<=A[0]||D[2]>=A[2]||D[1]<=A[1]||D[3]>=A[3])}function vo(D,A,R){let j=D[0]-A[0],te=D[1]-A[1],ue=D[0]-R[0],ve=D[1]-R[1];return j*ve-ue*te==0&&j*ue<=0&&te*ve<=0}function Wl(D,A,R,j){return(te=[j[0]-R[0],j[1]-R[1]])[0]*(ue=[A[0]-D[0],A[1]-D[1]])[1]-te[1]*ue[0]!=0&&!(!Co(D,A,R,j)||!Co(R,j,D,A));var te,ue}function Ks(D,A,R){for(let j of R)for(let te=0;te(te=D)[1]!=(ve=Re[Ze+1])[1]>te[1]&&te[0]<(ve[0]-ue[0])*(te[1]-ue[1])/(ve[1]-ue[1])+ue[0]&&(j=!j)}var te,ue,ve;return j}function Ec(D,A){for(let R of A)if(Zl(D,R))return!0;return!1}function Zn(D,A){for(let R of D)if(!Zl(R,A))return!1;for(let R=0;R0&&Re<0||ve<0&&Re>0}function Tl(D,A,R){let j=[];for(let te=0;teR[2]){let te=.5*j,ue=D[0]-R[0]>te?-j:R[0]-D[0]>te?j:0;ue===0&&(ue=D[0]-R[2]>te?-j:R[2]-D[0]>te?j:0),D[0]+=ue}Qu(A,D)}function cf(D,A,R,j){let te=Math.pow(2,j.z)*ys,ue=[j.x*ys,j.y*ys],ve=[];for(let Re of D)for(let Ze of Re){let at=[Ze.x+ue[0],Ze.y+ue[1]];So(at,A,R,te),ve.push(at)}return ve}function nh(D,A,R,j){let te=Math.pow(2,j.z)*ys,ue=[j.x*ys,j.y*ys],ve=[];for(let Ze of D){let at=[];for(let Tt of Ze){let Ft=[Tt.x+ue[0],Tt.y+ue[1]];Qu(A,Ft),at.push(Ft)}ve.push(at)}if(A[2]-A[0]<=te/2){(Re=A)[0]=Re[1]=1/0,Re[2]=Re[3]=-1/0;for(let Ze of ve)for(let at of Ze)So(at,A,R,te)}var Re;return ve}class Al{constructor(A,R){this.type=dt,this.geojson=A,this.geometries=R}static parse(A,R){if(A.length!==2)return R.error(`'within' expression requires exactly one argument, but found ${A.length-1} instead.`);if(Gi(A[1])){let j=A[1];if(j.type==="FeatureCollection"){let te=[];for(let ue of j.features){let{type:ve,coordinates:Re}=ue.geometry;ve==="Polygon"&&te.push(Re),ve==="MultiPolygon"&&te.push(...Re)}if(te.length)return new Al(j,{type:"MultiPolygon",coordinates:te})}else if(j.type==="Feature"){let te=j.geometry.type;if(te==="Polygon"||te==="MultiPolygon")return new Al(j,j.geometry)}else if(j.type==="Polygon"||j.type==="MultiPolygon")return new Al(j,j)}return R.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(A){if(A.geometry()!=null&&A.canonicalID()!=null){if(A.geometryType()==="Point")return function(R,j){let te=[1/0,1/0,-1/0,-1/0],ue=[1/0,1/0,-1/0,-1/0],ve=R.canonicalID();if(j.type==="Polygon"){let Re=Tl(j.coordinates,ue,ve),Ze=cf(R.geometry(),te,ue,ve);if(!Il(te,ue))return!1;for(let at of Ze)if(!Zl(at,Re))return!1}if(j.type==="MultiPolygon"){let Re=uf(j.coordinates,ue,ve),Ze=cf(R.geometry(),te,ue,ve);if(!Il(te,ue))return!1;for(let at of Ze)if(!Ec(at,Re))return!1}return!0}(A,this.geometries);if(A.geometryType()==="LineString")return function(R,j){let te=[1/0,1/0,-1/0,-1/0],ue=[1/0,1/0,-1/0,-1/0],ve=R.canonicalID();if(j.type==="Polygon"){let Re=Tl(j.coordinates,ue,ve),Ze=nh(R.geometry(),te,ue,ve);if(!Il(te,ue))return!1;for(let at of Ze)if(!Zn(at,Re))return!1}if(j.type==="MultiPolygon"){let Re=uf(j.coordinates,ue,ve),Ze=nh(R.geometry(),te,ue,ve);if(!Il(te,ue))return!1;for(let at of Ze)if(!ko(at,Re))return!1}return!0}(A,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let Hc=class{constructor(D=[],A=(R,j)=>Rj?1:0){if(this.data=D,this.length=this.data.length,this.compare=A,this.length>0)for(let R=(this.length>>1)-1;R>=0;R--)this._down(R)}push(D){this.data.push(D),this._up(this.length++)}pop(){if(this.length===0)return;let D=this.data[0],A=this.data.pop();return--this.length>0&&(this.data[0]=A,this._down(0)),D}peek(){return this.data[0]}_up(D){let{data:A,compare:R}=this,j=A[D];for(;D>0;){let te=D-1>>1,ue=A[te];if(R(j,ue)>=0)break;A[D]=ue,D=te}A[D]=j}_down(D){let{data:A,compare:R}=this,j=this.length>>1,te=A[D];for(;D=0)break;A[D]=A[ue],D=ue}A[D]=te}};function Ql(D,A,R,j,te){Ps(D,A,R,j||D.length-1,te||kc)}function Ps(D,A,R,j,te){for(;j>R;){if(j-R>600){var ue=j-R+1,ve=A-R+1,Re=Math.log(ue),Ze=.5*Math.exp(2*Re/3),at=.5*Math.sqrt(Re*Ze*(ue-Ze)/ue)*(ve-ue/2<0?-1:1);Ps(D,A,Math.max(R,Math.floor(A-ve*Ze/ue+at)),Math.min(j,Math.floor(A+(ue-ve)*Ze/ue+at)),te)}var Tt=D[A],Ft=R,Qt=j;for(mu(D,R,A),te(D[j],Tt)>0&&mu(D,R,j);Ft0;)Qt--}te(D[R],Tt)===0?mu(D,R,Qt):mu(D,++Qt,j),Qt<=A&&(R=Qt+1),A<=Qt&&(j=Qt-1)}}function mu(D,A,R){var j=D[A];D[A]=D[R],D[R]=j}function kc(D,A){return DA?1:0}function Bf(D,A){if(D.length<=1)return[D];let R=[],j,te;for(let ue of D){let ve=pd(ue);ve!==0&&(ue.area=Math.abs(ve),te===void 0&&(te=ve<0),te===ve<0?(j&&R.push(j),j=[ue]):j.push(ue))}if(j&&R.push(j),A>1)for(let ue=0;ue1?(at=A[Ze+1][0],Tt=A[Ze+1][1]):sr>0&&(at+=Ft/this.kx*sr,Tt+=Qt/this.ky*sr)),Ft=this.wrap(R[0]-at)*this.kx,Qt=(R[1]-Tt)*this.ky;let Tr=Ft*Ft+Qt*Qt;Tr180;)A-=360;return A}}function Ul(D,A){return A[0]-D[0]}function Js(D){return D[1]-D[0]+1}function hc(D,A){return D[1]>=D[0]&&D[1]D[1])return[null,null];let R=Js(D);if(A){if(R===2)return[D,null];let te=Math.floor(R/2);return[[D[0],D[0]+te],[D[0]+te,D[1]]]}if(R===1)return[D,null];let j=Math.floor(R/2)-1;return[[D[0],D[0]+j],[D[0]+j+1,D[1]]]}function Ts(D,A){if(!hc(A,D.length))return[1/0,1/0,-1/0,-1/0];let R=[1/0,1/0,-1/0,-1/0];for(let j=A[0];j<=A[1];++j)Qu(R,D[j]);return R}function $s(D){let A=[1/0,1/0,-1/0,-1/0];for(let R of D)for(let j of R)Qu(A,j);return A}function ds(D){return D[0]!==-1/0&&D[1]!==-1/0&&D[2]!==1/0&&D[3]!==1/0}function Es(D,A,R){if(!ds(D)||!ds(A))return NaN;let j=0,te=0;return D[2]A[2]&&(j=D[0]-A[2]),D[1]>A[3]&&(te=D[1]-A[3]),D[3]=j)return j;if(Il(te,ue)){if(Bd(D,A))return 0}else if(Bd(A,D))return 0;let ve=1/0;for(let Re of D)for(let Ze=0,at=Re.length,Tt=at-1;Ze0;){let Ze=ve.pop();if(Ze[0]>=ue)continue;let at=Ze[1],Tt=A?50:100;if(Js(at)<=Tt){if(!hc(at,D.length))return NaN;if(A){let Ft=wo(D,at,R,j);if(isNaN(Ft)||Ft===0)return Ft;ue=Math.min(ue,Ft)}else for(let Ft=at[0];Ft<=at[1];++Ft){let Qt=sv(D[Ft],R,j);if(ue=Math.min(ue,Qt),ue===0)return 0}}else{let Ft=Cc(at,A);$a(ve,ue,j,D,Re,Ft[0]),$a(ve,ue,j,D,Re,Ft[1])}}return ue}function uu(D,A,R,j,te,ue=1/0){let ve=Math.min(ue,te.distance(D[0],R[0]));if(ve===0)return ve;let Re=new Hc([[0,[0,D.length-1],[0,R.length-1]]],Ul);for(;Re.length>0;){let Ze=Re.pop();if(Ze[0]>=ve)continue;let at=Ze[1],Tt=Ze[2],Ft=A?50:100,Qt=j?50:100;if(Js(at)<=Ft&&Js(Tt)<=Qt){if(!hc(at,D.length)&&hc(Tt,R.length))return NaN;let sr;if(A&&j)sr=ec(D,at,R,Tt,te),ve=Math.min(ve,sr);else if(A&&!j){let Tr=D.slice(at[0],at[1]+1);for(let Pr=Tt[0];Pr<=Tt[1];++Pr)if(sr=dc(R[Pr],Tr,te),ve=Math.min(ve,sr),ve===0)return ve}else if(!A&&j){let Tr=R.slice(Tt[0],Tt[1]+1);for(let Pr=at[0];Pr<=at[1];++Pr)if(sr=dc(D[Pr],Tr,te),ve=Math.min(ve,sr),ve===0)return ve}else sr=Is(D,at,R,Tt,te),ve=Math.min(ve,sr)}else{let sr=Cc(at,A),Tr=Cc(Tt,j);Ef(Re,ve,te,D,R,sr[0],Tr[0]),Ef(Re,ve,te,D,R,sr[0],Tr[1]),Ef(Re,ve,te,D,R,sr[1],Tr[0]),Ef(Re,ve,te,D,R,sr[1],Tr[1])}}return ve}function Ch(D){return D.type==="MultiPolygon"?D.coordinates.map(A=>({type:"Polygon",coordinates:A})):D.type==="MultiLineString"?D.coordinates.map(A=>({type:"LineString",coordinates:A})):D.type==="MultiPoint"?D.coordinates.map(A=>({type:"Point",coordinates:A})):[D]}class jc{constructor(A,R){this.type=St,this.geojson=A,this.geometries=R}static parse(A,R){if(A.length!==2)return R.error(`'distance' expression requires exactly one argument, but found ${A.length-1} instead.`);if(Gi(A[1])){let j=A[1];if(j.type==="FeatureCollection")return new jc(j,j.features.map(te=>Ch(te.geometry)).flat());if(j.type==="Feature")return new jc(j,Ch(j.geometry));if("type"in j&&"coordinates"in j)return new jc(j,Ch(j))}return R.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(A){if(A.geometry()!=null&&A.canonicalID()!=null){if(A.geometryType()==="Point")return function(R,j){let te=R.geometry(),ue=te.flat().map(Ze=>ha([Ze.x,Ze.y],R.canonical));if(te.length===0)return NaN;let ve=new ah(ue[0][1]),Re=1/0;for(let Ze of j){switch(Ze.type){case"Point":Re=Math.min(Re,uu(ue,!1,[Ze.coordinates],!1,ve,Re));break;case"LineString":Re=Math.min(Re,uu(ue,!1,Ze.coordinates,!0,ve,Re));break;case"Polygon":Re=Math.min(Re,tc(ue,!1,Ze.coordinates,ve,Re))}if(Re===0)return Re}return Re}(A,this.geometries);if(A.geometryType()==="LineString")return function(R,j){let te=R.geometry(),ue=te.flat().map(Ze=>ha([Ze.x,Ze.y],R.canonical));if(te.length===0)return NaN;let ve=new ah(ue[0][1]),Re=1/0;for(let Ze of j){switch(Ze.type){case"Point":Re=Math.min(Re,uu(ue,!0,[Ze.coordinates],!1,ve,Re));break;case"LineString":Re=Math.min(Re,uu(ue,!0,Ze.coordinates,!0,ve,Re));break;case"Polygon":Re=Math.min(Re,tc(ue,!0,Ze.coordinates,ve,Re))}if(Re===0)return Re}return Re}(A,this.geometries);if(A.geometryType()==="Polygon")return function(R,j){let te=R.geometry();if(te.length===0||te[0].length===0)return NaN;let ue=Bf(te,0).map(Ze=>Ze.map(at=>at.map(Tt=>ha([Tt.x,Tt.y],R.canonical)))),ve=new ah(ue[0][0][0][1]),Re=1/0;for(let Ze of j)for(let at of ue){switch(Ze.type){case"Point":Re=Math.min(Re,tc([Ze.coordinates],!1,at,ve,Re));break;case"LineString":Re=Math.min(Re,tc(Ze.coordinates,!0,at,ve,Re));break;case"Polygon":Re=Math.min(Re,Qo(at,Ze.coordinates,ve,Re))}if(Re===0)return Re}return Re}(A,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let kf={"==":os,"!=":cl,">":ml,"<":Ls,">=":Hs,"<=":Ys,array:Da,at:br,boolean:Da,case:Yi,coalesce:Cs,collator:Eo,format:$l,image:ju,in:Hr,"index-of":ti,interpolate:xo,"interpolate-hcl":xo,"interpolate-lab":xo,length:fc,let:xn,literal:jn,match:zi,number:Da,"number-format":hs,object:Da,slice:an,step:Ji,string:Da,"to-boolean":sa,"to-color":sa,"to-number":sa,"to-string":sa,var:_t,within:Al,distance:jc};class Ml{constructor(A,R,j,te){this.name=A,this.type=R,this._evaluate=j,this.args=te}evaluate(A){return this._evaluate(A,this.args)}eachChild(A){this.args.forEach(A)}outputDefined(){return!1}static parse(A,R){let j=A[0],te=Ml.definitions[j];if(!te)return R.error(`Unknown expression "${j}". If you wanted a literal array, use ["literal", [...]].`,0);let ue=Array.isArray(te)?te[0]:te.type,ve=Array.isArray(te)?[[te[1],te[2]]]:te.overloads,Re=ve.filter(([at])=>!Array.isArray(at)||at.length===A.length-1),Ze=null;for(let[at,Tt]of Re){Ze=new oo(R.registry,Ph,R.path,null,R.scope);let Ft=[],Qt=!1;for(let sr=1;sr{return Qt=Ft,Array.isArray(Qt)?`(${Qt.map(Ye).join(", ")})`:`(${Ye(Qt.type)}...)`;var Qt}).join(" | "),Tt=[];for(let Ft=1;Ft{R=A?R&&Ph(j):R&&j instanceof jn}),!!R&&$h(D)&&sh(D,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function $h(D){if(D instanceof Ml&&(D.name==="get"&&D.args.length===1||D.name==="feature-state"||D.name==="has"&&D.args.length===1||D.name==="properties"||D.name==="geometry-type"||D.name==="id"||/^filter-/.test(D.name))||D instanceof Al||D instanceof jc)return!1;let A=!0;return D.eachChild(R=>{A&&!$h(R)&&(A=!1)}),A}function rc(D){if(D instanceof Ml&&D.name==="feature-state")return!1;let A=!0;return D.eachChild(R=>{A&&!rc(R)&&(A=!1)}),A}function sh(D,A){if(D instanceof Ml&&A.indexOf(D.name)>=0)return!1;let R=!0;return D.eachChild(j=>{R&&!sh(j,A)&&(R=!1)}),R}function Wc(D){return{result:"success",value:D}}function df(D){return{result:"error",value:D}}function Cu(D){return D["property-type"]==="data-driven"||D["property-type"]==="cross-faded-data-driven"}function Uf(D){return!!D.expression&&D.expression.parameters.indexOf("zoom")>-1}function Zc(D){return!!D.expression&&D.expression.interpolated}function vs(D){return D instanceof Number?"number":D instanceof String?"string":D instanceof Boolean?"boolean":Array.isArray(D)?"array":D===null?"null":typeof D}function Ih(D){return typeof D=="object"&&D!==null&&!Array.isArray(D)}function Nd(D){return D}function Qh(D,A){let R=A.type==="color",j=D.stops&&typeof D.stops[0][0]=="object",te=j||!(j||D.property!==void 0),ue=D.type||(Zc(A)?"exponential":"interval");if(R||A.type==="padding"){let Tt=R?Zt.parse:Vr.parse;(D=Ke({},D)).stops&&(D.stops=D.stops.map(Ft=>[Ft[0],Tt(Ft[1])])),D.default=Tt(D.default?D.default:A.default)}if(D.colorSpace&&(ve=D.colorSpace)!=="rgb"&&ve!=="hcl"&&ve!=="lab")throw new Error(`Unknown color space: "${D.colorSpace}"`);var ve;let Re,Ze,at;if(ue==="exponential")Re=ed;else if(ue==="interval")Re=Lu;else if(ue==="categorical"){Re=gd,Ze=Object.create(null);for(let Tt of D.stops)Ze[Tt[0]]=Tt[1];at=typeof D.stops[0][0]}else{if(ue!=="identity")throw new Error(`Unknown function type "${ue}"`);Re=eu}if(j){let Tt={},Ft=[];for(let Tr=0;TrTr[0]),evaluate:({zoom:Tr},Pr)=>ed({stops:Qt,base:D.base},A,Tr).evaluate(Tr,Pr)}}if(te){let Tt=ue==="exponential"?{name:"exponential",base:D.base!==void 0?D.base:1}:null;return{kind:"camera",interpolationType:Tt,interpolationFactor:xo.interpolationFactor.bind(void 0,Tt),zoomStops:D.stops.map(Ft=>Ft[0]),evaluate:({zoom:Ft})=>Re(D,A,Ft,Ze,at)}}return{kind:"source",evaluate(Tt,Ft){let Qt=Ft&&Ft.properties?Ft.properties[D.property]:void 0;return Qt===void 0?Cf(D.default,A.default):Re(D,A,Qt,Ze,at)}}}function Cf(D,A,R){return D!==void 0?D:A!==void 0?A:R!==void 0?R:void 0}function gd(D,A,R,j,te){return Cf(typeof R===te?j[R]:void 0,D.default,A.default)}function Lu(D,A,R){if(vs(R)!=="number")return Cf(D.default,A.default);let j=D.stops.length;if(j===1||R<=D.stops[0][0])return D.stops[0][1];if(R>=D.stops[j-1][0])return D.stops[j-1][1];let te=hi(D.stops.map(ue=>ue[0]),R);return D.stops[te][1]}function ed(D,A,R){let j=D.base!==void 0?D.base:1;if(vs(R)!=="number")return Cf(D.default,A.default);let te=D.stops.length;if(te===1||R<=D.stops[0][0])return D.stops[0][1];if(R>=D.stops[te-1][0])return D.stops[te-1][1];let ue=hi(D.stops.map(Tt=>Tt[0]),R),ve=function(Tt,Ft,Qt,sr){let Tr=sr-Qt,Pr=Tt-Qt;return Tr===0?0:Ft===1?Pr/Tr:(Math.pow(Ft,Pr)-1)/(Math.pow(Ft,Tr)-1)}(R,j,D.stops[ue][0],D.stops[ue+1][0]),Re=D.stops[ue][1],Ze=D.stops[ue+1][1],at=Mo[A.type]||Nd;return typeof Re.evaluate=="function"?{evaluate(...Tt){let Ft=Re.evaluate.apply(void 0,Tt),Qt=Ze.evaluate.apply(void 0,Tt);if(Ft!==void 0&&Qt!==void 0)return at(Ft,Qt,ve,D.colorSpace)}}:at(Re,Ze,ve,D.colorSpace)}function eu(D,A,R){switch(A.type){case"color":R=Zt.parse(R);break;case"formatted":R=Zr.fromString(R.toString());break;case"resolvedImage":R=Mi.fromString(R.toString());break;case"padding":R=Vr.parse(R);break;default:vs(R)===A.type||A.type==="enum"&&A.values[R]||(R=void 0)}return Cf(R,D.default,A.default)}Ml.register(kf,{error:[{kind:"error"},[Et],(D,[A])=>{throw new ua(A.evaluate(D))}],typeof:[Et,[fr],(D,[A])=>Ye(Ki(A.evaluate(D)))],"to-rgba":[Ne(St,4),[Ht],(D,[A])=>{let[R,j,te,ue]=A.evaluate(D).rgb;return[255*R,255*j,255*te,ue]}],rgb:[Ht,[St,St,St],Jh],rgba:[Ht,[St,St,St,St],Jh],has:{type:dt,overloads:[[[Et],(D,[A])=>Lh(A.evaluate(D),D.properties())],[[Et,$t],(D,[A,R])=>Lh(A.evaluate(D),R.evaluate(D))]]},get:{type:fr,overloads:[[[Et],(D,[A])=>oh(A.evaluate(D),D.properties())],[[Et,$t],(D,[A,R])=>oh(A.evaluate(D),R.evaluate(D))]]},"feature-state":[fr,[Et],(D,[A])=>oh(A.evaluate(D),D.featureState||{})],properties:[$t,[],D=>D.properties()],"geometry-type":[Et,[],D=>D.geometryType()],id:[fr,[],D=>D.id()],zoom:[St,[],D=>D.globals.zoom],"heatmap-density":[St,[],D=>D.globals.heatmapDensity||0],"line-progress":[St,[],D=>D.globals.lineProgress||0],accumulated:[fr,[],D=>D.globals.accumulated===void 0?null:D.globals.accumulated],"+":[St,hf(St),(D,A)=>{let R=0;for(let j of A)R+=j.evaluate(D);return R}],"*":[St,hf(St),(D,A)=>{let R=1;for(let j of A)R*=j.evaluate(D);return R}],"-":{type:St,overloads:[[[St,St],(D,[A,R])=>A.evaluate(D)-R.evaluate(D)],[[St],(D,[A])=>-A.evaluate(D)]]},"/":[St,[St,St],(D,[A,R])=>A.evaluate(D)/R.evaluate(D)],"%":[St,[St,St],(D,[A,R])=>A.evaluate(D)%R.evaluate(D)],ln2:[St,[],()=>Math.LN2],pi:[St,[],()=>Math.PI],e:[St,[],()=>Math.E],"^":[St,[St,St],(D,[A,R])=>Math.pow(A.evaluate(D),R.evaluate(D))],sqrt:[St,[St],(D,[A])=>Math.sqrt(A.evaluate(D))],log10:[St,[St],(D,[A])=>Math.log(A.evaluate(D))/Math.LN10],ln:[St,[St],(D,[A])=>Math.log(A.evaluate(D))],log2:[St,[St],(D,[A])=>Math.log(A.evaluate(D))/Math.LN2],sin:[St,[St],(D,[A])=>Math.sin(A.evaluate(D))],cos:[St,[St],(D,[A])=>Math.cos(A.evaluate(D))],tan:[St,[St],(D,[A])=>Math.tan(A.evaluate(D))],asin:[St,[St],(D,[A])=>Math.asin(A.evaluate(D))],acos:[St,[St],(D,[A])=>Math.acos(A.evaluate(D))],atan:[St,[St],(D,[A])=>Math.atan(A.evaluate(D))],min:[St,hf(St),(D,A)=>Math.min(...A.map(R=>R.evaluate(D)))],max:[St,hf(St),(D,A)=>Math.max(...A.map(R=>R.evaluate(D)))],abs:[St,[St],(D,[A])=>Math.abs(A.evaluate(D))],round:[St,[St],(D,[A])=>{let R=A.evaluate(D);return R<0?-Math.round(-R):Math.round(R)}],floor:[St,[St],(D,[A])=>Math.floor(A.evaluate(D))],ceil:[St,[St],(D,[A])=>Math.ceil(A.evaluate(D))],"filter-==":[dt,[Et,fr],(D,[A,R])=>D.properties()[A.value]===R.value],"filter-id-==":[dt,[fr],(D,[A])=>D.id()===A.value],"filter-type-==":[dt,[Et],(D,[A])=>D.geometryType()===A.value],"filter-<":[dt,[Et,fr],(D,[A,R])=>{let j=D.properties()[A.value],te=R.value;return typeof j==typeof te&&j{let R=D.id(),j=A.value;return typeof R==typeof j&&R":[dt,[Et,fr],(D,[A,R])=>{let j=D.properties()[A.value],te=R.value;return typeof j==typeof te&&j>te}],"filter-id->":[dt,[fr],(D,[A])=>{let R=D.id(),j=A.value;return typeof R==typeof j&&R>j}],"filter-<=":[dt,[Et,fr],(D,[A,R])=>{let j=D.properties()[A.value],te=R.value;return typeof j==typeof te&&j<=te}],"filter-id-<=":[dt,[fr],(D,[A])=>{let R=D.id(),j=A.value;return typeof R==typeof j&&R<=j}],"filter->=":[dt,[Et,fr],(D,[A,R])=>{let j=D.properties()[A.value],te=R.value;return typeof j==typeof te&&j>=te}],"filter-id->=":[dt,[fr],(D,[A])=>{let R=D.id(),j=A.value;return typeof R==typeof j&&R>=j}],"filter-has":[dt,[fr],(D,[A])=>A.value in D.properties()],"filter-has-id":[dt,[],D=>D.id()!==null&&D.id()!==void 0],"filter-type-in":[dt,[Ne(Et)],(D,[A])=>A.value.indexOf(D.geometryType())>=0],"filter-id-in":[dt,[Ne(fr)],(D,[A])=>A.value.indexOf(D.id())>=0],"filter-in-small":[dt,[Et,Ne(fr)],(D,[A,R])=>R.value.indexOf(D.properties()[A.value])>=0],"filter-in-large":[dt,[Et,Ne(fr)],(D,[A,R])=>function(j,te,ue,ve){for(;ue<=ve;){let Re=ue+ve>>1;if(te[Re]===j)return!0;te[Re]>j?ve=Re-1:ue=Re+1}return!1}(D.properties()[A.value],R.value,0,R.value.length-1)],all:{type:dt,overloads:[[[dt,dt],(D,[A,R])=>A.evaluate(D)&&R.evaluate(D)],[hf(dt),(D,A)=>{for(let R of A)if(!R.evaluate(D))return!1;return!0}]]},any:{type:dt,overloads:[[[dt,dt],(D,[A,R])=>A.evaluate(D)||R.evaluate(D)],[hf(dt),(D,A)=>{for(let R of A)if(R.evaluate(D))return!0;return!1}]]},"!":[dt,[dt],(D,[A])=>!A.evaluate(D)],"is-supported-script":[dt,[Et],(D,[A])=>{let R=D.globals&&D.globals.isSupportedScript;return!R||R(A.evaluate(D))}],upcase:[Et,[Et],(D,[A])=>A.evaluate(D).toUpperCase()],downcase:[Et,[Et],(D,[A])=>A.evaluate(D).toLowerCase()],concat:[Et,hf(fr),(D,A)=>A.map(R=>Ca(R.evaluate(D))).join("")],"resolved-locale":[Et,[xr],(D,[A])=>A.evaluate(D).resolvedLocale()]});class Pu{constructor(A,R){var j;this.expression=A,this._warningHistory={},this._evaluator=new Ha,this._defaultValue=R?(j=R).type==="color"&&Ih(j.default)?new Zt(0,0,0,0):j.type==="color"?Zt.parse(j.default)||null:j.type==="padding"?Vr.parse(j.default)||null:j.type==="variableAnchorOffsetCollection"?Si.parse(j.default)||null:j.default===void 0?null:j.default:null,this._enumValues=R&&R.type==="enum"?R.values:null}evaluateWithoutErrorHandling(A,R,j,te,ue,ve){return this._evaluator.globals=A,this._evaluator.feature=R,this._evaluator.featureState=j,this._evaluator.canonical=te,this._evaluator.availableImages=ue||null,this._evaluator.formattedSection=ve,this.expression.evaluate(this._evaluator)}evaluate(A,R,j,te,ue,ve){this._evaluator.globals=A,this._evaluator.feature=R||null,this._evaluator.featureState=j||null,this._evaluator.canonical=te,this._evaluator.availableImages=ue||null,this._evaluator.formattedSection=ve||null;try{let Re=this.expression.evaluate(this._evaluator);if(Re==null||typeof Re=="number"&&Re!=Re)return this._defaultValue;if(this._enumValues&&!(Re in this._enumValues))throw new ua(`Expected value to be one of ${Object.keys(this._enumValues).map(Ze=>JSON.stringify(Ze)).join(", ")}, but found ${JSON.stringify(Re)} instead.`);return Re}catch(Re){return this._warningHistory[Re.message]||(this._warningHistory[Re.message]=!0,typeof console!="undefined"&&console.warn(Re.message)),this._defaultValue}}}function Lc(D){return Array.isArray(D)&&D.length>0&&typeof D[0]=="string"&&D[0]in kf}function fl(D,A){let R=new oo(kf,Ph,[],A?function(te){let ue={color:Ht,string:Et,number:St,enum:Et,boolean:dt,formatted:Br,padding:Or,resolvedImage:Nr,variableAnchorOffsetCollection:ut};return te.type==="array"?Ne(ue[te.value]||fr,te.length):ue[te.type]}(A):void 0),j=R.parse(D,void 0,void 0,void 0,A&&A.type==="string"?{typeAnnotation:"coerce"}:void 0);return j?Wc(new Pu(j,A)):df(R.errors)}class Xc{constructor(A,R){this.kind=A,this._styleExpression=R,this.isStateDependent=A!=="constant"&&!rc(R.expression)}evaluateWithoutErrorHandling(A,R,j,te,ue,ve){return this._styleExpression.evaluateWithoutErrorHandling(A,R,j,te,ue,ve)}evaluate(A,R,j,te,ue,ve){return this._styleExpression.evaluate(A,R,j,te,ue,ve)}}class ic{constructor(A,R,j,te){this.kind=A,this.zoomStops=j,this._styleExpression=R,this.isStateDependent=A!=="camera"&&!rc(R.expression),this.interpolationType=te}evaluateWithoutErrorHandling(A,R,j,te,ue,ve){return this._styleExpression.evaluateWithoutErrorHandling(A,R,j,te,ue,ve)}evaluate(A,R,j,te,ue,ve){return this._styleExpression.evaluate(A,R,j,te,ue,ve)}interpolationFactor(A,R,j){return this.interpolationType?xo.interpolationFactor(this.interpolationType,A,R,j):0}}function yu(D,A){let R=fl(D,A);if(R.result==="error")return R;let j=R.value.expression,te=$h(j);if(!te&&!Cu(A))return df([new bt("","data expressions not supported")]);let ue=sh(j,["zoom"]);if(!ue&&!Uf(A))return df([new bt("","zoom expressions not supported")]);let ve=td(j);return ve||ue?ve instanceof bt?df([ve]):ve instanceof xo&&!Zc(A)?df([new bt("",'"interpolate" expressions cannot be used with this property')]):Wc(ve?new ic(te?"camera":"composite",R.value,ve.labels,ve instanceof xo?ve.interpolation:void 0):new Xc(te?"constant":"source",R.value)):df([new bt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Qs{constructor(A,R){this._parameters=A,this._specification=R,Ke(this,Qh(this._parameters,this._specification))}static deserialize(A){return new Qs(A._parameters,A._specification)}static serialize(A){return{_parameters:A._parameters,_specification:A._specification}}}function td(D){let A=null;if(D instanceof xn)A=td(D.result);else if(D instanceof Cs){for(let R of D.args)if(A=td(R),A)break}else(D instanceof Ji||D instanceof xo)&&D.input instanceof Ml&&D.input.name==="zoom"&&(A=D);return A instanceof bt||D.eachChild(R=>{let j=td(R);j instanceof bt?A=j:!A&&j?A=new bt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):A&&j&&A!==j&&(A=new bt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),A}function md(D){if(D===!0||D===!1)return!0;if(!Array.isArray(D)||D.length===0)return!1;switch(D[0]){case"has":return D.length>=2&&D[1]!=="$id"&&D[1]!=="$type";case"in":return D.length>=3&&(typeof D[1]!="string"||Array.isArray(D[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return D.length!==3||Array.isArray(D[1])||Array.isArray(D[2]);case"any":case"all":for(let A of D.slice(1))if(!md(A)&&typeof A!="boolean")return!1;return!0;default:return!0}}let Wu={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Pc(D){if(D==null)return{filter:()=>!0,needGeometry:!1};md(D)||(D=Lf(D));let A=fl(D,Wu);if(A.result==="error")throw new Error(A.value.map(R=>`${R.key}: ${R.message}`).join(", "));return{filter:(R,j,te)=>A.value.evaluate(R,j,{},te),needGeometry:lv(D)}}function vc(D,A){return DA?1:0}function lv(D){if(!Array.isArray(D))return!1;if(D[0]==="within"||D[0]==="distance")return!0;for(let A=1;A"||A==="<="||A===">="?Vf(D[1],D[2],A):A==="any"?(R=D.slice(1),["any"].concat(R.map(Lf))):A==="all"?["all"].concat(D.slice(1).map(Lf)):A==="none"?["all"].concat(D.slice(1).map(Lf).map(tu)):A==="in"?Iu(D[1],D.slice(2)):A==="!in"?tu(Iu(D[1],D.slice(2))):A==="has"?lh(D[1]):A!=="!has"||tu(lh(D[1]));var R}function Vf(D,A,R){switch(D){case"$type":return[`filter-type-${R}`,A];case"$id":return[`filter-id-${R}`,A];default:return[`filter-${R}`,D,A]}}function Iu(D,A){if(A.length===0)return!1;switch(D){case"$type":return["filter-type-in",["literal",A]];case"$id":return["filter-id-in",["literal",A]];default:return A.length>200&&!A.some(R=>typeof R!=typeof A[0])?["filter-in-large",D,["literal",A.sort(vc)]]:["filter-in-small",D,["literal",A]]}}function lh(D){switch(D){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",D]}}function tu(D){return["!",D]}function vf(D){let A=typeof D;if(A==="number"||A==="boolean"||A==="string"||D==null)return JSON.stringify(D);if(Array.isArray(D)){let te="[";for(let ue of D)te+=`${vf(ue)},`;return`${te}]`}let R=Object.keys(D).sort(),j="{";for(let te=0;tej.maximum?[new er(A,R,`${R} is greater than the maximum value ${j.maximum}`)]:[]}function Pf(D){let A=D.valueSpec,R=Os(D.value.type),j,te,ue,ve={},Re=R!=="categorical"&&D.value.property===void 0,Ze=!Re,at=vs(D.value.stops)==="array"&&vs(D.value.stops[0])==="array"&&vs(D.value.stops[0][0])==="object",Tt=xu({key:D.key,value:D.value,valueSpec:D.styleSpec.function,validateSpec:D.validateSpec,style:D.style,styleSpec:D.styleSpec,objectElementValidators:{stops:function(sr){if(R==="identity")return[new er(sr.key,sr.value,'identity function may not have a "stops" property')];let Tr=[],Pr=sr.value;return Tr=Tr.concat(Dh({key:sr.key,value:Pr,valueSpec:sr.valueSpec,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,arrayElementValidator:Ft})),vs(Pr)==="array"&&Pr.length===0&&Tr.push(new er(sr.key,Pr,"array must have at least one stop")),Tr},default:function(sr){return sr.validateSpec({key:sr.key,value:sr.value,valueSpec:A,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec})}}});return R==="identity"&&Re&&Tt.push(new er(D.key,D.value,'missing required property "property"')),R==="identity"||D.value.stops||Tt.push(new er(D.key,D.value,'missing required property "stops"')),R==="exponential"&&D.valueSpec.expression&&!Zc(D.valueSpec)&&Tt.push(new er(D.key,D.value,"exponential functions not supported")),D.styleSpec.$version>=8&&(Ze&&!Cu(D.valueSpec)?Tt.push(new er(D.key,D.value,"property functions not supported")):Re&&!Uf(D.valueSpec)&&Tt.push(new er(D.key,D.value,"zoom functions not supported"))),R!=="categorical"&&!at||D.value.property!==void 0||Tt.push(new er(D.key,D.value,'"property" property is required')),Tt;function Ft(sr){let Tr=[],Pr=sr.value,$r=sr.key;if(vs(Pr)!=="array")return[new er($r,Pr,`array expected, ${vs(Pr)} found`)];if(Pr.length!==2)return[new er($r,Pr,`array length 2 expected, length ${Pr.length} found`)];if(at){if(vs(Pr[0])!=="object")return[new er($r,Pr,`object expected, ${vs(Pr[0])} found`)];if(Pr[0].zoom===void 0)return[new er($r,Pr,"object stop key must have zoom")];if(Pr[0].value===void 0)return[new er($r,Pr,"object stop key must have value")];if(ue&&ue>Os(Pr[0].zoom))return[new er($r,Pr[0].zoom,"stop zoom values must appear in ascending order")];Os(Pr[0].zoom)!==ue&&(ue=Os(Pr[0].zoom),te=void 0,ve={}),Tr=Tr.concat(xu({key:`${$r}[0]`,value:Pr[0],valueSpec:{zoom:{}},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,objectElementValidators:{zoom:Ds,value:Qt}}))}else Tr=Tr.concat(Qt({key:`${$r}[0]`,value:Pr[0],valueSpec:{},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec},Pr));return Lc(_u(Pr[1]))?Tr.concat([new er(`${$r}[1]`,Pr[1],"expressions are not allowed in function stops.")]):Tr.concat(sr.validateSpec({key:`${$r}[1]`,value:Pr[1],valueSpec:A,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec}))}function Qt(sr,Tr){let Pr=vs(sr.value),$r=Os(sr.value),ni=sr.value!==null?sr.value:Tr;if(j){if(Pr!==j)return[new er(sr.key,ni,`${Pr} stop domain type must match previous stop domain type ${j}`)]}else j=Pr;if(Pr!=="number"&&Pr!=="string"&&Pr!=="boolean")return[new er(sr.key,ni,"stop domain value must be a number, string, or boolean")];if(Pr!=="number"&&R!=="categorical"){let Ri=`number expected, ${Pr} found`;return Cu(A)&&R===void 0&&(Ri+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new er(sr.key,ni,Ri)]}return R!=="categorical"||Pr!=="number"||isFinite($r)&&Math.floor($r)===$r?R!=="categorical"&&Pr==="number"&&te!==void 0&&$rnew er(`${D.key}${j.key}`,D.value,j.message));let R=A.value.expression||A.value._styleExpression.expression;if(D.expressionContext==="property"&&D.propertyKey==="text-font"&&!R.outputDefined())return[new er(D.key,D.value,`Invalid data expression for "${D.propertyKey}". Output values must be contained as literals within the expression.`)];if(D.expressionContext==="property"&&D.propertyType==="layout"&&!rc(R))return[new er(D.key,D.value,'"feature-state" data expressions are not supported with layout properties.')];if(D.expressionContext==="filter"&&!rc(R))return[new er(D.key,D.value,'"feature-state" data expressions are not supported with filters.')];if(D.expressionContext&&D.expressionContext.indexOf("cluster")===0){if(!sh(R,["zoom","feature-state"]))return[new er(D.key,D.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(D.expressionContext==="cluster-initial"&&!$h(R))return[new er(D.key,D.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Zu(D){let A=D.key,R=D.value,j=D.valueSpec,te=[];return Array.isArray(j.values)?j.values.indexOf(Os(R))===-1&&te.push(new er(A,R,`expected one of [${j.values.join(", ")}], ${JSON.stringify(R)} found`)):Object.keys(j.values).indexOf(Os(R))===-1&&te.push(new er(A,R,`expected one of [${Object.keys(j.values).join(", ")}], ${JSON.stringify(R)} found`)),te}function Hf(D){return md(_u(D.value))?Ic(Ke({},D,{expressionContext:"filter",valueSpec:{value:"boolean"}})):pc(D)}function pc(D){let A=D.value,R=D.key;if(vs(A)!=="array")return[new er(R,A,`array expected, ${vs(A)} found`)];let j=D.styleSpec,te,ue=[];if(A.length<1)return[new er(R,A,"filter array must have at least 1 element")];switch(ue=ue.concat(Zu({key:`${R}[0]`,value:A[0],valueSpec:j.filter_operator,style:D.style,styleSpec:D.styleSpec})),Os(A[0])){case"<":case"<=":case">":case">=":A.length>=2&&Os(A[1])==="$type"&&ue.push(new er(R,A,`"$type" cannot be use with operator "${A[0]}"`));case"==":case"!=":A.length!==3&&ue.push(new er(R,A,`filter array for operator "${A[0]}" must have 3 elements`));case"in":case"!in":A.length>=2&&(te=vs(A[1]),te!=="string"&&ue.push(new er(`${R}[1]`,A[1],`string expected, ${te} found`)));for(let ve=2;ve{at in R&&A.push(new er(j,R[at],`"${at}" is prohibited for ref layers`))}),te.layers.forEach(at=>{Os(at.id)===Re&&(Ze=at)}),Ze?Ze.ref?A.push(new er(j,R.ref,"ref cannot reference another ref layer")):ve=Os(Ze.type):A.push(new er(j,R.ref,`ref layer "${Re}" not found`))}else if(ve!=="background")if(R.source){let Ze=te.sources&&te.sources[R.source],at=Ze&&Os(Ze.type);Ze?at==="vector"&&ve==="raster"?A.push(new er(j,R.source,`layer "${R.id}" requires a raster source`)):at!=="raster-dem"&&ve==="hillshade"?A.push(new er(j,R.source,`layer "${R.id}" requires a raster-dem source`)):at==="raster"&&ve!=="raster"?A.push(new er(j,R.source,`layer "${R.id}" requires a vector source`)):at!=="vector"||R["source-layer"]?at==="raster-dem"&&ve!=="hillshade"?A.push(new er(j,R.source,"raster-dem source can only be used with layer type 'hillshade'.")):ve!=="line"||!R.paint||!R.paint["line-gradient"]||at==="geojson"&&Ze.lineMetrics||A.push(new er(j,R,`layer "${R.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):A.push(new er(j,R,`layer "${R.id}" must specify a "source-layer"`)):A.push(new er(j,R.source,`source "${R.source}" not found`))}else A.push(new er(j,R,'missing required property "source"'));return A=A.concat(xu({key:j,value:R,valueSpec:ue.layer,style:D.style,styleSpec:D.styleSpec,validateSpec:D.validateSpec,objectElementValidators:{"*":()=>[],type:()=>D.validateSpec({key:`${j}.type`,value:R.type,valueSpec:ue.layer.type,style:D.style,styleSpec:D.styleSpec,validateSpec:D.validateSpec,object:R,objectKey:"type"}),filter:Hf,layout:Ze=>xu({layer:R,key:Ze.key,value:Ze.value,style:Ze.style,styleSpec:Ze.styleSpec,validateSpec:Ze.validateSpec,objectElementValidators:{"*":at=>Dl(Ke({layerType:ve},at))}}),paint:Ze=>xu({layer:R,key:Ze.key,value:Ze.value,style:Ze.style,styleSpec:Ze.styleSpec,validateSpec:Ze.validateSpec,objectElementValidators:{"*":at=>Rh(Ke({layerType:ve},at))}})}})),A}function Xu(D){let A=D.value,R=D.key,j=vs(A);return j!=="string"?[new er(R,A,`string expected, ${j} found`)]:[]}let Dc={promoteId:function({key:D,value:A}){if(vs(A)==="string")return Xu({key:D,value:A});{let R=[];for(let j in A)R.push(...Xu({key:`${D}.${j}`,value:A[j]}));return R}}};function gc(D){let A=D.value,R=D.key,j=D.styleSpec,te=D.style,ue=D.validateSpec;if(!A.type)return[new er(R,A,'"type" is required')];let ve=Os(A.type),Re;switch(ve){case"vector":case"raster":return Re=xu({key:R,value:A,valueSpec:j[`source_${ve.replace("-","_")}`],style:D.style,styleSpec:j,objectElementValidators:Dc,validateSpec:ue}),Re;case"raster-dem":return Re=function(Ze){var at;let Tt=(at=Ze.sourceName)!==null&&at!==void 0?at:"",Ft=Ze.value,Qt=Ze.styleSpec,sr=Qt.source_raster_dem,Tr=Ze.style,Pr=[],$r=vs(Ft);if(Ft===void 0)return Pr;if($r!=="object")return Pr.push(new er("source_raster_dem",Ft,`object expected, ${$r} found`)),Pr;let ni=Os(Ft.encoding)==="custom",Ri=["redFactor","greenFactor","blueFactor","baseShift"],pi=Ze.value.encoding?`"${Ze.value.encoding}"`:"Default";for(let ki in Ft)!ni&&Ri.includes(ki)?Pr.push(new er(ki,Ft[ki],`In "${Tt}": "${ki}" is only valid when "encoding" is set to "custom". ${pi} encoding found`)):sr[ki]?Pr=Pr.concat(Ze.validateSpec({key:ki,value:Ft[ki],valueSpec:sr[ki],validateSpec:Ze.validateSpec,style:Tr,styleSpec:Qt})):Pr.push(new er(ki,Ft[ki],`unknown property "${ki}"`));return Pr}({sourceName:R,value:A,style:D.style,styleSpec:j,validateSpec:ue}),Re;case"geojson":if(Re=xu({key:R,value:A,valueSpec:j.source_geojson,style:te,styleSpec:j,validateSpec:ue,objectElementValidators:Dc}),A.cluster)for(let Ze in A.clusterProperties){let[at,Tt]=A.clusterProperties[Ze],Ft=typeof at=="string"?[at,["accumulated"],["get",Ze]]:at;Re.push(...Ic({key:`${R}.${Ze}.map`,value:Tt,validateSpec:ue,expressionContext:"cluster-map"})),Re.push(...Ic({key:`${R}.${Ze}.reduce`,value:Ft,validateSpec:ue,expressionContext:"cluster-reduce"}))}return Re;case"video":return xu({key:R,value:A,valueSpec:j.source_video,style:te,validateSpec:ue,styleSpec:j});case"image":return xu({key:R,value:A,valueSpec:j.source_image,style:te,validateSpec:ue,styleSpec:j});case"canvas":return[new er(R,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Zu({key:`${R}.type`,value:A.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:te,validateSpec:ue,styleSpec:j})}}function hl(D){let A=D.value,R=D.styleSpec,j=R.light,te=D.style,ue=[],ve=vs(A);if(A===void 0)return ue;if(ve!=="object")return ue=ue.concat([new er("light",A,`object expected, ${ve} found`)]),ue;for(let Re in A){let Ze=Re.match(/^(.*)-transition$/);ue=ue.concat(Ze&&j[Ze[1]]&&j[Ze[1]].transition?D.validateSpec({key:Re,value:A[Re],valueSpec:R.transition,validateSpec:D.validateSpec,style:te,styleSpec:R}):j[Re]?D.validateSpec({key:Re,value:A[Re],valueSpec:j[Re],validateSpec:D.validateSpec,style:te,styleSpec:R}):[new er(Re,A[Re],`unknown property "${Re}"`)])}return ue}function ru(D){let A=D.value,R=D.styleSpec,j=R.sky,te=D.style,ue=vs(A);if(A===void 0)return[];if(ue!=="object")return[new er("sky",A,`object expected, ${ue} found`)];let ve=[];for(let Re in A)ve=ve.concat(j[Re]?D.validateSpec({key:Re,value:A[Re],valueSpec:j[Re],style:te,styleSpec:R}):[new er(Re,A[Re],`unknown property "${Re}"`)]);return ve}function mc(D){let A=D.value,R=D.styleSpec,j=R.terrain,te=D.style,ue=[],ve=vs(A);if(A===void 0)return ue;if(ve!=="object")return ue=ue.concat([new er("terrain",A,`object expected, ${ve} found`)]),ue;for(let Re in A)ue=ue.concat(j[Re]?D.validateSpec({key:Re,value:A[Re],valueSpec:j[Re],validateSpec:D.validateSpec,style:te,styleSpec:R}):[new er(Re,A[Re],`unknown property "${Re}"`)]);return ue}function Yc(D){let A=[],R=D.value,j=D.key;if(Array.isArray(R)){let te=[],ue=[];for(let ve in R)R[ve].id&&te.includes(R[ve].id)&&A.push(new er(j,R,`all the sprites' ids must be unique, but ${R[ve].id} is duplicated`)),te.push(R[ve].id),R[ve].url&&ue.includes(R[ve].url)&&A.push(new er(j,R,`all the sprites' URLs must be unique, but ${R[ve].url} is duplicated`)),ue.push(R[ve].url),A=A.concat(xu({key:`${j}[${ve}]`,value:R[ve],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:D.validateSpec}));return A}return Xu({key:j,value:R})}let nc={"*":()=>[],array:Dh,boolean:function(D){let A=D.value,R=D.key,j=vs(A);return j!=="boolean"?[new er(R,A,`boolean expected, ${j} found`)]:[]},number:Ds,color:function(D){let A=D.key,R=D.value,j=vs(R);return j!=="string"?[new er(A,R,`color expected, ${j} found`)]:Zt.parse(String(R))?[]:[new er(A,R,`color expected, "${R}" found`)]},constants:uh,enum:Zu,filter:Hf,function:Pf,layer:zh,object:xu,source:gc,light:hl,sky:ru,terrain:mc,projection:function(D){let A=D.value,R=D.styleSpec,j=R.projection,te=D.style,ue=vs(A);if(A===void 0)return[];if(ue!=="object")return[new er("projection",A,`object expected, ${ue} found`)];let ve=[];for(let Re in A)ve=ve.concat(j[Re]?D.validateSpec({key:Re,value:A[Re],valueSpec:j[Re],style:te,styleSpec:R}):[new er(Re,A[Re],`unknown property "${Re}"`)]);return ve},string:Xu,formatted:function(D){return Xu(D).length===0?[]:Ic(D)},resolvedImage:function(D){return Xu(D).length===0?[]:Ic(D)},padding:function(D){let A=D.key,R=D.value;if(vs(R)==="array"){if(R.length<1||R.length>4)return[new er(A,R,`padding requires 1 to 4 values; ${R.length} values found`)];let j={type:"number"},te=[];for(let ue=0;ue[]}})),D.constants&&(R=R.concat(uh({key:"constants",value:D.constants,style:D,styleSpec:A,validateSpec:gf}))),vr(R)}function wr(D){return function(A){return D(hee(fee({},A),{validateSpec:gf}))}}function vr(D){return[].concat(D).sort((A,R)=>A.line-R.line)}function Ur(D){return function(...A){return vr(D.apply(this,A))}}Bt.source=Ur(wr(gc)),Bt.sprite=Ur(wr(Yc)),Bt.glyphs=Ur(wr(gt)),Bt.light=Ur(wr(hl)),Bt.sky=Ur(wr(ru)),Bt.terrain=Ur(wr(mc)),Bt.layer=Ur(wr(zh)),Bt.filter=Ur(wr(Hf)),Bt.paintProperty=Ur(wr(Rh)),Bt.layoutProperty=Ur(wr(Dl));let fi=Bt,xi=fi.light,Fi=fi.sky,Xi=fi.paintProperty,hn=fi.layoutProperty;function Ti(D,A){let R=!1;if(A&&A.length)for(let j of A)D.fire(new me(new Error(j.message))),R=!0;return R}class qi{constructor(A,R,j){let te=this.cells=[];if(A instanceof ArrayBuffer){this.arrayBuffer=A;let ve=new Int32Array(this.arrayBuffer);A=ve[0],this.d=(R=ve[1])+2*(j=ve[2]);for(let Ze=0;Ze=Ft[Tr+0]&&te>=Ft[Tr+1])?(Re[sr]=!0,ve.push(Tt[sr])):Re[sr]=!1}}}}_forEachCell(A,R,j,te,ue,ve,Re,Ze){let at=this._convertToCellCoord(A),Tt=this._convertToCellCoord(R),Ft=this._convertToCellCoord(j),Qt=this._convertToCellCoord(te);for(let sr=at;sr<=Ft;sr++)for(let Tr=Tt;Tr<=Qt;Tr++){let Pr=this.d*Tr+sr;if((!Ze||Ze(this._convertFromCellCoord(sr),this._convertFromCellCoord(Tr),this._convertFromCellCoord(sr+1),this._convertFromCellCoord(Tr+1)))&&ue.call(this,A,R,j,te,Pr,ve,Re,Ze))return}}_convertFromCellCoord(A){return(A-this.padding)/this.scale}_convertToCellCoord(A){return Math.max(0,Math.min(this.d-1,Math.floor(A*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let A=this.cells,R=3+this.cells.length+1+1,j=0;for(let ve=0;ve=0)continue;let ve=D[ue];te[ue]=Ii[R].shallow.indexOf(ue)>=0?ve:ka(ve,A)}D instanceof Error&&(te.message=D.message)}if(te.$name)throw new Error("$name property is reserved for worker serialization logic.");return R!=="Object"&&(te.$name=R),te}function qa(D){if(Ta(D))return D;if(Array.isArray(D))return D.map(qa);if(typeof D!="object")throw new Error("can't deserialize object of type "+typeof D);let A=Ea(D)||"Object";if(!Ii[A])throw new Error(`can't deserialize unregistered class ${A}`);let{klass:R}=Ii[A];if(!R)throw new Error(`can't deserialize unregistered class ${A}`);if(R.deserialize)return R.deserialize(D);let j=Object.create(R.prototype);for(let te of Object.keys(D)){if(te==="$name")continue;let ue=D[te];j[te]=Ii[A].shallow.indexOf(te)>=0?ue:qa(ue)}return j}class Cn{constructor(){this.first=!0}update(A,R){let j=Math.floor(A);return this.first?(this.first=!1,this.lastIntegerZoom=j,this.lastIntegerZoomTime=0,this.lastZoom=A,this.lastFloorZoom=j,!0):(this.lastFloorZoom>j?(this.lastIntegerZoom=j+1,this.lastIntegerZoomTime=R):this.lastFloorZoomD>=128&&D<=255,"Hangul Jamo":D=>D>=4352&&D<=4607,Khmer:D=>D>=6016&&D<=6143,"General Punctuation":D=>D>=8192&&D<=8303,"Letterlike Symbols":D=>D>=8448&&D<=8527,"Number Forms":D=>D>=8528&&D<=8591,"Miscellaneous Technical":D=>D>=8960&&D<=9215,"Control Pictures":D=>D>=9216&&D<=9279,"Optical Character Recognition":D=>D>=9280&&D<=9311,"Enclosed Alphanumerics":D=>D>=9312&&D<=9471,"Geometric Shapes":D=>D>=9632&&D<=9727,"Miscellaneous Symbols":D=>D>=9728&&D<=9983,"Miscellaneous Symbols and Arrows":D=>D>=11008&&D<=11263,"Ideographic Description Characters":D=>D>=12272&&D<=12287,"CJK Symbols and Punctuation":D=>D>=12288&&D<=12351,Katakana:D=>D>=12448&&D<=12543,Kanbun:D=>D>=12688&&D<=12703,"CJK Strokes":D=>D>=12736&&D<=12783,"Enclosed CJK Letters and Months":D=>D>=12800&&D<=13055,"CJK Compatibility":D=>D>=13056&&D<=13311,"Yijing Hexagram Symbols":D=>D>=19904&&D<=19967,"Private Use Area":D=>D>=57344&&D<=63743,"Vertical Forms":D=>D>=65040&&D<=65055,"CJK Compatibility Forms":D=>D>=65072&&D<=65103,"Small Form Variants":D=>D>=65104&&D<=65135,"Halfwidth and Fullwidth Forms":D=>D>=65280&&D<=65519};function Ua(D){for(let A of D)if(No(A.charCodeAt(0)))return!0;return!1}function mo(D){for(let A of D)if(!es(A.charCodeAt(0)))return!1;return!0}function Xo(D){let A=D.map(R=>{try{return new RegExp(`\\p{sc=${R}}`,"u").source}catch(j){return null}}).filter(R=>R);return new RegExp(A.join("|"),"u")}let As=Xo(["Arab","Dupl","Mong","Ougr","Syrc"]);function es(D){return!As.test(String.fromCodePoint(D))}let _s=Xo(["Bopo","Hani","Hira","Kana","Kits","Nshu","Tang","Yiii"]);function No(D){return!(D!==746&&D!==747&&(D<4352||!(sn["CJK Compatibility Forms"](D)&&!(D>=65097&&D<=65103)||sn["CJK Compatibility"](D)||sn["CJK Strokes"](D)||!(!sn["CJK Symbols and Punctuation"](D)||D>=12296&&D<=12305||D>=12308&&D<=12319||D===12336)||sn["Enclosed CJK Letters and Months"](D)||sn["Ideographic Description Characters"](D)||sn.Kanbun(D)||sn.Katakana(D)&&D!==12540||!(!sn["Halfwidth and Fullwidth Forms"](D)||D===65288||D===65289||D===65293||D>=65306&&D<=65310||D===65339||D===65341||D===65343||D>=65371&&D<=65503||D===65507||D>=65512&&D<=65519)||!(!sn["Small Form Variants"](D)||D>=65112&&D<=65118||D>=65123&&D<=65126)||sn["Vertical Forms"](D)||sn["Yijing Hexagram Symbols"](D)||new RegExp("\\p{sc=Cans}","u").test(String.fromCodePoint(D))||new RegExp("\\p{sc=Hang}","u").test(String.fromCodePoint(D))||_s.test(String.fromCodePoint(D)))))}function yl(D){return!(No(D)||function(A){return!!(sn["Latin-1 Supplement"](A)&&(A===167||A===169||A===174||A===177||A===188||A===189||A===190||A===215||A===247)||sn["General Punctuation"](A)&&(A===8214||A===8224||A===8225||A===8240||A===8241||A===8251||A===8252||A===8258||A===8263||A===8264||A===8265||A===8273)||sn["Letterlike Symbols"](A)||sn["Number Forms"](A)||sn["Miscellaneous Technical"](A)&&(A>=8960&&A<=8967||A>=8972&&A<=8991||A>=8996&&A<=9e3||A===9003||A>=9085&&A<=9114||A>=9150&&A<=9165||A===9167||A>=9169&&A<=9179||A>=9186&&A<=9215)||sn["Control Pictures"](A)&&A!==9251||sn["Optical Character Recognition"](A)||sn["Enclosed Alphanumerics"](A)||sn["Geometric Shapes"](A)||sn["Miscellaneous Symbols"](A)&&!(A>=9754&&A<=9759)||sn["Miscellaneous Symbols and Arrows"](A)&&(A>=11026&&A<=11055||A>=11088&&A<=11097||A>=11192&&A<=11243)||sn["CJK Symbols and Punctuation"](A)||sn.Katakana(A)||sn["Private Use Area"](A)||sn["CJK Compatibility Forms"](A)||sn["Small Form Variants"](A)||sn["Halfwidth and Fullwidth Forms"](A)||A===8734||A===8756||A===8757||A>=9984&&A<=10087||A>=10102&&A<=10131||A===65532||A===65533)}(D))}let Gs=Xo(["Adlm","Arab","Armi","Avst","Chrs","Cprt","Egyp","Elym","Gara","Hatr","Hebr","Hung","Khar","Lydi","Mand","Mani","Mend","Merc","Mero","Narb","Nbat","Nkoo","Orkh","Palm","Phli","Phlp","Phnx","Prti","Rohg","Samr","Sarb","Sogo","Syrc","Thaa","Todr","Yezi"]);function Rs(D){return Gs.test(String.fromCodePoint(D))}function ia(D,A){return!(!A&&Rs(D)||D>=2304&&D<=3583||D>=3840&&D<=4255||sn.Khmer(D))}function Ja(D){for(let A of D)if(Rs(A.charCodeAt(0)))return!0;return!1}let ps=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(D){this.pluginStatus=D.pluginStatus,this.pluginURL=D.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(D){this.applyArabicShaping=D.applyArabicShaping,this.processBidirectionalText=D.processBidirectionalText,this.processStyledBidirectionalText=D.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Jo{constructor(A,R){this.zoom=A,R?(this.now=R.now,this.fadeDuration=R.fadeDuration,this.zoomHistory=R.zoomHistory,this.transition=R.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Cn,this.transition={})}isSupportedScript(A){return function(R,j){for(let te of R)if(!ia(te.charCodeAt(0),j))return!1;return!0}(A,ps.getRTLTextPluginStatus()==="loaded")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let A=this.zoom,R=A-Math.floor(A),j=this.crossFadingFactor();return A>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:R+(1-R)*j}:{fromScale:.5,toScale:1,t:1-(1-j)*R}}}class iu{constructor(A,R){this.property=A,this.value=R,this.expression=function(j,te){if(Ih(j))return new Qs(j,te);if(Lc(j)){let ue=yu(j,te);if(ue.result==="error")throw new Error(ue.value.map(ve=>`${ve.key}: ${ve.message}`).join(", "));return ue.value}{let ue=j;return te.type==="color"&&typeof j=="string"?ue=Zt.parse(j):te.type!=="padding"||typeof j!="number"&&!Array.isArray(j)?te.type==="variableAnchorOffsetCollection"&&Array.isArray(j)&&(ue=Si.parse(j)):ue=Vr.parse(j),{kind:"constant",evaluate:()=>ue}}}(R===void 0?A.specification.default:R,A.specification)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}possiblyEvaluate(A,R,j){return this.property.possiblyEvaluate(this,A,R,j)}}class Du{constructor(A){this.property=A,this.value=new iu(A,void 0)}transitioned(A,R){return new mf(this.property,this.value,R,L({},A.transition,this.transition),A.now)}untransitioned(){return new mf(this.property,this.value,null,{},0)}}class ac{constructor(A){this._properties=A,this._values=Object.create(A.defaultTransitionablePropertyValues)}getValue(A){return g(this._values[A].value.value)}setValue(A,R){Object.prototype.hasOwnProperty.call(this._values,A)||(this._values[A]=new Du(this._values[A].property)),this._values[A].value=new iu(this._values[A].property,R===null?void 0:g(R))}getTransition(A){return g(this._values[A].transition)}setTransition(A,R){Object.prototype.hasOwnProperty.call(this._values,A)||(this._values[A]=new Du(this._values[A].property)),this._values[A].transition=g(R)||void 0}serialize(){let A={};for(let R of Object.keys(this._values)){let j=this.getValue(R);j!==void 0&&(A[R]=j);let te=this.getTransition(R);te!==void 0&&(A[`${R}-transition`]=te)}return A}transitioned(A,R){let j=new bu(this._properties);for(let te of Object.keys(this._values))j._values[te]=this._values[te].transitioned(A,R._values[te]);return j}untransitioned(){let A=new bu(this._properties);for(let R of Object.keys(this._values))A._values[R]=this._values[R].untransitioned();return A}}class mf{constructor(A,R,j,te,ue){this.property=A,this.value=R,this.begin=ue+te.delay||0,this.end=this.begin+te.duration||0,A.specification.transition&&(te.delay||te.duration)&&(this.prior=j)}possiblyEvaluate(A,R,j){let te=A.now||0,ue=this.value.possiblyEvaluate(A,R,j),ve=this.prior;if(ve){if(te>this.end)return this.prior=null,ue;if(this.value.isDataDriven())return this.prior=null,ue;if(te=1)return 1;let at=Ze*Ze,Tt=at*Ze;return 4*(Ze<.5?Tt:3*(Ze-at)+Tt-.75)}(Re))}}return ue}}class bu{constructor(A){this._properties=A,this._values=Object.create(A.defaultTransitioningPropertyValues)}possiblyEvaluate(A,R,j){let te=new Rc(this._properties);for(let ue of Object.keys(this._values))te._values[ue]=this._values[ue].possiblyEvaluate(A,R,j);return te}hasTransition(){for(let A of Object.keys(this._values))if(this._values[A].prior)return!0;return!1}}class Kc{constructor(A){this._properties=A,this._values=Object.create(A.defaultPropertyValues)}hasValue(A){return this._values[A].value!==void 0}getValue(A){return g(this._values[A].value)}setValue(A,R){this._values[A]=new iu(this._values[A].property,R===null?void 0:g(R))}serialize(){let A={};for(let R of Object.keys(this._values)){let j=this.getValue(R);j!==void 0&&(A[R]=j)}return A}possiblyEvaluate(A,R,j){let te=new Rc(this._properties);for(let ue of Object.keys(this._values))te._values[ue]=this._values[ue].possiblyEvaluate(A,R,j);return te}}class Ru{constructor(A,R,j){this.property=A,this.value=R,this.parameters=j}isConstant(){return this.value.kind==="constant"}constantOr(A){return this.value.kind==="constant"?this.value.value:A}evaluate(A,R,j,te){return this.property.evaluate(this.value,this.parameters,A,R,j,te)}}class Rc{constructor(A){this._properties=A,this._values=Object.create(A.defaultPossiblyEvaluatedValues)}get(A){return this._values[A]}}class Ra{constructor(A){this.specification=A}possiblyEvaluate(A,R){if(A.isDataDriven())throw new Error("Value should not be data driven");return A.expression.evaluate(R)}interpolate(A,R,j){let te=Mo[this.specification.type];return te?te(A,R,j):A}}class eo{constructor(A,R){this.specification=A,this.overrides=R}possiblyEvaluate(A,R,j,te){return new Ru(this,A.expression.kind==="constant"||A.expression.kind==="camera"?{kind:"constant",value:A.expression.evaluate(R,null,{},j,te)}:A.expression,R)}interpolate(A,R,j){if(A.value.kind!=="constant"||R.value.kind!=="constant")return A;if(A.value.value===void 0||R.value.value===void 0)return new Ru(this,{kind:"constant",value:void 0},A.parameters);let te=Mo[this.specification.type];if(te){let ue=te(A.value.value,R.value.value,j);return new Ru(this,{kind:"constant",value:ue},A.parameters)}return A}evaluate(A,R,j,te,ue,ve){return A.kind==="constant"?A.value:A.evaluate(R,j,te,ue,ve)}}class Jc extends eo{possiblyEvaluate(A,R,j,te){if(A.value===void 0)return new Ru(this,{kind:"constant",value:void 0},R);if(A.expression.kind==="constant"){let ue=A.expression.evaluate(R,null,{},j,te),ve=A.property.specification.type==="resolvedImage"&&typeof ue!="string"?ue.name:ue,Re=this._calculate(ve,ve,ve,R);return new Ru(this,{kind:"constant",value:Re},R)}if(A.expression.kind==="camera"){let ue=this._calculate(A.expression.evaluate({zoom:R.zoom-1}),A.expression.evaluate({zoom:R.zoom}),A.expression.evaluate({zoom:R.zoom+1}),R);return new Ru(this,{kind:"constant",value:ue},R)}return new Ru(this,A.expression,R)}evaluate(A,R,j,te,ue,ve){if(A.kind==="source"){let Re=A.evaluate(R,j,te,ue,ve);return this._calculate(Re,Re,Re,R)}return A.kind==="composite"?this._calculate(A.evaluate({zoom:Math.floor(R.zoom)-1},j,te),A.evaluate({zoom:Math.floor(R.zoom)},j,te),A.evaluate({zoom:Math.floor(R.zoom)+1},j,te),R):A.value}_calculate(A,R,j,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:A,to:R}:{from:j,to:R}}interpolate(A){return A}}class yc{constructor(A){this.specification=A}possiblyEvaluate(A,R,j,te){if(A.value!==void 0){if(A.expression.kind==="constant"){let ue=A.expression.evaluate(R,null,{},j,te);return this._calculate(ue,ue,ue,R)}return this._calculate(A.expression.evaluate(new Jo(Math.floor(R.zoom-1),R)),A.expression.evaluate(new Jo(Math.floor(R.zoom),R)),A.expression.evaluate(new Jo(Math.floor(R.zoom+1),R)),R)}}_calculate(A,R,j,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:A,to:R}:{from:j,to:R}}interpolate(A){return A}}class _c{constructor(A){this.specification=A}possiblyEvaluate(A,R,j,te){return!!A.expression.evaluate(R,null,{},j,te)}interpolate(){return!1}}class le{constructor(A){this.properties=A,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let R in A){let j=A[R];j.specification.overridable&&this.overridableProperties.push(R);let te=this.defaultPropertyValues[R]=new iu(j,void 0),ue=this.defaultTransitionablePropertyValues[R]=new Du(j);this.defaultTransitioningPropertyValues[R]=ue.untransitioned(),this.defaultPossiblyEvaluatedValues[R]=te.possiblyEvaluate({})}}}mi("DataDrivenProperty",eo),mi("DataConstantProperty",Ra),mi("CrossFadedDataDrivenProperty",Jc),mi("CrossFadedProperty",yc),mi("ColorRampProperty",_c);let w="-transition";class B extends De{constructor(A,R){if(super(),this.id=A.id,this.type=A.type,this._featureFilter={filter:()=>!0,needGeometry:!1},A.type!=="custom"&&(this.metadata=A.metadata,this.minzoom=A.minzoom,this.maxzoom=A.maxzoom,A.type!=="background"&&(this.source=A.source,this.sourceLayer=A["source-layer"],this.filter=A.filter),R.layout&&(this._unevaluatedLayout=new Kc(R.layout)),R.paint)){this._transitionablePaint=new ac(R.paint);for(let j in A.paint)this.setPaintProperty(j,A.paint[j],{validate:!1});for(let j in A.layout)this.setLayoutProperty(j,A.layout[j],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Rc(R.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(A){return A==="visibility"?this.visibility:this._unevaluatedLayout.getValue(A)}setLayoutProperty(A,R,j={}){R!=null&&this._validate(hn,`layers.${this.id}.layout.${A}`,A,R,j)||(A!=="visibility"?this._unevaluatedLayout.setValue(A,R):this.visibility=R)}getPaintProperty(A){return A.endsWith(w)?this._transitionablePaint.getTransition(A.slice(0,-11)):this._transitionablePaint.getValue(A)}setPaintProperty(A,R,j={}){if(R!=null&&this._validate(Xi,`layers.${this.id}.paint.${A}`,A,R,j))return!1;if(A.endsWith(w))return this._transitionablePaint.setTransition(A.slice(0,-11),R||void 0),!1;{let te=this._transitionablePaint._values[A],ue=te.property.specification["property-type"]==="cross-faded-data-driven",ve=te.value.isDataDriven(),Re=te.value;this._transitionablePaint.setValue(A,R),this._handleSpecialPaintPropertyUpdate(A);let Ze=this._transitionablePaint._values[A].value;return Ze.isDataDriven()||ve||ue||this._handleOverridablePaintPropertyUpdate(A,Re,Ze)}}_handleSpecialPaintPropertyUpdate(A){}_handleOverridablePaintPropertyUpdate(A,R,j){return!1}isHidden(A){return!!(this.minzoom&&A=this.maxzoom)||this.visibility==="none"}updateTransitions(A){this._transitioningPaint=this._transitionablePaint.transitioned(A,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(A,R){A.getCrossfadeParameters&&(this._crossfadeParameters=A.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(A,void 0,R)),this.paint=this._transitioningPaint.possiblyEvaluate(A,void 0,R)}serialize(){let A={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(A.layout=A.layout||{},A.layout.visibility=this.visibility),M(A,(R,j)=>!(R===void 0||j==="layout"&&!Object.keys(R).length||j==="paint"&&!Object.keys(R).length))}_validate(A,R,j,te,ue={}){return(!ue||ue.validate!==!1)&&Ti(this,A.call(fi,{key:R,layerType:this.type,objectKey:j,value:te,styleSpec:ce,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let A in this.paint._values){let R=this.paint.get(A);if(R instanceof Ru&&Cu(R.property.specification)&&(R.value.kind==="source"||R.value.kind==="composite")&&R.value.isStateDependent)return!0}return!1}}let Q={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class ee{constructor(A,R){this._structArray=A,this._pos1=R*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class se{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(A,R){return A._trim(),R&&(A.isTransferred=!0,R.push(A.arrayBuffer)),{length:A.length,arrayBuffer:A.arrayBuffer}}static deserialize(A){let R=Object.create(this.prototype);return R.arrayBuffer=A.arrayBuffer,R.length=A.length,R.capacity=A.arrayBuffer.byteLength/R.bytesPerElement,R._refreshViews(),R}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(A){this.reserve(A),this.length=A}reserve(A){if(A>this.capacity){this.capacity=Math.max(A,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let R=this.uint8;this._refreshViews(),R&&this.uint8.set(R)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function qe(D,A=1){let R=0,j=0;return{members:D.map(te=>{let ue=Q[te.type].BYTES_PER_ELEMENT,ve=R=je(R,Math.max(A,ue)),Re=te.components||1;return j=Math.max(j,ue),R+=ue*Re,{name:te.name,type:te.type,components:Re,offset:ve}}),size:je(R,Math.max(j,A)),alignment:A}}function je(D,A){return Math.ceil(D/A)*A}class it extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,R){let j=this.length;return this.resize(j+1),this.emplace(j,A,R)}emplace(A,R,j){let te=2*A;return this.int16[te+0]=R,this.int16[te+1]=j,A}}it.prototype.bytesPerElement=4,mi("StructArrayLayout2i4",it);class yt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,R,j){let te=this.length;return this.resize(te+1),this.emplace(te,A,R,j)}emplace(A,R,j,te){let ue=3*A;return this.int16[ue+0]=R,this.int16[ue+1]=j,this.int16[ue+2]=te,A}}yt.prototype.bytesPerElement=6,mi("StructArrayLayout3i6",yt);class Ot extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,R,j,te){let ue=this.length;return this.resize(ue+1),this.emplace(ue,A,R,j,te)}emplace(A,R,j,te,ue){let ve=4*A;return this.int16[ve+0]=R,this.int16[ve+1]=j,this.int16[ve+2]=te,this.int16[ve+3]=ue,A}}Ot.prototype.bytesPerElement=8,mi("StructArrayLayout4i8",Ot);class Nt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,R,j,te,ue,ve){let Re=this.length;return this.resize(Re+1),this.emplace(Re,A,R,j,te,ue,ve)}emplace(A,R,j,te,ue,ve,Re){let Ze=6*A;return this.int16[Ze+0]=R,this.int16[Ze+1]=j,this.int16[Ze+2]=te,this.int16[Ze+3]=ue,this.int16[Ze+4]=ve,this.int16[Ze+5]=Re,A}}Nt.prototype.bytesPerElement=12,mi("StructArrayLayout2i4i12",Nt);class hr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,R,j,te,ue,ve){let Re=this.length;return this.resize(Re+1),this.emplace(Re,A,R,j,te,ue,ve)}emplace(A,R,j,te,ue,ve,Re){let Ze=4*A,at=8*A;return this.int16[Ze+0]=R,this.int16[Ze+1]=j,this.uint8[at+4]=te,this.uint8[at+5]=ue,this.uint8[at+6]=ve,this.uint8[at+7]=Re,A}}hr.prototype.bytesPerElement=8,mi("StructArrayLayout2i4ub8",hr);class Mr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A,R){let j=this.length;return this.resize(j+1),this.emplace(j,A,R)}emplace(A,R,j){let te=2*A;return this.float32[te+0]=R,this.float32[te+1]=j,A}}Mr.prototype.bytesPerElement=8,mi("StructArrayLayout2f8",Mr);class he extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,R,j,te,ue,ve,Re,Ze,at,Tt){let Ft=this.length;return this.resize(Ft+1),this.emplace(Ft,A,R,j,te,ue,ve,Re,Ze,at,Tt)}emplace(A,R,j,te,ue,ve,Re,Ze,at,Tt,Ft){let Qt=10*A;return this.uint16[Qt+0]=R,this.uint16[Qt+1]=j,this.uint16[Qt+2]=te,this.uint16[Qt+3]=ue,this.uint16[Qt+4]=ve,this.uint16[Qt+5]=Re,this.uint16[Qt+6]=Ze,this.uint16[Qt+7]=at,this.uint16[Qt+8]=Tt,this.uint16[Qt+9]=Ft,A}}he.prototype.bytesPerElement=20,mi("StructArrayLayout10ui20",he);class be extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,R,j,te,ue,ve,Re,Ze,at,Tt,Ft,Qt){let sr=this.length;return this.resize(sr+1),this.emplace(sr,A,R,j,te,ue,ve,Re,Ze,at,Tt,Ft,Qt)}emplace(A,R,j,te,ue,ve,Re,Ze,at,Tt,Ft,Qt,sr){let Tr=12*A;return this.int16[Tr+0]=R,this.int16[Tr+1]=j,this.int16[Tr+2]=te,this.int16[Tr+3]=ue,this.uint16[Tr+4]=ve,this.uint16[Tr+5]=Re,this.uint16[Tr+6]=Ze,this.uint16[Tr+7]=at,this.int16[Tr+8]=Tt,this.int16[Tr+9]=Ft,this.int16[Tr+10]=Qt,this.int16[Tr+11]=sr,A}}be.prototype.bytesPerElement=24,mi("StructArrayLayout4i4ui4i24",be);class Pe extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A,R,j){let te=this.length;return this.resize(te+1),this.emplace(te,A,R,j)}emplace(A,R,j,te){let ue=3*A;return this.float32[ue+0]=R,this.float32[ue+1]=j,this.float32[ue+2]=te,A}}Pe.prototype.bytesPerElement=12,mi("StructArrayLayout3f12",Pe);class Oe extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(A){let R=this.length;return this.resize(R+1),this.emplace(R,A)}emplace(A,R){return this.uint32[1*A+0]=R,A}}Oe.prototype.bytesPerElement=4,mi("StructArrayLayout1ul4",Oe);class Je extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,R,j,te,ue,ve,Re,Ze,at){let Tt=this.length;return this.resize(Tt+1),this.emplace(Tt,A,R,j,te,ue,ve,Re,Ze,at)}emplace(A,R,j,te,ue,ve,Re,Ze,at,Tt){let Ft=10*A,Qt=5*A;return this.int16[Ft+0]=R,this.int16[Ft+1]=j,this.int16[Ft+2]=te,this.int16[Ft+3]=ue,this.int16[Ft+4]=ve,this.int16[Ft+5]=Re,this.uint32[Qt+3]=Ze,this.uint16[Ft+8]=at,this.uint16[Ft+9]=Tt,A}}Je.prototype.bytesPerElement=20,mi("StructArrayLayout6i1ul2ui20",Je);class He extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,R,j,te,ue,ve){let Re=this.length;return this.resize(Re+1),this.emplace(Re,A,R,j,te,ue,ve)}emplace(A,R,j,te,ue,ve,Re){let Ze=6*A;return this.int16[Ze+0]=R,this.int16[Ze+1]=j,this.int16[Ze+2]=te,this.int16[Ze+3]=ue,this.int16[Ze+4]=ve,this.int16[Ze+5]=Re,A}}He.prototype.bytesPerElement=12,mi("StructArrayLayout2i2i2i12",He);class et extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,R,j,te,ue){let ve=this.length;return this.resize(ve+1),this.emplace(ve,A,R,j,te,ue)}emplace(A,R,j,te,ue,ve){let Re=4*A,Ze=8*A;return this.float32[Re+0]=R,this.float32[Re+1]=j,this.float32[Re+2]=te,this.int16[Ze+6]=ue,this.int16[Ze+7]=ve,A}}et.prototype.bytesPerElement=16,mi("StructArrayLayout2f1f2i16",et);class Mt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(A,R,j,te,ue,ve){let Re=this.length;return this.resize(Re+1),this.emplace(Re,A,R,j,te,ue,ve)}emplace(A,R,j,te,ue,ve,Re){let Ze=16*A,at=4*A,Tt=8*A;return this.uint8[Ze+0]=R,this.uint8[Ze+1]=j,this.float32[at+1]=te,this.float32[at+2]=ue,this.int16[Tt+6]=ve,this.int16[Tt+7]=Re,A}}Mt.prototype.bytesPerElement=16,mi("StructArrayLayout2ub2f2i16",Mt);class Rt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,R,j){let te=this.length;return this.resize(te+1),this.emplace(te,A,R,j)}emplace(A,R,j,te){let ue=3*A;return this.uint16[ue+0]=R,this.uint16[ue+1]=j,this.uint16[ue+2]=te,A}}Rt.prototype.bytesPerElement=6,mi("StructArrayLayout3ui6",Rt);class Ut extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A,R,j,te,ue,ve,Re,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni){let Ri=this.length;return this.resize(Ri+1),this.emplace(Ri,A,R,j,te,ue,ve,Re,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni)}emplace(A,R,j,te,ue,ve,Re,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Ri){let pi=24*A,ki=12*A,Zi=48*A;return this.int16[pi+0]=R,this.int16[pi+1]=j,this.uint16[pi+2]=te,this.uint16[pi+3]=ue,this.uint32[ki+2]=ve,this.uint32[ki+3]=Re,this.uint32[ki+4]=Ze,this.uint16[pi+10]=at,this.uint16[pi+11]=Tt,this.uint16[pi+12]=Ft,this.float32[ki+7]=Qt,this.float32[ki+8]=sr,this.uint8[Zi+36]=Tr,this.uint8[Zi+37]=Pr,this.uint8[Zi+38]=$r,this.uint32[ki+10]=ni,this.int16[pi+22]=Ri,A}}Ut.prototype.bytesPerElement=48,mi("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Ut);class tr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A,R,j,te,ue,ve,Re,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Ri,pi,ki,Zi,ta,Va,Io,La,Hn,lo,Qa){let Ya=this.length;return this.resize(Ya+1),this.emplace(Ya,A,R,j,te,ue,ve,Re,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Ri,pi,ki,Zi,ta,Va,Io,La,Hn,lo,Qa)}emplace(A,R,j,te,ue,ve,Re,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Ri,pi,ki,Zi,ta,Va,Io,La,Hn,lo,Qa,Ya){let Tn=32*A,bo=16*A;return this.int16[Tn+0]=R,this.int16[Tn+1]=j,this.int16[Tn+2]=te,this.int16[Tn+3]=ue,this.int16[Tn+4]=ve,this.int16[Tn+5]=Re,this.int16[Tn+6]=Ze,this.int16[Tn+7]=at,this.uint16[Tn+8]=Tt,this.uint16[Tn+9]=Ft,this.uint16[Tn+10]=Qt,this.uint16[Tn+11]=sr,this.uint16[Tn+12]=Tr,this.uint16[Tn+13]=Pr,this.uint16[Tn+14]=$r,this.uint16[Tn+15]=ni,this.uint16[Tn+16]=Ri,this.uint16[Tn+17]=pi,this.uint16[Tn+18]=ki,this.uint16[Tn+19]=Zi,this.uint16[Tn+20]=ta,this.uint16[Tn+21]=Va,this.uint16[Tn+22]=Io,this.uint32[bo+12]=La,this.float32[bo+13]=Hn,this.float32[bo+14]=lo,this.uint16[Tn+30]=Qa,this.uint16[Tn+31]=Ya,A}}tr.prototype.bytesPerElement=64,mi("StructArrayLayout8i15ui1ul2f2ui64",tr);class yr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A){let R=this.length;return this.resize(R+1),this.emplace(R,A)}emplace(A,R){return this.float32[1*A+0]=R,A}}yr.prototype.bytesPerElement=4,mi("StructArrayLayout1f4",yr);class Dr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A,R,j){let te=this.length;return this.resize(te+1),this.emplace(te,A,R,j)}emplace(A,R,j,te){let ue=3*A;return this.uint16[6*A+0]=R,this.float32[ue+1]=j,this.float32[ue+2]=te,A}}Dr.prototype.bytesPerElement=12,mi("StructArrayLayout1ui2f12",Dr);class zr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,R,j){let te=this.length;return this.resize(te+1),this.emplace(te,A,R,j)}emplace(A,R,j,te){let ue=4*A;return this.uint32[2*A+0]=R,this.uint16[ue+2]=j,this.uint16[ue+3]=te,A}}zr.prototype.bytesPerElement=8,mi("StructArrayLayout1ul2ui8",zr);class Xr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A,R){let j=this.length;return this.resize(j+1),this.emplace(j,A,R)}emplace(A,R,j){let te=2*A;return this.uint16[te+0]=R,this.uint16[te+1]=j,A}}Xr.prototype.bytesPerElement=4,mi("StructArrayLayout2ui4",Xr);class di extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(A){let R=this.length;return this.resize(R+1),this.emplace(R,A)}emplace(A,R){return this.uint16[1*A+0]=R,A}}di.prototype.bytesPerElement=2,mi("StructArrayLayout1ui2",di);class Li extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(A,R,j,te){let ue=this.length;return this.resize(ue+1),this.emplace(ue,A,R,j,te)}emplace(A,R,j,te,ue){let ve=4*A;return this.float32[ve+0]=R,this.float32[ve+1]=j,this.float32[ve+2]=te,this.float32[ve+3]=ue,A}}Li.prototype.bytesPerElement=16,mi("StructArrayLayout4f16",Li);class Ci extends ee{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new u(this.anchorPointX,this.anchorPointY)}}Ci.prototype.size=20;class Qi extends Je{get(A){return new Ci(this,A)}}mi("CollisionBoxArray",Qi);class Mn extends ee{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(A){this._structArray.uint8[this._pos1+37]=A}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(A){this._structArray.uint8[this._pos1+38]=A}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(A){this._structArray.uint32[this._pos4+10]=A}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Mn.prototype.size=48;class pa extends Ut{get(A){return new Mn(this,A)}}mi("PlacedSymbolArray",pa);class ea extends ee{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(A){this._structArray.uint32[this._pos4+12]=A}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}ea.prototype.size=64;class Ga extends tr{get(A){return new ea(this,A)}}mi("SymbolInstanceArray",Ga);class To extends yr{getoffsetX(A){return this.float32[1*A+0]}}mi("GlyphOffsetArray",To);class Wa extends yt{getx(A){return this.int16[3*A+0]}gety(A){return this.int16[3*A+1]}gettileUnitDistanceFromAnchor(A){return this.int16[3*A+2]}}mi("SymbolLineVertexArray",Wa);class co extends ee{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}co.prototype.size=12;class Do extends Dr{get(A){return new co(this,A)}}mi("TextAnchorOffsetArray",Do);class zs extends ee{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}zs.prototype.size=8;class Ss extends zr{get(A){return new zs(this,A)}}mi("FeatureIndexArray",Ss);class yo extends it{}class po extends it{}class _l extends it{}class Vl extends Nt{}class Yu extends hr{}class cu extends Mr{}class el extends he{}class nu extends be{}class zc extends Pe{}class Rl extends Oe{}class zl extends He{}class Z extends Mt{}class oe extends Rt{}class we extends Xr{}let Be=qe([{name:"a_pos",components:2,type:"Int16"}],4),{members:Ue}=Be;class We{constructor(A=[]){this.segments=A}prepareSegment(A,R,j,te){let ue=this.segments[this.segments.length-1];return A>We.MAX_VERTEX_ARRAY_LENGTH&&T(`Max vertices per segment is ${We.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${A}`),(!ue||ue.vertexLength+A>We.MAX_VERTEX_ARRAY_LENGTH||ue.sortKey!==te)&&(ue={vertexOffset:R.length,primitiveOffset:j.length,vertexLength:0,primitiveLength:0},te!==void 0&&(ue.sortKey=te),this.segments.push(ue)),ue}get(){return this.segments}destroy(){for(let A of this.segments)for(let R in A.vaos)A.vaos[R].destroy()}static simpleSegment(A,R,j,te){return new We([{vertexOffset:A,primitiveOffset:R,vertexLength:j,primitiveLength:te,vaos:{},sortKey:0}])}}function wt(D,A){return 256*(D=k(Math.floor(D),0,255))+k(Math.floor(A),0,255)}We.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,mi("SegmentVector",We);let tt=qe([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]);var zt={exports:{}},or={exports:{}};or.exports=function(D,A){var R,j,te,ue,ve,Re,Ze,at;for(j=D.length-(R=3&D.length),te=A,ve=3432918353,Re=461845907,at=0;at>>16)*ve&65535)<<16)&4294967295)<<15|Ze>>>17))*Re+(((Ze>>>16)*Re&65535)<<16)&4294967295)<<13|te>>>19))+((5*(te>>>16)&65535)<<16)&4294967295))+((58964+(ue>>>16)&65535)<<16);switch(Ze=0,R){case 3:Ze^=(255&D.charCodeAt(at+2))<<16;case 2:Ze^=(255&D.charCodeAt(at+1))<<8;case 1:te^=Ze=(65535&(Ze=(Ze=(65535&(Ze^=255&D.charCodeAt(at)))*ve+(((Ze>>>16)*ve&65535)<<16)&4294967295)<<15|Ze>>>17))*Re+(((Ze>>>16)*Re&65535)<<16)&4294967295}return te^=D.length,te=2246822507*(65535&(te^=te>>>16))+((2246822507*(te>>>16)&65535)<<16)&4294967295,te=3266489909*(65535&(te^=te>>>13))+((3266489909*(te>>>16)&65535)<<16)&4294967295,(te^=te>>>16)>>>0};var lr=or.exports,Rr={exports:{}};Rr.exports=function(D,A){for(var R,j=D.length,te=A^j,ue=0;j>=4;)R=1540483477*(65535&(R=255&D.charCodeAt(ue)|(255&D.charCodeAt(++ue))<<8|(255&D.charCodeAt(++ue))<<16|(255&D.charCodeAt(++ue))<<24))+((1540483477*(R>>>16)&65535)<<16),te=1540483477*(65535&te)+((1540483477*(te>>>16)&65535)<<16)^(R=1540483477*(65535&(R^=R>>>24))+((1540483477*(R>>>16)&65535)<<16)),j-=4,++ue;switch(j){case 3:te^=(255&D.charCodeAt(ue+2))<<16;case 2:te^=(255&D.charCodeAt(ue+1))<<8;case 1:te=1540483477*(65535&(te^=255&D.charCodeAt(ue)))+((1540483477*(te>>>16)&65535)<<16)}return te=1540483477*(65535&(te^=te>>>13))+((1540483477*(te>>>16)&65535)<<16),(te^=te>>>15)>>>0};var Ir=lr,oi=Rr.exports;zt.exports=Ir,zt.exports.murmur3=Ir,zt.exports.murmur2=oi;var ui=o(zt.exports);class qr{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(A,R,j,te){this.ids.push(Kr(A)),this.positions.push(R,j,te)}getPositions(A){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");let R=Kr(A),j=0,te=this.ids.length-1;for(;j>1;this.ids[ve]>=R?te=ve:j=ve+1}let ue=[];for(;this.ids[j]===R;)ue.push({index:this.positions[3*j],start:this.positions[3*j+1],end:this.positions[3*j+2]}),j++;return ue}static serialize(A,R){let j=new Float64Array(A.ids),te=new Uint32Array(A.positions);return ii(j,te,0,j.length-1),R&&R.push(j.buffer,te.buffer),{ids:j,positions:te}}static deserialize(A){let R=new qr;return R.ids=A.ids,R.positions=A.positions,R.indexed=!0,R}}function Kr(D){let A=+D;return!isNaN(A)&&A<=Number.MAX_SAFE_INTEGER?A:ui(String(D))}function ii(D,A,R,j){for(;R>1],ue=R-1,ve=j+1;for(;;){do ue++;while(D[ue]te);if(ue>=ve)break;vi(D,ue,ve),vi(A,3*ue,3*ve),vi(A,3*ue+1,3*ve+1),vi(A,3*ue+2,3*ve+2)}ve-R`u_${te}`),this.type=j}setUniform(A,R,j){A.set(j.constantOr(this.value))}getBinding(A,R,j){return this.type==="color"?new dn(A,R):new Jr(A,R)}}class _a{constructor(A,R){this.uniformNames=R.map(j=>`u_${j}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(A,R){this.pixelRatioFrom=R.pixelRatio,this.pixelRatioTo=A.pixelRatio,this.patternFrom=R.tlbr,this.patternTo=A.tlbr}setUniform(A,R,j,te){let ue=te==="u_pattern_to"?this.patternTo:te==="u_pattern_from"?this.patternFrom:te==="u_pixel_ratio_to"?this.pixelRatioTo:te==="u_pixel_ratio_from"?this.pixelRatioFrom:null;ue&&A.set(ue)}getBinding(A,R,j){return j.substr(0,9)==="u_pattern"?new un(A,R):new Jr(A,R)}}class so{constructor(A,R,j,te){this.expression=A,this.type=j,this.maxValue=0,this.paintVertexAttributes=R.map(ue=>({name:`a_${ue}`,type:"Float32",components:j==="color"?2:1,offset:0})),this.paintVertexArray=new te}populatePaintArray(A,R,j,te,ue){let ve=this.paintVertexArray.length,Re=this.expression.evaluate(new Jo(0),R,{},te,[],ue);this.paintVertexArray.resize(A),this._setPaintValue(ve,A,Re)}updatePaintArray(A,R,j,te){let ue=this.expression.evaluate({zoom:0},j,te);this._setPaintValue(A,R,ue)}_setPaintValue(A,R,j){if(this.type==="color"){let te=Nn(j);for(let ue=A;ue`u_${Re}_t`),this.type=j,this.useIntegerZoom=te,this.zoom=ue,this.maxValue=0,this.paintVertexAttributes=R.map(Re=>({name:`a_${Re}`,type:"Float32",components:j==="color"?4:2,offset:0})),this.paintVertexArray=new ve}populatePaintArray(A,R,j,te,ue){let ve=this.expression.evaluate(new Jo(this.zoom),R,{},te,[],ue),Re=this.expression.evaluate(new Jo(this.zoom+1),R,{},te,[],ue),Ze=this.paintVertexArray.length;this.paintVertexArray.resize(A),this._setPaintValue(Ze,A,ve,Re)}updatePaintArray(A,R,j,te){let ue=this.expression.evaluate({zoom:this.zoom},j,te),ve=this.expression.evaluate({zoom:this.zoom+1},j,te);this._setPaintValue(A,R,ue,ve)}_setPaintValue(A,R,j,te){if(this.type==="color"){let ue=Nn(j),ve=Nn(te);for(let Re=A;Re`#define HAS_UNIFORM_${te}`))}return A}getBinderAttributes(){let A=[];for(let R in this.binders){let j=this.binders[R];if(j instanceof so||j instanceof wa)for(let te=0;te!0){this.programConfigurations={};for(let te of A)this.programConfigurations[te.id]=new Ms(te,R,j);this.needsUpload=!1,this._featureMap=new qr,this._bufferOffset=0}populatePaintArrays(A,R,j,te,ue,ve){for(let Re in this.programConfigurations)this.programConfigurations[Re].populatePaintArrays(A,R,te,ue,ve);R.id!==void 0&&this._featureMap.add(R.id,j,this._bufferOffset,A),this._bufferOffset=A,this.needsUpload=!0}updatePaintArrays(A,R,j,te){for(let ue of j)this.needsUpload=this.programConfigurations[ue.id].updatePaintArrays(A,this._featureMap,R,ue,te)||this.needsUpload}get(A){return this.programConfigurations[A]}upload(A){if(this.needsUpload){for(let R in this.programConfigurations)this.programConfigurations[R].upload(A);this.needsUpload=!1}}destroy(){for(let A in this.programConfigurations)this.programConfigurations[A].destroy()}}function Ns(D,A){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[D]||[D.replace(`${A}-`,"").replace(/-/g,"_")]}function pn(D,A,R){let j={color:{source:Mr,composite:Li},number:{source:yr,composite:Mr}},te=function(ue){return{"line-pattern":{source:el,composite:el},"fill-pattern":{source:el,composite:el},"fill-extrusion-pattern":{source:el,composite:el}}[ue]}(D);return te&&te[R]||j[A][R]}mi("ConstantBinder",ga),mi("CrossFadedConstantBinder",_a),mi("SourceExpressionBinder",so),mi("CrossFadedCompositeBinder",io),mi("CompositeExpressionBinder",wa),mi("ProgramConfiguration",Ms,{omit:["_buffers"]}),mi("ProgramConfigurationSet",xs);let za=8192,Lo=Math.pow(2,14)-1,Fo=-Lo-1;function js(D){let A=za/D.extent,R=D.loadGeometry();for(let j=0;jve.x+1||Zeve.y+1)&&T("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return R}function xl(D,A){return{type:D.type,id:D.id,properties:D.properties,geometry:A?js(D):[]}}function fu(D,A,R,j,te){D.emplaceBack(2*A+(j+1)/2,2*R+(te+1)/2)}class dl{constructor(A){this.zoom=A.zoom,this.overscaling=A.overscaling,this.layers=A.layers,this.layerIds=this.layers.map(R=>R.id),this.index=A.index,this.hasPattern=!1,this.layoutVertexArray=new po,this.indexArray=new oe,this.segments=new We,this.programConfigurations=new xs(A.layers,A.zoom),this.stateDependentLayerIds=this.layers.filter(R=>R.isStateDependent()).map(R=>R.id)}populate(A,R,j){let te=this.layers[0],ue=[],ve=null,Re=!1;te.type==="circle"&&(ve=te.layout.get("circle-sort-key"),Re=!ve.isConstant());for(let{feature:Ze,id:at,index:Tt,sourceLayerIndex:Ft}of A){let Qt=this.layers[0]._featureFilter.needGeometry,sr=xl(Ze,Qt);if(!this.layers[0]._featureFilter.filter(new Jo(this.zoom),sr,j))continue;let Tr=Re?ve.evaluate(sr,{},j):void 0,Pr={id:at,properties:Ze.properties,type:Ze.type,sourceLayerIndex:Ft,index:Tt,geometry:Qt?sr.geometry:js(Ze),patterns:{},sortKey:Tr};ue.push(Pr)}Re&&ue.sort((Ze,at)=>Ze.sortKey-at.sortKey);for(let Ze of ue){let{geometry:at,index:Tt,sourceLayerIndex:Ft}=Ze,Qt=A[Tt].feature;this.addFeature(Ze,at,Tt,j),R.featureIndex.insert(Qt,at,Tt,Ft,this.index)}}update(A,R,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(A,R,this.stateDependentLayers,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(A){this.uploaded||(this.layoutVertexBuffer=A.createVertexBuffer(this.layoutVertexArray,Ue),this.indexBuffer=A.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(A),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(A,R,j,te){for(let ue of R)for(let ve of ue){let Re=ve.x,Ze=ve.y;if(Re<0||Re>=za||Ze<0||Ze>=za)continue;let at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,A.sortKey),Tt=at.vertexLength;fu(this.layoutVertexArray,Re,Ze,-1,-1),fu(this.layoutVertexArray,Re,Ze,1,-1),fu(this.layoutVertexArray,Re,Ze,1,1),fu(this.layoutVertexArray,Re,Ze,-1,1),this.indexArray.emplaceBack(Tt,Tt+1,Tt+2),this.indexArray.emplaceBack(Tt,Tt+3,Tt+2),at.vertexLength+=4,at.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,A,j,{},te)}}function xc(D,A){for(let R=0;R1){if(wi(D,A))return!0;for(let j=0;j1?R:R.sub(A)._mult(te)._add(A))}function cn(D,A){let R,j,te,ue=!1;for(let ve=0;veA.y!=te.y>A.y&&A.x<(te.x-j.x)*(A.y-j.y)/(te.y-j.y)+j.x&&(ue=!ue)}return ue}function On(D,A){let R=!1;for(let j=0,te=D.length-1;jA.y!=ve.y>A.y&&A.x<(ve.x-ue.x)*(A.y-ue.y)/(ve.y-ue.y)+ue.x&&(R=!R)}return R}function Bn(D,A,R){let j=R[0],te=R[2];if(D.xte.x&&A.x>te.x||D.yte.y&&A.y>te.y)return!1;let ue=F(D,A,R[0]);return ue!==F(D,A,R[1])||ue!==F(D,A,R[2])||ue!==F(D,A,R[3])}function yn(D,A,R){let j=A.paint.get(D).value;return j.kind==="constant"?j.value:R.programConfigurations.get(A.id).getMaxValue(D)}function to(D){return Math.sqrt(D[0]*D[0]+D[1]*D[1])}function Dn(D,A,R,j,te){if(!A[0]&&!A[1])return D;let ue=u.convert(A)._mult(te);R==="viewport"&&ue._rotate(-j);let ve=[];for(let Re=0;Revn($r,Pr))}(at,Ze),sr=Ft?Tt*Re:Tt;for(let Tr of te)for(let Pr of Tr){let $r=Ft?Pr:vn(Pr,Ze),ni=sr,Ri=Za([],[Pr.x,Pr.y,0,1],Ze);if(this.paint.get("circle-pitch-scale")==="viewport"&&this.paint.get("circle-pitch-alignment")==="map"?ni*=Ri[3]/ve.cameraToCenterDistance:this.paint.get("circle-pitch-scale")==="map"&&this.paint.get("circle-pitch-alignment")==="viewport"&&(ni*=ve.cameraToCenterDistance/Ri[3]),At(Qt,$r,ni))return!0}return!1}}function vn(D,A){let R=Za([],[D.x,D.y,0,1],A);return new u(R[0]/R[3],R[1]/R[3])}class Aa extends dl{}let oa;mi("HeatmapBucket",Aa,{omit:["layers"]});var Xn={get paint(){return oa=oa||new le({"heatmap-radius":new eo(ce.paint_heatmap["heatmap-radius"]),"heatmap-weight":new eo(ce.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Ra(ce.paint_heatmap["heatmap-intensity"]),"heatmap-color":new _c(ce.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Ra(ce.paint_heatmap["heatmap-opacity"])})}};function Vn(D,{width:A,height:R},j,te){if(te){if(te instanceof Uint8ClampedArray)te=new Uint8Array(te.buffer);else if(te.length!==A*R*j)throw new RangeError(`mismatched image size. expected: ${te.length} but got: ${A*R*j}`)}else te=new Uint8Array(A*R*j);return D.width=A,D.height=R,D.data=te,D}function ma(D,{width:A,height:R},j){if(A===D.width&&R===D.height)return;let te=Vn({},{width:A,height:R},j);ro(D,te,{x:0,y:0},{x:0,y:0},{width:Math.min(D.width,A),height:Math.min(D.height,R)},j),D.width=A,D.height=R,D.data=te.data}function ro(D,A,R,j,te,ue){if(te.width===0||te.height===0)return A;if(te.width>D.width||te.height>D.height||R.x>D.width-te.width||R.y>D.height-te.height)throw new RangeError("out of range source coordinates for image copy");if(te.width>A.width||te.height>A.height||j.x>A.width-te.width||j.y>A.height-te.height)throw new RangeError("out of range destination coordinates for image copy");let ve=D.data,Re=A.data;if(ve===Re)throw new Error("srcData equals dstData, so image is already copied");for(let Ze=0;Ze{A[D.evaluationKey]=Ze;let at=D.expression.evaluate(A);te.data[ve+Re+0]=Math.floor(255*at.r/at.a),te.data[ve+Re+1]=Math.floor(255*at.g/at.a),te.data[ve+Re+2]=Math.floor(255*at.b/at.a),te.data[ve+Re+3]=Math.floor(255*at.a)};if(D.clips)for(let ve=0,Re=0;ve80*R){Re=1/0,Ze=1/0;let Tt=-1/0,Ft=-1/0;for(let Qt=R;QtTt&&(Tt=sr),Tr>Ft&&(Ft=Tr)}at=Math.max(Tt-Re,Ft-Ze),at=at!==0?32767/at:0}return yf(ue,ve,R,Re,Ze,at,0),ve}function bc(D,A,R,j,te){let ue;if(te===function(ve,Re,Ze,at){let Tt=0;for(let Ft=Re,Qt=Ze-at;Ft0)for(let ve=A;ve=A;ve-=j)ue=Jt(ve/j|0,D[ve],D[ve+1],ue);return ue&&de(ue,ue.next)&&(vt(ue),ue=ue.next),ue}function wc(D,A){if(!D)return D;A||(A=D);let R,j=D;do if(R=!1,j.steiner||!de(j,j.next)&&pe(j.prev,j,j.next)!==0)j=j.next;else{if(vt(j),j=A=j.prev,j===j.next)break;R=!0}while(R||j!==A);return A}function yf(D,A,R,j,te,ue,ve){if(!D)return;!ve&&ue&&function(Ze,at,Tt,Ft){let Qt=Ze;do Qt.z===0&&(Qt.z=z(Qt.x,Qt.y,at,Tt,Ft)),Qt.prevZ=Qt.prev,Qt.nextZ=Qt.next,Qt=Qt.next;while(Qt!==Ze);Qt.prevZ.nextZ=null,Qt.prevZ=null,function(sr){let Tr,Pr=1;do{let $r,ni=sr;sr=null;let Ri=null;for(Tr=0;ni;){Tr++;let pi=ni,ki=0;for(let ta=0;ta0||Zi>0&π)ki!==0&&(Zi===0||!pi||ni.z<=pi.z)?($r=ni,ni=ni.nextZ,ki--):($r=pi,pi=pi.nextZ,Zi--),Ri?Ri.nextZ=$r:sr=$r,$r.prevZ=Ri,Ri=$r;ni=pi}Ri.nextZ=null,Pr*=2}while(Tr>1)}(Qt)}(D,j,te,ue);let Re=D;for(;D.prev!==D.next;){let Ze=D.prev,at=D.next;if(ue?Fc(D,j,te,ue):Hl(D))A.push(Ze.i,D.i,at.i),vt(D),D=at.next,Re=at.next;else if((D=at)===Re){ve?ve===1?yf(D=ef(wc(D),A),A,R,j,te,ue,2):ve===2&&ls(D,A,R,j,te,ue):yf(wc(D),A,R,j,te,ue,1);break}}}function Hl(D){let A=D.prev,R=D,j=D.next;if(pe(A,R,j)>=0)return!1;let te=A.x,ue=R.x,ve=j.x,Re=A.y,Ze=R.y,at=j.y,Tt=teue?te>ve?te:ve:ue>ve?ue:ve,sr=Re>Ze?Re>at?Re:at:Ze>at?Ze:at,Tr=j.next;for(;Tr!==A;){if(Tr.x>=Tt&&Tr.x<=Qt&&Tr.y>=Ft&&Tr.y<=sr&&O(te,Re,ue,Ze,ve,at,Tr.x,Tr.y)&&pe(Tr.prev,Tr,Tr.next)>=0)return!1;Tr=Tr.next}return!0}function Fc(D,A,R,j){let te=D.prev,ue=D,ve=D.next;if(pe(te,ue,ve)>=0)return!1;let Re=te.x,Ze=ue.x,at=ve.x,Tt=te.y,Ft=ue.y,Qt=ve.y,sr=ReZe?Re>at?Re:at:Ze>at?Ze:at,$r=Tt>Ft?Tt>Qt?Tt:Qt:Ft>Qt?Ft:Qt,ni=z(sr,Tr,A,R,j),Ri=z(Pr,$r,A,R,j),pi=D.prevZ,ki=D.nextZ;for(;pi&&pi.z>=ni&&ki&&ki.z<=Ri;){if(pi.x>=sr&&pi.x<=Pr&&pi.y>=Tr&&pi.y<=$r&&pi!==te&&pi!==ve&&O(Re,Tt,Ze,Ft,at,Qt,pi.x,pi.y)&&pe(pi.prev,pi,pi.next)>=0||(pi=pi.prevZ,ki.x>=sr&&ki.x<=Pr&&ki.y>=Tr&&ki.y<=$r&&ki!==te&&ki!==ve&&O(Re,Tt,Ze,Ft,at,Qt,ki.x,ki.y)&&pe(ki.prev,ki,ki.next)>=0))return!1;ki=ki.nextZ}for(;pi&&pi.z>=ni;){if(pi.x>=sr&&pi.x<=Pr&&pi.y>=Tr&&pi.y<=$r&&pi!==te&&pi!==ve&&O(Re,Tt,Ze,Ft,at,Qt,pi.x,pi.y)&&pe(pi.prev,pi,pi.next)>=0)return!1;pi=pi.prevZ}for(;ki&&ki.z<=Ri;){if(ki.x>=sr&&ki.x<=Pr&&ki.y>=Tr&&ki.y<=$r&&ki!==te&&ki!==ve&&O(Re,Tt,Ze,Ft,at,Qt,ki.x,ki.y)&&pe(ki.prev,ki,ki.next)>=0)return!1;ki=ki.nextZ}return!0}function ef(D,A){let R=D;do{let j=R.prev,te=R.next.next;!de(j,te)&&Ie(j,R,R.next,te)&&Kt(j,te)&&Kt(te,j)&&(A.push(j.i,R.i,te.i),vt(R),vt(R.next),R=D=te),R=R.next}while(R!==D);return wc(R)}function ls(D,A,R,j,te,ue){let ve=D;do{let Re=ve.next.next;for(;Re!==ve.prev;){if(ve.i!==Re.i&&$(ve,Re)){let Ze=ir(ve,Re);return ve=wc(ve,ve.next),Ze=wc(Ze,Ze.next),yf(ve,A,R,j,te,ue,0),void yf(Ze,A,R,j,te,ue,0)}Re=Re.next}ve=ve.next}while(ve!==D)}function _f(D,A){return D.x-A.x}function ns(D,A){let R=function(te,ue){let ve=ue,Re=te.x,Ze=te.y,at,Tt=-1/0;do{if(Ze<=ve.y&&Ze>=ve.next.y&&ve.next.y!==ve.y){let Pr=ve.x+(Ze-ve.y)*(ve.next.x-ve.x)/(ve.next.y-ve.y);if(Pr<=Re&&Pr>Tt&&(Tt=Pr,at=ve.x=ve.x&&ve.x>=Qt&&Re!==ve.x&&O(Zeat.x||ve.x===at.x&&Y(at,ve)))&&(at=ve,Tr=Pr)}ve=ve.next}while(ve!==Ft);return at}(D,A);if(!R)return A;let j=ir(R,D);return wc(j,j.next),wc(R,R.next)}function Y(D,A){return pe(D.prev,D,A.prev)<0&&pe(A.next,D,D.next)<0}function z(D,A,R,j,te){return(D=1431655765&((D=858993459&((D=252645135&((D=16711935&((D=(D-R)*te|0)|D<<8))|D<<4))|D<<2))|D<<1))|(A=1431655765&((A=858993459&((A=252645135&((A=16711935&((A=(A-j)*te|0)|A<<8))|A<<4))|A<<2))|A<<1))<<1}function K(D){let A=D,R=D;do(A.x=(D-ve)*(ue-Re)&&(D-ve)*(j-Re)>=(R-ve)*(A-Re)&&(R-ve)*(ue-Re)>=(te-ve)*(j-Re)}function $(D,A){return D.next.i!==A.i&&D.prev.i!==A.i&&!function(R,j){let te=R;do{if(te.i!==R.i&&te.next.i!==R.i&&te.i!==j.i&&te.next.i!==j.i&&Ie(te,te.next,R,j))return!0;te=te.next}while(te!==R);return!1}(D,A)&&(Kt(D,A)&&Kt(A,D)&&function(R,j){let te=R,ue=!1,ve=(R.x+j.x)/2,Re=(R.y+j.y)/2;do te.y>Re!=te.next.y>Re&&te.next.y!==te.y&&ve<(te.next.x-te.x)*(Re-te.y)/(te.next.y-te.y)+te.x&&(ue=!ue),te=te.next;while(te!==R);return ue}(D,A)&&(pe(D.prev,D,A.prev)||pe(D,A.prev,A))||de(D,A)&&pe(D.prev,D,D.next)>0&&pe(A.prev,A,A.next)>0)}function pe(D,A,R){return(A.y-D.y)*(R.x-A.x)-(A.x-D.x)*(R.y-A.y)}function de(D,A){return D.x===A.x&&D.y===A.y}function Ie(D,A,R,j){let te=pt(pe(D,A,R)),ue=pt(pe(D,A,j)),ve=pt(pe(R,j,D)),Re=pt(pe(R,j,A));return te!==ue&&ve!==Re||!(te!==0||!$e(D,R,A))||!(ue!==0||!$e(D,j,A))||!(ve!==0||!$e(R,D,j))||!(Re!==0||!$e(R,A,j))}function $e(D,A,R){return A.x<=Math.max(D.x,R.x)&&A.x>=Math.min(D.x,R.x)&&A.y<=Math.max(D.y,R.y)&&A.y>=Math.min(D.y,R.y)}function pt(D){return D>0?1:D<0?-1:0}function Kt(D,A){return pe(D.prev,D,D.next)<0?pe(D,A,D.next)>=0&&pe(D,D.prev,A)>=0:pe(D,A,D.prev)<0||pe(D,D.next,A)<0}function ir(D,A){let R=Pt(D.i,D.x,D.y),j=Pt(A.i,A.x,A.y),te=D.next,ue=A.prev;return D.next=A,A.prev=D,R.next=te,te.prev=R,j.next=R,R.prev=j,ue.next=j,j.prev=ue,j}function Jt(D,A,R,j){let te=Pt(D,A,R);return j?(te.next=j.next,te.prev=j,j.next.prev=te,j.next=te):(te.prev=te,te.next=te),te}function vt(D){D.next.prev=D.prev,D.prev.next=D.next,D.prevZ&&(D.prevZ.nextZ=D.nextZ),D.nextZ&&(D.nextZ.prevZ=D.prevZ)}function Pt(D,A,R){return{i:D,x:A,y:R,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Wt(D,A,R){let j=R.patternDependencies,te=!1;for(let ue of A){let ve=ue.paint.get(`${D}-pattern`);ve.isConstant()||(te=!0);let Re=ve.constantOr(null);Re&&(te=!0,j[Re.to]=!0,j[Re.from]=!0)}return te}function rr(D,A,R,j,te){let ue=te.patternDependencies;for(let ve of A){let Re=ve.paint.get(`${D}-pattern`).value;if(Re.kind!=="constant"){let Ze=Re.evaluate({zoom:j-1},R,{},te.availableImages),at=Re.evaluate({zoom:j},R,{},te.availableImages),Tt=Re.evaluate({zoom:j+1},R,{},te.availableImages);Ze=Ze&&Ze.name?Ze.name:Ze,at=at&&at.name?at.name:at,Tt=Tt&&Tt.name?Tt.name:Tt,ue[Ze]=!0,ue[at]=!0,ue[Tt]=!0,R.patterns[ve.id]={min:Ze,mid:at,max:Tt}}}return R}class dr{constructor(A){this.zoom=A.zoom,this.overscaling=A.overscaling,this.layers=A.layers,this.layerIds=this.layers.map(R=>R.id),this.index=A.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new _l,this.indexArray=new oe,this.indexArray2=new we,this.programConfigurations=new xs(A.layers,A.zoom),this.segments=new We,this.segments2=new We,this.stateDependentLayerIds=this.layers.filter(R=>R.isStateDependent()).map(R=>R.id)}populate(A,R,j){this.hasPattern=Wt("fill",this.layers,R);let te=this.layers[0].layout.get("fill-sort-key"),ue=!te.isConstant(),ve=[];for(let{feature:Re,id:Ze,index:at,sourceLayerIndex:Tt}of A){let Ft=this.layers[0]._featureFilter.needGeometry,Qt=xl(Re,Ft);if(!this.layers[0]._featureFilter.filter(new Jo(this.zoom),Qt,j))continue;let sr=ue?te.evaluate(Qt,{},j,R.availableImages):void 0,Tr={id:Ze,properties:Re.properties,type:Re.type,sourceLayerIndex:Tt,index:at,geometry:Ft?Qt.geometry:js(Re),patterns:{},sortKey:sr};ve.push(Tr)}ue&&ve.sort((Re,Ze)=>Re.sortKey-Ze.sortKey);for(let Re of ve){let{geometry:Ze,index:at,sourceLayerIndex:Tt}=Re;if(this.hasPattern){let Ft=rr("fill",this.layers,Re,this.zoom,R);this.patternFeatures.push(Ft)}else this.addFeature(Re,Ze,at,j,{});R.featureIndex.insert(A[at].feature,Ze,at,Tt,this.index)}}update(A,R,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(A,R,this.stateDependentLayers,j)}addFeatures(A,R,j){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,R,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(A){this.uploaded||(this.layoutVertexBuffer=A.createVertexBuffer(this.layoutVertexArray,Qc),this.indexBuffer=A.createIndexBuffer(this.indexArray),this.indexBuffer2=A.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(A),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(A,R,j,te,ue){for(let ve of Bf(R,500)){let Re=0;for(let sr of ve)Re+=sr.length;let Ze=this.segments.prepareSegment(Re,this.layoutVertexArray,this.indexArray),at=Ze.vertexLength,Tt=[],Ft=[];for(let sr of ve){if(sr.length===0)continue;sr!==ve[0]&&Ft.push(Tt.length/2);let Tr=this.segments2.prepareSegment(sr.length,this.layoutVertexArray,this.indexArray2),Pr=Tr.vertexLength;this.layoutVertexArray.emplaceBack(sr[0].x,sr[0].y),this.indexArray2.emplaceBack(Pr+sr.length-1,Pr),Tt.push(sr[0].x),Tt.push(sr[0].y);for(let $r=1;$r>3}if(te--,j===1||j===2)ue+=D.readSVarint(),ve+=D.readSVarint(),j===1&&(A&&Re.push(A),A=[]),A.push(new yi(ue,ve));else{if(j!==7)throw new Error("unknown command "+j);A&&A.push(A[0].clone())}}return A&&Re.push(A),Re},Di.prototype.bbox=function(){var D=this._pbf;D.pos=this._geometry;for(var A=D.readVarint()+D.pos,R=1,j=0,te=0,ue=0,ve=1/0,Re=-1/0,Ze=1/0,at=-1/0;D.pos>3}if(j--,R===1||R===2)(te+=D.readSVarint())Re&&(Re=te),(ue+=D.readSVarint())at&&(at=ue);else if(R!==7)throw new Error("unknown command "+R)}return[ve,Ze,Re,at]},Di.prototype.toGeoJSON=function(D,A,R){var j,te,ue=this.extent*Math.pow(2,R),ve=this.extent*D,Re=this.extent*A,Ze=this.loadGeometry(),at=Di.types[this.type];function Tt(sr){for(var Tr=0;Tr>3;te=ve===1?j.readString():ve===2?j.readFloat():ve===3?j.readDouble():ve===4?j.readVarint64():ve===5?j.readVarint():ve===6?j.readSVarint():ve===7?j.readBoolean():null}return te}(R))}bn.prototype.feature=function(D){if(D<0||D>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[D];var A=this._pbf.readVarint()+this._pbf.pos;return new qn(this._pbf,A,this.extent,this._keys,this._values)};var Gn=rn;function da(D,A,R){if(D===3){var j=new Gn(R,R.readVarint()+R.pos);j.length&&(A[j.name]=j)}}ei.VectorTile=function(D,A){this.layers=D.readFields(da,{},A)},ei.VectorTileFeature=tn,ei.VectorTileLayer=rn;let Uo=ei.VectorTileFeature.types,Ro=Math.pow(2,13);function gs(D,A,R,j,te,ue,ve,Re){D.emplaceBack(A,R,2*Math.floor(j*Ro)+ve,te*Ro*2,ue*Ro*2,Math.round(Re))}class fo{constructor(A){this.zoom=A.zoom,this.overscaling=A.overscaling,this.layers=A.layers,this.layerIds=this.layers.map(R=>R.id),this.index=A.index,this.hasPattern=!1,this.layoutVertexArray=new Vl,this.centroidVertexArray=new yo,this.indexArray=new oe,this.programConfigurations=new xs(A.layers,A.zoom),this.segments=new We,this.stateDependentLayerIds=this.layers.filter(R=>R.isStateDependent()).map(R=>R.id)}populate(A,R,j){this.features=[],this.hasPattern=Wt("fill-extrusion",this.layers,R);for(let{feature:te,id:ue,index:ve,sourceLayerIndex:Re}of A){let Ze=this.layers[0]._featureFilter.needGeometry,at=xl(te,Ze);if(!this.layers[0]._featureFilter.filter(new Jo(this.zoom),at,j))continue;let Tt={id:ue,sourceLayerIndex:Re,index:ve,geometry:Ze?at.geometry:js(te),properties:te.properties,type:te.type,patterns:{}};this.hasPattern?this.features.push(rr("fill-extrusion",this.layers,Tt,this.zoom,R)):this.addFeature(Tt,Tt.geometry,ve,j,{}),R.featureIndex.insert(te,Tt.geometry,ve,Re,this.index,!0)}}addFeatures(A,R,j){for(let te of this.features){let{geometry:ue}=te;this.addFeature(te,ue,te.index,R,j)}}update(A,R,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(A,R,this.stateDependentLayers,j)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(A){this.uploaded||(this.layoutVertexBuffer=A.createVertexBuffer(this.layoutVertexArray,Gr),this.centroidVertexBuffer=A.createVertexBuffer(this.centroidVertexArray,cr.members,!0),this.indexBuffer=A.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(A),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(A,R,j,te,ue){for(let ve of Bf(R,500)){let Re={x:0,y:0,vertexCount:0},Ze=0;for(let Tr of ve)Ze+=Tr.length;let at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let Tr of ve){if(Tr.length===0||tl(Tr))continue;let Pr=0;for(let $r=0;$r=1){let Ri=Tr[$r-1];if(!as(ni,Ri)){at.vertexLength+4>We.MAX_VERTEX_ARRAY_LENGTH&&(at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let pi=ni.sub(Ri)._perp()._unit(),ki=Ri.dist(ni);Pr+ki>32768&&(Pr=0),gs(this.layoutVertexArray,ni.x,ni.y,pi.x,pi.y,0,0,Pr),gs(this.layoutVertexArray,ni.x,ni.y,pi.x,pi.y,0,1,Pr),Re.x+=2*ni.x,Re.y+=2*ni.y,Re.vertexCount+=2,Pr+=ki,gs(this.layoutVertexArray,Ri.x,Ri.y,pi.x,pi.y,0,0,Pr),gs(this.layoutVertexArray,Ri.x,Ri.y,pi.x,pi.y,0,1,Pr),Re.x+=2*Ri.x,Re.y+=2*Ri.y,Re.vertexCount+=2;let Zi=at.vertexLength;this.indexArray.emplaceBack(Zi,Zi+2,Zi+1),this.indexArray.emplaceBack(Zi+1,Zi+2,Zi+3),at.vertexLength+=4,at.primitiveLength+=2}}}}if(at.vertexLength+Ze>We.MAX_VERTEX_ARRAY_LENGTH&&(at=this.segments.prepareSegment(Ze,this.layoutVertexArray,this.indexArray)),Uo[A.type]!=="Polygon")continue;let Tt=[],Ft=[],Qt=at.vertexLength;for(let Tr of ve)if(Tr.length!==0){Tr!==ve[0]&&Ft.push(Tt.length/2);for(let Pr=0;Prza)||D.y===A.y&&(D.y<0||D.y>za)}function tl(D){return D.every(A=>A.x<0)||D.every(A=>A.x>za)||D.every(A=>A.y<0)||D.every(A=>A.y>za)}let zu;mi("FillExtrusionBucket",fo,{omit:["layers","features"]});var kv={get paint(){return zu=zu||new le({"fill-extrusion-opacity":new Ra(ce["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new eo(ce["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Ra(ce["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Ra(ce["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Jc(ce["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new eo(ce["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new eo(ce["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Ra(ce["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class Cv extends B{constructor(A){super(A,kv)}createBucket(A){return new fo(A)}queryRadius(){return to(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(A,R,j,te,ue,ve,Re,Ze){let at=Dn(A,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),ve.angle,Re),Tt=this.paint.get("fill-extrusion-height").evaluate(R,j),Ft=this.paint.get("fill-extrusion-base").evaluate(R,j),Qt=function(Tr,Pr,$r,ni){let Ri=[];for(let pi of Tr){let ki=[pi.x,pi.y,0,1];Za(ki,ki,Pr),Ri.push(new u(ki[0]/ki[3],ki[1]/ki[3]))}return Ri}(at,Ze),sr=function(Tr,Pr,$r,ni){let Ri=[],pi=[],ki=ni[8]*Pr,Zi=ni[9]*Pr,ta=ni[10]*Pr,Va=ni[11]*Pr,Io=ni[8]*$r,La=ni[9]*$r,Hn=ni[10]*$r,lo=ni[11]*$r;for(let Qa of Tr){let Ya=[],Tn=[];for(let bo of Qa){let Ka=bo.x,Vo=bo.y,wu=ni[0]*Ka+ni[4]*Vo+ni[12],hu=ni[1]*Ka+ni[5]*Vo+ni[13],fh=ni[2]*Ka+ni[6]*Vo+ni[14],ep=ni[3]*Ka+ni[7]*Vo+ni[15],id=fh+ta,hh=ep+Va,Vd=wu+Io,Hd=hu+La,Gd=fh+Hn,rf=ep+lo,dh=new u((wu+ki)/hh,(hu+Zi)/hh);dh.z=id/hh,Ya.push(dh);let Ad=new u(Vd/rf,Hd/rf);Ad.z=Gd/rf,Tn.push(Ad)}Ri.push(Ya),pi.push(Tn)}return[Ri,pi]}(te,Ft,Tt,Ze);return function(Tr,Pr,$r){let ni=1/0;Er($r,Pr)&&(ni=Jv($r,Pr[0]));for(let Ri=0;RiR.id),this.index=A.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(R=>{this.gradients[R.id]={}}),this.layoutVertexArray=new Yu,this.layoutVertexArray2=new cu,this.indexArray=new oe,this.programConfigurations=new xs(A.layers,A.zoom),this.segments=new We,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(R=>R.isStateDependent()).map(R=>R.id)}populate(A,R,j){this.hasPattern=Wt("line",this.layers,R);let te=this.layers[0].layout.get("line-sort-key"),ue=!te.isConstant(),ve=[];for(let{feature:Re,id:Ze,index:at,sourceLayerIndex:Tt}of A){let Ft=this.layers[0]._featureFilter.needGeometry,Qt=xl(Re,Ft);if(!this.layers[0]._featureFilter.filter(new Jo(this.zoom),Qt,j))continue;let sr=ue?te.evaluate(Qt,{},j):void 0,Tr={id:Ze,properties:Re.properties,type:Re.type,sourceLayerIndex:Tt,index:at,geometry:Ft?Qt.geometry:js(Re),patterns:{},sortKey:sr};ve.push(Tr)}ue&&ve.sort((Re,Ze)=>Re.sortKey-Ze.sortKey);for(let Re of ve){let{geometry:Ze,index:at,sourceLayerIndex:Tt}=Re;if(this.hasPattern){let Ft=rr("line",this.layers,Re,this.zoom,R);this.patternFeatures.push(Ft)}else this.addFeature(Re,Ze,at,j,{});R.featureIndex.insert(A[at].feature,Ze,at,Tt,this.index)}}update(A,R,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(A,R,this.stateDependentLayers,j)}addFeatures(A,R,j){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,R,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(A){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=A.createVertexBuffer(this.layoutVertexArray2,_p)),this.layoutVertexBuffer=A.createVertexBuffer(this.layoutVertexArray,yp),this.indexBuffer=A.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(A),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(A){if(A.properties&&Object.prototype.hasOwnProperty.call(A.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(A.properties,"mapbox_clip_end"))return{start:+A.properties.mapbox_clip_start,end:+A.properties.mapbox_clip_end}}addFeature(A,R,j,te,ue){let ve=this.layers[0].layout,Re=ve.get("line-join").evaluate(A,{}),Ze=ve.get("line-cap"),at=ve.get("line-miter-limit"),Tt=ve.get("line-round-limit");this.lineClips=this.lineFeatureClips(A);for(let Ft of R)this.addLine(Ft,A,Re,Ze,at,Tt);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,A,j,ue,te)}addLine(A,R,j,te,ue,ve){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let ni=0;ni=2&&A[Ze-1].equals(A[Ze-2]);)Ze--;let at=0;for(;at0;if(Va&&ni>at){let lo=Qt.dist(sr);if(lo>2*Tt){let Qa=Qt.sub(Qt.sub(sr)._mult(Tt/lo)._round());this.updateDistance(sr,Qa),this.addCurrentVertex(Qa,Pr,0,0,Ft),sr=Qa}}let La=sr&&Tr,Hn=La?j:Re?"butt":te;if(La&&Hn==="round"&&(Ziue&&(Hn="bevel"),Hn==="bevel"&&(Zi>2&&(Hn="flipbevel"),Zi100)Ri=$r.mult(-1);else{let lo=Zi*Pr.add($r).mag()/Pr.sub($r).mag();Ri._perp()._mult(lo*(Io?-1:1))}this.addCurrentVertex(Qt,Ri,0,0,Ft),this.addCurrentVertex(Qt,Ri.mult(-1),0,0,Ft)}else if(Hn==="bevel"||Hn==="fakeround"){let lo=-Math.sqrt(Zi*Zi-1),Qa=Io?lo:0,Ya=Io?0:lo;if(sr&&this.addCurrentVertex(Qt,Pr,Qa,Ya,Ft),Hn==="fakeround"){let Tn=Math.round(180*ta/Math.PI/20);for(let bo=1;bo2*Tt){let Qa=Qt.add(Tr.sub(Qt)._mult(Tt/lo)._round());this.updateDistance(Qt,Qa),this.addCurrentVertex(Qa,$r,0,0,Ft),Qt=Qa}}}}addCurrentVertex(A,R,j,te,ue,ve=!1){let Re=R.y*te-R.x,Ze=-R.y-R.x*te;this.addHalfVertex(A,R.x+R.y*j,R.y-R.x*j,ve,!1,j,ue),this.addHalfVertex(A,Re,Ze,ve,!0,-te,ue),this.distance>Lv/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(A,R,j,te,ue,ve))}addHalfVertex({x:A,y:R},j,te,ue,ve,Re,Ze){let at=.5*(this.lineClips?this.scaledDistance*(Lv-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((A<<1)+(ue?1:0),(R<<1)+(ve?1:0),Math.round(63*j)+128,Math.round(63*te)+128,1+(Re===0?0:Re<0?-1:1)|(63&at)<<2,at>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let Tt=Ze.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Tt),Ze.primitiveLength++),ve?this.e2=Tt:this.e1=Tt}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(A,R){this.distance+=A.dist(R),this.updateScaledDistance()}}let Pv,oy;mi("LineBucket",$v,{omit:["layers","patternFeatures"]});var pg={get paint(){return oy=oy||new le({"line-opacity":new eo(ce.paint_line["line-opacity"]),"line-color":new eo(ce.paint_line["line-color"]),"line-translate":new Ra(ce.paint_line["line-translate"]),"line-translate-anchor":new Ra(ce.paint_line["line-translate-anchor"]),"line-width":new eo(ce.paint_line["line-width"]),"line-gap-width":new eo(ce.paint_line["line-gap-width"]),"line-offset":new eo(ce.paint_line["line-offset"]),"line-blur":new eo(ce.paint_line["line-blur"]),"line-dasharray":new yc(ce.paint_line["line-dasharray"]),"line-pattern":new Jc(ce.paint_line["line-pattern"]),"line-gradient":new _c(ce.paint_line["line-gradient"])})},get layout(){return Pv=Pv||new le({"line-cap":new Ra(ce.layout_line["line-cap"]),"line-join":new eo(ce.layout_line["line-join"]),"line-miter-limit":new Ra(ce.layout_line["line-miter-limit"]),"line-round-limit":new Ra(ce.layout_line["line-round-limit"]),"line-sort-key":new eo(ce.layout_line["line-sort-key"])})}};class Gf extends eo{possiblyEvaluate(A,R){return R=new Jo(Math.floor(R.zoom),{now:R.now,fadeDuration:R.fadeDuration,zoomHistory:R.zoomHistory,transition:R.transition}),super.possiblyEvaluate(A,R)}evaluate(A,R,j,te){return R=L({},R,{zoom:Math.floor(R.zoom)}),super.evaluate(A,R,j,te)}}let gg;class sy extends B{constructor(A){super(A,pg),this.gradientVersion=0,gg||(gg=new Gf(pg.paint.properties["line-width"].specification),gg.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(A){if(A==="line-gradient"){let R=this.gradientExpression();this.stepInterpolant=!!function(j){return j._styleExpression!==void 0}(R)&&R._styleExpression.expression instanceof Ji,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(A,R){super.recalculate(A,R),this.paint._values["line-floorwidth"]=gg.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,A)}createBucket(A){return new $v(A)}queryRadius(A){let R=A,j=Fh(yn("line-width",this,R),yn("line-gap-width",this,R)),te=yn("line-offset",this,R);return j/2+Math.abs(te)+to(this.paint.get("line-translate"))}queryIntersectsFeature(A,R,j,te,ue,ve,Re){let Ze=Dn(A,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),ve.angle,Re),at=Re/2*Fh(this.paint.get("line-width").evaluate(R,j),this.paint.get("line-gap-width").evaluate(R,j)),Tt=this.paint.get("line-offset").evaluate(R,j);return Tt&&(te=function(Ft,Qt){let sr=[];for(let Tr=0;Tr=3){for(let $r=0;$r0?A+2*D:D}let nm=qe([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),M1=qe([{name:"a_projected_pos",components:3,type:"Float32"}],4);qe([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);let E1=qe([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);qe([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);let ly=qe([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),am=qe([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function om(D,A,R){return D.sections.forEach(j=>{j.text=function(te,ue,ve){let Re=ue.layout.get("text-transform").evaluate(ve,{});return Re==="uppercase"?te=te.toLocaleUpperCase():Re==="lowercase"&&(te=te.toLocaleLowerCase()),ps.applyArabicShaping&&(te=ps.applyArabicShaping(te)),te}(j.text,A,R)}),D}qe([{name:"triangle",components:3,type:"Uint16"}]),qe([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),qe([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"collisionCircleDiameter"},{type:"Uint16",name:"textAnchorOffsetStartIndex"},{type:"Uint16",name:"textAnchorOffsetEndIndex"}]),qe([{type:"Float32",name:"offsetX"}]),qe([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),qe([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);let Fu={"!":"\uFE15","#":"\uFF03",$:"\uFF04","%":"\uFF05","&":"\uFF06","(":"\uFE35",")":"\uFE36","*":"\uFF0A","+":"\uFF0B",",":"\uFE10","-":"\uFE32",".":"\u30FB","/":"\uFF0F",":":"\uFE13",";":"\uFE14","<":"\uFE3F","=":"\uFF1D",">":"\uFE40","?":"\uFE16","@":"\uFF20","[":"\uFE47","\\":"\uFF3C","]":"\uFE48","^":"\uFF3E",_:"\uFE33","`":"\uFF40","{":"\uFE37","|":"\u2015","}":"\uFE38","~":"\uFF5E","\xA2":"\uFFE0","\xA3":"\uFFE1","\xA5":"\uFFE5","\xA6":"\uFFE4","\xAC":"\uFFE2","\xAF":"\uFFE3","\u2013":"\uFE32","\u2014":"\uFE31","\u2018":"\uFE43","\u2019":"\uFE44","\u201C":"\uFE41","\u201D":"\uFE42","\u2026":"\uFE19","\u2027":"\u30FB","\u20A9":"\uFFE6","\u3001":"\uFE11","\u3002":"\uFE12","\u3008":"\uFE3F","\u3009":"\uFE40","\u300A":"\uFE3D","\u300B":"\uFE3E","\u300C":"\uFE41","\u300D":"\uFE42","\u300E":"\uFE43","\u300F":"\uFE44","\u3010":"\uFE3B","\u3011":"\uFE3C","\u3014":"\uFE39","\u3015":"\uFE3A","\u3016":"\uFE17","\u3017":"\uFE18","\uFF01":"\uFE15","\uFF08":"\uFE35","\uFF09":"\uFE36","\uFF0C":"\uFE10","\uFF0D":"\uFE32","\uFF0E":"\u30FB","\uFF1A":"\uFE13","\uFF1B":"\uFE14","\uFF1C":"\uFE3F","\uFF1E":"\uFE40","\uFF1F":"\uFE16","\uFF3B":"\uFE47","\uFF3D":"\uFE48","\uFF3F":"\uFE33","\uFF5B":"\uFE37","\uFF5C":"\u2015","\uFF5D":"\uFE38","\uFF5F":"\uFE35","\uFF60":"\uFE36","\uFF61":"\uFE12","\uFF62":"\uFE41","\uFF63":"\uFE42"};var kl=24,wd=Yl,uy=function(D,A,R,j,te){var ue,ve,Re=8*te-j-1,Ze=(1<>1,Tt=-7,Ft=R?te-1:0,Qt=R?-1:1,sr=D[A+Ft];for(Ft+=Qt,ue=sr&(1<<-Tt)-1,sr>>=-Tt,Tt+=Re;Tt>0;ue=256*ue+D[A+Ft],Ft+=Qt,Tt-=8);for(ve=ue&(1<<-Tt)-1,ue>>=-Tt,Tt+=j;Tt>0;ve=256*ve+D[A+Ft],Ft+=Qt,Tt-=8);if(ue===0)ue=1-at;else{if(ue===Ze)return ve?NaN:1/0*(sr?-1:1);ve+=Math.pow(2,j),ue-=at}return(sr?-1:1)*ve*Math.pow(2,ue-j)},k1=function(D,A,R,j,te,ue){var ve,Re,Ze,at=8*ue-te-1,Tt=(1<>1,Qt=te===23?Math.pow(2,-24)-Math.pow(2,-77):0,sr=j?0:ue-1,Tr=j?1:-1,Pr=A<0||A===0&&1/A<0?1:0;for(A=Math.abs(A),isNaN(A)||A===1/0?(Re=isNaN(A)?1:0,ve=Tt):(ve=Math.floor(Math.log(A)/Math.LN2),A*(Ze=Math.pow(2,-ve))<1&&(ve--,Ze*=2),(A+=ve+Ft>=1?Qt/Ze:Qt*Math.pow(2,1-Ft))*Ze>=2&&(ve++,Ze/=2),ve+Ft>=Tt?(Re=0,ve=Tt):ve+Ft>=1?(Re=(A*Ze-1)*Math.pow(2,te),ve+=Ft):(Re=A*Math.pow(2,Ft-1)*Math.pow(2,te),ve=0));te>=8;D[R+sr]=255&Re,sr+=Tr,Re/=256,te-=8);for(ve=ve<0;D[R+sr]=255&ve,sr+=Tr,ve/=256,at-=8);D[R+sr-Tr]|=128*Pr};function Yl(D){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(D)?D:new Uint8Array(D||0),this.pos=0,this.type=0,this.length=this.buf.length}Yl.Varint=0,Yl.Fixed64=1,Yl.Bytes=2,Yl.Fixed32=5;var Xx=4294967296,sm=1/Xx,Bw=typeof TextDecoder=="undefined"?null:new TextDecoder("utf-8");function Iv(D){return D.type===Yl.Bytes?D.readVarint()+D.pos:D.pos+1}function lm(D,A,R){return R?4294967296*A+(D>>>0):4294967296*(A>>>0)+(D>>>0)}function Nw(D,A,R){var j=A<=16383?1:A<=2097151?2:A<=268435455?3:Math.floor(Math.log(A)/(7*Math.LN2));R.realloc(j);for(var te=R.pos-1;te>=D;te--)R.buf[te+j]=R.buf[te]}function Yx(D,A){for(var R=0;R>>8,D[R+2]=A>>>16,D[R+3]=A>>>24}function EC(D,A){return(D[A]|D[A+1]<<8|D[A+2]<<16)+(D[A+3]<<24)}Yl.prototype={destroy:function(){this.buf=null},readFields:function(D,A,R){for(R=R||this.length;this.pos>3,ue=this.pos;this.type=7&j,D(te,A,this),this.pos===ue&&this.skip(j)}return A},readMessage:function(D,A){return this.readFields(D,A,this.readVarint()+this.pos)},readFixed32:function(){var D=cy(this.buf,this.pos);return this.pos+=4,D},readSFixed32:function(){var D=EC(this.buf,this.pos);return this.pos+=4,D},readFixed64:function(){var D=cy(this.buf,this.pos)+cy(this.buf,this.pos+4)*Xx;return this.pos+=8,D},readSFixed64:function(){var D=cy(this.buf,this.pos)+EC(this.buf,this.pos+4)*Xx;return this.pos+=8,D},readFloat:function(){var D=uy(this.buf,this.pos,!0,23,4);return this.pos+=4,D},readDouble:function(){var D=uy(this.buf,this.pos,!0,52,8);return this.pos+=8,D},readVarint:function(D){var A,R,j=this.buf;return A=127&(R=j[this.pos++]),R<128?A:(A|=(127&(R=j[this.pos++]))<<7,R<128?A:(A|=(127&(R=j[this.pos++]))<<14,R<128?A:(A|=(127&(R=j[this.pos++]))<<21,R<128?A:function(te,ue,ve){var Re,Ze,at=ve.buf;if(Re=(112&(Ze=at[ve.pos++]))>>4,Ze<128||(Re|=(127&(Ze=at[ve.pos++]))<<3,Ze<128)||(Re|=(127&(Ze=at[ve.pos++]))<<10,Ze<128)||(Re|=(127&(Ze=at[ve.pos++]))<<17,Ze<128)||(Re|=(127&(Ze=at[ve.pos++]))<<24,Ze<128)||(Re|=(1&(Ze=at[ve.pos++]))<<31,Ze<128))return lm(te,Re,ue);throw new Error("Expected varint not more than 10 bytes")}(A|=(15&(R=j[this.pos]))<<28,D,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var D=this.readVarint();return D%2==1?(D+1)/-2:D/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var D=this.readVarint()+this.pos,A=this.pos;return this.pos=D,D-A>=12&&Bw?function(R,j,te){return Bw.decode(R.subarray(j,te))}(this.buf,A,D):function(R,j,te){for(var ue="",ve=j;ve239?4:Tt>223?3:Tt>191?2:1;if(ve+Qt>te)break;Qt===1?Tt<128&&(Ft=Tt):Qt===2?(192&(Re=R[ve+1]))==128&&(Ft=(31&Tt)<<6|63&Re)<=127&&(Ft=null):Qt===3?(Ze=R[ve+2],(192&(Re=R[ve+1]))==128&&(192&Ze)==128&&((Ft=(15&Tt)<<12|(63&Re)<<6|63&Ze)<=2047||Ft>=55296&&Ft<=57343)&&(Ft=null)):Qt===4&&(Ze=R[ve+2],at=R[ve+3],(192&(Re=R[ve+1]))==128&&(192&Ze)==128&&(192&at)==128&&((Ft=(15&Tt)<<18|(63&Re)<<12|(63&Ze)<<6|63&at)<=65535||Ft>=1114112)&&(Ft=null)),Ft===null?(Ft=65533,Qt=1):Ft>65535&&(Ft-=65536,ue+=String.fromCharCode(Ft>>>10&1023|55296),Ft=56320|1023&Ft),ue+=String.fromCharCode(Ft),ve+=Qt}return ue}(this.buf,A,D)},readBytes:function(){var D=this.readVarint()+this.pos,A=this.buf.subarray(this.pos,D);return this.pos=D,A},readPackedVarint:function(D,A){if(this.type!==Yl.Bytes)return D.push(this.readVarint(A));var R=Iv(this);for(D=D||[];this.pos127;);else if(A===Yl.Bytes)this.pos=this.readVarint()+this.pos;else if(A===Yl.Fixed32)this.pos+=4;else{if(A!==Yl.Fixed64)throw new Error("Unimplemented type: "+A);this.pos+=8}},writeTag:function(D,A){this.writeVarint(D<<3|A)},realloc:function(D){for(var A=this.length||16;A268435455||D<0?function(A,R){var j,te;if(A>=0?(j=A%4294967296|0,te=A/4294967296|0):(te=~(-A/4294967296),4294967295^(j=~(-A%4294967296))?j=j+1|0:(j=0,te=te+1|0)),A>=18446744073709552e3||A<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");R.realloc(10),function(ue,ve,Re){Re.buf[Re.pos++]=127&ue|128,ue>>>=7,Re.buf[Re.pos++]=127&ue|128,ue>>>=7,Re.buf[Re.pos++]=127&ue|128,ue>>>=7,Re.buf[Re.pos++]=127&ue|128,Re.buf[Re.pos]=127&(ue>>>=7)}(j,0,R),function(ue,ve){var Re=(7&ue)<<4;ve.buf[ve.pos++]|=Re|((ue>>>=3)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue)))))}(te,R)}(D,this):(this.realloc(4),this.buf[this.pos++]=127&D|(D>127?128:0),D<=127||(this.buf[this.pos++]=127&(D>>>=7)|(D>127?128:0),D<=127||(this.buf[this.pos++]=127&(D>>>=7)|(D>127?128:0),D<=127||(this.buf[this.pos++]=D>>>7&127))))},writeSVarint:function(D){this.writeVarint(D<0?2*-D-1:2*D)},writeBoolean:function(D){this.writeVarint(!!D)},writeString:function(D){D=String(D),this.realloc(4*D.length),this.pos++;var A=this.pos;this.pos=function(j,te,ue){for(var ve,Re,Ze=0;Ze55295&&ve<57344){if(!Re){ve>56319||Ze+1===te.length?(j[ue++]=239,j[ue++]=191,j[ue++]=189):Re=ve;continue}if(ve<56320){j[ue++]=239,j[ue++]=191,j[ue++]=189,Re=ve;continue}ve=Re-55296<<10|ve-56320|65536,Re=null}else Re&&(j[ue++]=239,j[ue++]=191,j[ue++]=189,Re=null);ve<128?j[ue++]=ve:(ve<2048?j[ue++]=ve>>6|192:(ve<65536?j[ue++]=ve>>12|224:(j[ue++]=ve>>18|240,j[ue++]=ve>>12&63|128),j[ue++]=ve>>6&63|128),j[ue++]=63&ve|128)}return ue}(this.buf,D,this.pos);var R=this.pos-A;R>=128&&Nw(A,R,this),this.pos=A-1,this.writeVarint(R),this.pos+=R},writeFloat:function(D){this.realloc(4),k1(this.buf,D,this.pos,!0,23,4),this.pos+=4},writeDouble:function(D){this.realloc(8),k1(this.buf,D,this.pos,!0,52,8),this.pos+=8},writeBytes:function(D){var A=D.length;this.writeVarint(A),this.realloc(A);for(var R=0;R=128&&Nw(R,j,this),this.pos=R-1,this.writeVarint(j),this.pos+=j},writeMessage:function(D,A,R){this.writeTag(D,Yl.Bytes),this.writeRawMessage(A,R)},writePackedVarint:function(D,A){A.length&&this.writeMessage(D,Yx,A)},writePackedSVarint:function(D,A){A.length&&this.writeMessage(D,j9,A)},writePackedBoolean:function(D,A){A.length&&this.writeMessage(D,X9,A)},writePackedFloat:function(D,A){A.length&&this.writeMessage(D,W9,A)},writePackedDouble:function(D,A){A.length&&this.writeMessage(D,Z9,A)},writePackedFixed32:function(D,A){A.length&&this.writeMessage(D,PQ,A)},writePackedSFixed32:function(D,A){A.length&&this.writeMessage(D,Y9,A)},writePackedFixed64:function(D,A){A.length&&this.writeMessage(D,K9,A)},writePackedSFixed64:function(D,A){A.length&&this.writeMessage(D,J9,A)},writeBytesField:function(D,A){this.writeTag(D,Yl.Bytes),this.writeBytes(A)},writeFixed32Field:function(D,A){this.writeTag(D,Yl.Fixed32),this.writeFixed32(A)},writeSFixed32Field:function(D,A){this.writeTag(D,Yl.Fixed32),this.writeSFixed32(A)},writeFixed64Field:function(D,A){this.writeTag(D,Yl.Fixed64),this.writeFixed64(A)},writeSFixed64Field:function(D,A){this.writeTag(D,Yl.Fixed64),this.writeSFixed64(A)},writeVarintField:function(D,A){this.writeTag(D,Yl.Varint),this.writeVarint(A)},writeSVarintField:function(D,A){this.writeTag(D,Yl.Varint),this.writeSVarint(A)},writeStringField:function(D,A){this.writeTag(D,Yl.Bytes),this.writeString(A)},writeFloatField:function(D,A){this.writeTag(D,Yl.Fixed32),this.writeFloat(A)},writeDoubleField:function(D,A){this.writeTag(D,Yl.Fixed64),this.writeDouble(A)},writeBooleanField:function(D,A){this.writeVarintField(D,!!A)}};var dS=o(wd);let vS=3;function IQ(D,A,R){D===1&&R.readMessage($9,A)}function $9(D,A,R){if(D===3){let{id:j,bitmap:te,width:ue,height:ve,left:Re,top:Ze,advance:at}=R.readMessage(kC,{});A.push({id:j,bitmap:new Ao({width:ue+2*vS,height:ve+2*vS},te),metrics:{width:ue,height:ve,left:Re,top:Ze,advance:at}})}}function kC(D,A,R){D===1?A.id=R.readVarint():D===2?A.bitmap=R.readBytes():D===3?A.width=R.readVarint():D===4?A.height=R.readVarint():D===5?A.left=R.readSVarint():D===6?A.top=R.readSVarint():D===7&&(A.advance=R.readVarint())}let CC=vS;function pS(D){let A=0,R=0;for(let ve of D)A+=ve.w*ve.h,R=Math.max(R,ve.w);D.sort((ve,Re)=>Re.h-ve.h);let j=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(A/.95)),R),h:1/0}],te=0,ue=0;for(let ve of D)for(let Re=j.length-1;Re>=0;Re--){let Ze=j[Re];if(!(ve.w>Ze.w||ve.h>Ze.h)){if(ve.x=Ze.x,ve.y=Ze.y,ue=Math.max(ue,ve.y+ve.h),te=Math.max(te,ve.x+ve.w),ve.w===Ze.w&&ve.h===Ze.h){let at=j.pop();Re=0&&j>=A&&Hw[this.text.charCodeAt(j)];j--)R--;this.text=this.text.substring(A,R),this.sectionIndex=this.sectionIndex.slice(A,R)}substring(A,R){let j=new C1;return j.text=this.text.substring(A,R),j.sectionIndex=this.sectionIndex.slice(A,R),j.sections=this.sections,j}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((A,R)=>Math.max(A,this.sections[R].scale),0)}addTextSection(A,R){this.text+=A.text,this.sections.push(Jx.forText(A.scale,A.fontStack||R));let j=this.sections.length-1;for(let te=0;te=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function $x(D,A,R,j,te,ue,ve,Re,Ze,at,Tt,Ft,Qt,sr,Tr){let Pr=C1.fromFeature(D,te),$r;Ft===i.ah.vertical&&Pr.verticalizePunctuation();let{processBidirectionalText:ni,processStyledBidirectionalText:Ri}=ps;if(ni&&Pr.sections.length===1){$r=[];let Zi=ni(Pr.toString(),L1(Pr,at,ue,A,j,sr));for(let ta of Zi){let Va=new C1;Va.text=ta,Va.sections=Pr.sections;for(let Io=0;Io0&&rp>xf&&(xf=rp)}else{let oc=Va[Cl.fontStack],If=oc&&oc[Tu];if(If&&If.rect)F1=If.rect,qc=If.metrics;else{let rp=ta[Cl.fontStack],xg=rp&&rp[Tu];if(!xg)continue;qc=xg.metrics}zv=(dh-Cl.scale)*kl}tp?(Zi.verticalizable=!0,qh.push({glyph:Tu,imageName:y0,x:Vo,y:wu+zv,vertical:tp,scale:Cl.scale,fontStack:Cl.fontStack,sectionIndex:qu,metrics:qc,rect:F1}),Vo+=Zp*Cl.scale+Tn):(qh.push({glyph:Tu,imageName:y0,x:Vo,y:wu+zv,vertical:tp,scale:Cl.scale,fontStack:Cl.fontStack,sectionIndex:qu,metrics:qc,rect:F1}),Vo+=qc.advance*Cl.scale+Tn)}qh.length!==0&&(hu=Math.max(Vo-Tn,hu),um(qh,0,qh.length-1,ep,xf)),Vo=0;let Rv=Hn*dh+xf;nd.lineOffset=Math.max(xf,Ad),wu+=Rv,fh=Math.max(Rv,fh),++id}var hh;let Vd=wu-ch,{horizontalAlign:Hd,verticalAlign:Gd}=jw(lo);(function(rf,dh,Ad,nd,qh,xf,Rv,uv,Cl){let qu=(dh-Ad)*qh,Tu=0;Tu=xf!==Rv?-uv*nd-ch:(-nd*Cl+.5)*Rv;for(let zv of rf)for(let qc of zv.positionedGlyphs)qc.x+=qu,qc.y+=Tu})(Zi.positionedLines,ep,Hd,Gd,hu,fh,Hn,Vd,La.length),Zi.top+=-Gd*Vd,Zi.bottom=Zi.top+Vd,Zi.left+=-Hd*hu,Zi.right=Zi.left+hu}(ki,A,R,j,$r,ve,Re,Ze,Ft,at,Qt,Tr),!function(Zi){for(let ta of Zi)if(ta.positionedGlyphs.length!==0)return!1;return!0}(pi)&&ki}let Hw={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Q9={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},eq={40:!0};function LC(D,A,R,j,te,ue){if(A.imageName){let ve=j[A.imageName];return ve?ve.displaySize[0]*A.scale*kl/ue+te:0}{let ve=R[A.fontStack],Re=ve&&ve[D];return Re?Re.metrics.advance*A.scale+te:0}}function PC(D,A,R,j){let te=Math.pow(D-A,2);return j?D=0,at=0;for(let Ft=0;Ftat){let Tt=Math.ceil(ue/at);te*=Tt/ve,ve=Tt}return{x1:j,y1:te,x2:j+ue,y2:te+ve}}function RC(D,A,R,j,te,ue){let ve=D.image,Re;if(ve.content){let $r=ve.content,ni=ve.pixelRatio||1;Re=[$r[0]/ni,$r[1]/ni,ve.displaySize[0]-$r[2]/ni,ve.displaySize[1]-$r[3]/ni]}let Ze=A.left*ue,at=A.right*ue,Tt,Ft,Qt,sr;R==="width"||R==="both"?(sr=te[0]+Ze-j[3],Ft=te[0]+at+j[1]):(sr=te[0]+(Ze+at-ve.displaySize[0])/2,Ft=sr+ve.displaySize[0]);let Tr=A.top*ue,Pr=A.bottom*ue;return R==="height"||R==="both"?(Tt=te[1]+Tr-j[0],Qt=te[1]+Pr+j[2]):(Tt=te[1]+(Tr+Pr-ve.displaySize[1])/2,Qt=Tt+ve.displaySize[1]),{image:ve,top:Tt,right:Ft,bottom:Qt,left:sr,collisionPadding:Re}}let eb=255,m0=128,cm=eb*m0;function zC(D,A){let{expression:R}=A;if(R.kind==="constant")return{kind:"constant",layoutSize:R.evaluate(new Jo(D+1))};if(R.kind==="source")return{kind:"source"};{let{zoomStops:j,interpolationType:te}=R,ue=0;for(;ueve.id),this.index=A.index,this.pixelRatio=A.pixelRatio,this.sourceLayerIndex=A.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Un([]),this.placementViewportMatrix=Un([]);let R=this.layers[0]._unevaluatedLayout._values;this.textSizeData=zC(this.zoom,R["text-size"]),this.iconSizeData=zC(this.zoom,R["icon-size"]);let j=this.layers[0].layout,te=j.get("symbol-sort-key"),ue=j.get("symbol-z-order");this.canOverlap=gS(j,"text-overlap","text-allow-overlap")!=="never"||gS(j,"icon-overlap","icon-allow-overlap")!=="never"||j.get("text-ignore-placement")||j.get("icon-ignore-placement"),this.sortFeaturesByKey=ue!=="viewport-y"&&!te.isConstant(),this.sortFeaturesByY=(ue==="viewport-y"||ue==="auto"&&!this.sortFeaturesByKey)&&this.canOverlap,j.get("symbol-placement")==="point"&&(this.writingModes=j.get("text-writing-mode").map(ve=>i.ah[ve])),this.stateDependentLayerIds=this.layers.filter(ve=>ve.isStateDependent()).map(ve=>ve.id),this.sourceID=A.sourceID}createArrays(){this.text=new _S(new xs(this.layers,this.zoom,A=>/^text/.test(A))),this.icon=new _S(new xs(this.layers,this.zoom,A=>/^icon/.test(A))),this.glyphOffsetArray=new To,this.lineVertexArray=new Wa,this.symbolInstances=new Ga,this.textAnchorOffsets=new Do}calculateGlyphDependencies(A,R,j,te,ue){for(let ve=0;ve0)&&(ve.value.kind!=="constant"||ve.value.value.length>0),Tt=Ze.value.kind!=="constant"||!!Ze.value.value||Object.keys(Ze.parameters).length>0,Ft=ue.get("symbol-sort-key");if(this.features=[],!at&&!Tt)return;let Qt=R.iconDependencies,sr=R.glyphDependencies,Tr=R.availableImages,Pr=new Jo(this.zoom);for(let{feature:$r,id:ni,index:Ri,sourceLayerIndex:pi}of A){let ki=te._featureFilter.needGeometry,Zi=xl($r,ki);if(!te._featureFilter.filter(Pr,Zi,j))continue;let ta,Va;if(ki||(Zi.geometry=js($r)),at){let La=te.getValueAndResolveTokens("text-field",Zi,j,Tr),Hn=Zr.factory(La),lo=this.hasRTLText=this.hasRTLText||yS(Hn);(!lo||ps.getRTLTextPluginStatus()==="unavailable"||lo&&ps.isParsed())&&(ta=om(Hn,te,Zi))}if(Tt){let La=te.getValueAndResolveTokens("icon-image",Zi,j,Tr);Va=La instanceof Mi?La:Mi.fromString(La)}if(!ta&&!Va)continue;let Io=this.sortFeaturesByKey?Ft.evaluate(Zi,{},j):void 0;if(this.features.push({id:ni,text:ta,icon:Va,index:Ri,sourceLayerIndex:pi,geometry:Zi.geometry,properties:$r.properties,type:rq[$r.type],sortKey:Io}),Va&&(Qt[Va.name]=!0),ta){let La=ve.evaluate(Zi,{},j).join(","),Hn=ue.get("text-rotation-alignment")!=="viewport"&&ue.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(i.ah.vertical)>=0;for(let lo of ta.sections)if(lo.image)Qt[lo.image.name]=!0;else{let Qa=Ua(ta.toString()),Ya=lo.fontStack||La,Tn=sr[Ya]=sr[Ya]||{};this.calculateGlyphDependencies(lo.text,Tn,Hn,this.allowVerticalPlacement,Qa)}}}ue.get("symbol-placement")==="line"&&(this.features=function($r){let ni={},Ri={},pi=[],ki=0;function Zi(La){pi.push($r[La]),ki++}function ta(La,Hn,lo){let Qa=Ri[La];return delete Ri[La],Ri[Hn]=Qa,pi[Qa].geometry[0].pop(),pi[Qa].geometry[0]=pi[Qa].geometry[0].concat(lo[0]),Qa}function Va(La,Hn,lo){let Qa=ni[Hn];return delete ni[Hn],ni[La]=Qa,pi[Qa].geometry[0].shift(),pi[Qa].geometry[0]=lo[0].concat(pi[Qa].geometry[0]),Qa}function Io(La,Hn,lo){let Qa=lo?Hn[0][Hn[0].length-1]:Hn[0][0];return`${La}:${Qa.x}:${Qa.y}`}for(let La=0;La<$r.length;La++){let Hn=$r[La],lo=Hn.geometry,Qa=Hn.text?Hn.text.toString():null;if(!Qa){Zi(La);continue}let Ya=Io(Qa,lo),Tn=Io(Qa,lo,!0);if(Ya in Ri&&Tn in ni&&Ri[Ya]!==ni[Tn]){let bo=Va(Ya,Tn,lo),Ka=ta(Ya,Tn,pi[bo].geometry);delete ni[Ya],delete Ri[Tn],Ri[Io(Qa,pi[Ka].geometry,!0)]=Ka,pi[bo].geometry=null}else Ya in Ri?ta(Ya,Tn,lo):Tn in ni?Va(Ya,Tn,lo):(Zi(La),ni[Ya]=ki-1,Ri[Tn]=ki-1)}return pi.filter(La=>La.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort(($r,ni)=>$r.sortKey-ni.sortKey)}update(A,R,j){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(A,R,this.layers,j),this.icon.programConfigurations.updatePaintArrays(A,R,this.layers,j))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(A){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(A),this.iconCollisionBox.upload(A)),this.text.upload(A,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(A,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(A,R){let j=this.lineVertexArray.length;if(A.segment!==void 0){let te=A.dist(R[A.segment+1]),ue=A.dist(R[A.segment]),ve={};for(let Re=A.segment+1;Re=0;Re--)ve[Re]={x:R[Re].x,y:R[Re].y,tileUnitDistanceFromAnchor:ue},Re>0&&(ue+=R[Re-1].dist(R[Re]));for(let Re=0;Re0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(A,R){let j=A.placedSymbolArray.get(R),te=j.vertexStartIndex+4*j.numGlyphs;for(let ue=j.vertexStartIndex;uete[Re]-te[Ze]||ue[Ze]-ue[Re]),ve}addToSortKeyRanges(A,R){let j=this.sortKeyRanges[this.sortKeyRanges.length-1];j&&j.sortKey===R?j.symbolInstanceEnd=A+1:this.sortKeyRanges.push({sortKey:R,symbolInstanceStart:A,symbolInstanceEnd:A+1})}sortFeatures(A){if(this.sortFeaturesByY&&this.sortedAngle!==A&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(A),this.sortedAngle=A,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let R of this.symbolInstanceIndexes){let j=this.symbolInstances.get(R);this.featureSortOrder.push(j.featureIndex),[j.rightJustifiedTextSymbolIndex,j.centerJustifiedTextSymbolIndex,j.leftJustifiedTextSymbolIndex].forEach((te,ue,ve)=>{te>=0&&ve.indexOf(te)===ue&&this.addIndicesForPlacedSymbol(this.text,te)}),j.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,j.verticalPlacedTextSymbolIndex),j.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,j.placedIconSymbolIndex),j.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,j.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let tf,tb;mi("SymbolBucket",P1,{omit:["layers","collisionBoxArray","features","compareText"]}),P1.MAX_GLYPHS=65535,P1.addDynamicAttributes=mS;var Zw={get paint(){return tb=tb||new le({"icon-opacity":new eo(ce.paint_symbol["icon-opacity"]),"icon-color":new eo(ce.paint_symbol["icon-color"]),"icon-halo-color":new eo(ce.paint_symbol["icon-halo-color"]),"icon-halo-width":new eo(ce.paint_symbol["icon-halo-width"]),"icon-halo-blur":new eo(ce.paint_symbol["icon-halo-blur"]),"icon-translate":new Ra(ce.paint_symbol["icon-translate"]),"icon-translate-anchor":new Ra(ce.paint_symbol["icon-translate-anchor"]),"text-opacity":new eo(ce.paint_symbol["text-opacity"]),"text-color":new eo(ce.paint_symbol["text-color"],{runtimeType:Ht,getOverride:D=>D.textColor,hasOverride:D=>!!D.textColor}),"text-halo-color":new eo(ce.paint_symbol["text-halo-color"]),"text-halo-width":new eo(ce.paint_symbol["text-halo-width"]),"text-halo-blur":new eo(ce.paint_symbol["text-halo-blur"]),"text-translate":new Ra(ce.paint_symbol["text-translate"]),"text-translate-anchor":new Ra(ce.paint_symbol["text-translate-anchor"])})},get layout(){return tf=tf||new le({"symbol-placement":new Ra(ce.layout_symbol["symbol-placement"]),"symbol-spacing":new Ra(ce.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Ra(ce.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new eo(ce.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Ra(ce.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Ra(ce.layout_symbol["icon-allow-overlap"]),"icon-overlap":new Ra(ce.layout_symbol["icon-overlap"]),"icon-ignore-placement":new Ra(ce.layout_symbol["icon-ignore-placement"]),"icon-optional":new Ra(ce.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Ra(ce.layout_symbol["icon-rotation-alignment"]),"icon-size":new eo(ce.layout_symbol["icon-size"]),"icon-text-fit":new Ra(ce.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Ra(ce.layout_symbol["icon-text-fit-padding"]),"icon-image":new eo(ce.layout_symbol["icon-image"]),"icon-rotate":new eo(ce.layout_symbol["icon-rotate"]),"icon-padding":new eo(ce.layout_symbol["icon-padding"]),"icon-keep-upright":new Ra(ce.layout_symbol["icon-keep-upright"]),"icon-offset":new eo(ce.layout_symbol["icon-offset"]),"icon-anchor":new eo(ce.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Ra(ce.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Ra(ce.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Ra(ce.layout_symbol["text-rotation-alignment"]),"text-field":new eo(ce.layout_symbol["text-field"]),"text-font":new eo(ce.layout_symbol["text-font"]),"text-size":new eo(ce.layout_symbol["text-size"]),"text-max-width":new eo(ce.layout_symbol["text-max-width"]),"text-line-height":new Ra(ce.layout_symbol["text-line-height"]),"text-letter-spacing":new eo(ce.layout_symbol["text-letter-spacing"]),"text-justify":new eo(ce.layout_symbol["text-justify"]),"text-radial-offset":new eo(ce.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Ra(ce.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new eo(ce.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new eo(ce.layout_symbol["text-anchor"]),"text-max-angle":new Ra(ce.layout_symbol["text-max-angle"]),"text-writing-mode":new Ra(ce.layout_symbol["text-writing-mode"]),"text-rotate":new eo(ce.layout_symbol["text-rotate"]),"text-padding":new Ra(ce.layout_symbol["text-padding"]),"text-keep-upright":new Ra(ce.layout_symbol["text-keep-upright"]),"text-transform":new eo(ce.layout_symbol["text-transform"]),"text-offset":new eo(ce.layout_symbol["text-offset"]),"text-allow-overlap":new Ra(ce.layout_symbol["text-allow-overlap"]),"text-overlap":new Ra(ce.layout_symbol["text-overlap"]),"text-ignore-placement":new Ra(ce.layout_symbol["text-ignore-placement"]),"text-optional":new Ra(ce.layout_symbol["text-optional"])})}};class rb{constructor(A){if(A.property.overrides===void 0)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=A.property.overrides?A.property.overrides.runtimeType:Lt,this.defaultValue=A}evaluate(A){if(A.formattedSection){let R=this.defaultValue.property.overrides;if(R&&R.hasOverride(A.formattedSection))return R.getOverride(A.formattedSection)}return A.feature&&A.featureState?this.defaultValue.evaluate(A.feature,A.featureState):this.defaultValue.property.specification.default}eachChild(A){this.defaultValue.isConstant()||A(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}mi("FormatSectionOverride",rb,{omit:["defaultValue"]});class fy extends B{constructor(A){super(A,Zw)}recalculate(A,R){if(super.recalculate(A,R),this.layout.get("icon-rotation-alignment")==="auto"&&(this.layout._values["icon-rotation-alignment"]=this.layout.get("symbol-placement")!=="point"?"map":"viewport"),this.layout.get("text-rotation-alignment")==="auto"&&(this.layout._values["text-rotation-alignment"]=this.layout.get("symbol-placement")!=="point"?"map":"viewport"),this.layout.get("text-pitch-alignment")==="auto"&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")==="map"?"map":"viewport"),this.layout.get("icon-pitch-alignment")==="auto"&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),this.layout.get("symbol-placement")==="point"){let j=this.layout.get("text-writing-mode");if(j){let te=[];for(let ue of j)te.indexOf(ue)<0&&te.push(ue);this.layout._values["text-writing-mode"]=te}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(A,R,j,te){let ue=this.layout.get(A).evaluate(R,{},j,te),ve=this._unevaluatedLayout._values[A];return ve.isDataDriven()||Lc(ve.value)||!ue?ue:function(Re,Ze){return Ze.replace(/{([^{}]+)}/g,(at,Tt)=>Re&&Tt in Re?String(Re[Tt]):"")}(R.properties,ue)}createBucket(A){return new P1(A)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let A of Zw.paint.overridableProperties){if(!fy.hasPaintOverride(this.layout,A))continue;let R=this.paint.get(A),j=new rb(R),te=new Pu(j,R.property.specification),ue=null;ue=R.value.kind==="constant"||R.value.kind==="source"?new Xc("source",te):new ic("composite",te,R.value.zoomStops),this.paint._values[A]=new Ru(R.property,ue,R.parameters)}}_handleOverridablePaintPropertyUpdate(A,R,j){return!(!this.layout||R.isDataDriven()||j.isDataDriven())&&fy.hasPaintOverride(this.layout,A)}static hasPaintOverride(A,R){let j=A.get("text-field"),te=Zw.paint.properties[R],ue=!1,ve=Re=>{for(let Ze of Re)if(te.overrides&&te.overrides.hasOverride(Ze))return void(ue=!0)};if(j.value.kind==="constant"&&j.value.value instanceof Zr)ve(j.value.value.sections);else if(j.value.kind==="source"){let Re=at=>{ue||(at instanceof jn&&Ki(at.value)===Br?ve(at.value.sections):at instanceof $l?ve(at.sections):at.eachChild(Re))},Ze=j.value;Ze._styleExpression&&Re(Ze._styleExpression.expression)}return ue}}let FC;var ib={get paint(){return FC=FC||new le({"background-color":new Ra(ce.paint_background["background-color"]),"background-pattern":new yc(ce.paint_background["background-pattern"]),"background-opacity":new Ra(ce.paint_background["background-opacity"])})}};class nq extends B{constructor(A){super(A,ib)}}let xS;var qC={get paint(){return xS=xS||new le({"raster-opacity":new Ra(ce.paint_raster["raster-opacity"]),"raster-hue-rotate":new Ra(ce.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Ra(ce.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Ra(ce.paint_raster["raster-brightness-max"]),"raster-saturation":new Ra(ce.paint_raster["raster-saturation"]),"raster-contrast":new Ra(ce.paint_raster["raster-contrast"]),"raster-resampling":new Ra(ce.paint_raster["raster-resampling"]),"raster-fade-duration":new Ra(ce.paint_raster["raster-fade-duration"])})}};class nb extends B{constructor(A){super(A,qC)}}class bS extends B{constructor(A){super(A,{}),this.onAdd=R=>{this.implementation.onAdd&&this.implementation.onAdd(R,R.painter.context.gl)},this.onRemove=R=>{this.implementation.onRemove&&this.implementation.onRemove(R,R.painter.context.gl)},this.implementation=A}is3D(){return this.implementation.renderingMode==="3d"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}class wS{constructor(A){this._methodToThrottle=A,this._triggered=!1,typeof MessageChannel!="undefined"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._methodToThrottle()},0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}let TS=63710088e-1;class mg{constructor(A,R){if(isNaN(A)||isNaN(R))throw new Error(`Invalid LngLat object: (${A}, ${R})`);if(this.lng=+A,this.lat=+R,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new mg(S(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(A){let R=Math.PI/180,j=this.lat*R,te=A.lat*R,ue=Math.sin(j)*Math.sin(te)+Math.cos(j)*Math.cos(te)*Math.cos((A.lng-this.lng)*R);return TS*Math.acos(Math.min(ue,1))}static convert(A){if(A instanceof mg)return A;if(Array.isArray(A)&&(A.length===2||A.length===3))return new mg(Number(A[0]),Number(A[1]));if(!Array.isArray(A)&&typeof A=="object"&&A!==null)return new mg(Number("lng"in A?A.lng:A.lon),Number(A.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}let I1=2*Math.PI*TS;function OC(D){return I1*Math.cos(D*Math.PI/180)}function Xw(D){return(180+D)/360}function BC(D){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+D*Math.PI/360)))/360}function Yw(D,A){return D/OC(A)}function ab(D){return 360/Math.PI*Math.atan(Math.exp((180-360*D)*Math.PI/180))-90}class ob{constructor(A,R,j=0){this.x=+A,this.y=+R,this.z=+j}static fromLngLat(A,R=0){let j=mg.convert(A);return new ob(Xw(j.lng),BC(j.lat),Yw(R,j.lat))}toLngLat(){return new mg(360*this.x-180,ab(this.y))}toAltitude(){return this.z*OC(ab(this.y))}meterInMercatorCoordinateUnits(){return 1/I1*(A=ab(this.y),1/Math.cos(A*Math.PI/180));var A}}function xp(D,A,R){var j=2*Math.PI*6378137/256/Math.pow(2,R);return[D*j-2*Math.PI*6378137/2,A*j-2*Math.PI*6378137/2]}class AS{constructor(A,R,j){if(!function(te,ue,ve){return!(te<0||te>25||ve<0||ve>=Math.pow(2,te)||ue<0||ue>=Math.pow(2,te))}(A,R,j))throw new Error(`x=${R}, y=${j}, z=${A} outside of bounds. 0<=x<${Math.pow(2,A)}, 0<=y<${Math.pow(2,A)} 0<=z<=25 `);this.z=A,this.x=R,this.y=j,this.key=sb(0,A,A,R,j)}equals(A){return this.z===A.z&&this.x===A.x&&this.y===A.y}url(A,R,j){let te=(ve=this.y,Re=this.z,Ze=xp(256*(ue=this.x),256*(ve=Math.pow(2,Re)-ve-1),Re),at=xp(256*(ue+1),256*(ve+1),Re),Ze[0]+","+Ze[1]+","+at[0]+","+at[1]);var ue,ve,Re,Ze,at;let Tt=function(Ft,Qt,sr){let Tr,Pr="";for(let $r=Ft;$r>0;$r--)Tr=1<<$r-1,Pr+=(Qt&Tr?1:0)+(sr&Tr?2:0);return Pr}(this.z,this.x,this.y);return A[(this.x+this.y)%A.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(j==="tms"?Math.pow(2,this.z)-this.y-1:this.y)).replace(/{ratio}/g,R>1?"@2x":"").replace(/{quadkey}/g,Tt).replace(/{bbox-epsg-3857}/g,te)}isChildOf(A){let R=this.z-A.z;return R>0&&A.x===this.x>>R&&A.y===this.y>>R}getTilePoint(A){let R=Math.pow(2,this.z);return new u((A.x*R-this.x)*za,(A.y*R-this.y)*za)}toString(){return`${this.z}/${this.x}/${this.y}`}}class NC{constructor(A,R){this.wrap=A,this.canonical=R,this.key=sb(A,R.z,R.z,R.x,R.y)}}class Qv{constructor(A,R,j,te,ue){if(A= z; overscaledZ = ${A}; z = ${j}`);this.overscaledZ=A,this.wrap=R,this.canonical=new AS(j,+te,+ue),this.key=sb(R,A,j,te,ue)}clone(){return new Qv(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(A){return this.overscaledZ===A.overscaledZ&&this.wrap===A.wrap&&this.canonical.equals(A.canonical)}scaledTo(A){if(A>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${A}; overscaledZ = ${this.overscaledZ}`);let R=this.canonical.z-A;return A>this.canonical.z?new Qv(A,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Qv(A,this.wrap,A,this.canonical.x>>R,this.canonical.y>>R)}calculateScaledKey(A,R){if(A>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${A}; overscaledZ = ${this.overscaledZ}`);let j=this.canonical.z-A;return A>this.canonical.z?sb(this.wrap*+R,A,this.canonical.z,this.canonical.x,this.canonical.y):sb(this.wrap*+R,A,A,this.canonical.x>>j,this.canonical.y>>j)}isChildOf(A){if(A.wrap!==this.wrap)return!1;let R=this.canonical.z-A.canonical.z;return A.overscaledZ===0||A.overscaledZ>R&&A.canonical.y===this.canonical.y>>R}children(A){if(this.overscaledZ>=A)return[new Qv(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let R=this.canonical.z+1,j=2*this.canonical.x,te=2*this.canonical.y;return[new Qv(R,this.wrap,R,j,te),new Qv(R,this.wrap,R,j+1,te),new Qv(R,this.wrap,R,j,te+1),new Qv(R,this.wrap,R,j+1,te+1)]}isLessThan(A){return this.wrapA.wrap)&&(this.overscaledZA.overscaledZ)&&(this.canonical.xA.canonical.x)&&this.canonical.ythis.max&&(this.max=Ft),Ft=this.dim+1||R<-1||R>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(R+1)*this.stride+(A+1)}unpack(A,R,j){return A*this.redFactor+R*this.greenFactor+j*this.blueFactor-this.baseShift}getPixels(){return new Jn({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(A,R,j){if(this.dim!==A.dim)throw new Error("dem dimension mismatch");let te=R*this.dim,ue=R*this.dim+this.dim,ve=j*this.dim,Re=j*this.dim+this.dim;switch(R){case-1:te=ue-1;break;case 1:ue=te+1}switch(j){case-1:ve=Re-1;break;case 1:Re=ve+1}let Ze=-R*this.dim,at=-j*this.dim;for(let Tt=ve;Tt=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${A} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[A]}}class SS{constructor(A,R,j,te,ue){this.type="Feature",this._vectorTileFeature=A,A._z=R,A._x=j,A._y=te,this.properties=A.properties,this.id=ue}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(A){this._geometry=A}toJSON(){let A={geometry:this.geometry};for(let R in this)R!=="_geometry"&&R!=="_vectorTileFeature"&&(A[R]=this[R]);return A}}class hy{constructor(A,R){this.tileID=A,this.x=A.canonical.x,this.y=A.canonical.y,this.z=A.canonical.z,this.grid=new qi(za,16,0),this.grid3D=new qi(za,16,0),this.featureIndexArray=new Ss,this.promoteId=R}insert(A,R,j,te,ue,ve){let Re=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(j,te,ue);let Ze=ve?this.grid3D:this.grid;for(let at=0;at=0&&Ft[3]>=0&&Ze.insert(Re,Ft[0],Ft[1],Ft[2],Ft[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new ei.VectorTile(new dS(this.rawTileData)).layers,this.sourceLayerCoder=new VC(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(A,R,j,te){this.loadVTLayers();let ue=A.params||{},ve=za/A.tileSize/A.scale,Re=Pc(ue.filter),Ze=A.queryGeometry,at=A.queryPadding*ve,Tt=GC(Ze),Ft=this.grid.query(Tt.minX-at,Tt.minY-at,Tt.maxX+at,Tt.maxY+at),Qt=GC(A.cameraQueryGeometry),sr=this.grid3D.query(Qt.minX-at,Qt.minY-at,Qt.maxX+at,Qt.maxY+at,($r,ni,Ri,pi)=>function(ki,Zi,ta,Va,Io){for(let Hn of ki)if(Zi<=Hn.x&&ta<=Hn.y&&Va>=Hn.x&&Io>=Hn.y)return!0;let La=[new u(Zi,ta),new u(Zi,Io),new u(Va,Io),new u(Va,ta)];if(ki.length>2){for(let Hn of La)if(On(ki,Hn))return!0}for(let Hn=0;Hn(pi||(pi=js(ki)),Zi.queryIntersectsFeature(Ze,ki,ta,pi,this.z,A.transform,ve,A.pixelPosMatrix)))}return Tr}loadMatchingFeature(A,R,j,te,ue,ve,Re,Ze,at,Tt,Ft){let Qt=this.bucketLayerIDs[R];if(ve&&!function($r,ni){for(let Ri=0;Ri<$r.length;Ri++)if(ni.indexOf($r[Ri])>=0)return!0;return!1}(ve,Qt))return;let sr=this.sourceLayerCoder.decode(j),Tr=this.vtLayers[sr].feature(te);if(ue.needGeometry){let $r=xl(Tr,!0);if(!ue.filter(new Jo(this.tileID.overscaledZ),$r,this.tileID.canonical))return}else if(!ue.filter(new Jo(this.tileID.overscaledZ),Tr))return;let Pr=this.getId(Tr,sr);for(let $r=0;$r{let Re=A instanceof Rc?A.get(ve):null;return Re&&Re.evaluate?Re.evaluate(R,j,te):Re})}function GC(D){let A=1/0,R=1/0,j=-1/0,te=-1/0;for(let ue of D)A=Math.min(A,ue.x),R=Math.min(R,ue.y),j=Math.max(j,ue.x),te=Math.max(te,ue.y);return{minX:A,minY:R,maxX:j,maxY:te}}function aq(D,A){return A-D}function jC(D,A,R,j,te){let ue=[];for(let ve=0;ve=j&&Ft.x>=j||(Tt.x>=j?Tt=new u(j,Tt.y+(j-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round():Ft.x>=j&&(Ft=new u(j,Tt.y+(j-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round()),Tt.y>=te&&Ft.y>=te||(Tt.y>=te?Tt=new u(Tt.x+(te-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),te)._round():Ft.y>=te&&(Ft=new u(Tt.x+(te-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),te)._round()),Ze&&Tt.equals(Ze[Ze.length-1])||(Ze=[Tt],ue.push(Ze)),Ze.push(Ft)))))}}return ue}mi("FeatureIndex",hy,{omit:["rawTileData","sourceLayerCoder"]});class yg extends u{constructor(A,R,j,te){super(A,R),this.angle=j,te!==void 0&&(this.segment=te)}clone(){return new yg(this.x,this.y,this.angle,this.segment)}}function MS(D,A,R,j,te){if(A.segment===void 0||R===0)return!0;let ue=A,ve=A.segment+1,Re=0;for(;Re>-R/2;){if(ve--,ve<0)return!1;Re-=D[ve].dist(ue),ue=D[ve]}Re+=D[ve].dist(D[ve+1]),ve++;let Ze=[],at=0;for(;Rej;)at-=Ze.shift().angleDelta;if(at>te)return!1;ve++,Re+=Tt.dist(Ft)}return!0}function WC(D){let A=0;for(let R=0;Rat){let Tr=(at-Ze)/sr,Pr=Mo.number(Ft.x,Qt.x,Tr),$r=Mo.number(Ft.y,Qt.y,Tr),ni=new yg(Pr,$r,Qt.angleTo(Ft),Tt);return ni._round(),!ve||MS(D,ni,Re,ve,A)?ni:void 0}Ze+=sr}}function sq(D,A,R,j,te,ue,ve,Re,Ze){let at=ZC(j,ue,ve),Tt=XC(j,te),Ft=Tt*ve,Qt=D[0].x===0||D[0].x===Ze||D[0].y===0||D[0].y===Ze;return A-Ft=0&&ki=0&&Zi=0&&Qt+at<=Tt){let ta=new yg(ki,Zi,Ri,Tr);ta._round(),j&&!MS(D,ta,ue,j,te)||sr.push(ta)}}Ft+=ni}return Re||sr.length||ve||(sr=YC(D,Ft/2,R,j,te,ue,ve,!0,Ze)),sr}mi("Anchor",yg);let D1=Td;function KC(D,A,R,j){let te=[],ue=D.image,ve=ue.pixelRatio,Re=ue.paddedRect.w-2*D1,Ze=ue.paddedRect.h-2*D1,at={x1:D.left,y1:D.top,x2:D.right,y2:D.bottom},Tt=ue.stretchX||[[0,Re]],Ft=ue.stretchY||[[0,Ze]],Qt=(Tn,bo)=>Tn+bo[1]-bo[0],sr=Tt.reduce(Qt,0),Tr=Ft.reduce(Qt,0),Pr=Re-sr,$r=Ze-Tr,ni=0,Ri=sr,pi=0,ki=Tr,Zi=0,ta=Pr,Va=0,Io=$r;if(ue.content&&j){let Tn=ue.content,bo=Tn[2]-Tn[0],Ka=Tn[3]-Tn[1];(ue.textFitWidth||ue.textFitHeight)&&(at=DC(D)),ni=_g(Tt,0,Tn[0]),pi=_g(Ft,0,Tn[1]),Ri=_g(Tt,Tn[0],Tn[2]),ki=_g(Ft,Tn[1],Tn[3]),Zi=Tn[0]-ni,Va=Tn[1]-pi,ta=bo-Ri,Io=Ka-ki}let La=at.x1,Hn=at.y1,lo=at.x2-La,Qa=at.y2-Hn,Ya=(Tn,bo,Ka,Vo)=>{let wu=Kw(Tn.stretch-ni,Ri,lo,La),hu=R1(Tn.fixed-Zi,ta,Tn.stretch,sr),fh=Kw(bo.stretch-pi,ki,Qa,Hn),ep=R1(bo.fixed-Va,Io,bo.stretch,Tr),id=Kw(Ka.stretch-ni,Ri,lo,La),hh=R1(Ka.fixed-Zi,ta,Ka.stretch,sr),Vd=Kw(Vo.stretch-pi,ki,Qa,Hn),Hd=R1(Vo.fixed-Va,Io,Vo.stretch,Tr),Gd=new u(wu,fh),rf=new u(id,fh),dh=new u(id,Vd),Ad=new u(wu,Vd),nd=new u(hu/ve,ep/ve),qh=new u(hh/ve,Hd/ve),xf=A*Math.PI/180;if(xf){let Cl=Math.sin(xf),qu=Math.cos(xf),Tu=[qu,-Cl,Cl,qu];Gd._matMult(Tu),rf._matMult(Tu),Ad._matMult(Tu),dh._matMult(Tu)}let Rv=Tn.stretch+Tn.fixed,uv=bo.stretch+bo.fixed;return{tl:Gd,tr:rf,bl:Ad,br:dh,tex:{x:ue.paddedRect.x+D1+Rv,y:ue.paddedRect.y+D1+uv,w:Ka.stretch+Ka.fixed-Rv,h:Vo.stretch+Vo.fixed-uv},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:nd,pixelOffsetBR:qh,minFontScaleX:ta/ve/lo,minFontScaleY:Io/ve/Qa,isSDF:R}};if(j&&(ue.stretchX||ue.stretchY)){let Tn=JC(Tt,Pr,sr),bo=JC(Ft,$r,Tr);for(let Ka=0;Ka0&&(Pr=Math.max(10,Pr),this.circleDiameter=Pr)}else{let Qt=!((Ft=ve.image)===null||Ft===void 0)&&Ft.content&&(ve.image.textFitWidth||ve.image.textFitHeight)?DC(ve):{x1:ve.left,y1:ve.top,x2:ve.right,y2:ve.bottom};Qt.y1=Qt.y1*Re-Ze[0],Qt.y2=Qt.y2*Re+Ze[2],Qt.x1=Qt.x1*Re-Ze[3],Qt.x2=Qt.x2*Re+Ze[1];let sr=ve.collisionPadding;if(sr&&(Qt.x1-=sr[0]*Re,Qt.y1-=sr[1]*Re,Qt.x2+=sr[2]*Re,Qt.y2+=sr[3]*Re),Tt){let Tr=new u(Qt.x1,Qt.y1),Pr=new u(Qt.x2,Qt.y1),$r=new u(Qt.x1,Qt.y2),ni=new u(Qt.x2,Qt.y2),Ri=Tt*Math.PI/180;Tr._rotate(Ri),Pr._rotate(Ri),$r._rotate(Ri),ni._rotate(Ri),Qt.x1=Math.min(Tr.x,Pr.x,$r.x,ni.x),Qt.x2=Math.max(Tr.x,Pr.x,$r.x,ni.x),Qt.y1=Math.min(Tr.y,Pr.y,$r.y,ni.y),Qt.y2=Math.max(Tr.y,Pr.y,$r.y,ni.y)}A.emplaceBack(R.x,R.y,Qt.x1,Qt.y1,Qt.x2,Qt.y2,j,te,ue)}this.boxEndIndex=A.length}}class Wp{constructor(A=[],R=(j,te)=>jte?1:0){if(this.data=A,this.length=this.data.length,this.compare=R,this.length>0)for(let j=(this.length>>1)-1;j>=0;j--)this._down(j)}push(A){this.data.push(A),this._up(this.length++)}pop(){if(this.length===0)return;let A=this.data[0],R=this.data.pop();return--this.length>0&&(this.data[0]=R,this._down(0)),A}peek(){return this.data[0]}_up(A){let{data:R,compare:j}=this,te=R[A];for(;A>0;){let ue=A-1>>1,ve=R[ue];if(j(te,ve)>=0)break;R[A]=ve,A=ue}R[A]=te}_down(A){let{data:R,compare:j}=this,te=this.length>>1,ue=R[A];for(;A=0)break;R[A]=R[ve],A=ve}R[A]=ue}}function lq(D,A=1,R=!1){let j=1/0,te=1/0,ue=-1/0,ve=-1/0,Re=D[0];for(let sr=0;srue)&&(ue=Tr.x),(!sr||Tr.y>ve)&&(ve=Tr.y)}let Ze=Math.min(ue-j,ve-te),at=Ze/2,Tt=new Wp([],uq);if(Ze===0)return new u(j,te);for(let sr=j;srFt.d||!Ft.d)&&(Ft=sr,R&&console.log("found best %d after %d probes",Math.round(1e4*sr.d)/1e4,Qt)),sr.max-Ft.d<=A||(at=sr.h/2,Tt.push(new z1(sr.p.x-at,sr.p.y-at,at,D)),Tt.push(new z1(sr.p.x+at,sr.p.y-at,at,D)),Tt.push(new z1(sr.p.x-at,sr.p.y+at,at,D)),Tt.push(new z1(sr.p.x+at,sr.p.y+at,at,D)),Qt+=4)}return R&&(console.log(`num probes: ${Qt}`),console.log(`best distance: ${Ft.d}`)),Ft.p}function uq(D,A){return A.max-D.max}function z1(D,A,R,j){this.p=new u(D,A),this.h=R,this.d=function(te,ue){let ve=!1,Re=1/0;for(let Ze=0;Zete.y!=Tr.y>te.y&&te.x<(Tr.x-sr.x)*(te.y-sr.y)/(Tr.y-sr.y)+sr.x&&(ve=!ve),Re=Math.min(Re,Bi(te,sr,Tr))}}return(ve?1:-1)*Math.sqrt(Re)}(this.p,j),this.max=this.d+this.h*Math.SQRT2}var rd;i.aq=void 0,(rd=i.aq||(i.aq={}))[rd.center=1]="center",rd[rd.left=2]="left",rd[rd.right=3]="right",rd[rd.top=4]="top",rd[rd.bottom=5]="bottom",rd[rd["top-left"]=6]="top-left",rd[rd["top-right"]=7]="top-right",rd[rd["bottom-left"]=8]="bottom-left",rd[rd["bottom-right"]=9]="bottom-right";let dm=7,dy=Number.POSITIVE_INFINITY;function ES(D,A){return A[1]!==dy?function(R,j,te){let ue=0,ve=0;switch(j=Math.abs(j),te=Math.abs(te),R){case"top-right":case"top-left":case"top":ve=te-dm;break;case"bottom-right":case"bottom-left":case"bottom":ve=-te+dm}switch(R){case"top-right":case"bottom-right":case"right":ue=-j;break;case"top-left":case"bottom-left":case"left":ue=j}return[ue,ve]}(D,A[0],A[1]):function(R,j){let te=0,ue=0;j<0&&(j=0);let ve=j/Math.SQRT2;switch(R){case"top-right":case"top-left":ue=ve-dm;break;case"bottom-right":case"bottom-left":ue=-ve+dm;break;case"bottom":ue=-j+dm;break;case"top":ue=j-dm}switch(R){case"top-right":case"bottom-right":te=-ve;break;case"top-left":case"bottom-left":te=ve;break;case"left":te=j;break;case"right":te=-j}return[te,ue]}(D,A[0])}function $C(D,A,R){var j;let te=D.layout,ue=(j=te.get("text-variable-anchor-offset"))===null||j===void 0?void 0:j.evaluate(A,{},R);if(ue){let Re=ue.values,Ze=[];for(let at=0;atQt*kl);Tt.startsWith("top")?Ft[1]-=dm:Tt.startsWith("bottom")&&(Ft[1]+=dm),Ze[at+1]=Ft}return new Si(Ze)}let ve=te.get("text-variable-anchor");if(ve){let Re;Re=D._unevaluatedLayout.getValue("text-radial-offset")!==void 0?[te.get("text-radial-offset").evaluate(A,{},R)*kl,dy]:te.get("text-offset").evaluate(A,{},R).map(at=>at*kl);let Ze=[];for(let at of ve)Ze.push(at,ES(at,Re));return new Si(Ze)}return null}function kS(D){switch(D){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function cq(D,A,R,j,te,ue,ve,Re,Ze,at,Tt){let Ft=ue.textMaxSize.evaluate(A,{});Ft===void 0&&(Ft=ve);let Qt=D.layers[0].layout,sr=Qt.get("icon-offset").evaluate(A,{},Tt),Tr=e6(R.horizontal),Pr=ve/24,$r=D.tilePixelRatio*Pr,ni=D.tilePixelRatio*Ft/24,Ri=D.tilePixelRatio*Re,pi=D.tilePixelRatio*Qt.get("symbol-spacing"),ki=Qt.get("text-padding")*D.tilePixelRatio,Zi=function(Tn,bo,Ka,Vo=1){let wu=Tn.get("icon-padding").evaluate(bo,{},Ka),hu=wu&&wu.values;return[hu[0]*Vo,hu[1]*Vo,hu[2]*Vo,hu[3]*Vo]}(Qt,A,Tt,D.tilePixelRatio),ta=Qt.get("text-max-angle")/180*Math.PI,Va=Qt.get("text-rotation-alignment")!=="viewport"&&Qt.get("symbol-placement")!=="point",Io=Qt.get("icon-rotation-alignment")==="map"&&Qt.get("symbol-placement")!=="point",La=Qt.get("symbol-placement"),Hn=pi/2,lo=Qt.get("icon-text-fit"),Qa;j&&lo!=="none"&&(D.allowVerticalPlacement&&R.vertical&&(Qa=RC(j,R.vertical,lo,Qt.get("icon-text-fit-padding"),sr,Pr)),Tr&&(j=RC(j,Tr,lo,Qt.get("icon-text-fit-padding"),sr,Pr)));let Ya=(Tn,bo)=>{bo.x<0||bo.x>=za||bo.y<0||bo.y>=za||function(Ka,Vo,wu,hu,fh,ep,id,hh,Vd,Hd,Gd,rf,dh,Ad,nd,qh,xf,Rv,uv,Cl,qu,Tu,zv,qc,F1){let y0=Ka.addToLineVertexArray(Vo,wu),Zp,tp,oc,If,rp=0,xg=0,cv=0,q1=0,DS=-1,e3=-1,_0={},vy=ui("");if(Ka.allowVerticalPlacement&&hu.vertical){let Sd=hh.layout.get("text-rotate").evaluate(qu,{},qc)+90;oc=new hm(Vd,Vo,Hd,Gd,rf,hu.vertical,dh,Ad,nd,Sd),id&&(If=new hm(Vd,Vo,Hd,Gd,rf,id,xf,Rv,nd,Sd))}if(fh){let Sd=hh.layout.get("icon-rotate").evaluate(qu,{}),ip=hh.layout.get("icon-text-fit")!=="none",vm=KC(fh,Sd,zv,ip),jd=id?KC(id,Sd,zv,ip):void 0;tp=new hm(Vd,Vo,Hd,Gd,rf,fh,xf,Rv,!1,Sd),rp=4*vm.length;let Md=Ka.iconSizeData,wp=null;Md.kind==="source"?(wp=[m0*hh.layout.get("icon-size").evaluate(qu,{})],wp[0]>cm&&T(`${Ka.layerIds[0]}: Value for "icon-size" is >= ${eb}. Reduce your "icon-size".`)):Md.kind==="composite"&&(wp=[m0*Tu.compositeIconSizes[0].evaluate(qu,{},qc),m0*Tu.compositeIconSizes[1].evaluate(qu,{},qc)],(wp[0]>cm||wp[1]>cm)&&T(`${Ka.layerIds[0]}: Value for "icon-size" is >= ${eb}. Reduce your "icon-size".`)),Ka.addSymbols(Ka.icon,vm,wp,Cl,uv,qu,i.ah.none,Vo,y0.lineStartIndex,y0.lineLength,-1,qc),DS=Ka.icon.placedSymbolArray.length-1,jd&&(xg=4*jd.length,Ka.addSymbols(Ka.icon,jd,wp,Cl,uv,qu,i.ah.vertical,Vo,y0.lineStartIndex,y0.lineLength,-1,qc),e3=Ka.icon.placedSymbolArray.length-1)}let Oh=Object.keys(hu.horizontal);for(let Sd of Oh){let ip=hu.horizontal[Sd];if(!Zp){vy=ui(ip.text);let jd=hh.layout.get("text-rotate").evaluate(qu,{},qc);Zp=new hm(Vd,Vo,Hd,Gd,rf,ip,dh,Ad,nd,jd)}let vm=ip.positionedLines.length===1;if(cv+=QC(Ka,Vo,ip,ep,hh,nd,qu,qh,y0,hu.vertical?i.ah.horizontal:i.ah.horizontalOnly,vm?Oh:[Sd],_0,DS,Tu,qc),vm)break}hu.vertical&&(q1+=QC(Ka,Vo,hu.vertical,ep,hh,nd,qu,qh,y0,i.ah.vertical,["vertical"],_0,e3,Tu,qc));let dq=Zp?Zp.boxStartIndex:Ka.collisionBoxArray.length,t3=Zp?Zp.boxEndIndex:Ka.collisionBoxArray.length,x0=oc?oc.boxStartIndex:Ka.collisionBoxArray.length,fv=oc?oc.boxEndIndex:Ka.collisionBoxArray.length,n6=tp?tp.boxStartIndex:Ka.collisionBoxArray.length,vq=tp?tp.boxEndIndex:Ka.collisionBoxArray.length,a6=If?If.boxStartIndex:Ka.collisionBoxArray.length,pq=If?If.boxEndIndex:Ka.collisionBoxArray.length,bp=-1,cb=(Sd,ip)=>Sd&&Sd.circleDiameter?Math.max(Sd.circleDiameter,ip):ip;bp=cb(Zp,bp),bp=cb(oc,bp),bp=cb(tp,bp),bp=cb(If,bp);let r3=bp>-1?1:0;r3&&(bp*=F1/kl),Ka.glyphOffsetArray.length>=P1.MAX_GLYPHS&&T("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),qu.sortKey!==void 0&&Ka.addToSortKeyRanges(Ka.symbolInstances.length,qu.sortKey);let RS=$C(hh,qu,qc),[gq,mq]=function(Sd,ip){let vm=Sd.length,jd=ip==null?void 0:ip.values;if((jd==null?void 0:jd.length)>0)for(let Md=0;Md=0?_0.right:-1,_0.center>=0?_0.center:-1,_0.left>=0?_0.left:-1,_0.vertical||-1,DS,e3,vy,dq,t3,x0,fv,n6,vq,a6,pq,Hd,cv,q1,rp,xg,r3,0,dh,bp,gq,mq)}(D,bo,Tn,R,j,te,Qa,D.layers[0],D.collisionBoxArray,A.index,A.sourceLayerIndex,D.index,$r,[ki,ki,ki,ki],Va,Ze,Ri,Zi,Io,sr,A,ue,at,Tt,ve)};if(La==="line")for(let Tn of jC(A.geometry,0,0,za,za)){let bo=sq(Tn,pi,ta,R.vertical||Tr,j,24,ni,D.overscaling,za);for(let Ka of bo)Tr&&fq(D,Tr.text,Hn,Ka)||Ya(Tn,Ka)}else if(La==="line-center"){for(let Tn of A.geometry)if(Tn.length>1){let bo=oq(Tn,ta,R.vertical||Tr,j,24,ni);bo&&Ya(Tn,bo)}}else if(A.type==="Polygon")for(let Tn of Bf(A.geometry,0)){let bo=lq(Tn,16);Ya(Tn[0],new yg(bo.x,bo.y,0))}else if(A.type==="LineString")for(let Tn of A.geometry)Ya(Tn,new yg(Tn[0].x,Tn[0].y,0));else if(A.type==="Point")for(let Tn of A.geometry)for(let bo of Tn)Ya([bo],new yg(bo.x,bo.y,0))}function QC(D,A,R,j,te,ue,ve,Re,Ze,at,Tt,Ft,Qt,sr,Tr){let Pr=function(Ri,pi,ki,Zi,ta,Va,Io,La){let Hn=Zi.layout.get("text-rotate").evaluate(Va,{})*Math.PI/180,lo=[];for(let Qa of pi.positionedLines)for(let Ya of Qa.positionedGlyphs){if(!Ya.rect)continue;let Tn=Ya.rect||{},bo=CC+1,Ka=!0,Vo=1,wu=0,hu=(ta||La)&&Ya.vertical,fh=Ya.metrics.advance*Ya.scale/2;if(La&&pi.verticalizable&&(wu=Qa.lineOffset/2-(Ya.imageName?-(kl-Ya.metrics.width*Ya.scale)/2:(Ya.scale-1)*kl)),Ya.imageName){let Cl=Io[Ya.imageName];Ka=Cl.sdf,Vo=Cl.pixelRatio,bo=Td/Vo}let ep=ta?[Ya.x+fh,Ya.y]:[0,0],id=ta?[0,0]:[Ya.x+fh+ki[0],Ya.y+ki[1]-wu],hh=[0,0];hu&&(hh=id,id=[0,0]);let Vd=Ya.metrics.isDoubleResolution?2:1,Hd=(Ya.metrics.left-bo)*Ya.scale-fh+id[0],Gd=(-Ya.metrics.top-bo)*Ya.scale+id[1],rf=Hd+Tn.w/Vd*Ya.scale/Vo,dh=Gd+Tn.h/Vd*Ya.scale/Vo,Ad=new u(Hd,Gd),nd=new u(rf,Gd),qh=new u(Hd,dh),xf=new u(rf,dh);if(hu){let Cl=new u(-fh,fh-ch),qu=-Math.PI/2,Tu=kl/2-fh,zv=new u(5-ch-Tu,-(Ya.imageName?Tu:0)),qc=new u(...hh);Ad._rotateAround(qu,Cl)._add(zv)._add(qc),nd._rotateAround(qu,Cl)._add(zv)._add(qc),qh._rotateAround(qu,Cl)._add(zv)._add(qc),xf._rotateAround(qu,Cl)._add(zv)._add(qc)}if(Hn){let Cl=Math.sin(Hn),qu=Math.cos(Hn),Tu=[qu,-Cl,Cl,qu];Ad._matMult(Tu),nd._matMult(Tu),qh._matMult(Tu),xf._matMult(Tu)}let Rv=new u(0,0),uv=new u(0,0);lo.push({tl:Ad,tr:nd,bl:qh,br:xf,tex:Tn,writingMode:pi.writingMode,glyphOffset:ep,sectionIndex:Ya.sectionIndex,isSDF:Ka,pixelOffsetTL:Rv,pixelOffsetBR:uv,minFontScaleX:0,minFontScaleY:0})}return lo}(0,R,Re,te,ue,ve,j,D.allowVerticalPlacement),$r=D.textSizeData,ni=null;$r.kind==="source"?(ni=[m0*te.layout.get("text-size").evaluate(ve,{})],ni[0]>cm&&T(`${D.layerIds[0]}: Value for "text-size" is >= ${eb}. Reduce your "text-size".`)):$r.kind==="composite"&&(ni=[m0*sr.compositeTextSizes[0].evaluate(ve,{},Tr),m0*sr.compositeTextSizes[1].evaluate(ve,{},Tr)],(ni[0]>cm||ni[1]>cm)&&T(`${D.layerIds[0]}: Value for "text-size" is >= ${eb}. Reduce your "text-size".`)),D.addSymbols(D.text,Pr,ni,Re,ue,ve,at,A,Ze.lineStartIndex,Ze.lineLength,Qt,Tr);for(let Ri of Tt)Ft[Ri]=D.text.placedSymbolArray.length-1;return 4*Pr.length}function e6(D){for(let A in D)return D[A];return null}function fq(D,A,R,j){let te=D.compareText;if(A in te){let ue=te[A];for(let ve=ue.length-1;ve>=0;ve--)if(j.dist(ue[ve])>4;if(te!==1)throw new Error(`Got v${te} data when expected v1.`);let ue=t6[15&j];if(!ue)throw new Error("Unrecognized array type.");let[ve]=new Uint16Array(A,2,1),[Re]=new Uint32Array(A,4,1);return new CS(Re,ve,ue,A)}constructor(A,R=64,j=Float64Array,te){if(isNaN(A)||A<0)throw new Error(`Unpexpected numItems value: ${A}.`);this.numItems=+A,this.nodeSize=Math.min(Math.max(+R,2),65535),this.ArrayType=j,this.IndexArrayType=A<65536?Uint16Array:Uint32Array;let ue=t6.indexOf(this.ArrayType),ve=2*A*this.ArrayType.BYTES_PER_ELEMENT,Re=A*this.IndexArrayType.BYTES_PER_ELEMENT,Ze=(8-Re%8)%8;if(ue<0)throw new Error(`Unexpected typed array class: ${j}.`);te&&te instanceof ArrayBuffer?(this.data=te,this.ids=new this.IndexArrayType(this.data,8,A),this.coords=new this.ArrayType(this.data,8+Re+Ze,2*A),this._pos=2*A,this._finished=!0):(this.data=new ArrayBuffer(8+ve+Re+Ze),this.ids=new this.IndexArrayType(this.data,8,A),this.coords=new this.ArrayType(this.data,8+Re+Ze,2*A),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+ue]),new Uint16Array(this.data,2,1)[0]=R,new Uint32Array(this.data,4,1)[0]=A)}add(A,R){let j=this._pos>>1;return this.ids[j]=j,this.coords[this._pos++]=A,this.coords[this._pos++]=R,j}finish(){let A=this._pos>>1;if(A!==this.numItems)throw new Error(`Added ${A} items when expected ${this.numItems}.`);return Jw(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(A,R,j,te){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:ue,coords:ve,nodeSize:Re}=this,Ze=[0,ue.length-1,0],at=[];for(;Ze.length;){let Tt=Ze.pop()||0,Ft=Ze.pop()||0,Qt=Ze.pop()||0;if(Ft-Qt<=Re){for(let $r=Qt;$r<=Ft;$r++){let ni=ve[2*$r],Ri=ve[2*$r+1];ni>=A&&ni<=j&&Ri>=R&&Ri<=te&&at.push(ue[$r])}continue}let sr=Qt+Ft>>1,Tr=ve[2*sr],Pr=ve[2*sr+1];Tr>=A&&Tr<=j&&Pr>=R&&Pr<=te&&at.push(ue[sr]),(Tt===0?A<=Tr:R<=Pr)&&(Ze.push(Qt),Ze.push(sr-1),Ze.push(1-Tt)),(Tt===0?j>=Tr:te>=Pr)&&(Ze.push(sr+1),Ze.push(Ft),Ze.push(1-Tt))}return at}within(A,R,j){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:te,coords:ue,nodeSize:ve}=this,Re=[0,te.length-1,0],Ze=[],at=j*j;for(;Re.length;){let Tt=Re.pop()||0,Ft=Re.pop()||0,Qt=Re.pop()||0;if(Ft-Qt<=ve){for(let $r=Qt;$r<=Ft;$r++)i6(ue[2*$r],ue[2*$r+1],A,R)<=at&&Ze.push(te[$r]);continue}let sr=Qt+Ft>>1,Tr=ue[2*sr],Pr=ue[2*sr+1];i6(Tr,Pr,A,R)<=at&&Ze.push(te[sr]),(Tt===0?A-j<=Tr:R-j<=Pr)&&(Re.push(Qt),Re.push(sr-1),Re.push(1-Tt)),(Tt===0?A+j>=Tr:R+j>=Pr)&&(Re.push(sr+1),Re.push(Ft),Re.push(1-Tt))}return Ze}}function Jw(D,A,R,j,te,ue){if(te-j<=R)return;let ve=j+te>>1;r6(D,A,ve,j,te,ue),Jw(D,A,R,j,ve-1,1-ue),Jw(D,A,R,ve+1,te,1-ue)}function r6(D,A,R,j,te,ue){for(;te>j;){if(te-j>600){let at=te-j+1,Tt=R-j+1,Ft=Math.log(at),Qt=.5*Math.exp(2*Ft/3),sr=.5*Math.sqrt(Ft*Qt*(at-Qt)/at)*(Tt-at/2<0?-1:1);r6(D,A,R,Math.max(j,Math.floor(R-Tt*Qt/at+sr)),Math.min(te,Math.floor(R+(at-Tt)*Qt/at+sr)),ue)}let ve=A[2*R+ue],Re=j,Ze=te;for(lb(D,A,j,R),A[2*te+ue]>ve&&lb(D,A,j,te);Reve;)Ze--}A[2*j+ue]===ve?lb(D,A,j,Ze):(Ze++,lb(D,A,Ze,te)),Ze<=R&&(j=Ze+1),R<=Ze&&(te=Ze-1)}}function lb(D,A,R,j){LS(D,R,j),LS(A,2*R,2*j),LS(A,2*R+1,2*j+1)}function LS(D,A,R){let j=D[A];D[A]=D[R],D[R]=j}function i6(D,A,R,j){let te=D-R,ue=A-j;return te*te+ue*ue}var $w;i.bg=void 0,($w=i.bg||(i.bg={})).create="create",$w.load="load",$w.fullLoad="fullLoad";let ub=null,jf=[],PS=1e3/60,IS="loadTime",Qw="fullLoadTime",hq={mark(D){performance.mark(D)},frame(D){let A=D;ub!=null&&jf.push(A-ub),ub=A},clearMetrics(){ub=null,jf=[],performance.clearMeasures(IS),performance.clearMeasures(Qw);for(let D in i.bg)performance.clearMarks(i.bg[D])},getPerformanceMetrics(){performance.measure(IS,i.bg.create,i.bg.load),performance.measure(Qw,i.bg.create,i.bg.fullLoad);let D=performance.getEntriesByName(IS)[0].duration,A=performance.getEntriesByName(Qw)[0].duration,R=jf.length,j=1/(jf.reduce((ue,ve)=>ue+ve,0)/R/1e3),te=jf.filter(ue=>ue>PS).reduce((ue,ve)=>ue+(ve-PS)/PS,0);return{loadTime:D,fullLoadTime:A,fps:j,percentDroppedFrames:te/(R+te)*100,totalFrames:R}}};i.$=class extends Ot{},i.A=Ln,i.B=Fi,i.C=function(D){if(V==null){let A=D.navigator?D.navigator.userAgent:null;V=!!D.safari||!(!A||!(/\b(iPad|iPhone|iPod)\b/.test(A)||A.match("Safari")&&!A.match("Chrome")))}return V},i.D=Ra,i.E=De,i.F=class{constructor(D,A){this.target=D,this.mapId=A,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new wS(()=>this.process()),this.subscription=function(R,j,te,ue){return R.addEventListener(j,te,!1),{unsubscribe:()=>{R.removeEventListener(j,te,!1)}}}(this.target,"message",R=>this.receive(R)),this.globalScope=q(self)?D:window}registerMessageHandler(D,A){this.messageHandlers[D]=A}sendAsync(D,A){return new Promise((R,j)=>{let te=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[te]={resolve:R,reject:j},A&&A.signal.addEventListener("abort",()=>{delete this.resolveRejects[te];let Re={id:te,type:"",origin:location.origin,targetMapId:D.targetMapId,sourceMapId:this.mapId};this.target.postMessage(Re)},{once:!0});let ue=[],ve=Object.assign(Object.assign({},D),{id:te,sourceMapId:this.mapId,origin:location.origin,data:ka(D.data,ue)});this.target.postMessage(ve,{transfer:ue})})}receive(D){let A=D.data,R=A.id;if(!(A.origin!=="file://"&&location.origin!=="file://"&&A.origin!=="resource://android"&&location.origin!=="resource://android"&&A.origin!==location.origin||A.targetMapId&&this.mapId!==A.targetMapId)){if(A.type===""){delete this.tasks[R];let j=this.abortControllers[R];return delete this.abortControllers[R],void(j&&j.abort())}if(q(self)||A.mustQueue)return this.tasks[R]=A,this.taskQueue.push(R),void this.invoker.trigger();this.processTask(R,A)}}process(){if(this.taskQueue.length===0)return;let D=this.taskQueue.shift(),A=this.tasks[D];delete this.tasks[D],this.taskQueue.length>0&&this.invoker.trigger(),A&&this.processTask(D,A)}processTask(D,A){return a(this,void 0,void 0,function*(){if(A.type===""){let te=this.resolveRejects[D];return delete this.resolveRejects[D],te?void(A.error?te.reject(qa(A.error)):te.resolve(qa(A.data))):void 0}if(!this.messageHandlers[A.type])return void this.completeTask(D,new Error(`Could not find a registered handler for ${A.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));let R=qa(A.data),j=new AbortController;this.abortControllers[D]=j;try{let te=yield this.messageHandlers[A.type](A.sourceMapId,R,j);this.completeTask(D,null,te)}catch(te){this.completeTask(D,te)}})}completeTask(D,A,R){let j=[];delete this.abortControllers[D];let te={id:D,type:"",sourceMapId:this.mapId,origin:location.origin,error:A?ka(A):null,data:ka(R,j)};this.target.postMessage(te,{transfer:j})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},i.G=ke,i.H=function(){var D=new Ln(16);return Ln!=Float32Array&&(D[1]=0,D[2]=0,D[3]=0,D[4]=0,D[6]=0,D[7]=0,D[8]=0,D[9]=0,D[11]=0,D[12]=0,D[13]=0,D[14]=0),D[0]=1,D[5]=1,D[10]=1,D[15]=1,D},i.I=Uw,i.J=function(D,A,R){var j,te,ue,ve,Re,Ze,at,Tt,Ft,Qt,sr,Tr,Pr=R[0],$r=R[1],ni=R[2];return A===D?(D[12]=A[0]*Pr+A[4]*$r+A[8]*ni+A[12],D[13]=A[1]*Pr+A[5]*$r+A[9]*ni+A[13],D[14]=A[2]*Pr+A[6]*$r+A[10]*ni+A[14],D[15]=A[3]*Pr+A[7]*$r+A[11]*ni+A[15]):(te=A[1],ue=A[2],ve=A[3],Re=A[4],Ze=A[5],at=A[6],Tt=A[7],Ft=A[8],Qt=A[9],sr=A[10],Tr=A[11],D[0]=j=A[0],D[1]=te,D[2]=ue,D[3]=ve,D[4]=Re,D[5]=Ze,D[6]=at,D[7]=Tt,D[8]=Ft,D[9]=Qt,D[10]=sr,D[11]=Tr,D[12]=j*Pr+Re*$r+Ft*ni+A[12],D[13]=te*Pr+Ze*$r+Qt*ni+A[13],D[14]=ue*Pr+at*$r+sr*ni+A[14],D[15]=ve*Pr+Tt*$r+Tr*ni+A[15]),D},i.K=function(D,A,R){var j=R[0],te=R[1],ue=R[2];return D[0]=A[0]*j,D[1]=A[1]*j,D[2]=A[2]*j,D[3]=A[3]*j,D[4]=A[4]*te,D[5]=A[5]*te,D[6]=A[6]*te,D[7]=A[7]*te,D[8]=A[8]*ue,D[9]=A[9]*ue,D[10]=A[10]*ue,D[11]=A[11]*ue,D[12]=A[12],D[13]=A[13],D[14]=A[14],D[15]=A[15],D},i.L=gn,i.M=function(D,A){let R={};for(let j=0;j{let A=window.document.createElement("video");return A.muted=!0,new Promise(R=>{A.onloadstart=()=>{R(A)};for(let j of D){let te=window.document.createElement("source");Ee(j)||(A.crossOrigin="Anonymous"),te.src=j,A.appendChild(te)}})},i.a4=function(){return x++},i.a5=Qi,i.a6=P1,i.a7=Pc,i.a8=xl,i.a9=SS,i.aA=function(D){if(D.type==="custom")return new bS(D);switch(D.type){case"background":return new nq(D);case"circle":return new wn(D);case"fill":return new gr(D);case"fill-extrusion":return new Cv(D);case"heatmap":return new Po(D);case"hillshade":return new $c(D);case"line":return new sy(D);case"raster":return new nb(D);case"symbol":return new fy(D)}},i.aB=g,i.aC=function(D,A){if(!D)return[{command:"setStyle",args:[A]}];let R=[];try{if(!ct(D.version,A.version))return[{command:"setStyle",args:[A]}];ct(D.center,A.center)||R.push({command:"setCenter",args:[A.center]}),ct(D.zoom,A.zoom)||R.push({command:"setZoom",args:[A.zoom]}),ct(D.bearing,A.bearing)||R.push({command:"setBearing",args:[A.bearing]}),ct(D.pitch,A.pitch)||R.push({command:"setPitch",args:[A.pitch]}),ct(D.sprite,A.sprite)||R.push({command:"setSprite",args:[A.sprite]}),ct(D.glyphs,A.glyphs)||R.push({command:"setGlyphs",args:[A.glyphs]}),ct(D.transition,A.transition)||R.push({command:"setTransition",args:[A.transition]}),ct(D.light,A.light)||R.push({command:"setLight",args:[A.light]}),ct(D.terrain,A.terrain)||R.push({command:"setTerrain",args:[A.terrain]}),ct(D.sky,A.sky)||R.push({command:"setSky",args:[A.sky]}),ct(D.projection,A.projection)||R.push({command:"setProjection",args:[A.projection]});let j={},te=[];(function(ve,Re,Ze,at){let Tt;for(Tt in Re=Re||{},ve=ve||{})Object.prototype.hasOwnProperty.call(ve,Tt)&&(Object.prototype.hasOwnProperty.call(Re,Tt)||ot(Tt,Ze,at));for(Tt in Re)Object.prototype.hasOwnProperty.call(Re,Tt)&&(Object.prototype.hasOwnProperty.call(ve,Tt)?ct(ve[Tt],Re[Tt])||(ve[Tt].type==="geojson"&&Re[Tt].type==="geojson"&&kt(ve,Re,Tt)?qt(Ze,{command:"setGeoJSONSourceData",args:[Tt,Re[Tt].data]}):It(Tt,Re,Ze,at)):rt(Tt,Re,Ze))})(D.sources,A.sources,te,j);let ue=[];D.layers&&D.layers.forEach(ve=>{"source"in ve&&j[ve.source]?R.push({command:"removeLayer",args:[ve.id]}):ue.push(ve)}),R=R.concat(te),function(ve,Re,Ze){Re=Re||[];let at=(ve=ve||[]).map(Yt),Tt=Re.map(Yt),Ft=ve.reduce(mr,{}),Qt=Re.reduce(mr,{}),sr=at.slice(),Tr=Object.create(null),Pr,$r,ni,Ri,pi;for(let ki=0,Zi=0;ki@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(R,j,te,ue)=>{let ve=te||ue;return A[j]=!ve||ve.toLowerCase(),""}),A["max-age"]){let R=parseInt(A["max-age"],10);isNaN(R)?delete A["max-age"]:A["max-age"]=R}return A},i.ab=function(D,A){let R=[];for(let j in D)j in A||R.push(j);return R},i.ac=k,i.ad=function(D,A,R){var j=Math.sin(R),te=Math.cos(R),ue=A[0],ve=A[1],Re=A[2],Ze=A[3],at=A[4],Tt=A[5],Ft=A[6],Qt=A[7];return A!==D&&(D[8]=A[8],D[9]=A[9],D[10]=A[10],D[11]=A[11],D[12]=A[12],D[13]=A[13],D[14]=A[14],D[15]=A[15]),D[0]=ue*te+at*j,D[1]=ve*te+Tt*j,D[2]=Re*te+Ft*j,D[3]=Ze*te+Qt*j,D[4]=at*te-ue*j,D[5]=Tt*te-ve*j,D[6]=Ft*te-Re*j,D[7]=Qt*te-Ze*j,D},i.ae=function(D){var A=new Ln(16);return A[0]=D[0],A[1]=D[1],A[2]=D[2],A[3]=D[3],A[4]=D[4],A[5]=D[5],A[6]=D[6],A[7]=D[7],A[8]=D[8],A[9]=D[9],A[10]=D[10],A[11]=D[11],A[12]=D[12],A[13]=D[13],A[14]=D[14],A[15]=D[15],A},i.af=Za,i.ag=function(D,A){let R=0,j=0;if(D.kind==="constant")j=D.layoutSize;else if(D.kind!=="source"){let{interpolationType:te,minZoom:ue,maxZoom:ve}=D,Re=te?k(xo.interpolationFactor(te,A,ue,ve),0,1):0;D.kind==="camera"?j=Mo.number(D.minSize,D.maxSize,Re):R=Re}return{uSizeT:R,uSize:j}},i.ai=function(D,{uSize:A,uSizeT:R},{lowerSize:j,upperSize:te}){return D.kind==="source"?j/m0:D.kind==="composite"?Mo.number(j/m0,te/m0,R):A},i.aj=mS,i.ak=function(D,A,R,j){let te=A.y-D.y,ue=A.x-D.x,ve=j.y-R.y,Re=j.x-R.x,Ze=ve*ue-Re*te;if(Ze===0)return null;let at=(Re*(D.y-R.y)-ve*(D.x-R.x))/Ze;return new u(D.x+at*ue,D.y+at*te)},i.al=jC,i.am=xc,i.an=Un,i.ao=function(D){let A=1/0,R=1/0,j=-1/0,te=-1/0;for(let ue of D)A=Math.min(A,ue.x),R=Math.min(R,ue.y),j=Math.max(j,ue.x),te=Math.max(te,ue.y);return[A,R,j,te]},i.ap=kl,i.ar=gS,i.as=function(D,A){var R=A[0],j=A[1],te=A[2],ue=A[3],ve=A[4],Re=A[5],Ze=A[6],at=A[7],Tt=A[8],Ft=A[9],Qt=A[10],sr=A[11],Tr=A[12],Pr=A[13],$r=A[14],ni=A[15],Ri=R*Re-j*ve,pi=R*Ze-te*ve,ki=R*at-ue*ve,Zi=j*Ze-te*Re,ta=j*at-ue*Re,Va=te*at-ue*Ze,Io=Tt*Pr-Ft*Tr,La=Tt*$r-Qt*Tr,Hn=Tt*ni-sr*Tr,lo=Ft*$r-Qt*Pr,Qa=Ft*ni-sr*Pr,Ya=Qt*ni-sr*$r,Tn=Ri*Ya-pi*Qa+ki*lo+Zi*Hn-ta*La+Va*Io;return Tn?(D[0]=(Re*Ya-Ze*Qa+at*lo)*(Tn=1/Tn),D[1]=(te*Qa-j*Ya-ue*lo)*Tn,D[2]=(Pr*Va-$r*ta+ni*Zi)*Tn,D[3]=(Qt*ta-Ft*Va-sr*Zi)*Tn,D[4]=(Ze*Hn-ve*Ya-at*La)*Tn,D[5]=(R*Ya-te*Hn+ue*La)*Tn,D[6]=($r*ki-Tr*Va-ni*pi)*Tn,D[7]=(Tt*Va-Qt*ki+sr*pi)*Tn,D[8]=(ve*Qa-Re*Hn+at*Io)*Tn,D[9]=(j*Hn-R*Qa-ue*Io)*Tn,D[10]=(Tr*ta-Pr*ki+ni*Ri)*Tn,D[11]=(Ft*ki-Tt*ta-sr*Ri)*Tn,D[12]=(Re*La-ve*lo-Ze*Io)*Tn,D[13]=(R*lo-j*La+te*Io)*Tn,D[14]=(Pr*pi-Tr*Zi-$r*Ri)*Tn,D[15]=(Tt*Zi-Ft*pi+Qt*Ri)*Tn,D):null},i.at=kS,i.au=jw,i.av=CS,i.aw=function(){let D={},A=ce.$version;for(let R in ce.$root){let j=ce.$root[R];if(j.required){let te=null;te=R==="version"?A:j.type==="array"?[]:{},te!=null&&(D[R]=te)}}return D},i.ax=Cn,i.ay=ie,i.az=function(D){D=D.slice();let A=Object.create(null);for(let R=0;R25||j<0||j>=1||R<0||R>=1)},i.bc=function(D,A){return D[0]=A[0],D[1]=0,D[2]=0,D[3]=0,D[4]=0,D[5]=A[1],D[6]=0,D[7]=0,D[8]=0,D[9]=0,D[10]=A[2],D[11]=0,D[12]=0,D[13]=0,D[14]=0,D[15]=1,D},i.bd=class extends yt{},i.be=TS,i.bf=hq,i.bh=ge,i.bi=function(D,A){_e.REGISTERED_PROTOCOLS[D]=A},i.bj=function(D){delete _e.REGISTERED_PROTOCOLS[D]},i.bk=function(D,A){let R={};for(let te=0;teYa*kl)}let La=ve?"center":R.get("text-justify").evaluate(at,{},D.canonical),Hn=R.get("symbol-placement")==="point"?R.get("text-max-width").evaluate(at,{},D.canonical)*kl:1/0,lo=()=>{D.bucket.allowVerticalPlacement&&Ua(ki)&&(Tr.vertical=$x(Pr,D.glyphMap,D.glyphPositions,D.imagePositions,Tt,Hn,ue,Va,"left",ta,ni,i.ah.vertical,!0,Qt,Ft))};if(!ve&&Io){let Qa=new Set;if(La==="auto")for(let Tn=0;Tna(void 0,void 0,void 0,function*(){if(D.byteLength===0)return createImageBitmap(new ImageData(1,1));let A=new Blob([new Uint8Array(D)],{type:"image/png"});try{return createImageBitmap(A)}catch(R){throw new Error(`Could not load image because of ${R.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),i.e=L,i.f=D=>new Promise((A,R)=>{let j=new Image;j.onload=()=>{A(j),URL.revokeObjectURL(j.src),j.onload=null,window.requestAnimationFrame(()=>{j.src=X})},j.onerror=()=>R(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));let te=new Blob([new Uint8Array(D)],{type:"image/png"});j.src=D.byteLength?URL.createObjectURL(te):X}),i.g=Me,i.h=(D,A)=>Te(L(D,{type:"json"}),A),i.i=q,i.j=me,i.k=Ce,i.l=(D,A)=>Te(L(D,{type:"arrayBuffer"}),A),i.m=Te,i.n=function(D){return new dS(D).readFields(IQ,[])},i.o=Ao,i.p=pS,i.q=le,i.r=xi,i.s=Ee,i.t=Ti,i.u=fi,i.v=ce,i.w=T,i.x=function([D,A,R]){return A+=90,A*=Math.PI/180,R*=Math.PI/180,{x:D*Math.cos(A)*Math.sin(R),y:D*Math.sin(A)*Math.sin(R),z:D*Math.cos(R)}},i.y=Mo,i.z=Jo}),r("worker",["./shared"],function(i){"use strict";class a{constructor(Ne){this.keyCache={},Ne&&this.replace(Ne)}replace(Ne){this._layerConfigs={},this._layers={},this.update(Ne,[])}update(Ne,Ye){for(let Xe of Ne){this._layerConfigs[Xe.id]=Xe;let ht=this._layers[Xe.id]=i.aA(Xe);ht._featureFilter=i.a7(ht.filter),this.keyCache[Xe.id]&&delete this.keyCache[Xe.id]}for(let Xe of Ye)delete this.keyCache[Xe],delete this._layerConfigs[Xe],delete this._layers[Xe];this.familiesBySource={};let Ve=i.bk(Object.values(this._layerConfigs),this.keyCache);for(let Xe of Ve){let ht=Xe.map(Vt=>this._layers[Vt.id]),Le=ht[0];if(Le.visibility==="none")continue;let xe=Le.source||"",Se=this.familiesBySource[xe];Se||(Se=this.familiesBySource[xe]={});let lt=Le.sourceLayer||"_geojsonTileLayer",Gt=Se[lt];Gt||(Gt=Se[lt]=[]),Gt.push(ht)}}}class o{constructor(Ne){let Ye={},Ve=[];for(let xe in Ne){let Se=Ne[xe],lt=Ye[xe]={};for(let Gt in Se){let Vt=Se[+Gt];if(!Vt||Vt.bitmap.width===0||Vt.bitmap.height===0)continue;let ar={x:0,y:0,w:Vt.bitmap.width+2,h:Vt.bitmap.height+2};Ve.push(ar),lt[Gt]={rect:ar,metrics:Vt.metrics}}}let{w:Xe,h:ht}=i.p(Ve),Le=new i.o({width:Xe||1,height:ht||1});for(let xe in Ne){let Se=Ne[xe];for(let lt in Se){let Gt=Se[+lt];if(!Gt||Gt.bitmap.width===0||Gt.bitmap.height===0)continue;let Vt=Ye[xe][lt].rect;i.o.copy(Gt.bitmap,Le,{x:0,y:0},{x:Vt.x+1,y:Vt.y+1},Gt.bitmap)}}this.image=Le,this.positions=Ye}}i.bl("GlyphAtlas",o);class s{constructor(Ne){this.tileID=new i.S(Ne.tileID.overscaledZ,Ne.tileID.wrap,Ne.tileID.canonical.z,Ne.tileID.canonical.x,Ne.tileID.canonical.y),this.uid=Ne.uid,this.zoom=Ne.zoom,this.pixelRatio=Ne.pixelRatio,this.tileSize=Ne.tileSize,this.source=Ne.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Ne.showCollisionBoxes,this.collectResourceTiming=!!Ne.collectResourceTiming,this.returnDependencies=!!Ne.returnDependencies,this.promoteId=Ne.promoteId,this.inFlightDependencies=[]}parse(Ne,Ye,Ve,Xe){return i._(this,void 0,void 0,function*(){this.status="parsing",this.data=Ne,this.collisionBoxArray=new i.a5;let ht=new i.bm(Object.keys(Ne.layers).sort()),Le=new i.bn(this.tileID,this.promoteId);Le.bucketLayerIDs=[];let xe={},Se={featureIndex:Le,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:Ve},lt=Ye.familiesBySource[this.source];for(let _n in lt){let $i=Ne.layers[_n];if(!$i)continue;$i.version===1&&i.w(`Vector tile source "${this.source}" layer "${_n}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let zn=ht.encode(_n),Wn=[];for(let Dt=0;Dt<$i.length;Dt++){let ft=$i.feature(Dt),jt=Le.getId(ft,_n);Wn.push({feature:ft,id:jt,index:Dt,sourceLayerIndex:zn})}for(let Dt of lt[_n]){let ft=Dt[0];ft.source!==this.source&&i.w(`layer.source = ${ft.source} does not equal this.source = ${this.source}`),ft.minzoom&&this.zoom=ft.maxzoom||ft.visibility!=="none"&&(l(Dt,this.zoom,Ve),(xe[ft.id]=ft.createBucket({index:Le.bucketLayerIDs.length,layers:Dt,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:zn,sourceID:this.source})).populate(Wn,Se,this.tileID.canonical),Le.bucketLayerIDs.push(Dt.map(jt=>jt.id)))}}let Gt=i.aF(Se.glyphDependencies,_n=>Object.keys(_n).map(Number));this.inFlightDependencies.forEach(_n=>_n==null?void 0:_n.abort()),this.inFlightDependencies=[];let Vt=Promise.resolve({});if(Object.keys(Gt).length){let _n=new AbortController;this.inFlightDependencies.push(_n),Vt=Xe.sendAsync({type:"GG",data:{stacks:Gt,source:this.source,tileID:this.tileID,type:"glyphs"}},_n)}let ar=Object.keys(Se.iconDependencies),Qr=Promise.resolve({});if(ar.length){let _n=new AbortController;this.inFlightDependencies.push(_n),Qr=Xe.sendAsync({type:"GI",data:{icons:ar,source:this.source,tileID:this.tileID,type:"icons"}},_n)}let ai=Object.keys(Se.patternDependencies),jr=Promise.resolve({});if(ai.length){let _n=new AbortController;this.inFlightDependencies.push(_n),jr=Xe.sendAsync({type:"GI",data:{icons:ai,source:this.source,tileID:this.tileID,type:"patterns"}},_n)}let[ri,bi,nn]=yield Promise.all([Vt,Qr,jr]),Wi=new o(ri),Ni=new i.bo(bi,nn);for(let _n in xe){let $i=xe[_n];$i instanceof i.a6?(l($i.layers,this.zoom,Ve),i.bp({bucket:$i,glyphMap:ri,glyphPositions:Wi.positions,imageMap:bi,imagePositions:Ni.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):$i.hasPattern&&($i instanceof i.bq||$i instanceof i.br||$i instanceof i.bs)&&(l($i.layers,this.zoom,Ve),$i.addFeatures(Se,this.tileID.canonical,Ni.patternPositions))}return this.status="done",{buckets:Object.values(xe).filter(_n=>!_n.isEmpty()),featureIndex:Le,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Wi.image,imageAtlas:Ni,glyphMap:this.returnDependencies?ri:null,iconMap:this.returnDependencies?bi:null,glyphPositions:this.returnDependencies?Wi.positions:null}})}}function l(ut,Ne,Ye){let Ve=new i.z(Ne);for(let Xe of ut)Xe.recalculate(Ve,Ye)}class u{constructor(Ne,Ye,Ve){this.actor=Ne,this.layerIndex=Ye,this.availableImages=Ve,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=yield i.l(Ne.request,Ye);try{return{vectorTile:new i.bt.VectorTile(new i.bu(Ve.data)),rawData:Ve.data,cacheControl:Ve.cacheControl,expires:Ve.expires}}catch(Xe){let ht=new Uint8Array(Ve.data),Le=`Unable to parse the tile at ${Ne.request.url}, `;throw Le+=ht[0]===31&&ht[1]===139?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${Xe.message}`,new Error(Le)}})}loadTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=Ne.uid,Ve=!!(Ne&&Ne.request&&Ne.request.collectResourceTiming)&&new i.bv(Ne.request),Xe=new s(Ne);this.loading[Ye]=Xe;let ht=new AbortController;Xe.abort=ht;try{let Le=yield this.loadVectorTile(Ne,ht);if(delete this.loading[Ye],!Le)return null;let xe=Le.rawData,Se={};Le.expires&&(Se.expires=Le.expires),Le.cacheControl&&(Se.cacheControl=Le.cacheControl);let lt={};if(Ve){let Vt=Ve.finish();Vt&&(lt.resourceTiming=JSON.parse(JSON.stringify(Vt)))}Xe.vectorTile=Le.vectorTile;let Gt=Xe.parse(Le.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[Ye]=Xe,this.fetching[Ye]={rawTileData:xe,cacheControl:Se,resourceTiming:lt};try{let Vt=yield Gt;return i.e({rawTileData:xe.slice(0)},Vt,Se,lt)}finally{delete this.fetching[Ye]}}catch(Le){throw delete this.loading[Ye],Xe.status="done",this.loaded[Ye]=Xe,Le}})}reloadTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=Ne.uid;if(!this.loaded||!this.loaded[Ye])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");let Ve=this.loaded[Ye];if(Ve.showCollisionBoxes=Ne.showCollisionBoxes,Ve.status==="parsing"){let Xe=yield Ve.parse(Ve.vectorTile,this.layerIndex,this.availableImages,this.actor),ht;if(this.fetching[Ye]){let{rawTileData:Le,cacheControl:xe,resourceTiming:Se}=this.fetching[Ye];delete this.fetching[Ye],ht=i.e({rawTileData:Le.slice(0)},Xe,xe,Se)}else ht=Xe;return ht}if(Ve.status==="done"&&Ve.vectorTile)return Ve.parse(Ve.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=this.loading,Ve=Ne.uid;Ye&&Ye[Ve]&&Ye[Ve].abort&&(Ye[Ve].abort.abort(),delete Ye[Ve])})}removeTile(Ne){return i._(this,void 0,void 0,function*(){this.loaded&&this.loaded[Ne.uid]&&delete this.loaded[Ne.uid]})}}class c{constructor(){this.loaded={}}loadTile(Ne){return i._(this,void 0,void 0,function*(){let{uid:Ye,encoding:Ve,rawImageData:Xe,redFactor:ht,greenFactor:Le,blueFactor:xe,baseShift:Se}=Ne,lt=Xe.width+2,Gt=Xe.height+2,Vt=i.b(Xe)?new i.R({width:lt,height:Gt},yield i.bw(Xe,-1,-1,lt,Gt)):Xe,ar=new i.bx(Ye,Vt,Ve,ht,Le,xe,Se);return this.loaded=this.loaded||{},this.loaded[Ye]=ar,ar})}removeTile(Ne){let Ye=this.loaded,Ve=Ne.uid;Ye&&Ye[Ve]&&delete Ye[Ve]}}function f(ut,Ne){if(ut.length!==0){h(ut[0],Ne);for(var Ye=1;Ye=Math.abs(xe)?Ye-Se+xe:xe-Se+Ye,Ye=Se}Ye+Ve>=0!=!!Ne&&ut.reverse()}var v=i.by(function ut(Ne,Ye){var Ve,Xe=Ne&&Ne.type;if(Xe==="FeatureCollection")for(Ve=0;Ve>31}function q(ut,Ne){for(var Ye=ut.loadGeometry(),Ve=ut.type,Xe=0,ht=0,Le=Ye.length,xe=0;xeut},G=Math.fround||(N=new Float32Array(1),ut=>(N[0]=+ut,N[0]));var N;let W=3,re=5,ae=6;class _e{constructor(Ne){this.options=Object.assign(Object.create(X),Ne),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Ne){let{log:Ye,minZoom:Ve,maxZoom:Xe}=this.options;Ye&&console.time("total time");let ht=`prepare ${Ne.length} points`;Ye&&console.time(ht),this.points=Ne;let Le=[];for(let Se=0;Se=Ve;Se--){let lt=+Date.now();xe=this.trees[Se]=this._createTree(this._cluster(xe,Se)),Ye&&console.log("z%d: %d clusters in %dms",Se,xe.numItems,+Date.now()-lt)}return Ye&&console.timeEnd("total time"),this}getClusters(Ne,Ye){let Ve=((Ne[0]+180)%360+360)%360-180,Xe=Math.max(-90,Math.min(90,Ne[1])),ht=Ne[2]===180?180:((Ne[2]+180)%360+360)%360-180,Le=Math.max(-90,Math.min(90,Ne[3]));if(Ne[2]-Ne[0]>=360)Ve=-180,ht=180;else if(Ve>ht){let Vt=this.getClusters([Ve,Xe,180,Le],Ye),ar=this.getClusters([-180,Xe,ht,Le],Ye);return Vt.concat(ar)}let xe=this.trees[this._limitZoom(Ye)],Se=xe.range(ge(Ve),ie(Le),ge(ht),ie(Xe)),lt=xe.data,Gt=[];for(let Vt of Se){let ar=this.stride*Vt;Gt.push(lt[ar+re]>1?Me(lt,ar,this.clusterProps):this.points[lt[ar+W]])}return Gt}getChildren(Ne){let Ye=this._getOriginId(Ne),Ve=this._getOriginZoom(Ne),Xe="No cluster with the specified id.",ht=this.trees[Ve];if(!ht)throw new Error(Xe);let Le=ht.data;if(Ye*this.stride>=Le.length)throw new Error(Xe);let xe=this.options.radius/(this.options.extent*Math.pow(2,Ve-1)),Se=ht.within(Le[Ye*this.stride],Le[Ye*this.stride+1],xe),lt=[];for(let Gt of Se){let Vt=Gt*this.stride;Le[Vt+4]===Ne&<.push(Le[Vt+re]>1?Me(Le,Vt,this.clusterProps):this.points[Le[Vt+W]])}if(lt.length===0)throw new Error(Xe);return lt}getLeaves(Ne,Ye,Ve){let Xe=[];return this._appendLeaves(Xe,Ne,Ye=Ye||10,Ve=Ve||0,0),Xe}getTile(Ne,Ye,Ve){let Xe=this.trees[this._limitZoom(Ne)],ht=Math.pow(2,Ne),{extent:Le,radius:xe}=this.options,Se=xe/Le,lt=(Ve-Se)/ht,Gt=(Ve+1+Se)/ht,Vt={features:[]};return this._addTileFeatures(Xe.range((Ye-Se)/ht,lt,(Ye+1+Se)/ht,Gt),Xe.data,Ye,Ve,ht,Vt),Ye===0&&this._addTileFeatures(Xe.range(1-Se/ht,lt,1,Gt),Xe.data,ht,Ve,ht,Vt),Ye===ht-1&&this._addTileFeatures(Xe.range(0,lt,Se/ht,Gt),Xe.data,-1,Ve,ht,Vt),Vt.features.length?Vt:null}getClusterExpansionZoom(Ne){let Ye=this._getOriginZoom(Ne)-1;for(;Ye<=this.options.maxZoom;){let Ve=this.getChildren(Ne);if(Ye++,Ve.length!==1)break;Ne=Ve[0].properties.cluster_id}return Ye}_appendLeaves(Ne,Ye,Ve,Xe,ht){let Le=this.getChildren(Ye);for(let xe of Le){let Se=xe.properties;if(Se&&Se.cluster?ht+Se.point_count<=Xe?ht+=Se.point_count:ht=this._appendLeaves(Ne,Se.cluster_id,Ve,Xe,ht):ht1,Gt,Vt,ar;if(lt)Gt=ke(Ye,Se,this.clusterProps),Vt=Ye[Se],ar=Ye[Se+1];else{let jr=this.points[Ye[Se+W]];Gt=jr.properties;let[ri,bi]=jr.geometry.coordinates;Vt=ge(ri),ar=ie(bi)}let Qr={type:1,geometry:[[Math.round(this.options.extent*(Vt*ht-Ve)),Math.round(this.options.extent*(ar*ht-Xe))]],tags:Gt},ai;ai=lt||this.options.generateId?Ye[Se+W]:this.points[Ye[Se+W]].id,ai!==void 0&&(Qr.id=ai),Le.features.push(Qr)}}_limitZoom(Ne){return Math.max(this.options.minZoom,Math.min(Math.floor(+Ne),this.options.maxZoom+1))}_cluster(Ne,Ye){let{radius:Ve,extent:Xe,reduce:ht,minPoints:Le}=this.options,xe=Ve/(Xe*Math.pow(2,Ye)),Se=Ne.data,lt=[],Gt=this.stride;for(let Vt=0;VtYe&&(ri+=Se[nn+re])}if(ri>jr&&ri>=Le){let bi,nn=ar*jr,Wi=Qr*jr,Ni=-1,_n=((Vt/Gt|0)<<5)+(Ye+1)+this.points.length;for(let $i of ai){let zn=$i*Gt;if(Se[zn+2]<=Ye)continue;Se[zn+2]=Ye;let Wn=Se[zn+re];nn+=Se[zn]*Wn,Wi+=Se[zn+1]*Wn,Se[zn+4]=_n,ht&&(bi||(bi=this._map(Se,Vt,!0),Ni=this.clusterProps.length,this.clusterProps.push(bi)),ht(bi,this._map(Se,zn)))}Se[Vt+4]=_n,lt.push(nn/ri,Wi/ri,1/0,_n,-1,ri),ht&<.push(Ni)}else{for(let bi=0;bi1)for(let bi of ai){let nn=bi*Gt;if(!(Se[nn+2]<=Ye)){Se[nn+2]=Ye;for(let Wi=0;Wi>5}_getOriginZoom(Ne){return(Ne-this.points.length)%32}_map(Ne,Ye,Ve){if(Ne[Ye+re]>1){let Le=this.clusterProps[Ne[Ye+ae]];return Ve?Object.assign({},Le):Le}let Xe=this.points[Ne[Ye+W]].properties,ht=this.options.map(Xe);return Ve&&ht===Xe?Object.assign({},ht):ht}}function Me(ut,Ne,Ye){return{type:"Feature",id:ut[Ne+W],properties:ke(ut,Ne,Ye),geometry:{type:"Point",coordinates:[(Ve=ut[Ne],360*(Ve-.5)),Te(ut[Ne+1])]}};var Ve}function ke(ut,Ne,Ye){let Ve=ut[Ne+re],Xe=Ve>=1e4?`${Math.round(Ve/1e3)}k`:Ve>=1e3?Math.round(Ve/100)/10+"k":Ve,ht=ut[Ne+ae],Le=ht===-1?{}:Object.assign({},Ye[ht]);return Object.assign(Le,{cluster:!0,cluster_id:ut[Ne+W],point_count:Ve,point_count_abbreviated:Xe})}function ge(ut){return ut/360+.5}function ie(ut){let Ne=Math.sin(ut*Math.PI/180),Ye=.5-.25*Math.log((1+Ne)/(1-Ne))/Math.PI;return Ye<0?0:Ye>1?1:Ye}function Te(ut){let Ne=(180-360*ut)*Math.PI/180;return 360*Math.atan(Math.exp(Ne))/Math.PI-90}function Ee(ut,Ne,Ye,Ve){let Xe=Ve,ht=Ne+(Ye-Ne>>1),Le,xe=Ye-Ne,Se=ut[Ne],lt=ut[Ne+1],Gt=ut[Ye],Vt=ut[Ye+1];for(let ar=Ne+3;arXe)Le=ar,Xe=Qr;else if(Qr===Xe){let ai=Math.abs(ar-ht);aiVe&&(Le-Ne>3&&Ee(ut,Ne,Le,Ve),ut[Le+2]=Xe,Ye-Le>3&&Ee(ut,Le,Ye,Ve))}function Ae(ut,Ne,Ye,Ve,Xe,ht){let Le=Xe-Ye,xe=ht-Ve;if(Le!==0||xe!==0){let Se=((ut-Ye)*Le+(Ne-Ve)*xe)/(Le*Le+xe*xe);Se>1?(Ye=Xe,Ve=ht):Se>0&&(Ye+=Le*Se,Ve+=xe*Se)}return Le=ut-Ye,xe=Ne-Ve,Le*Le+xe*xe}function ze(ut,Ne,Ye,Ve){let Xe={id:ut==null?null:ut,type:Ne,geometry:Ye,tags:Ve,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Ne==="Point"||Ne==="MultiPoint"||Ne==="LineString")Ce(Xe,Ye);else if(Ne==="Polygon")Ce(Xe,Ye[0]);else if(Ne==="MultiLineString")for(let ht of Ye)Ce(Xe,ht);else if(Ne==="MultiPolygon")for(let ht of Ye)Ce(Xe,ht[0]);return Xe}function Ce(ut,Ne){for(let Ye=0;Ye0&&(Le+=Ve?(Xe*Gt-lt*ht)/2:Math.sqrt(Math.pow(lt-Xe,2)+Math.pow(Gt-ht,2))),Xe=lt,ht=Gt}let xe=Ne.length-3;Ne[2]=1,Ee(Ne,0,xe,Ye),Ne[xe+2]=1,Ne.size=Math.abs(Le),Ne.start=0,Ne.end=Ne.size}function Ge(ut,Ne,Ye,Ve){for(let Xe=0;Xe1?1:Ye}function qt(ut,Ne,Ye,Ve,Xe,ht,Le,xe){if(Ve/=Ne,ht>=(Ye/=Ne)&&Le=Ve)return null;let Se=[];for(let lt of ut){let Gt=lt.geometry,Vt=lt.type,ar=Xe===0?lt.minX:lt.minY,Qr=Xe===0?lt.maxX:lt.maxY;if(ar>=Ye&&Qr=Ve)continue;let ai=[];if(Vt==="Point"||Vt==="MultiPoint")rt(Gt,ai,Ye,Ve,Xe);else if(Vt==="LineString")ot(Gt,ai,Ye,Ve,Xe,!1,xe.lineMetrics);else if(Vt==="MultiLineString")kt(Gt,ai,Ye,Ve,Xe,!1);else if(Vt==="Polygon")kt(Gt,ai,Ye,Ve,Xe,!0);else if(Vt==="MultiPolygon")for(let jr of Gt){let ri=[];kt(jr,ri,Ye,Ve,Xe,!0),ri.length&&ai.push(ri)}if(ai.length){if(xe.lineMetrics&&Vt==="LineString"){for(let jr of ai)Se.push(ze(lt.id,Vt,jr,lt.tags));continue}Vt!=="LineString"&&Vt!=="MultiLineString"||(ai.length===1?(Vt="LineString",ai=ai[0]):Vt="MultiLineString"),Vt!=="Point"&&Vt!=="MultiPoint"||(Vt=ai.length===3?"Point":"MultiPoint"),Se.push(ze(lt.id,Vt,ai,lt.tags))}}return Se.length?Se:null}function rt(ut,Ne,Ye,Ve,Xe){for(let ht=0;ht=Ye&&Le<=Ve&&Ct(Ne,ut[ht],ut[ht+1],ut[ht+2])}}function ot(ut,Ne,Ye,Ve,Xe,ht,Le){let xe=It(ut),Se=Xe===0?Yt:mr,lt,Gt,Vt=ut.start;for(let ri=0;riYe&&(Gt=Se(xe,bi,nn,Ni,_n,Ye),Le&&(xe.start=Vt+lt*Gt)):$i>Ve?zn=Ye&&(Gt=Se(xe,bi,nn,Ni,_n,Ye),Wn=!0),zn>Ve&&$i<=Ve&&(Gt=Se(xe,bi,nn,Ni,_n,Ve),Wn=!0),!ht&&Wn&&(Le&&(xe.end=Vt+lt*Gt),Ne.push(xe),xe=It(ut)),Le&&(Vt+=lt)}let ar=ut.length-3,Qr=ut[ar],ai=ut[ar+1],jr=Xe===0?Qr:ai;jr>=Ye&&jr<=Ve&&Ct(xe,Qr,ai,ut[ar+2]),ar=xe.length-3,ht&&ar>=3&&(xe[ar]!==xe[0]||xe[ar+1]!==xe[1])&&Ct(xe,xe[0],xe[1],xe[2]),xe.length&&Ne.push(xe)}function It(ut){let Ne=[];return Ne.size=ut.size,Ne.start=ut.start,Ne.end=ut.end,Ne}function kt(ut,Ne,Ye,Ve,Xe,ht){for(let Le of ut)ot(Le,Ne,Ye,Ve,Xe,ht,!1)}function Ct(ut,Ne,Ye,Ve){ut.push(Ne,Ye,Ve)}function Yt(ut,Ne,Ye,Ve,Xe,ht){let Le=(ht-Ne)/(Ve-Ne);return Ct(ut,ht,Ye+(Xe-Ye)*Le,1),Le}function mr(ut,Ne,Ye,Ve,Xe,ht){let Le=(ht-Ye)/(Xe-Ye);return Ct(ut,Ne+(Ve-Ne)*Le,ht,1),Le}function er(ut,Ne){let Ye=[];for(let Ve=0;Ve0&&Ne.size<(Xe?Le:Ve))return void(Ye.numPoints+=Ne.length/3);let xe=[];for(let Se=0;SeLe)&&(Ye.numSimplified++,xe.push(Ne[Se],Ne[Se+1])),Ye.numPoints++;Xe&&function(Se,lt){let Gt=0;for(let Vt=0,ar=Se.length,Qr=ar-2;Vt0===lt)for(let Vt=0,ar=Se.length;Vt24)throw new Error("maxZoom should be in the 0-24 range");if(Ye.promoteId&&Ye.generateId)throw new Error("promoteId and generateId cannot be used together.");let Xe=function(ht,Le){let xe=[];if(ht.type==="FeatureCollection")for(let Se=0;Se1&&console.time("creation"),Qr=this.tiles[ar]=Lt(Ne,Ye,Ve,Xe,lt),this.tileCoords.push({z:Ye,x:Ve,y:Xe}),Gt)){Gt>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",Ye,Ve,Xe,Qr.numFeatures,Qr.numPoints,Qr.numSimplified),console.timeEnd("creation"));let Wn=`z${Ye}`;this.stats[Wn]=(this.stats[Wn]||0)+1,this.total++}if(Qr.source=Ne,ht==null){if(Ye===lt.indexMaxZoom||Qr.numPoints<=lt.indexMaxPoints)continue}else{if(Ye===lt.maxZoom||Ye===ht)continue;if(ht!=null){let Wn=ht-Ye;if(Ve!==Le>>Wn||Xe!==xe>>Wn)continue}}if(Qr.source=null,Ne.length===0)continue;Gt>1&&console.time("clipping");let ai=.5*lt.buffer/lt.extent,jr=.5-ai,ri=.5+ai,bi=1+ai,nn=null,Wi=null,Ni=null,_n=null,$i=qt(Ne,Vt,Ve-ai,Ve+ri,0,Qr.minX,Qr.maxX,lt),zn=qt(Ne,Vt,Ve+jr,Ve+bi,0,Qr.minX,Qr.maxX,lt);Ne=null,$i&&(nn=qt($i,Vt,Xe-ai,Xe+ri,1,Qr.minY,Qr.maxY,lt),Wi=qt($i,Vt,Xe+jr,Xe+bi,1,Qr.minY,Qr.maxY,lt),$i=null),zn&&(Ni=qt(zn,Vt,Xe-ai,Xe+ri,1,Qr.minY,Qr.maxY,lt),_n=qt(zn,Vt,Xe+jr,Xe+bi,1,Qr.minY,Qr.maxY,lt),zn=null),Gt>1&&console.timeEnd("clipping"),Se.push(nn||[],Ye+1,2*Ve,2*Xe),Se.push(Wi||[],Ye+1,2*Ve,2*Xe+1),Se.push(Ni||[],Ye+1,2*Ve+1,2*Xe),Se.push(_n||[],Ye+1,2*Ve+1,2*Xe+1)}}getTile(Ne,Ye,Ve){Ne=+Ne,Ye=+Ye,Ve=+Ve;let Xe=this.options,{extent:ht,debug:Le}=Xe;if(Ne<0||Ne>24)return null;let xe=1<1&&console.log("drilling down to z%d-%d-%d",Ne,Ye,Ve);let lt,Gt=Ne,Vt=Ye,ar=Ve;for(;!lt&&Gt>0;)Gt--,Vt>>=1,ar>>=1,lt=this.tiles[$t(Gt,Vt,ar)];return lt&<.source?(Le>1&&(console.log("found parent tile z%d-%d-%d",Gt,Vt,ar),console.time("drilling down")),this.splitTile(lt.source,Gt,Vt,ar,Ne,Ye,Ve),Le>1&&console.timeEnd("drilling down"),this.tiles[Se]?bt(this.tiles[Se],ht):null):null}}function $t(ut,Ne,Ye){return 32*((1<{Vt.properties=Qr;let ai={};for(let jr of ar)ai[jr]=Se[jr].evaluate(Gt,Vt);return ai},Le.reduce=(Qr,ai)=>{Vt.properties=ai;for(let jr of ar)Gt.accumulated=Qr[jr],Qr[jr]=lt[jr].evaluate(Gt,Vt)},Le}(Ne)).load((yield this._pendingData).features):(Xe=yield this._pendingData,new Ht(Xe,Ne.geojsonVtOptions)),this.loaded={};let ht={};if(Ve){let Le=Ve.finish();Le&&(ht.resourceTiming={},ht.resourceTiming[Ne.source]=JSON.parse(JSON.stringify(Le)))}return ht}catch(ht){if(delete this._pendingRequest,i.bB(ht))return{abandoned:!0};throw ht}var Xe})}getData(){return i._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(Ne){let Ye=this.loaded;return Ye&&Ye[Ne.uid]?super.reloadTile(Ne):this.loadTile(Ne)}loadAndProcessGeoJSON(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=yield this.loadGeoJSON(Ne,Ye);if(delete this._pendingRequest,typeof Ve!="object")throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(v(Ve,!0),Ne.filter){let Xe=i.bC(Ne.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if(Xe.result==="error")throw new Error(Xe.value.map(Le=>`${Le.key}: ${Le.message}`).join(", "));Ve={type:"FeatureCollection",features:Ve.features.filter(Le=>Xe.value.evaluate({zoom:0},Le))}}return Ve})}loadGeoJSON(Ne,Ye){return i._(this,void 0,void 0,function*(){let{promoteId:Ve}=Ne;if(Ne.request){let Xe=yield i.h(Ne.request,Ye);return this._dataUpdateable=xr(Xe.data,Ve)?Br(Xe.data,Ve):void 0,Xe.data}if(typeof Ne.data=="string")try{let Xe=JSON.parse(Ne.data);return this._dataUpdateable=xr(Xe,Ve)?Br(Xe,Ve):void 0,Xe}catch(Xe){throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`)}if(!Ne.dataDiff)throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${Ne.source}`);return function(Xe,ht,Le){var xe,Se,lt,Gt;if(ht.removeAll&&Xe.clear(),ht.remove)for(let Vt of ht.remove)Xe.delete(Vt);if(ht.add)for(let Vt of ht.add){let ar=fr(Vt,Le);ar!=null&&Xe.set(ar,Vt)}if(ht.update)for(let Vt of ht.update){let ar=Xe.get(Vt.id);if(ar==null)continue;let Qr=!Vt.removeAllProperties&&(((xe=Vt.removeProperties)===null||xe===void 0?void 0:xe.length)>0||((Se=Vt.addOrUpdateProperties)===null||Se===void 0?void 0:Se.length)>0);if((Vt.newGeometry||Vt.removeAllProperties||Qr)&&(ar=Object.assign({},ar),Xe.set(Vt.id,ar),Qr&&(ar.properties=Object.assign({},ar.properties))),Vt.newGeometry&&(ar.geometry=Vt.newGeometry),Vt.removeAllProperties)ar.properties={};else if(((lt=Vt.removeProperties)===null||lt===void 0?void 0:lt.length)>0)for(let ai of Vt.removeProperties)Object.prototype.hasOwnProperty.call(ar.properties,ai)&&delete ar.properties[ai];if(((Gt=Vt.addOrUpdateProperties)===null||Gt===void 0?void 0:Gt.length)>0)for(let{key:ai,value:jr}of Vt.addOrUpdateProperties)ar.properties[ai]=jr}}(this._dataUpdateable,Ne.dataDiff,Ve),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}})}removeSource(Ne){return i._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(Ne){return this._geoJSONIndex.getClusterExpansionZoom(Ne.clusterId)}getClusterChildren(Ne){return this._geoJSONIndex.getChildren(Ne.clusterId)}getClusterLeaves(Ne){return this._geoJSONIndex.getLeaves(Ne.clusterId,Ne.limit,Ne.offset)}}class Nr{constructor(Ne){this.self=Ne,this.actor=new i.F(Ne),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(Ye,Ve)=>{if(this.externalWorkerSourceTypes[Ye])throw new Error(`Worker source with name "${Ye}" already registered.`);this.externalWorkerSourceTypes[Ye]=Ve},this.self.addProtocol=i.bi,this.self.removeProtocol=i.bj,this.self.registerRTLTextPlugin=Ye=>{if(i.bD.isParsed())throw new Error("RTL text plugin already registered.");i.bD.setMethods(Ye)},this.actor.registerMessageHandler("LDT",(Ye,Ve)=>this._getDEMWorkerSource(Ye,Ve.source).loadTile(Ve)),this.actor.registerMessageHandler("RDT",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getDEMWorkerSource(Ye,Ve.source).removeTile(Ve)})),this.actor.registerMessageHandler("GCEZ",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterExpansionZoom(Ve)})),this.actor.registerMessageHandler("GCC",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterChildren(Ve)})),this.actor.registerMessageHandler("GCL",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterLeaves(Ve)})),this.actor.registerMessageHandler("LD",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).loadData(Ve)),this.actor.registerMessageHandler("GD",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).getData()),this.actor.registerMessageHandler("LT",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).loadTile(Ve)),this.actor.registerMessageHandler("RT",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).reloadTile(Ve)),this.actor.registerMessageHandler("AT",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).abortTile(Ve)),this.actor.registerMessageHandler("RMT",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).removeTile(Ve)),this.actor.registerMessageHandler("RS",(Ye,Ve)=>i._(this,void 0,void 0,function*(){if(!this.workerSources[Ye]||!this.workerSources[Ye][Ve.type]||!this.workerSources[Ye][Ve.type][Ve.source])return;let Xe=this.workerSources[Ye][Ve.type][Ve.source];delete this.workerSources[Ye][Ve.type][Ve.source],Xe.removeSource!==void 0&&Xe.removeSource(Ve)})),this.actor.registerMessageHandler("RM",Ye=>i._(this,void 0,void 0,function*(){delete this.layerIndexes[Ye],delete this.availableImages[Ye],delete this.workerSources[Ye],delete this.demWorkerSources[Ye]})),this.actor.registerMessageHandler("SR",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this.referrer=Ve})),this.actor.registerMessageHandler("SRPS",(Ye,Ve)=>this._syncRTLPluginState(Ye,Ve)),this.actor.registerMessageHandler("IS",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this.self.importScripts(Ve)})),this.actor.registerMessageHandler("SI",(Ye,Ve)=>this._setImages(Ye,Ve)),this.actor.registerMessageHandler("UL",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).update(Ve.layers,Ve.removedIds)})),this.actor.registerMessageHandler("SL",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).replace(Ve)}))}_setImages(Ne,Ye){return i._(this,void 0,void 0,function*(){this.availableImages[Ne]=Ye;for(let Ve in this.workerSources[Ne]){let Xe=this.workerSources[Ne][Ve];for(let ht in Xe)Xe[ht].availableImages=Ye}})}_syncRTLPluginState(Ne,Ye){return i._(this,void 0,void 0,function*(){if(i.bD.isParsed())return i.bD.getState();if(Ye.pluginStatus!=="loading")return i.bD.setState(Ye),Ye;let Ve=Ye.pluginURL;if(this.self.importScripts(Ve),i.bD.isParsed()){let Xe={pluginStatus:"loaded",pluginURL:Ve};return i.bD.setState(Xe),Xe}throw i.bD.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${Ve}`)})}_getAvailableImages(Ne){let Ye=this.availableImages[Ne];return Ye||(Ye=[]),Ye}_getLayerIndex(Ne){let Ye=this.layerIndexes[Ne];return Ye||(Ye=this.layerIndexes[Ne]=new a),Ye}_getWorkerSource(Ne,Ye,Ve){if(this.workerSources[Ne]||(this.workerSources[Ne]={}),this.workerSources[Ne][Ye]||(this.workerSources[Ne][Ye]={}),!this.workerSources[Ne][Ye][Ve]){let Xe={sendAsync:(ht,Le)=>(ht.targetMapId=Ne,this.actor.sendAsync(ht,Le))};switch(Ye){case"vector":this.workerSources[Ne][Ye][Ve]=new u(Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;case"geojson":this.workerSources[Ne][Ye][Ve]=new Or(Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;default:this.workerSources[Ne][Ye][Ve]=new this.externalWorkerSourceTypes[Ye](Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne))}}return this.workerSources[Ne][Ye][Ve]}_getDEMWorkerSource(Ne,Ye){return this.demWorkerSources[Ne]||(this.demWorkerSources[Ne]={}),this.demWorkerSources[Ne][Ye]||(this.demWorkerSources[Ne][Ye]=new c),this.demWorkerSources[Ne][Ye]}}return i.i(self)&&(self.worker=new Nr(self)),Nr}),r("index",["exports","./shared"],function(i,a){"use strict";var o="4.7.1";let s,l,u={now:typeof performance!="undefined"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:le=>new Promise((w,B)=>{let Q=requestAnimationFrame(w);le.signal.addEventListener("abort",()=>{cancelAnimationFrame(Q),B(a.c())})}),getImageData(le,w=0){return this.getImageCanvasContext(le).getImageData(-w,-w,le.width+2*w,le.height+2*w)},getImageCanvasContext(le){let w=window.document.createElement("canvas"),B=w.getContext("2d",{willReadFrequently:!0});if(!B)throw new Error("failed to create canvas 2d context");return w.width=le.width,w.height=le.height,B.drawImage(le,0,0,le.width,le.height),B},resolveURL:le=>(s||(s=document.createElement("a")),s.href=le,s.href),hardwareConcurrency:typeof navigator!="undefined"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(l==null&&(l=matchMedia("(prefers-reduced-motion: reduce)")),l.matches)}};class c{static testProp(w){if(!c.docStyle)return w[0];for(let B=0;B{window.removeEventListener("click",c.suppressClickInternal,!0)},0)}static getScale(w){let B=w.getBoundingClientRect();return{x:B.width/w.offsetWidth||1,y:B.height/w.offsetHeight||1,boundingClientRect:B}}static getPoint(w,B,Q){let ee=B.boundingClientRect;return new a.P((Q.clientX-ee.left)/B.x-w.clientLeft,(Q.clientY-ee.top)/B.y-w.clientTop)}static mousePos(w,B){let Q=c.getScale(w);return c.getPoint(w,Q,B)}static touchPos(w,B){let Q=[],ee=c.getScale(w);for(let se=0;se{h&&b(h),h=null,_=!0},v.onerror=()=>{d=!0,h=null},v.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(le){let w,B,Q,ee;le.resetRequestQueue=()=>{w=[],B=0,Q=0,ee={}},le.addThrottleControl=it=>{let yt=Q++;return ee[yt]=it,yt},le.removeThrottleControl=it=>{delete ee[it],qe()},le.getImage=(it,yt,Ot=!0)=>new Promise((Nt,hr)=>{f.supported&&(it.headers||(it.headers={}),it.headers.accept="image/webp,*/*"),a.e(it,{type:"image"}),w.push({abortController:yt,requestParameters:it,supportImageRefresh:Ot,state:"queued",onError:Mr=>{hr(Mr)},onSuccess:Mr=>{Nt(Mr)}}),qe()});let se=it=>a._(this,void 0,void 0,function*(){it.state="running";let{requestParameters:yt,supportImageRefresh:Ot,onError:Nt,onSuccess:hr,abortController:Mr}=it,he=Ot===!1&&!a.i(self)&&!a.g(yt.url)&&(!yt.headers||Object.keys(yt.headers).reduce((Oe,Je)=>Oe&&Je==="accept",!0));B++;let be=he?je(yt,Mr):a.m(yt,Mr);try{let Oe=yield be;delete it.abortController,it.state="completed",Oe.data instanceof HTMLImageElement||a.b(Oe.data)?hr(Oe):Oe.data&&hr({data:yield(Pe=Oe.data,typeof createImageBitmap=="function"?a.d(Pe):a.f(Pe)),cacheControl:Oe.cacheControl,expires:Oe.expires})}catch(Oe){delete it.abortController,Nt(Oe)}finally{B--,qe()}var Pe}),qe=()=>{let it=(()=>{for(let yt of Object.keys(ee))if(ee[yt]())return!0;return!1})()?a.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:a.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let yt=B;yt0;yt++){let Ot=w.shift();Ot.abortController.signal.aborted?yt--:se(Ot)}},je=(it,yt)=>new Promise((Ot,Nt)=>{let hr=new Image,Mr=it.url,he=it.credentials;he&&he==="include"?hr.crossOrigin="use-credentials":(he&&he==="same-origin"||!a.s(Mr))&&(hr.crossOrigin="anonymous"),yt.signal.addEventListener("abort",()=>{hr.src="",Nt(a.c())}),hr.fetchPriority="high",hr.onload=()=>{hr.onerror=hr.onload=null,Ot({data:hr})},hr.onerror=()=>{hr.onerror=hr.onload=null,yt.signal.aborted||Nt(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))},hr.src=Mr})}(p||(p={})),p.resetRequestQueue();class E{constructor(w){this._transformRequestFn=w}transformRequest(w,B){return this._transformRequestFn&&this._transformRequestFn(w,B)||{url:w}}setTransformRequest(w){this._transformRequestFn=w}}function k(le){var w=new a.A(3);return w[0]=le[0],w[1]=le[1],w[2]=le[2],w}var S,L=function(le,w,B){return le[0]=w[0]-B[0],le[1]=w[1]-B[1],le[2]=w[2]-B[2],le};S=new a.A(3),a.A!=Float32Array&&(S[0]=0,S[1]=0,S[2]=0);var x=function(le){var w=le[0],B=le[1];return w*w+B*B};function C(le){let w=[];if(typeof le=="string")w.push({id:"default",url:le});else if(le&&le.length>0){let B=[];for(let{id:Q,url:ee}of le){let se=`${Q}${ee}`;B.indexOf(se)===-1&&(B.push(se),w.push({id:Q,url:ee}))}}return w}function M(le,w,B){let Q=le.split("?");return Q[0]+=`${w}${B}`,Q.join("?")}(function(){var le=new a.A(2);a.A!=Float32Array&&(le[0]=0,le[1]=0)})();class g{constructor(w,B,Q,ee){this.context=w,this.format=Q,this.texture=w.gl.createTexture(),this.update(B,ee)}update(w,B,Q){let{width:ee,height:se}=w,qe=!(this.size&&this.size[0]===ee&&this.size[1]===se||Q),{context:je}=this,{gl:it}=je;if(this.useMipmap=!!(B&&B.useMipmap),it.bindTexture(it.TEXTURE_2D,this.texture),je.pixelStoreUnpackFlipY.set(!1),je.pixelStoreUnpack.set(1),je.pixelStoreUnpackPremultiplyAlpha.set(this.format===it.RGBA&&(!B||B.premultiply!==!1)),qe)this.size=[ee,se],w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?it.texImage2D(it.TEXTURE_2D,0,this.format,this.format,it.UNSIGNED_BYTE,w):it.texImage2D(it.TEXTURE_2D,0,this.format,ee,se,0,this.format,it.UNSIGNED_BYTE,w.data);else{let{x:yt,y:Ot}=Q||{x:0,y:0};w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?it.texSubImage2D(it.TEXTURE_2D,0,yt,Ot,it.RGBA,it.UNSIGNED_BYTE,w):it.texSubImage2D(it.TEXTURE_2D,0,yt,Ot,ee,se,it.RGBA,it.UNSIGNED_BYTE,w.data)}this.useMipmap&&this.isSizePowerOfTwo()&&it.generateMipmap(it.TEXTURE_2D)}bind(w,B,Q){let{context:ee}=this,{gl:se}=ee;se.bindTexture(se.TEXTURE_2D,this.texture),Q!==se.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(Q=se.LINEAR),w!==this.filter&&(se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MAG_FILTER,w),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MIN_FILTER,Q||w),this.filter=w),B!==this.wrap&&(se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_S,B),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_T,B),this.wrap=B)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:w}=this.context;w.deleteTexture(this.texture),this.texture=null}}function P(le){let{userImage:w}=le;return!!(w&&w.render&&w.render())&&(le.data.replace(new Uint8Array(w.data.buffer)),!0)}class T extends a.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new a.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(w){if(this.loaded!==w&&(this.loaded=w,w)){for(let{ids:B,promiseResolve:Q}of this.requestors)Q(this._getImagesForIds(B));this.requestors=[]}}getImage(w){let B=this.images[w];if(B&&!B.data&&B.spriteData){let Q=B.spriteData;B.data=new a.R({width:Q.width,height:Q.height},Q.context.getImageData(Q.x,Q.y,Q.width,Q.height).data),B.spriteData=null}return B}addImage(w,B){if(this.images[w])throw new Error(`Image id ${w} already exist, use updateImage instead`);this._validate(w,B)&&(this.images[w]=B)}_validate(w,B){let Q=!0,ee=B.data||B.spriteData;return this._validateStretch(B.stretchX,ee&&ee.width)||(this.fire(new a.j(new Error(`Image "${w}" has invalid "stretchX" value`))),Q=!1),this._validateStretch(B.stretchY,ee&&ee.height)||(this.fire(new a.j(new Error(`Image "${w}" has invalid "stretchY" value`))),Q=!1),this._validateContent(B.content,B)||(this.fire(new a.j(new Error(`Image "${w}" has invalid "content" value`))),Q=!1),Q}_validateStretch(w,B){if(!w)return!0;let Q=0;for(let ee of w){if(ee[0]{let ee=!0;if(!this.isLoaded())for(let se of w)this.images[se]||(ee=!1);this.isLoaded()||ee?B(this._getImagesForIds(w)):this.requestors.push({ids:w,promiseResolve:B})})}_getImagesForIds(w){let B={};for(let Q of w){let ee=this.getImage(Q);ee||(this.fire(new a.k("styleimagemissing",{id:Q})),ee=this.getImage(Q)),ee?B[Q]={data:ee.data.clone(),pixelRatio:ee.pixelRatio,sdf:ee.sdf,version:ee.version,stretchX:ee.stretchX,stretchY:ee.stretchY,content:ee.content,textFitWidth:ee.textFitWidth,textFitHeight:ee.textFitHeight,hasRenderCallback:!!(ee.userImage&&ee.userImage.render)}:a.w(`Image "${Q}" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.`)}return B}getPixelSize(){let{width:w,height:B}=this.atlasImage;return{width:w,height:B}}getPattern(w){let B=this.patterns[w],Q=this.getImage(w);if(!Q)return null;if(B&&B.position.version===Q.version)return B.position;if(B)B.position.version=Q.version;else{let ee={w:Q.data.width+2,h:Q.data.height+2,x:0,y:0},se=new a.I(ee,Q);this.patterns[w]={bin:ee,position:se}}return this._updatePatternAtlas(),this.patterns[w].position}bind(w){let B=w.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new g(w,this.atlasImage,B.RGBA),this.atlasTexture.bind(B.LINEAR,B.CLAMP_TO_EDGE)}_updatePatternAtlas(){let w=[];for(let se in this.patterns)w.push(this.patterns[se].bin);let{w:B,h:Q}=a.p(w),ee=this.atlasImage;ee.resize({width:B||1,height:Q||1});for(let se in this.patterns){let{bin:qe}=this.patterns[se],je=qe.x+1,it=qe.y+1,yt=this.getImage(se).data,Ot=yt.width,Nt=yt.height;a.R.copy(yt,ee,{x:0,y:0},{x:je,y:it},{width:Ot,height:Nt}),a.R.copy(yt,ee,{x:0,y:Nt-1},{x:je,y:it-1},{width:Ot,height:1}),a.R.copy(yt,ee,{x:0,y:0},{x:je,y:it+Nt},{width:Ot,height:1}),a.R.copy(yt,ee,{x:Ot-1,y:0},{x:je-1,y:it},{width:1,height:Nt}),a.R.copy(yt,ee,{x:0,y:0},{x:je+Ot,y:it},{width:1,height:Nt})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(w){for(let B of w){if(this.callbackDispatchedThisFrame[B])continue;this.callbackDispatchedThisFrame[B]=!0;let Q=this.getImage(B);Q||a.w(`Image with ID: "${B}" was not found`),P(Q)&&this.updateImage(B,Q)}}}let F=1e20;function q(le,w,B,Q,ee,se,qe,je,it){for(let yt=w;yt-1);it++,se[it]=je,qe[it]=yt,qe[it+1]=F}for(let je=0,it=0;je65535)throw new Error("glyphs > 65535 not supported");if(Q.ranges[se])return{stack:w,id:B,glyph:ee};if(!this.url)throw new Error("glyphsUrl is not set");if(!Q.requests[se]){let je=H.loadGlyphRange(w,se,this.url,this.requestManager);Q.requests[se]=je}let qe=yield Q.requests[se];for(let je in qe)this._doesCharSupportLocalGlyph(+je)||(Q.glyphs[+je]=qe[+je]);return Q.ranges[se]=!0,{stack:w,id:B,glyph:qe[B]||null}})}_doesCharSupportLocalGlyph(w){return!!this.localIdeographFontFamily&&new RegExp("\\p{Ideo}|\\p{sc=Hang}|\\p{sc=Hira}|\\p{sc=Kana}","u").test(String.fromCodePoint(w))}_tinySDF(w,B,Q){let ee=this.localIdeographFontFamily;if(!ee||!this._doesCharSupportLocalGlyph(Q))return;let se=w.tinySDF;if(!se){let je="400";/bold/i.test(B)?je="900":/medium/i.test(B)?je="500":/light/i.test(B)&&(je="200"),se=w.tinySDF=new H.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:ee,fontWeight:je})}let qe=se.draw(String.fromCharCode(Q));return{id:Q,bitmap:new a.o({width:qe.width||60,height:qe.height||60},qe.data),metrics:{width:qe.glyphWidth/2||24,height:qe.glyphHeight/2||24,left:qe.glyphLeft/2+.5||0,top:qe.glyphTop/2-27.5||-8,advance:qe.glyphAdvance/2||24,isDoubleResolution:!0}}}}H.loadGlyphRange=function(le,w,B,Q){return a._(this,void 0,void 0,function*(){let ee=256*w,se=ee+255,qe=Q.transformRequest(B.replace("{fontstack}",le).replace("{range}",`${ee}-${se}`),"Glyphs"),je=yield a.l(qe,new AbortController);if(!je||!je.data)throw new Error(`Could not load glyph range. range: ${w}, ${ee}-${se}`);let it={};for(let yt of a.n(je.data))it[yt.id]=yt;return it})},H.TinySDF=class{constructor({fontSize:le=24,buffer:w=3,radius:B=8,cutoff:Q=.25,fontFamily:ee="sans-serif",fontWeight:se="normal",fontStyle:qe="normal"}={}){this.buffer=w,this.cutoff=Q,this.radius=B;let je=this.size=le+4*w,it=this._createCanvas(je),yt=this.ctx=it.getContext("2d",{willReadFrequently:!0});yt.font=`${qe} ${se} ${le}px ${ee}`,yt.textBaseline="alphabetic",yt.textAlign="left",yt.fillStyle="black",this.gridOuter=new Float64Array(je*je),this.gridInner=new Float64Array(je*je),this.f=new Float64Array(je),this.z=new Float64Array(je+1),this.v=new Uint16Array(je)}_createCanvas(le){let w=document.createElement("canvas");return w.width=w.height=le,w}draw(le){let{width:w,actualBoundingBoxAscent:B,actualBoundingBoxDescent:Q,actualBoundingBoxLeft:ee,actualBoundingBoxRight:se}=this.ctx.measureText(le),qe=Math.ceil(B),je=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(se-ee))),it=Math.min(this.size-this.buffer,qe+Math.ceil(Q)),yt=je+2*this.buffer,Ot=it+2*this.buffer,Nt=Math.max(yt*Ot,0),hr=new Uint8ClampedArray(Nt),Mr={data:hr,width:yt,height:Ot,glyphWidth:je,glyphHeight:it,glyphTop:qe,glyphLeft:0,glyphAdvance:w};if(je===0||it===0)return Mr;let{ctx:he,buffer:be,gridInner:Pe,gridOuter:Oe}=this;he.clearRect(be,be,je,it),he.fillText(le,be,be+qe);let Je=he.getImageData(be,be,je,it);Oe.fill(F,0,Nt),Pe.fill(0,0,Nt);for(let He=0;He0?Ut*Ut:0,Pe[Rt]=Ut<0?Ut*Ut:0}}q(Oe,0,0,yt,Ot,yt,this.f,this.v,this.z),q(Pe,be,be,je,it,yt,this.f,this.v,this.z);for(let He=0;He1&&(it=w[++je]);let Ot=Math.abs(yt-it.left),Nt=Math.abs(yt-it.right),hr=Math.min(Ot,Nt),Mr,he=se/Q*(ee+1);if(it.isDash){let be=ee-Math.abs(he);Mr=Math.sqrt(hr*hr+be*be)}else Mr=ee-Math.sqrt(hr*hr+he*he);this.data[qe+yt]=Math.max(0,Math.min(255,Mr+128))}}}addRegularDash(w){for(let je=w.length-1;je>=0;--je){let it=w[je],yt=w[je+1];it.zeroLength?w.splice(je,1):yt&&yt.isDash===it.isDash&&(yt.left=it.left,w.splice(je,1))}let B=w[0],Q=w[w.length-1];B.isDash===Q.isDash&&(B.left=Q.left-this.width,Q.right=B.right+this.width);let ee=this.width*this.nextRow,se=0,qe=w[se];for(let je=0;je1&&(qe=w[++se]);let it=Math.abs(je-qe.left),yt=Math.abs(je-qe.right),Ot=Math.min(it,yt);this.data[ee+je]=Math.max(0,Math.min(255,(qe.isDash?Ot:-Ot)+128))}}addDash(w,B){let Q=B?7:0,ee=2*Q+1;if(this.nextRow+ee>this.height)return a.w("LineAtlas out of space"),null;let se=0;for(let je=0;je{B.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[_e]}numActive(){return Object.keys(this.active).length}}let ke=Math.floor(u.hardwareConcurrency/2),ge,ie;function Te(){return ge||(ge=new Me),ge}Me.workerCount=a.C(globalThis)?Math.max(Math.min(ke,3),1):1;class Ee{constructor(w,B){this.workerPool=w,this.actors=[],this.currentActor=0,this.id=B;let Q=this.workerPool.acquire(B);for(let ee=0;ee{B.remove()}),this.actors=[],w&&this.workerPool.release(this.id)}registerMessageHandler(w,B){for(let Q of this.actors)Q.registerMessageHandler(w,B)}}function Ae(){return ie||(ie=new Ee(Te(),a.G),ie.registerMessageHandler("GR",(le,w,B)=>a.m(w,B))),ie}function ze(le,w){let B=a.H();return a.J(B,B,[1,1,0]),a.K(B,B,[.5*le.width,.5*le.height,1]),a.L(B,B,le.calculatePosMatrix(w.toUnwrapped()))}function Ce(le,w,B,Q,ee,se){let qe=function(Nt,hr,Mr){if(Nt)for(let he of Nt){let be=hr[he];if(be&&be.source===Mr&&be.type==="fill-extrusion")return!0}else for(let he in hr){let be=hr[he];if(be.source===Mr&&be.type==="fill-extrusion")return!0}return!1}(ee&&ee.layers,w,le.id),je=se.maxPitchScaleFactor(),it=le.tilesIn(Q,je,qe);it.sort(me);let yt=[];for(let Nt of it)yt.push({wrappedTileID:Nt.tileID.wrapped().key,queryResults:Nt.tile.queryRenderedFeatures(w,B,le._state,Nt.queryGeometry,Nt.cameraQueryGeometry,Nt.scale,ee,se,je,ze(le.transform,Nt.tileID))});let Ot=function(Nt){let hr={},Mr={};for(let he of Nt){let be=he.queryResults,Pe=he.wrappedTileID,Oe=Mr[Pe]=Mr[Pe]||{};for(let Je in be){let He=be[Je],et=Oe[Je]=Oe[Je]||{},Mt=hr[Je]=hr[Je]||[];for(let Rt of He)et[Rt.featureIndex]||(et[Rt.featureIndex]=!0,Mt.push(Rt))}}return hr}(yt);for(let Nt in Ot)Ot[Nt].forEach(hr=>{let Mr=hr.feature,he=le.getFeatureState(Mr.layer["source-layer"],Mr.id);Mr.source=Mr.layer.source,Mr.layer["source-layer"]&&(Mr.sourceLayer=Mr.layer["source-layer"]),Mr.state=he});return Ot}function me(le,w){let B=le.tileID,Q=w.tileID;return B.overscaledZ-Q.overscaledZ||B.canonical.y-Q.canonical.y||B.wrap-Q.wrap||B.canonical.x-Q.canonical.x}function De(le,w,B){return a._(this,void 0,void 0,function*(){let Q=le;if(le.url?Q=(yield a.h(w.transformRequest(le.url,"Source"),B)).data:yield u.frameAsync(B),!Q)return null;let ee=a.M(a.e(Q,le),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in Q&&Q.vector_layers&&(ee.vectorLayerIds=Q.vector_layers.map(se=>se.id)),ee})}class ce{constructor(w,B){w&&(B?this.setSouthWest(w).setNorthEast(B):Array.isArray(w)&&(w.length===4?this.setSouthWest([w[0],w[1]]).setNorthEast([w[2],w[3]]):this.setSouthWest(w[0]).setNorthEast(w[1])))}setNorthEast(w){return this._ne=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}setSouthWest(w){return this._sw=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}extend(w){let B=this._sw,Q=this._ne,ee,se;if(w instanceof a.N)ee=w,se=w;else{if(!(w instanceof ce))return Array.isArray(w)?w.length===4||w.every(Array.isArray)?this.extend(ce.convert(w)):this.extend(a.N.convert(w)):w&&("lng"in w||"lon"in w)&&"lat"in w?this.extend(a.N.convert(w)):this;if(ee=w._sw,se=w._ne,!ee||!se)return this}return B||Q?(B.lng=Math.min(ee.lng,B.lng),B.lat=Math.min(ee.lat,B.lat),Q.lng=Math.max(se.lng,Q.lng),Q.lat=Math.max(se.lat,Q.lat)):(this._sw=new a.N(ee.lng,ee.lat),this._ne=new a.N(se.lng,se.lat)),this}getCenter(){return new a.N((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new a.N(this.getWest(),this.getNorth())}getSouthEast(){return new a.N(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(w){let{lng:B,lat:Q}=a.N.convert(w),ee=this._sw.lng<=B&&B<=this._ne.lng;return this._sw.lng>this._ne.lng&&(ee=this._sw.lng>=B&&B>=this._ne.lng),this._sw.lat<=Q&&Q<=this._ne.lat&&ee}static convert(w){return w instanceof ce?w:w&&new ce(w)}static fromLngLat(w,B=0){let Q=360*B/40075017,ee=Q/Math.cos(Math.PI/180*w.lat);return new ce(new a.N(w.lng-ee,w.lat-Q),new a.N(w.lng+ee,w.lat+Q))}adjustAntiMeridian(){let w=new a.N(this._sw.lng,this._sw.lat),B=new a.N(this._ne.lng,this._ne.lat);return new ce(w,w.lng>B.lng?new a.N(B.lng+360,B.lat):B)}}class Ge{constructor(w,B,Q){this.bounds=ce.convert(this.validateBounds(w)),this.minzoom=B||0,this.maxzoom=Q||24}validateBounds(w){return Array.isArray(w)&&w.length===4?[Math.max(-180,w[0]),Math.max(-90,w[1]),Math.min(180,w[2]),Math.min(90,w[3])]:[-180,-90,180,90]}contains(w){let B=Math.pow(2,w.z),Q=Math.floor(a.O(this.bounds.getWest())*B),ee=Math.floor(a.Q(this.bounds.getNorth())*B),se=Math.ceil(a.O(this.bounds.getEast())*B),qe=Math.ceil(a.Q(this.bounds.getSouth())*B);return w.x>=Q&&w.x=ee&&w.y{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return a.e({},this._options)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q={request:this.map._requestManager.transformRequest(B,"Tile"),uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,tileSize:this.tileSize*w.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};Q.request.collectResourceTiming=this._collectResourceTiming;let ee="RT";if(w.actor&&w.state!=="expired"){if(w.state==="loading")return new Promise((se,qe)=>{w.reloadPromise={resolve:se,reject:qe}})}else w.actor=this.dispatcher.getActor(),ee="LT";w.abortController=new AbortController;try{let se=yield w.actor.sendAsync({type:ee,data:Q},w.abortController);if(delete w.abortController,w.aborted)return;this._afterTileLoadWorkerResponse(w,se)}catch(se){if(delete w.abortController,w.aborted)return;if(se&&se.status!==404)throw se;this._afterTileLoadWorkerResponse(w,null)}})}_afterTileLoadWorkerResponse(w,B){if(B&&B.resourceTiming&&(w.resourceTiming=B.resourceTiming),B&&this.map._refreshExpiredTiles&&w.setExpiryData(B),w.loadVectorData(B,this.map.painter),w.reloadPromise){let Q=w.reloadPromise;w.reloadPromise=null,this.loadTile(w).then(Q.resolve).catch(Q.reject)}}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.actor&&(yield w.actor.sendAsync({type:"AT",data:{uid:w.uid,type:this.type,source:this.id}}))})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),w.actor&&(yield w.actor.sendAsync({type:"RMT",data:{uid:w.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class ct extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.setEventedParent(ee),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=a.e({type:"raster"},B),a.e(this,a.M(B,["url","scheme","tileSize"]))}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{let w=yield De(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,w&&(a.e(this,w),w.bounds&&(this.tileBounds=new Ge(w.bounds,this.minzoom,this.maxzoom)),this.fire(new a.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new a.k("data",{dataType:"source",sourceDataType:"content"})))}catch(w){this._tileJSONRequest=null,this.fire(new a.j(w))}})}loaded(){return this._loaded}onAdd(w){this.map=w,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(w){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),w(),this.load()}setTiles(w){return this.setSourceProperty(()=>{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}serialize(){return a.e({},this._options)}hasTile(w){return!this.tileBounds||this.tileBounds.contains(w.canonical)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);w.abortController=new AbortController;try{let Q=yield p.getImage(this.map._requestManager.transformRequest(B,"Tile"),w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state="unloaded");if(Q&&Q.data){this.map._refreshExpiredTiles&&Q.cacheControl&&Q.expires&&w.setExpiryData({cacheControl:Q.cacheControl,expires:Q.expires});let ee=this.map.painter.context,se=ee.gl,qe=Q.data;w.texture=this.map.painter.getTileTexture(qe.width),w.texture?w.texture.update(qe,{useMipmap:!0}):(w.texture=new g(ee,qe,se.RGBA,{useMipmap:!0}),w.texture.bind(se.LINEAR,se.CLAMP_TO_EDGE,se.LINEAR_MIPMAP_NEAREST)),w.state="loaded"}}catch(Q){if(delete w.abortController,w.aborted)w.state="unloaded";else if(Q)throw w.state="errored",Q}})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController)})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.texture&&this.map.painter.saveTileTexture(w.texture)})}hasTransition(){return!1}}class qt extends ct{constructor(w,B,Q,ee){super(w,B,Q,ee),this.type="raster-dem",this.maxzoom=22,this._options=a.e({type:"raster-dem"},B),this.encoding=B.encoding||"mapbox",this.redFactor=B.redFactor,this.greenFactor=B.greenFactor,this.blueFactor=B.blueFactor,this.baseShift=B.baseShift}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q=this.map._requestManager.transformRequest(B,"Tile");w.neighboringTiles=this._getNeighboringTiles(w.tileID),w.abortController=new AbortController;try{let ee=yield p.getImage(Q,w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state="unloaded");if(ee&&ee.data){let se=ee.data;this.map._refreshExpiredTiles&&ee.cacheControl&&ee.expires&&w.setExpiryData({cacheControl:ee.cacheControl,expires:ee.expires});let qe=a.b(se)&&a.U()?se:yield this.readImageNow(se),je={type:this.type,uid:w.uid,source:this.id,rawImageData:qe,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!w.actor||w.state==="expired"){w.actor=this.dispatcher.getActor();let it=yield w.actor.sendAsync({type:"LDT",data:je});w.dem=it,w.needsHillshadePrepare=!0,w.needsTerrainPrepare=!0,w.state="loaded"}}}catch(ee){if(delete w.abortController,w.aborted)w.state="unloaded";else if(ee)throw w.state="errored",ee}})}readImageNow(w){return a._(this,void 0,void 0,function*(){if(typeof VideoFrame!="undefined"&&a.V()){let B=w.width+2,Q=w.height+2;try{return new a.R({width:B,height:Q},yield a.W(w,-1,-1,B,Q))}catch(ee){}}return u.getImageData(w,1)})}_getNeighboringTiles(w){let B=w.canonical,Q=Math.pow(2,B.z),ee=(B.x-1+Q)%Q,se=B.x===0?w.wrap-1:w.wrap,qe=(B.x+1+Q)%Q,je=B.x+1===Q?w.wrap+1:w.wrap,it={};return it[new a.S(w.overscaledZ,se,B.z,ee,B.y).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y).key]={backfilled:!1},B.y>0&&(it[new a.S(w.overscaledZ,se,B.z,ee,B.y-1).key]={backfilled:!1},it[new a.S(w.overscaledZ,w.wrap,B.z,B.x,B.y-1).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y-1).key]={backfilled:!1}),B.y+10&&a.e(se,{resourceTiming:ee}),this.fire(new a.k("data",Object.assign(Object.assign({},se),{sourceDataType:"metadata"}))),this.fire(new a.k("data",Object.assign(Object.assign({},se),{sourceDataType:"content"})))}catch(Q){if(this._pendingLoads--,this._removed)return void this.fire(new a.k("dataabort",{dataType:"source"}));this.fire(new a.j(Q))}})}loaded(){return this._pendingLoads===0}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.actor?"RT":"LT";w.actor=this.actor;let Q={type:this.type,uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};w.abortController=new AbortController;let ee=yield this.actor.sendAsync({type:B,data:Q},w.abortController);delete w.abortController,w.unloadVectorData(),w.aborted||w.loadVectorData(ee,this.map.painter,B==="RT")})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.aborted=!0})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:w.uid,type:this.type,source:this.id}})})}onRemove(){this._removed=!0,this.actor.sendAsync({type:"RS",data:{type:this.type,source:this.id}})}serialize(){return a.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var ot=a.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class It extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.coordinates=B.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(ee),this.options=B}load(w){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{let B=yield p.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,B&&B.data&&(this.image=B.data,w&&(this.coordinates=w),this._finishLoading())}catch(B){this._request=null,this._loaded=!0,this.fire(new a.j(B))}})}loaded(){return this._loaded}updateImage(w){return w.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=w.url,this.load(w.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new a.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(w){this.map=w,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(w){this.coordinates=w;let B=w.map(a.Z.fromLngLat);this.tileID=function(ee){let se=1/0,qe=1/0,je=-1/0,it=-1/0;for(let hr of ee)se=Math.min(se,hr.x),qe=Math.min(qe,hr.y),je=Math.max(je,hr.x),it=Math.max(it,hr.y);let yt=Math.max(je-se,it-qe),Ot=Math.max(0,Math.floor(-Math.log(yt)/Math.LN2)),Nt=Math.pow(2,Ot);return new a.a1(Ot,Math.floor((se+je)/2*Nt),Math.floor((qe+it)/2*Nt))}(B),this.minzoom=this.maxzoom=this.tileID.z;let Q=B.map(ee=>this.tileID.getTilePoint(ee)._round());return this._boundsArray=new a.$,this._boundsArray.emplaceBack(Q[0].x,Q[0].y,0,0),this._boundsArray.emplaceBack(Q[1].x,Q[1].y,a.X,0),this._boundsArray.emplaceBack(Q[3].x,Q[3].y,0,a.X),this._boundsArray.emplaceBack(Q[2].x,Q[2].y,a.X,a.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new a.k("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new g(w,this.image,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let se=this.tiles[ee];se.state!=="loaded"&&(se.state="loaded",se.texture=this.texture,Q=!0)}Q&&this.fire(new a.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(w){return a._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(w.tileID.canonical)?(this.tiles[String(w.tileID.wrap)]=w,w.buckets={}):w.state="errored"})}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class kt extends It{constructor(w,B,Q,ee){super(w,B,Q,ee),this.roundZoom=!0,this.type="video",this.options=B}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1;let w=this.options;this.urls=[];for(let B of w.urls)this.urls.push(this.map._requestManager.transformRequest(B,"Source").url);try{let B=yield a.a3(this.urls);if(this._loaded=!0,!B)return;this.video=B,this.video.loop=!0,this.video.addEventListener("playing",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(B){this.fire(new a.j(B))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(w){if(this.video){let B=this.video.seekable;wB.end(0)?this.fire(new a.j(new a.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${B.start(0)} and ${B.end(0)}-second mark.`))):this.video.currentTime=w}}getVideo(){return this.video}onAdd(w){this.map||(this.map=w,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE),B.texSubImage2D(B.TEXTURE_2D,0,0,0,B.RGBA,B.UNSIGNED_BYTE,this.video)):(this.texture=new g(w,this.video,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let se=this.tiles[ee];se.state!=="loaded"&&(se.state="loaded",se.texture=this.texture,Q=!0)}Q&&this.fire(new a.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class Ct extends It{constructor(w,B,Q,ee){super(w,B,Q,ee),B.coordinates?Array.isArray(B.coordinates)&&B.coordinates.length===4&&!B.coordinates.some(se=>!Array.isArray(se)||se.length!==2||se.some(qe=>typeof qe!="number"))||this.fire(new a.j(new a.a2(`sources.${w}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new a.j(new a.a2(`sources.${w}`,null,'missing required property "coordinates"'))),B.animate&&typeof B.animate!="boolean"&&this.fire(new a.j(new a.a2(`sources.${w}`,null,'optional "animate" property must be a boolean value'))),B.canvas?typeof B.canvas=="string"||B.canvas instanceof HTMLCanvasElement||this.fire(new a.j(new a.a2(`sources.${w}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new a.j(new a.a2(`sources.${w}`,null,'missing required property "canvas"'))),this.options=B,this.animate=B.animate===void 0||B.animate}load(){return a._(this,void 0,void 0,function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new a.j(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())})}getCanvas(){return this.canvas}onAdd(w){this.map=w,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let w=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,w=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,w=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let B=this.map.painter.context,Q=B.gl;this.boundsBuffer||(this.boundsBuffer=B.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?(w||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new g(B,this.canvas,Q.RGBA,{premultiply:!0});let ee=!1;for(let se in this.tiles){let qe=this.tiles[se];qe.state!=="loaded"&&(qe.state="loaded",qe.texture=this.texture,ee=!0)}ee&&this.fire(new a.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let w of[this.canvas.width,this.canvas.height])if(isNaN(w)||w<=0)return!0;return!1}}let Yt={},mr=le=>{switch(le){case"geojson":return rt;case"image":return It;case"raster":return ct;case"raster-dem":return qt;case"vector":return nt;case"video":return kt;case"canvas":return Ct}return Yt[le]},er="RTLPluginLoaded";class Ke extends a.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=Ae()}_syncState(w){return this.status=w,this.dispatcher.broadcast("SRPS",{pluginStatus:w,pluginURL:this.url}).catch(B=>{throw this.status="error",B})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(w){return a._(this,arguments,void 0,function*(B,Q=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=u.resolveURL(B),!this.url)throw new Error(`requested url ${B} is invalid`);if(this.status==="unavailable"){if(!Q)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if(this.status==="requested")return this._requestImport()})}_requestImport(){return a._(this,void 0,void 0,function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new a.k(er))})}lazyLoad(){this.status==="unavailable"?this.status="requested":this.status==="deferred"&&this._requestImport()}}let bt=null;function xt(){return bt||(bt=new Ke),bt}class Lt{constructor(w,B){this.timeAdded=0,this.fadeEndTime=0,this.tileID=w,this.uid=a.a4(),this.uses=0,this.tileSize=B,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(w){let B=w+this.timeAdded;Bse.getLayer(yt)).filter(Boolean);if(it.length!==0){je.layers=it,je.stateDependentLayerIds&&(je.stateDependentLayers=je.stateDependentLayerIds.map(yt=>it.filter(Ot=>Ot.id===yt)[0]));for(let yt of it)qe[yt.id]=je}}return qe}(w.buckets,B.style),this.hasSymbolBuckets=!1;for(let ee in this.buckets){let se=this.buckets[ee];if(se instanceof a.a6){if(this.hasSymbolBuckets=!0,!Q)break;se.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let ee in this.buckets){let se=this.buckets[ee];if(se instanceof a.a6&&se.hasRTLText){this.hasRTLText=!0,xt().lazyLoad();break}}this.queryPadding=0;for(let ee in this.buckets){let se=this.buckets[ee];this.queryPadding=Math.max(this.queryPadding,B.style.getLayer(ee).queryRadius(se))}w.imageAtlas&&(this.imageAtlas=w.imageAtlas),w.glyphAtlasImage&&(this.glyphAtlasImage=w.glyphAtlasImage)}else this.collisionBoxArray=new a.a5}unloadVectorData(){for(let w in this.buckets)this.buckets[w].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(w){return this.buckets[w.id]}upload(w){for(let Q in this.buckets){let ee=this.buckets[Q];ee.uploadPending()&&ee.upload(w)}let B=w.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new g(w,this.imageAtlas.image,B.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new g(w,this.glyphAtlasImage,B.ALPHA),this.glyphAtlasImage=null)}prepare(w){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(w,this.imageAtlasTexture)}queryRenderedFeatures(w,B,Q,ee,se,qe,je,it,yt,Ot){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:ee,cameraQueryGeometry:se,scale:qe,tileSize:this.tileSize,pixelPosMatrix:Ot,transform:it,params:je,queryPadding:this.queryPadding*yt},w,B,Q):{}}querySourceFeatures(w,B){let Q=this.latestFeatureIndex;if(!Q||!Q.rawTileData)return;let ee=Q.loadVTLayers(),se=B&&B.sourceLayer?B.sourceLayer:"",qe=ee._geojsonTileLayer||ee[se];if(!qe)return;let je=a.a7(B&&B.filter),{z:it,x:yt,y:Ot}=this.tileID.canonical,Nt={z:it,x:yt,y:Ot};for(let hr=0;hrQ)ee=!1;else if(B)if(this.expirationTime{this.remove(w,se)},Q)),this.data[ee].push(se),this.order.push(ee),this.order.length>this.max){let qe=this._getAndRemoveByKey(this.order[0]);qe&&this.onRemove(qe)}return this}has(w){return w.wrapped().key in this.data}getAndRemove(w){return this.has(w)?this._getAndRemoveByKey(w.wrapped().key):null}_getAndRemoveByKey(w){let B=this.data[w].shift();return B.timeout&&clearTimeout(B.timeout),this.data[w].length===0&&delete this.data[w],this.order.splice(this.order.indexOf(w),1),B.value}getByKey(w){let B=this.data[w];return B?B[0].value:null}get(w){return this.has(w)?this.data[w.wrapped().key][0].value:null}remove(w,B){if(!this.has(w))return this;let Q=w.wrapped().key,ee=B===void 0?0:this.data[Q].indexOf(B),se=this.data[Q][ee];return this.data[Q].splice(ee,1),se.timeout&&clearTimeout(se.timeout),this.data[Q].length===0&&delete this.data[Q],this.onRemove(se.value),this.order.splice(this.order.indexOf(Q),1),this}setMaxSize(w){for(this.max=w;this.order.length>this.max;){let B=this._getAndRemoveByKey(this.order[0]);B&&this.onRemove(B)}return this}filter(w){let B=[];for(let Q in this.data)for(let ee of this.data[Q])w(ee.value)||B.push(ee);for(let Q of B)this.remove(Q.value.tileID,Q)}}class Et{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(w,B,Q){let ee=String(B);if(this.stateChanges[w]=this.stateChanges[w]||{},this.stateChanges[w][ee]=this.stateChanges[w][ee]||{},a.e(this.stateChanges[w][ee],Q),this.deletedStates[w]===null){this.deletedStates[w]={};for(let se in this.state[w])se!==ee&&(this.deletedStates[w][se]=null)}else if(this.deletedStates[w]&&this.deletedStates[w][ee]===null){this.deletedStates[w][ee]={};for(let se in this.state[w][ee])Q[se]||(this.deletedStates[w][ee][se]=null)}else for(let se in Q)this.deletedStates[w]&&this.deletedStates[w][ee]&&this.deletedStates[w][ee][se]===null&&delete this.deletedStates[w][ee][se]}removeFeatureState(w,B,Q){if(this.deletedStates[w]===null)return;let ee=String(B);if(this.deletedStates[w]=this.deletedStates[w]||{},Q&&B!==void 0)this.deletedStates[w][ee]!==null&&(this.deletedStates[w][ee]=this.deletedStates[w][ee]||{},this.deletedStates[w][ee][Q]=null);else if(B!==void 0)if(this.stateChanges[w]&&this.stateChanges[w][ee])for(Q in this.deletedStates[w][ee]={},this.stateChanges[w][ee])this.deletedStates[w][ee][Q]=null;else this.deletedStates[w][ee]=null;else this.deletedStates[w]=null}getState(w,B){let Q=String(B),ee=a.e({},(this.state[w]||{})[Q],(this.stateChanges[w]||{})[Q]);if(this.deletedStates[w]===null)return{};if(this.deletedStates[w]){let se=this.deletedStates[w][B];if(se===null)return{};for(let qe in se)delete ee[qe]}return ee}initializeTileState(w,B){w.setFeatureState(this.state,B)}coalesceChanges(w,B){let Q={};for(let ee in this.stateChanges){this.state[ee]=this.state[ee]||{};let se={};for(let qe in this.stateChanges[ee])this.state[ee][qe]||(this.state[ee][qe]={}),a.e(this.state[ee][qe],this.stateChanges[ee][qe]),se[qe]=this.state[ee][qe];Q[ee]=se}for(let ee in this.deletedStates){this.state[ee]=this.state[ee]||{};let se={};if(this.deletedStates[ee]===null)for(let qe in this.state[ee])se[qe]={},this.state[ee][qe]={};else for(let qe in this.deletedStates[ee]){if(this.deletedStates[ee][qe]===null)this.state[ee][qe]={};else for(let je of Object.keys(this.deletedStates[ee][qe]))delete this.state[ee][qe][je];se[qe]=this.state[ee][qe]}Q[ee]=Q[ee]||{},a.e(Q[ee],se)}if(this.stateChanges={},this.deletedStates={},Object.keys(Q).length!==0)for(let ee in w)w[ee].setFeatureState(Q,B)}}class dt extends a.E{constructor(w,B,Q){super(),this.id=w,this.dispatcher=Q,this.on("data",ee=>this._dataHandler(ee)),this.on("dataloading",()=>{this._sourceErrored=!1}),this.on("error",()=>{this._sourceErrored=this._source.loaded()}),this._source=((ee,se,qe,je)=>{let it=new(mr(se.type))(ee,se,qe,je);if(it.id!==ee)throw new Error(`Expected Source id to be ${ee} instead of ${it.id}`);return it})(w,B,Q,this),this._tiles={},this._cache=new St(0,ee=>this._unloadTile(ee)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new Et,this._didEmitContent=!1,this._updated=!1}onAdd(w){this.map=w,this._maxTileCacheSize=w?w._maxTileCacheSize:null,this._maxTileCacheZoomLevels=w?w._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(w)}onRemove(w){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(w)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let w in this._tiles){let B=this._tiles[w];if(B.state!=="loaded"&&B.state!=="errored")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let w=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,w&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(w,B,Q){return a._(this,void 0,void 0,function*(){try{yield this._source.loadTile(w),this._tileLoaded(w,B,Q)}catch(ee){w.state="errored",ee.status!==404?this._source.fire(new a.j(ee,{tile:w})):this.update(this.transform,this.terrain)}})}_unloadTile(w){this._source.unloadTile&&this._source.unloadTile(w)}_abortTile(w){this._source.abortTile&&this._source.abortTile(w),this._source.fire(new a.k("dataabort",{tile:w,coord:w.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(w){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let B in this._tiles){let Q=this._tiles[B];Q.upload(w),Q.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(w=>w.tileID).sort(Ht).map(w=>w.key)}getRenderableIds(w){let B=[];for(let Q in this._tiles)this._isIdRenderable(Q,w)&&B.push(this._tiles[Q]);return w?B.sort((Q,ee)=>{let se=Q.tileID,qe=ee.tileID,je=new a.P(se.canonical.x,se.canonical.y)._rotate(this.transform.angle),it=new a.P(qe.canonical.x,qe.canonical.y)._rotate(this.transform.angle);return se.overscaledZ-qe.overscaledZ||it.y-je.y||it.x-je.x}).map(Q=>Q.tileID.key):B.map(Q=>Q.tileID).sort(Ht).map(Q=>Q.key)}hasRenderableParent(w){let B=this.findLoadedParent(w,0);return!!B&&this._isIdRenderable(B.tileID.key)}_isIdRenderable(w,B){return this._tiles[w]&&this._tiles[w].hasData()&&!this._coveredTiles[w]&&(B||!this._tiles[w].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let w in this._tiles)this._tiles[w].state!=="errored"&&this._reloadTile(w,"reloading")}}_reloadTile(w,B){return a._(this,void 0,void 0,function*(){let Q=this._tiles[w];Q&&(Q.state!=="loading"&&(Q.state=B),yield this._loadTile(Q,w,B))})}_tileLoaded(w,B,Q){w.timeAdded=u.now(),Q==="expired"&&(w.refreshedUponExpiration=!0),this._setTileReloadTimer(B,w),this.getSource().type==="raster-dem"&&w.dem&&this._backfillDEM(w),this._state.initializeTileState(w,this.map?this.map.painter:null),w.aborted||this._source.fire(new a.k("data",{dataType:"source",tile:w,coord:w.tileID}))}_backfillDEM(w){let B=this.getRenderableIds();for(let ee=0;ee1||(Math.abs(qe)>1&&(Math.abs(qe+it)===1?qe+=it:Math.abs(qe-it)===1&&(qe-=it)),se.dem&&ee.dem&&(ee.dem.backfillBorder(se.dem,qe,je),ee.neighboringTiles&&ee.neighboringTiles[yt]&&(ee.neighboringTiles[yt].backfilled=!0)))}}getTile(w){return this.getTileByID(w.key)}getTileByID(w){return this._tiles[w]}_retainLoadedChildren(w,B,Q,ee){for(let se in this._tiles){let qe=this._tiles[se];if(ee[se]||!qe.hasData()||qe.tileID.overscaledZ<=B||qe.tileID.overscaledZ>Q)continue;let je=qe.tileID;for(;qe&&qe.tileID.overscaledZ>B+1;){let yt=qe.tileID.scaledTo(qe.tileID.overscaledZ-1);qe=this._tiles[yt.key],qe&&qe.hasData()&&(je=yt)}let it=je;for(;it.overscaledZ>B;)if(it=it.scaledTo(it.overscaledZ-1),w[it.key]){ee[je.key]=je;break}}}findLoadedParent(w,B){if(w.key in this._loadedParentTiles){let Q=this._loadedParentTiles[w.key];return Q&&Q.tileID.overscaledZ>=B?Q:null}for(let Q=w.overscaledZ-1;Q>=B;Q--){let ee=w.scaledTo(Q),se=this._getLoadedTile(ee);if(se)return se}}findLoadedSibling(w){return this._getLoadedTile(w)}_getLoadedTile(w){let B=this._tiles[w.key];return B&&B.hasData()?B:this._cache.getByKey(w.wrapped().key)}updateCacheSize(w){let B=Math.ceil(w.width/this._source.tileSize)+1,Q=Math.ceil(w.height/this._source.tileSize)+1,ee=Math.floor(B*Q*(this._maxTileCacheZoomLevels===null?a.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),se=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,ee):ee;this._cache.setMaxSize(se)}handleWrapJump(w){let B=Math.round((w-(this._prevLng===void 0?w:this._prevLng))/360);if(this._prevLng=w,B){let Q={};for(let ee in this._tiles){let se=this._tiles[ee];se.tileID=se.tileID.unwrapTo(se.tileID.wrap+B),Q[se.tileID.key]=se}this._tiles=Q;for(let ee in this._timers)clearTimeout(this._timers[ee]),delete this._timers[ee];for(let ee in this._tiles)this._setTileReloadTimer(ee,this._tiles[ee])}}_updateCoveredAndRetainedTiles(w,B,Q,ee,se,qe){let je={},it={},yt=Object.keys(w),Ot=u.now();for(let Nt of yt){let hr=w[Nt],Mr=this._tiles[Nt];if(!Mr||Mr.fadeEndTime!==0&&Mr.fadeEndTime<=Ot)continue;let he=this.findLoadedParent(hr,B),be=this.findLoadedSibling(hr),Pe=he||be||null;Pe&&(this._addTile(Pe.tileID),je[Pe.tileID.key]=Pe.tileID),it[Nt]=hr}this._retainLoadedChildren(it,ee,Q,w);for(let Nt in je)w[Nt]||(this._coveredTiles[Nt]=!0,w[Nt]=je[Nt]);if(qe){let Nt={},hr={};for(let Mr of se)this._tiles[Mr.key].hasData()?Nt[Mr.key]=Mr:hr[Mr.key]=Mr;for(let Mr in hr){let he=hr[Mr].children(this._source.maxzoom);this._tiles[he[0].key]&&this._tiles[he[1].key]&&this._tiles[he[2].key]&&this._tiles[he[3].key]&&(Nt[he[0].key]=w[he[0].key]=he[0],Nt[he[1].key]=w[he[1].key]=he[1],Nt[he[2].key]=w[he[2].key]=he[2],Nt[he[3].key]=w[he[3].key]=he[3],delete hr[Mr])}for(let Mr in hr){let he=hr[Mr],be=this.findLoadedParent(he,this._source.minzoom),Pe=this.findLoadedSibling(he),Oe=be||Pe||null;if(Oe){Nt[Oe.tileID.key]=w[Oe.tileID.key]=Oe.tileID;for(let Je in Nt)Nt[Je].isChildOf(Oe.tileID)&&delete Nt[Je]}}for(let Mr in this._tiles)Nt[Mr]||(this._coveredTiles[Mr]=!0)}}update(w,B){if(!this._sourceLoaded||this._paused)return;let Q;this.transform=w,this.terrain=B,this.updateCacheSize(w),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?Q=w.getVisibleUnwrappedCoordinates(this._source.tileID).map(Ot=>new a.S(Ot.canonical.z,Ot.wrap,Ot.canonical.z,Ot.canonical.x,Ot.canonical.y)):(Q=w.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:B}),this._source.hasTile&&(Q=Q.filter(Ot=>this._source.hasTile(Ot)))):Q=[];let ee=w.coveringZoomLevel(this._source),se=Math.max(ee-dt.maxOverzooming,this._source.minzoom),qe=Math.max(ee+dt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Ot={};for(let Nt of Q)if(Nt.canonical.z>this._source.minzoom){let hr=Nt.scaledTo(Nt.canonical.z-1);Ot[hr.key]=hr;let Mr=Nt.scaledTo(Math.max(this._source.minzoom,Math.min(Nt.canonical.z,5)));Ot[Mr.key]=Mr}Q=Q.concat(Object.values(Ot))}let je=Q.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,je&&this.fire(new a.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));let it=this._updateRetainedTiles(Q,ee);$t(this._source.type)&&this._updateCoveredAndRetainedTiles(it,se,qe,ee,Q,B);for(let Ot in it)this._tiles[Ot].clearFadeHold();let yt=a.ab(this._tiles,it);for(let Ot of yt){let Nt=this._tiles[Ot];Nt.hasSymbolBuckets&&!Nt.holdingForFade()?Nt.setHoldDuration(this.map._fadeDuration):Nt.hasSymbolBuckets&&!Nt.symbolFadeFinished()||this._removeTile(Ot)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let w in this._tiles)this._tiles[w].holdingForFade()&&this._removeTile(w)}_updateRetainedTiles(w,B){var Q;let ee={},se={},qe=Math.max(B-dt.maxOverzooming,this._source.minzoom),je=Math.max(B+dt.maxUnderzooming,this._source.minzoom),it={};for(let yt of w){let Ot=this._addTile(yt);ee[yt.key]=yt,Ot.hasData()||Bthis._source.maxzoom){let hr=yt.children(this._source.maxzoom)[0],Mr=this.getTile(hr);if(Mr&&Mr.hasData()){ee[hr.key]=hr;continue}}else{let hr=yt.children(this._source.maxzoom);if(ee[hr[0].key]&&ee[hr[1].key]&&ee[hr[2].key]&&ee[hr[3].key])continue}let Nt=Ot.wasRequested();for(let hr=yt.overscaledZ-1;hr>=qe;--hr){let Mr=yt.scaledTo(hr);if(se[Mr.key])break;if(se[Mr.key]=!0,Ot=this.getTile(Mr),!Ot&&Nt&&(Ot=this._addTile(Mr)),Ot){let he=Ot.hasData();if((he||!(!((Q=this.map)===null||Q===void 0)&&Q.cancelPendingTileRequestsWhileZooming)||Nt)&&(ee[Mr.key]=Mr),Nt=Ot.wasRequested(),he)break}}}return ee}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let w in this._tiles){let B=[],Q,ee=this._tiles[w].tileID;for(;ee.overscaledZ>0;){if(ee.key in this._loadedParentTiles){Q=this._loadedParentTiles[ee.key];break}B.push(ee.key);let se=ee.scaledTo(ee.overscaledZ-1);if(Q=this._getLoadedTile(se),Q)break;ee=se}for(let se of B)this._loadedParentTiles[se]=Q}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let w in this._tiles){let B=this._tiles[w].tileID,Q=this._getLoadedTile(B);this._loadedSiblingTiles[B.key]=Q}}_addTile(w){let B=this._tiles[w.key];if(B)return B;B=this._cache.getAndRemove(w),B&&(this._setTileReloadTimer(w.key,B),B.tileID=w,this._state.initializeTileState(B,this.map?this.map.painter:null),this._cacheTimers[w.key]&&(clearTimeout(this._cacheTimers[w.key]),delete this._cacheTimers[w.key],this._setTileReloadTimer(w.key,B)));let Q=B;return B||(B=new Lt(w,this._source.tileSize*w.overscaleFactor()),this._loadTile(B,w.key,B.state)),B.uses++,this._tiles[w.key]=B,Q||this._source.fire(new a.k("dataloading",{tile:B,coord:B.tileID,dataType:"source"})),B}_setTileReloadTimer(w,B){w in this._timers&&(clearTimeout(this._timers[w]),delete this._timers[w]);let Q=B.getExpiryTimeout();Q&&(this._timers[w]=setTimeout(()=>{this._reloadTile(w,"expired"),delete this._timers[w]},Q))}_removeTile(w){let B=this._tiles[w];B&&(B.uses--,delete this._tiles[w],this._timers[w]&&(clearTimeout(this._timers[w]),delete this._timers[w]),B.uses>0||(B.hasData()&&B.state!=="reloading"?this._cache.add(B.tileID,B,B.getExpiryTimeout()):(B.aborted=!0,this._abortTile(B),this._unloadTile(B))))}_dataHandler(w){let B=w.sourceDataType;w.dataType==="source"&&B==="metadata"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&w.dataType==="source"&&B==="content"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let w in this._tiles)this._removeTile(w);this._cache.reset()}tilesIn(w,B,Q){let ee=[],se=this.transform;if(!se)return ee;let qe=Q?se.getCameraQueryGeometry(w):w,je=w.map(he=>se.pointCoordinate(he,this.terrain)),it=qe.map(he=>se.pointCoordinate(he,this.terrain)),yt=this.getIds(),Ot=1/0,Nt=1/0,hr=-1/0,Mr=-1/0;for(let he of it)Ot=Math.min(Ot,he.x),Nt=Math.min(Nt,he.y),hr=Math.max(hr,he.x),Mr=Math.max(Mr,he.y);for(let he=0;he=0&&He[1].y+Je>=0){let et=je.map(Rt=>Pe.getTilePoint(Rt)),Mt=it.map(Rt=>Pe.getTilePoint(Rt));ee.push({tile:be,tileID:Pe,queryGeometry:et,cameraQueryGeometry:Mt,scale:Oe})}}return ee}getVisibleCoordinates(w){let B=this.getRenderableIds(w).map(Q=>this._tiles[Q].tileID);for(let Q of B)Q.posMatrix=this.transform.calculatePosMatrix(Q.toUnwrapped());return B}hasTransition(){if(this._source.hasTransition())return!0;if($t(this._source.type)){let w=u.now();for(let B in this._tiles)if(this._tiles[B].fadeEndTime>=w)return!0}return!1}setFeatureState(w,B,Q){this._state.updateState(w=w||"_geojsonTileLayer",B,Q)}removeFeatureState(w,B,Q){this._state.removeFeatureState(w=w||"_geojsonTileLayer",B,Q)}getFeatureState(w,B){return this._state.getState(w=w||"_geojsonTileLayer",B)}setDependencies(w,B,Q){let ee=this._tiles[w];ee&&ee.setDependencies(B,Q)}reloadTilesForDependencies(w,B){for(let Q in this._tiles)this._tiles[Q].hasDependency(w,B)&&this._reloadTile(Q,"reloading");this._cache.filter(Q=>!Q.hasDependency(w,B))}}function Ht(le,w){let B=Math.abs(2*le.wrap)-+(le.wrap<0),Q=Math.abs(2*w.wrap)-+(w.wrap<0);return le.overscaledZ-w.overscaledZ||Q-B||w.canonical.y-le.canonical.y||w.canonical.x-le.canonical.x}function $t(le){return le==="raster"||le==="image"||le==="video"}dt.maxOverzooming=10,dt.maxUnderzooming=3;class fr{constructor(w,B){this.reset(w,B)}reset(w,B){this.points=w||[],this._distances=[0];for(let Q=1;Q0?(ee-qe)/je:0;return this.points[se].mult(1-it).add(this.points[B].mult(it))}}function xr(le,w){let B=!0;return le==="always"||le!=="never"&&w!=="never"||(B=!1),B}class Br{constructor(w,B,Q){let ee=this.boxCells=[],se=this.circleCells=[];this.xCellCount=Math.ceil(w/Q),this.yCellCount=Math.ceil(B/Q);for(let qe=0;qethis.width||ee<0||B>this.height)return[];let it=[];if(w<=0&&B<=0&&this.width<=Q&&this.height<=ee){if(se)return[{key:null,x1:w,y1:B,x2:Q,y2:ee}];for(let yt=0;yt0}hitTestCircle(w,B,Q,ee,se){let qe=w-Q,je=w+Q,it=B-Q,yt=B+Q;if(je<0||qe>this.width||yt<0||it>this.height)return!1;let Ot=[];return this._forEachCell(qe,it,je,yt,this._queryCellCircle,Ot,{hitTest:!0,overlapMode:ee,circle:{x:w,y:B,radius:Q},seenUids:{box:{},circle:{}}},se),Ot.length>0}_queryCell(w,B,Q,ee,se,qe,je,it){let{seenUids:yt,hitTest:Ot,overlapMode:Nt}=je,hr=this.boxCells[se];if(hr!==null){let he=this.bboxes;for(let be of hr)if(!yt.box[be]){yt.box[be]=!0;let Pe=4*be,Oe=this.boxKeys[be];if(w<=he[Pe+2]&&B<=he[Pe+3]&&Q>=he[Pe+0]&&ee>=he[Pe+1]&&(!it||it(Oe))&&(!Ot||!xr(Nt,Oe.overlapMode))&&(qe.push({key:Oe,x1:he[Pe],y1:he[Pe+1],x2:he[Pe+2],y2:he[Pe+3]}),Ot))return!0}}let Mr=this.circleCells[se];if(Mr!==null){let he=this.circles;for(let be of Mr)if(!yt.circle[be]){yt.circle[be]=!0;let Pe=3*be,Oe=this.circleKeys[be];if(this._circleAndRectCollide(he[Pe],he[Pe+1],he[Pe+2],w,B,Q,ee)&&(!it||it(Oe))&&(!Ot||!xr(Nt,Oe.overlapMode))){let Je=he[Pe],He=he[Pe+1],et=he[Pe+2];if(qe.push({key:Oe,x1:Je-et,y1:He-et,x2:Je+et,y2:He+et}),Ot)return!0}}}return!1}_queryCellCircle(w,B,Q,ee,se,qe,je,it){let{circle:yt,seenUids:Ot,overlapMode:Nt}=je,hr=this.boxCells[se];if(hr!==null){let he=this.bboxes;for(let be of hr)if(!Ot.box[be]){Ot.box[be]=!0;let Pe=4*be,Oe=this.boxKeys[be];if(this._circleAndRectCollide(yt.x,yt.y,yt.radius,he[Pe+0],he[Pe+1],he[Pe+2],he[Pe+3])&&(!it||it(Oe))&&!xr(Nt,Oe.overlapMode))return qe.push(!0),!0}}let Mr=this.circleCells[se];if(Mr!==null){let he=this.circles;for(let be of Mr)if(!Ot.circle[be]){Ot.circle[be]=!0;let Pe=3*be,Oe=this.circleKeys[be];if(this._circlesCollide(he[Pe],he[Pe+1],he[Pe+2],yt.x,yt.y,yt.radius)&&(!it||it(Oe))&&!xr(Nt,Oe.overlapMode))return qe.push(!0),!0}}}_forEachCell(w,B,Q,ee,se,qe,je,it){let yt=this._convertToXCellCoord(w),Ot=this._convertToYCellCoord(B),Nt=this._convertToXCellCoord(Q),hr=this._convertToYCellCoord(ee);for(let Mr=yt;Mr<=Nt;Mr++)for(let he=Ot;he<=hr;he++)if(se.call(this,w,B,Q,ee,this.xCellCount*he+Mr,qe,je,it))return}_convertToXCellCoord(w){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(w*this.xScale)))}_convertToYCellCoord(w){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(w*this.yScale)))}_circlesCollide(w,B,Q,ee,se,qe){let je=ee-w,it=se-B,yt=Q+qe;return yt*yt>je*je+it*it}_circleAndRectCollide(w,B,Q,ee,se,qe,je){let it=(qe-ee)/2,yt=Math.abs(w-(ee+it));if(yt>it+Q)return!1;let Ot=(je-se)/2,Nt=Math.abs(B-(se+Ot));if(Nt>Ot+Q)return!1;if(yt<=it||Nt<=Ot)return!0;let hr=yt-it,Mr=Nt-Ot;return hr*hr+Mr*Mr<=Q*Q}}function Or(le,w,B,Q,ee){let se=a.H();return w?(a.K(se,se,[1/ee,1/ee,1]),B||a.ad(se,se,Q.angle)):a.L(se,Q.labelPlaneMatrix,le),se}function Nr(le,w,B,Q,ee){if(w){let se=a.ae(le);return a.K(se,se,[ee,ee,1]),B||a.ad(se,se,-Q.angle),se}return Q.glCoordMatrix}function ut(le,w,B,Q){let ee;Q?(ee=[le,w,Q(le,w),1],a.af(ee,ee,B)):(ee=[le,w,0,1],jr(ee,ee,B));let se=ee[3];return{point:new a.P(ee[0]/se,ee[1]/se),signedDistanceFromCamera:se,isOccluded:!1}}function Ne(le,w){return .5+le/w*.5}function Ye(le,w){return le.x>=-w[0]&&le.x<=w[0]&&le.y>=-w[1]&&le.y<=w[1]}function Ve(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Mr,he){let be=Q?le.textSizeData:le.iconSizeData,Pe=a.ag(be,B.transform.zoom),Oe=[256/B.width*2+1,256/B.height*2+1],Je=Q?le.text.dynamicLayoutVertexArray:le.icon.dynamicLayoutVertexArray;Je.clear();let He=le.lineVertexArray,et=Q?le.text.placedSymbolArray:le.icon.placedSymbolArray,Mt=B.transform.width/B.transform.height,Rt=!1;for(let Ut=0;UtMath.abs(B.x-w.x)*Q?{useVertical:!0}:(le===a.ah.vertical?w.yB.x)?{needsFlipping:!0}:null}function Le(le,w,B,Q,ee,se,qe,je,it,yt,Ot){let Nt=B/24,hr=w.lineOffsetX*Nt,Mr=w.lineOffsetY*Nt,he;if(w.numGlyphs>1){let be=w.glyphStartIndex+w.numGlyphs,Pe=w.lineStartIndex,Oe=w.lineStartIndex+w.lineLength,Je=Xe(Nt,je,hr,Mr,Q,w,Ot,le);if(!Je)return{notEnoughRoom:!0};let He=ut(Je.first.point.x,Je.first.point.y,qe,le.getElevation).point,et=ut(Je.last.point.x,Je.last.point.y,qe,le.getElevation).point;if(ee&&!Q){let Mt=ht(w.writingMode,He,et,yt);if(Mt)return Mt}he=[Je.first];for(let Mt=w.glyphStartIndex+1;Mt0?He.point:function(Rt,Ut,tr,yr,Dr,zr){return xe(Rt,Ut,tr,1,Dr,zr)}(le.tileAnchorPoint,Je,Pe,0,se,le),Mt=ht(w.writingMode,Pe,et,yt);if(Mt)return Mt}let be=ar(Nt*je.getoffsetX(w.glyphStartIndex),hr,Mr,Q,w.segment,w.lineStartIndex,w.lineStartIndex+w.lineLength,le,Ot);if(!be||le.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};he=[be]}for(let be of he)a.aj(it,be.point,be.angle);return{}}function xe(le,w,B,Q,ee,se){let qe=le.add(le.sub(w)._unit()),je=ee!==void 0?ut(qe.x,qe.y,ee,se.getElevation).point:lt(qe.x,qe.y,se).point,it=B.sub(je);return B.add(it._mult(Q/it.mag()))}function Se(le,w,B){let Q=w.projectionCache;if(Q.projections[le])return Q.projections[le];let ee=new a.P(w.lineVertexArray.getx(le),w.lineVertexArray.gety(le)),se=lt(ee.x,ee.y,w);if(se.signedDistanceFromCamera>0)return Q.projections[le]=se.point,Q.anyProjectionOccluded=Q.anyProjectionOccluded||se.isOccluded,se.point;let qe=le-B.direction;return function(je,it,yt,Ot,Nt){return xe(je,it,yt,Ot,void 0,Nt)}(B.distanceFromAnchor===0?w.tileAnchorPoint:new a.P(w.lineVertexArray.getx(qe),w.lineVertexArray.gety(qe)),ee,B.previousVertex,B.absOffsetX-B.distanceFromAnchor+1,w)}function lt(le,w,B){let Q=le+B.translation[0],ee=w+B.translation[1],se;return!B.pitchWithMap&&B.projection.useSpecialProjectionForSymbols?(se=B.projection.projectTileCoordinates(Q,ee,B.unwrappedTileID,B.getElevation),se.point.x=(.5*se.point.x+.5)*B.width,se.point.y=(.5*-se.point.y+.5)*B.height):(se=ut(Q,ee,B.labelPlaneMatrix,B.getElevation),se.isOccluded=!1),se}function Gt(le,w,B){return le._unit()._perp()._mult(w*B)}function Vt(le,w,B,Q,ee,se,qe,je,it){if(je.projectionCache.offsets[le])return je.projectionCache.offsets[le];let yt=B.add(w);if(le+it.direction=ee)return je.projectionCache.offsets[le]=yt,yt;let Ot=Se(le+it.direction,je,it),Nt=Gt(Ot.sub(B),qe,it.direction),hr=B.add(Nt),Mr=Ot.add(Nt);return je.projectionCache.offsets[le]=a.ak(se,yt,hr,Mr)||yt,je.projectionCache.offsets[le]}function ar(le,w,B,Q,ee,se,qe,je,it){let yt=Q?le-w:le+w,Ot=yt>0?1:-1,Nt=0;Q&&(Ot*=-1,Nt=Math.PI),Ot<0&&(Nt+=Math.PI);let hr,Mr=Ot>0?se+ee:se+ee+1;je.projectionCache.cachedAnchorPoint?hr=je.projectionCache.cachedAnchorPoint:(hr=lt(je.tileAnchorPoint.x,je.tileAnchorPoint.y,je).point,je.projectionCache.cachedAnchorPoint=hr);let he,be,Pe=hr,Oe=hr,Je=0,He=0,et=Math.abs(yt),Mt=[],Rt;for(;Je+He<=et;){if(Mr+=Ot,Mr=qe)return null;Je+=He,Oe=Pe,be=he;let yr={absOffsetX:et,direction:Ot,distanceFromAnchor:Je,previousVertex:Oe};if(Pe=Se(Mr,je,yr),B===0)Mt.push(Oe),Rt=Pe.sub(Oe);else{let Dr,zr=Pe.sub(Oe);Dr=zr.mag()===0?Gt(Se(Mr+Ot,je,yr).sub(Pe),B,Ot):Gt(zr,B,Ot),be||(be=Oe.add(Dr)),he=Vt(Mr,Dr,Pe,se,qe,be,B,je,yr),Mt.push(be),Rt=he.sub(be)}He=Rt.mag()}let Ut=Rt._mult((et-Je)/He)._add(be||Oe),tr=Nt+Math.atan2(Pe.y-Oe.y,Pe.x-Oe.x);return Mt.push(Ut),{point:Ut,angle:it?tr:0,path:Mt}}let Qr=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ai(le,w){for(let B=0;B=1;ea--)Qi.push(Li.path[ea]);for(let ea=1;eaGa.signedDistanceFromCamera<=0)?[]:ea.map(Ga=>Ga.point)}let pa=[];if(Qi.length>0){let ea=Qi[0].clone(),Ga=Qi[0].clone();for(let To=1;To=zr.x&&Ga.x<=Xr.x&&ea.y>=zr.y&&Ga.y<=Xr.y?[Qi]:Ga.xXr.x||Ga.yXr.y?[]:a.al([Qi],zr.x,zr.y,Xr.x,Xr.y)}for(let ea of pa){di.reset(ea,.25*Dr);let Ga=0;Ga=di.length<=.5*Dr?1:Math.ceil(di.paddedLength/Mn)+1;for(let To=0;Tout(ee.x,ee.y,Q,B.getElevation))}queryRenderedSymbols(w){if(w.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let B=[],Q=1/0,ee=1/0,se=-1/0,qe=-1/0;for(let Ot of w){let Nt=new a.P(Ot.x+ri,Ot.y+ri);Q=Math.min(Q,Nt.x),ee=Math.min(ee,Nt.y),se=Math.max(se,Nt.x),qe=Math.max(qe,Nt.y),B.push(Nt)}let je=this.grid.query(Q,ee,se,qe).concat(this.ignoredGrid.query(Q,ee,se,qe)),it={},yt={};for(let Ot of je){let Nt=Ot.key;if(it[Nt.bucketInstanceId]===void 0&&(it[Nt.bucketInstanceId]={}),it[Nt.bucketInstanceId][Nt.featureIndex])continue;let hr=[new a.P(Ot.x1,Ot.y1),new a.P(Ot.x2,Ot.y1),new a.P(Ot.x2,Ot.y2),new a.P(Ot.x1,Ot.y2)];a.am(B,hr)&&(it[Nt.bucketInstanceId][Nt.featureIndex]=!0,yt[Nt.bucketInstanceId]===void 0&&(yt[Nt.bucketInstanceId]=[]),yt[Nt.bucketInstanceId].push(Nt.featureIndex))}return yt}insertCollisionBox(w,B,Q,ee,se,qe){(Q?this.ignoredGrid:this.grid).insert({bucketInstanceId:ee,featureIndex:se,collisionGroupID:qe,overlapMode:B},w[0],w[1],w[2],w[3])}insertCollisionCircles(w,B,Q,ee,se,qe){let je=Q?this.ignoredGrid:this.grid,it={bucketInstanceId:ee,featureIndex:se,collisionGroupID:qe,overlapMode:B};for(let yt=0;yt=this.screenRightBoundary||eethis.screenBottomBoundary}isInsideGrid(w,B,Q,ee){return Q>=0&&w=0&&Bthis.projectAndGetPerspectiveRatio(Q,Dr.x,Dr.y,ee,yt));tr=yr.some(Dr=>!Dr.isOccluded),Ut=yr.map(Dr=>Dr.point)}else tr=!0;return{box:a.ao(Ut),allPointsOccluded:!tr}}}function nn(le,w,B){return w*(a.X/(le.tileSize*Math.pow(2,B-le.tileID.overscaledZ)))}class Wi{constructor(w,B,Q,ee){this.opacity=w?Math.max(0,Math.min(1,w.opacity+(w.placed?B:-B))):ee&&Q?1:0,this.placed=Q}isHidden(){return this.opacity===0&&!this.placed}}class Ni{constructor(w,B,Q,ee,se){this.text=new Wi(w?w.text:null,B,Q,se),this.icon=new Wi(w?w.icon:null,B,ee,se)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class _n{constructor(w,B,Q){this.text=w,this.icon=B,this.skipFade=Q}}class $i{constructor(){this.invProjMatrix=a.H(),this.viewportMatrix=a.H(),this.circles=[]}}class zn{constructor(w,B,Q,ee,se){this.bucketInstanceId=w,this.featureIndex=B,this.sourceLayerIndex=Q,this.bucketIndex=ee,this.tileID=se}}class Wn{constructor(w){this.crossSourceCollisions=w,this.maxGroupID=0,this.collisionGroups={}}get(w){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[w]){let B=++this.maxGroupID;this.collisionGroups[w]={ID:B,predicate:Q=>Q.collisionGroupID===B}}return this.collisionGroups[w]}}function Dt(le,w,B,Q,ee){let{horizontalAlign:se,verticalAlign:qe}=a.au(le);return new a.P(-(se-.5)*w+Q[0]*ee,-(qe-.5)*B+Q[1]*ee)}class ft{constructor(w,B,Q,ee,se,qe){this.transform=w.clone(),this.terrain=Q,this.collisionIndex=new bi(this.transform,B),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=ee,this.retainedQueryData={},this.collisionGroups=new Wn(se),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=qe,qe&&(qe.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(w){let B=this.terrain;return B?(Q,ee)=>B.getElevation(w,Q,ee):null}getBucketParts(w,B,Q,ee){let se=Q.getBucket(B),qe=Q.latestFeatureIndex;if(!se||!qe||B.id!==se.layerIds[0])return;let je=Q.collisionBoxArray,it=se.layers[0].layout,yt=se.layers[0].paint,Ot=Math.pow(2,this.transform.zoom-Q.tileID.overscaledZ),Nt=Q.tileSize/a.X,hr=Q.tileID.toUnwrapped(),Mr=this.transform.calculatePosMatrix(hr),he=it.get("text-pitch-alignment")==="map",be=it.get("text-rotation-alignment")==="map",Pe=nn(Q,1,this.transform.zoom),Oe=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,yt.get("text-translate"),yt.get("text-translate-anchor")),Je=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,yt.get("icon-translate"),yt.get("icon-translate-anchor")),He=Or(Mr,he,be,this.transform,Pe),et=null;if(he){let Rt=Nr(Mr,he,be,this.transform,Pe);et=a.L([],this.transform.labelPlaneMatrix,Rt)}this.retainedQueryData[se.bucketInstanceId]=new zn(se.bucketInstanceId,qe,se.sourceLayerIndex,se.index,Q.tileID);let Mt={bucket:se,layout:it,translationText:Oe,translationIcon:Je,posMatrix:Mr,unwrappedTileID:hr,textLabelPlaneMatrix:He,labelToScreenMatrix:et,scale:Ot,textPixelRatio:Nt,holdingForFade:Q.holdingForFade(),collisionBoxArray:je,partiallyEvaluatedTextSize:a.ag(se.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(se.sourceID)};if(ee)for(let Rt of se.sortKeyRanges){let{sortKey:Ut,symbolInstanceStart:tr,symbolInstanceEnd:yr}=Rt;w.push({sortKey:Ut,symbolInstanceStart:tr,symbolInstanceEnd:yr,parameters:Mt})}else w.push({symbolInstanceStart:0,symbolInstanceEnd:se.symbolInstances.length,parameters:Mt})}attemptAnchorPlacement(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Mr,he,be,Pe,Oe,Je,He){let et=a.aq[w.textAnchor],Mt=[w.textOffset0,w.textOffset1],Rt=Dt(et,Q,ee,Mt,se),Ut=this.collisionIndex.placeCollisionBox(B,hr,it,yt,Ot,je,qe,Pe,Nt.predicate,He,Rt);if((!Je||this.collisionIndex.placeCollisionBox(Je,hr,it,yt,Ot,je,qe,Oe,Nt.predicate,He,Rt).placeable)&&Ut.placeable){let tr;if(this.prevPlacement&&this.prevPlacement.variableOffsets[Mr.crossTileID]&&this.prevPlacement.placements[Mr.crossTileID]&&this.prevPlacement.placements[Mr.crossTileID].text&&(tr=this.prevPlacement.variableOffsets[Mr.crossTileID].anchor),Mr.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[Mr.crossTileID]={textOffset:Mt,width:Q,height:ee,anchor:et,textBoxScale:se,prevAnchor:tr},this.markUsedJustification(he,et,Mr,be),he.allowVerticalPlacement&&(this.markUsedOrientation(he,be,Mr),this.placedOrientations[Mr.crossTileID]=be),{shift:Rt,placedGlyphBoxes:Ut}}}placeLayerBucketPart(w,B,Q){let{bucket:ee,layout:se,translationText:qe,translationIcon:je,posMatrix:it,unwrappedTileID:yt,textLabelPlaneMatrix:Ot,labelToScreenMatrix:Nt,textPixelRatio:hr,holdingForFade:Mr,collisionBoxArray:he,partiallyEvaluatedTextSize:be,collisionGroup:Pe}=w.parameters,Oe=se.get("text-optional"),Je=se.get("icon-optional"),He=a.ar(se,"text-overlap","text-allow-overlap"),et=He==="always",Mt=a.ar(se,"icon-overlap","icon-allow-overlap"),Rt=Mt==="always",Ut=se.get("text-rotation-alignment")==="map",tr=se.get("text-pitch-alignment")==="map",yr=se.get("icon-text-fit")!=="none",Dr=se.get("symbol-z-order")==="viewport-y",zr=et&&(Rt||!ee.hasIconData()||Je),Xr=Rt&&(et||!ee.hasTextData()||Oe);!ee.collisionArrays&&he&&ee.deserializeCollisionBoxes(he);let di=this._getTerrainElevationFunc(this.retainedQueryData[ee.bucketInstanceId].tileID),Li=(Ci,Qi,Mn)=>{var pa,ea;if(B[Ci.crossTileID])return;if(Mr)return void(this.placements[Ci.crossTileID]=new _n(!1,!1,!1));let Ga=!1,To=!1,Wa=!0,co=null,Do={box:null,placeable:!1,offscreen:null},zs={box:null,placeable:!1,offscreen:null},Ss=null,yo=null,po=null,_l=0,Vl=0,Yu=0;Qi.textFeatureIndex?_l=Qi.textFeatureIndex:Ci.useRuntimeCollisionCircles&&(_l=Ci.featureIndex),Qi.verticalTextFeatureIndex&&(Vl=Qi.verticalTextFeatureIndex);let cu=Qi.textBox;if(cu){let Rl=we=>{let Be=a.ah.horizontal;if(ee.allowVerticalPlacement&&!we&&this.prevPlacement){let Ue=this.prevPlacement.placedOrientations[Ci.crossTileID];Ue&&(this.placedOrientations[Ci.crossTileID]=Ue,Be=Ue,this.markUsedOrientation(ee,Be,Ci))}return Be},zl=(we,Be)=>{if(ee.allowVerticalPlacement&&Ci.numVerticalGlyphVertices>0&&Qi.verticalTextBox){for(let Ue of ee.writingModes)if(Ue===a.ah.vertical?(Do=Be(),zs=Do):Do=we(),Do&&Do.placeable)break}else Do=we()},Z=Ci.textAnchorOffsetStartIndex,oe=Ci.textAnchorOffsetEndIndex;if(oe===Z){let we=(Be,Ue)=>{let We=this.collisionIndex.placeCollisionBox(Be,He,hr,it,yt,tr,Ut,qe,Pe.predicate,di);return We&&We.placeable&&(this.markUsedOrientation(ee,Ue,Ci),this.placedOrientations[Ci.crossTileID]=Ue),We};zl(()=>we(cu,a.ah.horizontal),()=>{let Be=Qi.verticalTextBox;return ee.allowVerticalPlacement&&Ci.numVerticalGlyphVertices>0&&Be?we(Be,a.ah.vertical):{box:null,offscreen:null}}),Rl(Do&&Do.placeable)}else{let we=a.aq[(ea=(pa=this.prevPlacement)===null||pa===void 0?void 0:pa.variableOffsets[Ci.crossTileID])===null||ea===void 0?void 0:ea.anchor],Be=(We,wt,tt)=>{let zt=We.x2-We.x1,or=We.y2-We.y1,lr=Ci.textBoxScale,Rr=yr&&Mt==="never"?wt:null,Ir=null,oi=He==="never"?1:2,ui="never";we&&oi++;for(let qr=0;qrBe(cu,Qi.iconBox,a.ah.horizontal),()=>{let We=Qi.verticalTextBox;return ee.allowVerticalPlacement&&(!Do||!Do.placeable)&&Ci.numVerticalGlyphVertices>0&&We?Be(We,Qi.verticalIconBox,a.ah.vertical):{box:null,occluded:!0,offscreen:null}}),Do&&(Ga=Do.placeable,Wa=Do.offscreen);let Ue=Rl(Do&&Do.placeable);if(!Ga&&this.prevPlacement){let We=this.prevPlacement.variableOffsets[Ci.crossTileID];We&&(this.variableOffsets[Ci.crossTileID]=We,this.markUsedJustification(ee,We.anchor,Ci,Ue))}}}if(Ss=Do,Ga=Ss&&Ss.placeable,Wa=Ss&&Ss.offscreen,Ci.useRuntimeCollisionCircles){let Rl=ee.text.placedSymbolArray.get(Ci.centerJustifiedTextSymbolIndex),zl=a.ai(ee.textSizeData,be,Rl),Z=se.get("text-padding");yo=this.collisionIndex.placeCollisionCircles(He,Rl,ee.lineVertexArray,ee.glyphOffsetArray,zl,it,yt,Ot,Nt,Q,tr,Pe.predicate,Ci.collisionCircleDiameter,Z,qe,di),yo.circles.length&&yo.collisionDetected&&!Q&&a.w("Collisions detected, but collision boxes are not shown"),Ga=et||yo.circles.length>0&&!yo.collisionDetected,Wa=Wa&&yo.offscreen}if(Qi.iconFeatureIndex&&(Yu=Qi.iconFeatureIndex),Qi.iconBox){let Rl=zl=>this.collisionIndex.placeCollisionBox(zl,Mt,hr,it,yt,tr,Ut,je,Pe.predicate,di,yr&&co?co:void 0);zs&&zs.placeable&&Qi.verticalIconBox?(po=Rl(Qi.verticalIconBox),To=po.placeable):(po=Rl(Qi.iconBox),To=po.placeable),Wa=Wa&&po.offscreen}let el=Oe||Ci.numHorizontalGlyphVertices===0&&Ci.numVerticalGlyphVertices===0,nu=Je||Ci.numIconVertices===0;el||nu?nu?el||(To=To&&Ga):Ga=To&&Ga:To=Ga=To&&Ga;let zc=To&&po.placeable;if(Ga&&Ss.placeable&&this.collisionIndex.insertCollisionBox(Ss.box,He,se.get("text-ignore-placement"),ee.bucketInstanceId,zs&&zs.placeable&&Vl?Vl:_l,Pe.ID),zc&&this.collisionIndex.insertCollisionBox(po.box,Mt,se.get("icon-ignore-placement"),ee.bucketInstanceId,Yu,Pe.ID),yo&&Ga&&this.collisionIndex.insertCollisionCircles(yo.circles,He,se.get("text-ignore-placement"),ee.bucketInstanceId,_l,Pe.ID),Q&&this.storeCollisionData(ee.bucketInstanceId,Mn,Qi,Ss,po,yo),Ci.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");if(ee.bucketInstanceId===0)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[Ci.crossTileID]=new _n(Ga||zr,To||Xr,Wa||ee.justReloaded),B[Ci.crossTileID]=!0};if(Dr){if(w.symbolInstanceStart!==0)throw new Error("bucket.bucketInstanceId should be 0");let Ci=ee.getSortedSymbolIndexes(this.transform.angle);for(let Qi=Ci.length-1;Qi>=0;--Qi){let Mn=Ci[Qi];Li(ee.symbolInstances.get(Mn),ee.collisionArrays[Mn],Mn)}}else for(let Ci=w.symbolInstanceStart;Ci=0&&(w.text.placedSymbolArray.get(je).crossTileID=se>=0&&je!==se?0:Q.crossTileID)}markUsedOrientation(w,B,Q){let ee=B===a.ah.horizontal||B===a.ah.horizontalOnly?B:0,se=B===a.ah.vertical?B:0,qe=[Q.leftJustifiedTextSymbolIndex,Q.centerJustifiedTextSymbolIndex,Q.rightJustifiedTextSymbolIndex];for(let je of qe)w.text.placedSymbolArray.get(je).placedOrientation=ee;Q.verticalPlacedTextSymbolIndex&&(w.text.placedSymbolArray.get(Q.verticalPlacedTextSymbolIndex).placedOrientation=se)}commit(w){this.commitTime=w,this.zoomAtLastRecencyCheck=this.transform.zoom;let B=this.prevPlacement,Q=!1;this.prevZoomAdjustment=B?B.zoomAdjustment(this.transform.zoom):0;let ee=B?B.symbolFadeChange(w):1,se=B?B.opacities:{},qe=B?B.variableOffsets:{},je=B?B.placedOrientations:{};for(let it in this.placements){let yt=this.placements[it],Ot=se[it];Ot?(this.opacities[it]=new Ni(Ot,ee,yt.text,yt.icon),Q=Q||yt.text!==Ot.text.placed||yt.icon!==Ot.icon.placed):(this.opacities[it]=new Ni(null,ee,yt.text,yt.icon,yt.skipFade),Q=Q||yt.text||yt.icon)}for(let it in se){let yt=se[it];if(!this.opacities[it]){let Ot=new Ni(yt,ee,!1,!1);Ot.isHidden()||(this.opacities[it]=Ot,Q=Q||yt.text.placed||yt.icon.placed)}}for(let it in qe)this.variableOffsets[it]||!this.opacities[it]||this.opacities[it].isHidden()||(this.variableOffsets[it]=qe[it]);for(let it in je)this.placedOrientations[it]||!this.opacities[it]||this.opacities[it].isHidden()||(this.placedOrientations[it]=je[it]);if(B&&B.lastPlacementChangeTime===void 0)throw new Error("Last placement time for previous placement is not defined");Q?this.lastPlacementChangeTime=w:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=B?B.lastPlacementChangeTime:w)}updateLayerOpacities(w,B){let Q={};for(let ee of B){let se=ee.getBucket(w);se&&ee.latestFeatureIndex&&w.id===se.layerIds[0]&&this.updateBucketOpacities(se,ee.tileID,Q,ee.collisionBoxArray)}}updateBucketOpacities(w,B,Q,ee){w.hasTextData()&&(w.text.opacityVertexArray.clear(),w.text.hasVisibleVertices=!1),w.hasIconData()&&(w.icon.opacityVertexArray.clear(),w.icon.hasVisibleVertices=!1),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexArray.clear(),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexArray.clear();let se=w.layers[0],qe=se.layout,je=new Ni(null,0,!1,!1,!0),it=qe.get("text-allow-overlap"),yt=qe.get("icon-allow-overlap"),Ot=se._unevaluatedLayout.hasValue("text-variable-anchor")||se._unevaluatedLayout.hasValue("text-variable-anchor-offset"),Nt=qe.get("text-rotation-alignment")==="map",hr=qe.get("text-pitch-alignment")==="map",Mr=qe.get("icon-text-fit")!=="none",he=new Ni(null,0,it&&(yt||!w.hasIconData()||qe.get("icon-optional")),yt&&(it||!w.hasTextData()||qe.get("text-optional")),!0);!w.collisionArrays&&ee&&(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData())&&w.deserializeCollisionBoxes(ee);let be=(Oe,Je,He)=>{for(let et=0;et0,tr=this.placedOrientations[Je.crossTileID],yr=tr===a.ah.vertical,Dr=tr===a.ah.horizontal||tr===a.ah.horizontalOnly;if(He>0||et>0){let Xr=Mi(Rt.text);be(w.text,He,yr?Pi:Xr),be(w.text,et,Dr?Pi:Xr);let di=Rt.text.isHidden();[Je.rightJustifiedTextSymbolIndex,Je.centerJustifiedTextSymbolIndex,Je.leftJustifiedTextSymbolIndex].forEach(Qi=>{Qi>=0&&(w.text.placedSymbolArray.get(Qi).hidden=di||yr?1:0)}),Je.verticalPlacedTextSymbolIndex>=0&&(w.text.placedSymbolArray.get(Je.verticalPlacedTextSymbolIndex).hidden=di||Dr?1:0);let Li=this.variableOffsets[Je.crossTileID];Li&&this.markUsedJustification(w,Li.anchor,Je,tr);let Ci=this.placedOrientations[Je.crossTileID];Ci&&(this.markUsedJustification(w,"left",Je,Ci),this.markUsedOrientation(w,Ci,Je))}if(Ut){let Xr=Mi(Rt.icon),di=!(Mr&&Je.verticalPlacedIconSymbolIndex&&yr);Je.placedIconSymbolIndex>=0&&(be(w.icon,Je.numIconVertices,di?Xr:Pi),w.icon.placedSymbolArray.get(Je.placedIconSymbolIndex).hidden=Rt.icon.isHidden()),Je.verticalPlacedIconSymbolIndex>=0&&(be(w.icon,Je.numVerticalIconVertices,di?Pi:Xr),w.icon.placedSymbolArray.get(Je.verticalPlacedIconSymbolIndex).hidden=Rt.icon.isHidden())}let zr=Pe&&Pe.has(Oe)?Pe.get(Oe):{text:null,icon:null};if(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData()){let Xr=w.collisionArrays[Oe];if(Xr){let di=new a.P(0,0);if(Xr.textBox||Xr.verticalTextBox){let Li=!0;if(Ot){let Ci=this.variableOffsets[Mt];Ci?(di=Dt(Ci.anchor,Ci.width,Ci.height,Ci.textOffset,Ci.textBoxScale),Nt&&di._rotate(hr?this.transform.angle:-this.transform.angle)):Li=!1}if(Xr.textBox||Xr.verticalTextBox){let Ci;Xr.textBox&&(Ci=yr),Xr.verticalTextBox&&(Ci=Dr),jt(w.textCollisionBox.collisionVertexArray,Rt.text.placed,!Li||Ci,zr.text,di.x,di.y)}}if(Xr.iconBox||Xr.verticalIconBox){let Li=!!(!Dr&&Xr.verticalIconBox),Ci;Xr.iconBox&&(Ci=Li),Xr.verticalIconBox&&(Ci=!Li),jt(w.iconCollisionBox.collisionVertexArray,Rt.icon.placed,Ci,zr.icon,Mr?di.x:0,Mr?di.y:0)}}}}if(w.sortFeatures(this.transform.angle),this.retainedQueryData[w.bucketInstanceId]&&(this.retainedQueryData[w.bucketInstanceId].featureSortOrder=w.featureSortOrder),w.hasTextData()&&w.text.opacityVertexBuffer&&w.text.opacityVertexBuffer.updateData(w.text.opacityVertexArray),w.hasIconData()&&w.icon.opacityVertexBuffer&&w.icon.opacityVertexBuffer.updateData(w.icon.opacityVertexArray),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexBuffer&&w.iconCollisionBox.collisionVertexBuffer.updateData(w.iconCollisionBox.collisionVertexArray),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexBuffer&&w.textCollisionBox.collisionVertexBuffer.updateData(w.textCollisionBox.collisionVertexArray),w.text.opacityVertexArray.length!==w.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${w.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${w.text.layoutVertexArray.length}) / 4`);if(w.icon.opacityVertexArray.length!==w.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${w.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${w.icon.layoutVertexArray.length}) / 4`);if(w.bucketInstanceId in this.collisionCircleArrays){let Oe=this.collisionCircleArrays[w.bucketInstanceId];w.placementInvProjMatrix=Oe.invProjMatrix,w.placementViewportMatrix=Oe.viewportMatrix,w.collisionCircleArray=Oe.circles,delete this.collisionCircleArrays[w.bucketInstanceId]}}symbolFadeChange(w){return this.fadeDuration===0?1:(w-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(w){return Math.max(0,(this.transform.zoom-w)/1.5)}hasTransitions(w){return this.stale||w-this.lastPlacementChangeTimew}setStale(){this.stale=!0}}function jt(le,w,B,Q,ee,se){Q&&Q.length!==0||(Q=[0,0,0,0]);let qe=Q[0]-ri,je=Q[1]-ri,it=Q[2]-ri,yt=Q[3]-ri;le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,qe,je),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,it,je),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,it,yt),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,qe,yt)}let Zt=Math.pow(2,25),_r=Math.pow(2,24),Fr=Math.pow(2,17),Zr=Math.pow(2,16),Vr=Math.pow(2,9),gi=Math.pow(2,8),Si=Math.pow(2,1);function Mi(le){if(le.opacity===0&&!le.placed)return 0;if(le.opacity===1&&le.placed)return 4294967295;let w=le.placed?1:0,B=Math.floor(127*le.opacity);return B*Zt+w*_r+B*Fr+w*Zr+B*Vr+w*gi+B*Si+w}let Pi=0;function Gi(){return{isOccluded:(le,w,B)=>!1,getPitchedTextCorrection:(le,w,B)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(le,w,B,Q){throw new Error("Not implemented.")},translatePosition:(le,w,B,Q)=>function(ee,se,qe,je,it=!1){if(!qe[0]&&!qe[1])return[0,0];let yt=it?je==="map"?ee.angle:0:je==="viewport"?-ee.angle:0;if(yt){let Ot=Math.sin(yt),Nt=Math.cos(yt);qe=[qe[0]*Nt-qe[1]*Ot,qe[0]*Ot+qe[1]*Nt]}return[it?qe[0]:nn(se,qe[0],ee.zoom),it?qe[1]:nn(se,qe[1],ee.zoom)]}(le,w,B,Q),getCircleRadiusCorrection:le=>1}}class Ki{constructor(w){this._sortAcrossTiles=w.layout.get("symbol-z-order")!=="viewport-y"&&!w.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(w,B,Q,ee,se){let qe=this._bucketParts;for(;this._currentTileIndexje.sortKey-it.sortKey));this._currentPartIndex!this._forceFullPlacement&&u.now()-ee>2;for(;this._currentPlacementIndex>=0;){let qe=B[w[this._currentPlacementIndex]],je=this.placement.collisionIndex.transform.zoom;if(qe.type==="symbol"&&(!qe.minzoom||qe.minzoom<=je)&&(!qe.maxzoom||qe.maxzoom>je)){if(this._inProgressLayer||(this._inProgressLayer=new Ki(qe)),this._inProgressLayer.continuePlacement(Q[qe.source],this.placement,this._showCollisionBoxes,qe,se))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(w){return this.placement.commit(w),this.placement}}let jn=512/a.X/2;class ua{constructor(w,B,Q){this.tileID=w,this.bucketInstanceId=Q,this._symbolsByKey={};let ee=new Map;for(let se=0;se({x:Math.floor(it.anchorX*jn),y:Math.floor(it.anchorY*jn)})),crossTileIDs:qe.map(it=>it.crossTileID)};if(je.positions.length>128){let it=new a.av(je.positions.length,16,Uint16Array);for(let{x:yt,y:Ot}of je.positions)it.add(yt,Ot);it.finish(),delete je.positions,je.index=it}this._symbolsByKey[se]=je}}getScaledCoordinates(w,B){let{x:Q,y:ee,z:se}=this.tileID.canonical,{x:qe,y:je,z:it}=B.canonical,yt=jn/Math.pow(2,it-se),Ot=(je*a.X+w.anchorY)*yt,Nt=ee*a.X*jn;return{x:Math.floor((qe*a.X+w.anchorX)*yt-Q*a.X*jn),y:Math.floor(Ot-Nt)}}findMatches(w,B,Q){let ee=this.tileID.canonical.zw)}}class Fa{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class Da{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(w){let B=Math.round((w-this.lng)/360);if(B!==0)for(let Q in this.indexes){let ee=this.indexes[Q],se={};for(let qe in ee){let je=ee[qe];je.tileID=je.tileID.unwrapTo(je.tileID.wrap+B),se[je.tileID.key]=je}this.indexes[Q]=se}this.lng=w}addBucket(w,B,Q){if(this.indexes[w.overscaledZ]&&this.indexes[w.overscaledZ][w.key]){if(this.indexes[w.overscaledZ][w.key].bucketInstanceId===B.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(w.overscaledZ,this.indexes[w.overscaledZ][w.key])}for(let se=0;sew.overscaledZ)for(let je in qe){let it=qe[je];it.tileID.isChildOf(w)&&it.findMatches(B.symbolInstances,w,ee)}else{let je=qe[w.scaledTo(Number(se)).key];je&&je.findMatches(B.symbolInstances,w,ee)}}for(let se=0;se{B[Q]=!0});for(let Q in this.layerIndexes)B[Q]||delete this.layerIndexes[Q]}}let sa=(le,w)=>a.t(le,w&&w.filter(B=>B.identifier!=="source.canvas")),Sn=a.aw();class Ha extends a.E{constructor(w,B={}){super(),this._rtlPluginLoaded=()=>{for(let Q in this.sourceCaches){let ee=this.sourceCaches[Q].getSource().type;ee!=="vector"&&ee!=="geojson"||this.sourceCaches[Q].reload()}},this.map=w,this.dispatcher=new Ee(Te(),w._getMapId()),this.dispatcher.registerMessageHandler("GG",(Q,ee)=>this.getGlyphs(Q,ee)),this.dispatcher.registerMessageHandler("GI",(Q,ee)=>this.getImages(Q,ee)),this.imageManager=new T,this.imageManager.setEventedParent(this),this.glyphManager=new H(w._requestManager,B.localIdeographFontFamily),this.lineAtlas=new ae(256,512),this.crossTileSymbolIndex=new jo,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new a.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("SR",a.ay()),xt().on(er,this._rtlPluginLoaded),this.on("data",Q=>{if(Q.dataType!=="source"||Q.sourceDataType!=="metadata")return;let ee=this.sourceCaches[Q.sourceId];if(!ee)return;let se=ee.getSource();if(se&&se.vectorLayerIds)for(let qe in this._layers){let je=this._layers[qe];je.source===se.id&&this._validateLayer(je)}})}loadURL(w,B={},Q){this.fire(new a.k("dataloading",{dataType:"style"})),B.validate=typeof B.validate!="boolean"||B.validate;let ee=this.map._requestManager.transformRequest(w,"Style");this._loadStyleRequest=new AbortController;let se=this._loadStyleRequest;a.h(ee,this._loadStyleRequest).then(qe=>{this._loadStyleRequest=null,this._load(qe.data,B,Q)}).catch(qe=>{this._loadStyleRequest=null,qe&&!se.signal.aborted&&this.fire(new a.j(qe))})}loadJSON(w,B={},Q){this.fire(new a.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,B.validate=B.validate!==!1,this._load(w,B,Q)}).catch(()=>{})}loadEmpty(){this.fire(new a.k("dataloading",{dataType:"style"})),this._load(Sn,{validate:!1})}_load(w,B,Q){var ee;let se=B.transformStyle?B.transformStyle(Q,w):w;if(!B.validate||!sa(this,a.u(se))){this._loaded=!0,this.stylesheet=se;for(let qe in se.sources)this.addSource(qe,se.sources[qe],{validate:!1});se.sprite?this._loadSprite(se.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(se.glyphs),this._createLayers(),this.light=new N(this.stylesheet.light),this.sky=new re(this.stylesheet.sky),this.map.setTerrain((ee=this.stylesheet.terrain)!==null&&ee!==void 0?ee:null),this.fire(new a.k("data",{dataType:"style"})),this.fire(new a.k("style.load"))}}_createLayers(){let w=a.az(this.stylesheet.layers);this.dispatcher.broadcast("SL",w),this._order=w.map(B=>B.id),this._layers={},this._serializedLayers=null;for(let B of w){let Q=a.aA(B);Q.setEventedParent(this,{layer:{id:B.id}}),this._layers[B.id]=Q}}_loadSprite(w,B=!1,Q=void 0){let ee;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(se,qe,je,it){return a._(this,void 0,void 0,function*(){let yt=C(se),Ot=je>1?"@2x":"",Nt={},hr={};for(let{id:Mr,url:he}of yt){let be=qe.transformRequest(M(he,Ot,".json"),"SpriteJSON");Nt[Mr]=a.h(be,it);let Pe=qe.transformRequest(M(he,Ot,".png"),"SpriteImage");hr[Mr]=p.getImage(Pe,it)}return yield Promise.all([...Object.values(Nt),...Object.values(hr)]),function(Mr,he){return a._(this,void 0,void 0,function*(){let be={};for(let Pe in Mr){be[Pe]={};let Oe=u.getImageCanvasContext((yield he[Pe]).data),Je=(yield Mr[Pe]).data;for(let He in Je){let{width:et,height:Mt,x:Rt,y:Ut,sdf:tr,pixelRatio:yr,stretchX:Dr,stretchY:zr,content:Xr,textFitWidth:di,textFitHeight:Li}=Je[He];be[Pe][He]={data:null,pixelRatio:yr,sdf:tr,stretchX:Dr,stretchY:zr,content:Xr,textFitWidth:di,textFitHeight:Li,spriteData:{width:et,height:Mt,x:Rt,y:Ut,context:Oe}}}}return be})}(Nt,hr)})}(w,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(se=>{if(this._spriteRequest=null,se)for(let qe in se){this._spritesImagesIds[qe]=[];let je=this._spritesImagesIds[qe]?this._spritesImagesIds[qe].filter(it=>!(it in se)):[];for(let it of je)this.imageManager.removeImage(it),this._changedImages[it]=!0;for(let it in se[qe]){let yt=qe==="default"?it:`${qe}:${it}`;this._spritesImagesIds[qe].push(yt),yt in this.imageManager.images?this.imageManager.updateImage(yt,se[qe][it],!1):this.imageManager.addImage(yt,se[qe][it]),B&&(this._changedImages[yt]=!0)}}}).catch(se=>{this._spriteRequest=null,ee=se,this.fire(new a.j(ee))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),B&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new a.k("data",{dataType:"style"})),Q&&Q(ee)})}_unloadSprite(){for(let w of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(w),this._changedImages[w]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new a.k("data",{dataType:"style"}))}_validateLayer(w){let B=this.sourceCaches[w.source];if(!B)return;let Q=w.sourceLayer;if(!Q)return;let ee=B.getSource();(ee.type==="geojson"||ee.vectorLayerIds&&ee.vectorLayerIds.indexOf(Q)===-1)&&this.fire(new a.j(new Error(`Source layer "${Q}" does not exist on source "${ee.id}" as specified by style layer "${w.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let w in this.sourceCaches)if(!this.sourceCaches[w].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(w,B=!1){let Q=this._serializedAllLayers();if(!w||w.length===0)return Object.values(B?a.aB(Q):Q);let ee=[];for(let se of w)if(Q[se]){let qe=B?a.aB(Q[se]):Q[se];ee.push(qe)}return ee}_serializedAllLayers(){let w=this._serializedLayers;if(w)return w;w=this._serializedLayers={};let B=Object.keys(this._layers);for(let Q of B){let ee=this._layers[Q];ee.type!=="custom"&&(w[Q]=ee.serialize())}return w}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let w in this.sourceCaches)if(this.sourceCaches[w].hasTransition())return!0;for(let w in this._layers)if(this._layers[w].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(w){if(!this._loaded)return;let B=this._changed;if(B){let ee=Object.keys(this._updatedLayers),se=Object.keys(this._removedLayers);(ee.length||se.length)&&this._updateWorkerLayers(ee,se);for(let qe in this._updatedSources){let je=this._updatedSources[qe];if(je==="reload")this._reloadSource(qe);else{if(je!=="clear")throw new Error(`Invalid action ${je}`);this._clearSource(qe)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let qe in this._updatedPaintProps)this._layers[qe].updateTransitions(w);this.light.updateTransitions(w),this.sky.updateTransitions(w),this._resetUpdates()}let Q={};for(let ee in this.sourceCaches){let se=this.sourceCaches[ee];Q[ee]=se.used,se.used=!1}for(let ee of this._order){let se=this._layers[ee];se.recalculate(w,this._availableImages),!se.isHidden(w.zoom)&&se.source&&(this.sourceCaches[se.source].used=!0)}for(let ee in Q){let se=this.sourceCaches[ee];!!Q[ee]!=!!se.used&&se.fire(new a.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:ee}))}this.light.recalculate(w),this.sky.recalculate(w),this.z=w.zoom,B&&this.fire(new a.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){let w=Object.keys(this._changedImages);if(w.length){for(let B in this.sourceCaches)this.sourceCaches[B].reloadTilesForDependencies(["icons","patterns"],w);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let w in this.sourceCaches)this.sourceCaches[w].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(w,B){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(w,!1),removedIds:B})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(w,B={}){var Q;this._checkLoaded();let ee=this.serialize();if(w=B.transformStyle?B.transformStyle(ee,w):w,((Q=B.validate)===null||Q===void 0||Q)&&sa(this,a.u(w)))return!1;(w=a.aB(w)).layers=a.az(w.layers);let se=a.aC(ee,w),qe=this._getOperationsToPerform(se);if(qe.unimplemented.length>0)throw new Error(`Unimplemented: ${qe.unimplemented.join(", ")}.`);if(qe.operations.length===0)return!1;for(let je of qe.operations)je();return this.stylesheet=w,this._serializedLayers=null,!0}_getOperationsToPerform(w){let B=[],Q=[];for(let ee of w)switch(ee.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":B.push(()=>this.addLayer.apply(this,ee.args));break;case"removeLayer":B.push(()=>this.removeLayer.apply(this,ee.args));break;case"setPaintProperty":B.push(()=>this.setPaintProperty.apply(this,ee.args));break;case"setLayoutProperty":B.push(()=>this.setLayoutProperty.apply(this,ee.args));break;case"setFilter":B.push(()=>this.setFilter.apply(this,ee.args));break;case"addSource":B.push(()=>this.addSource.apply(this,ee.args));break;case"removeSource":B.push(()=>this.removeSource.apply(this,ee.args));break;case"setLayerZoomRange":B.push(()=>this.setLayerZoomRange.apply(this,ee.args));break;case"setLight":B.push(()=>this.setLight.apply(this,ee.args));break;case"setGeoJSONSourceData":B.push(()=>this.setGeoJSONSourceData.apply(this,ee.args));break;case"setGlyphs":B.push(()=>this.setGlyphs.apply(this,ee.args));break;case"setSprite":B.push(()=>this.setSprite.apply(this,ee.args));break;case"setSky":B.push(()=>this.setSky.apply(this,ee.args));break;case"setTerrain":B.push(()=>this.map.setTerrain.apply(this,ee.args));break;case"setTransition":B.push(()=>{});break;default:Q.push(ee.command)}return{operations:B,unimplemented:Q}}addImage(w,B){if(this.getImage(w))return this.fire(new a.j(new Error(`An image named "${w}" already exists.`)));this.imageManager.addImage(w,B),this._afterImageUpdated(w)}updateImage(w,B){this.imageManager.updateImage(w,B)}getImage(w){return this.imageManager.getImage(w)}removeImage(w){if(!this.getImage(w))return this.fire(new a.j(new Error(`An image named "${w}" does not exist.`)));this.imageManager.removeImage(w),this._afterImageUpdated(w)}_afterImageUpdated(w){this._availableImages=this.imageManager.listImages(),this._changedImages[w]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new a.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(w,B,Q={}){if(this._checkLoaded(),this.sourceCaches[w]!==void 0)throw new Error(`Source "${w}" already exists.`);if(!B.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(B).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(B.type)>=0&&this._validate(a.u.source,`sources.${w}`,B,null,Q))return;this.map&&this.map._collectResourceTiming&&(B.collectResourceTiming=!0);let ee=this.sourceCaches[w]=new dt(w,B,this.dispatcher);ee.style=this,ee.setEventedParent(this,()=>({isSourceLoaded:ee.loaded(),source:ee.serialize(),sourceId:w})),ee.onAdd(this.map),this._changed=!0}removeSource(w){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error("There is no source with this ID");for(let Q in this._layers)if(this._layers[Q].source===w)return this.fire(new a.j(new Error(`Source "${w}" cannot be removed while layer "${Q}" is using it.`)));let B=this.sourceCaches[w];delete this.sourceCaches[w],delete this._updatedSources[w],B.fire(new a.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:w})),B.setEventedParent(null),B.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(w,B){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(`There is no source with this ID=${w}`);let Q=this.sourceCaches[w].getSource();if(Q.type!=="geojson")throw new Error(`geojsonSource.type is ${Q.type}, which is !== 'geojson`);Q.setData(B),this._changed=!0}getSource(w){return this.sourceCaches[w]&&this.sourceCaches[w].getSource()}addLayer(w,B,Q={}){this._checkLoaded();let ee=w.id;if(this.getLayer(ee))return void this.fire(new a.j(new Error(`Layer "${ee}" already exists on this map.`)));let se;if(w.type==="custom"){if(sa(this,a.aD(w)))return;se=a.aA(w)}else{if("source"in w&&typeof w.source=="object"&&(this.addSource(ee,w.source),w=a.aB(w),w=a.e(w,{source:ee})),this._validate(a.u.layer,`layers.${ee}`,w,{arrayIndex:-1},Q))return;se=a.aA(w),this._validateLayer(se),se.setEventedParent(this,{layer:{id:ee}})}let qe=B?this._order.indexOf(B):this._order.length;if(B&&qe===-1)this.fire(new a.j(new Error(`Cannot add layer "${ee}" before non-existing layer "${B}".`)));else{if(this._order.splice(qe,0,ee),this._layerOrderChanged=!0,this._layers[ee]=se,this._removedLayers[ee]&&se.source&&se.type!=="custom"){let je=this._removedLayers[ee];delete this._removedLayers[ee],je.type!==se.type?this._updatedSources[se.source]="clear":(this._updatedSources[se.source]="reload",this.sourceCaches[se.source].pause())}this._updateLayer(se),se.onAdd&&se.onAdd(this.map)}}moveLayer(w,B){if(this._checkLoaded(),this._changed=!0,!this._layers[w])return void this.fire(new a.j(new Error(`The layer '${w}' does not exist in the map's style and cannot be moved.`)));if(w===B)return;let Q=this._order.indexOf(w);this._order.splice(Q,1);let ee=B?this._order.indexOf(B):this._order.length;B&&ee===-1?this.fire(new a.j(new Error(`Cannot move layer "${w}" before non-existing layer "${B}".`))):(this._order.splice(ee,0,w),this._layerOrderChanged=!0)}removeLayer(w){this._checkLoaded();let B=this._layers[w];if(!B)return void this.fire(new a.j(new Error(`Cannot remove non-existing layer "${w}".`)));B.setEventedParent(null);let Q=this._order.indexOf(w);this._order.splice(Q,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[w]=B,delete this._layers[w],this._serializedLayers&&delete this._serializedLayers[w],delete this._updatedLayers[w],delete this._updatedPaintProps[w],B.onRemove&&B.onRemove(this.map)}getLayer(w){return this._layers[w]}getLayersOrder(){return[...this._order]}hasLayer(w){return w in this._layers}setLayerZoomRange(w,B,Q){this._checkLoaded();let ee=this.getLayer(w);ee?ee.minzoom===B&&ee.maxzoom===Q||(B!=null&&(ee.minzoom=B),Q!=null&&(ee.maxzoom=Q),this._updateLayer(ee)):this.fire(new a.j(new Error(`Cannot set the zoom range of non-existing layer "${w}".`)))}setFilter(w,B,Q={}){this._checkLoaded();let ee=this.getLayer(w);if(ee){if(!a.aE(ee.filter,B))return B==null?(ee.filter=void 0,void this._updateLayer(ee)):void(this._validate(a.u.filter,`layers.${ee.id}.filter`,B,null,Q)||(ee.filter=a.aB(B),this._updateLayer(ee)))}else this.fire(new a.j(new Error(`Cannot filter non-existing layer "${w}".`)))}getFilter(w){return a.aB(this.getLayer(w).filter)}setLayoutProperty(w,B,Q,ee={}){this._checkLoaded();let se=this.getLayer(w);se?a.aE(se.getLayoutProperty(B),Q)||(se.setLayoutProperty(B,Q,ee),this._updateLayer(se)):this.fire(new a.j(new Error(`Cannot style non-existing layer "${w}".`)))}getLayoutProperty(w,B){let Q=this.getLayer(w);if(Q)return Q.getLayoutProperty(B);this.fire(new a.j(new Error(`Cannot get style of non-existing layer "${w}".`)))}setPaintProperty(w,B,Q,ee={}){this._checkLoaded();let se=this.getLayer(w);se?a.aE(se.getPaintProperty(B),Q)||(se.setPaintProperty(B,Q,ee)&&this._updateLayer(se),this._changed=!0,this._updatedPaintProps[w]=!0,this._serializedLayers=null):this.fire(new a.j(new Error(`Cannot style non-existing layer "${w}".`)))}getPaintProperty(w,B){return this.getLayer(w).getPaintProperty(B)}setFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=w.sourceLayer,se=this.sourceCaches[Q];if(se===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let qe=se.getSource().type;qe==="geojson"&&ee?this.fire(new a.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):qe!=="vector"||ee?(w.id===void 0&&this.fire(new a.j(new Error("The feature id parameter must be provided."))),se.setFeatureState(ee,w.id,B)):this.fire(new a.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=this.sourceCaches[Q];if(ee===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let se=ee.getSource().type,qe=se==="vector"?w.sourceLayer:void 0;se!=="vector"||qe?B&&typeof w.id!="string"&&typeof w.id!="number"?this.fire(new a.j(new Error("A feature id is required to remove its specific state property."))):ee.removeFeatureState(qe,w.id,B):this.fire(new a.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(w){this._checkLoaded();let B=w.source,Q=w.sourceLayer,ee=this.sourceCaches[B];if(ee!==void 0)return ee.getSource().type!=="vector"||Q?(w.id===void 0&&this.fire(new a.j(new Error("The feature id parameter must be provided."))),ee.getFeatureState(Q,w.id)):void this.fire(new a.j(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new a.j(new Error(`The source '${B}' does not exist in the map's style.`)))}getTransition(){return a.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let w=a.aF(this.sourceCaches,se=>se.serialize()),B=this._serializeByIds(this._order,!0),Q=this.map.getTerrain()||void 0,ee=this.stylesheet;return a.aG({version:ee.version,name:ee.name,metadata:ee.metadata,light:ee.light,sky:ee.sky,center:ee.center,zoom:ee.zoom,bearing:ee.bearing,pitch:ee.pitch,sprite:ee.sprite,glyphs:ee.glyphs,transition:ee.transition,sources:w,layers:B,terrain:Q},se=>se!==void 0)}_updateLayer(w){this._updatedLayers[w.id]=!0,w.source&&!this._updatedSources[w.source]&&this.sourceCaches[w.source].getSource().type!=="raster"&&(this._updatedSources[w.source]="reload",this.sourceCaches[w.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(w){let B=qe=>this._layers[qe].type==="fill-extrusion",Q={},ee=[];for(let qe=this._order.length-1;qe>=0;qe--){let je=this._order[qe];if(B(je)){Q[je]=qe;for(let it of w){let yt=it[je];if(yt)for(let Ot of yt)ee.push(Ot)}}}ee.sort((qe,je)=>je.intersectionZ-qe.intersectionZ);let se=[];for(let qe=this._order.length-1;qe>=0;qe--){let je=this._order[qe];if(B(je))for(let it=ee.length-1;it>=0;it--){let yt=ee[it].feature;if(Q[yt.layer.id]{let tr=Oe.featureSortOrder;if(tr){let yr=tr.indexOf(Rt.featureIndex);return tr.indexOf(Ut.featureIndex)-yr}return Ut.featureIndex-Rt.featureIndex});for(let Rt of Mt)et.push(Rt)}}for(let Oe in he)he[Oe].forEach(Je=>{let He=Je.feature,et=yt[je[Oe].source].getFeatureState(He.layer["source-layer"],He.id);He.source=He.layer.source,He.layer["source-layer"]&&(He.sourceLayer=He.layer["source-layer"]),He.state=et});return he}(this._layers,qe,this.sourceCaches,w,B,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(se)}querySourceFeatures(w,B){B&&B.filter&&this._validate(a.u.filter,"querySourceFeatures.filter",B.filter,null,B);let Q=this.sourceCaches[w];return Q?function(ee,se){let qe=ee.getRenderableIds().map(yt=>ee.getTileByID(yt)),je=[],it={};for(let yt=0;ythr.getTileByID(Mr)).sort((Mr,he)=>he.tileID.overscaledZ-Mr.tileID.overscaledZ||(Mr.tileID.isLessThan(he.tileID)?-1:1))}let Nt=this.crossTileSymbolIndex.addLayer(Ot,it[Ot.source],w.center.lng);qe=qe||Nt}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((se=se||this._layerOrderChanged||Q===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(u.now(),w.zoom))&&(this.pauseablePlacement=new Ca(w,this.map.terrain,this._order,se,B,Q,ee,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,it),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(u.now()),je=!0),qe&&this.pauseablePlacement.placement.setStale()),je||qe)for(let yt of this._order){let Ot=this._layers[yt];Ot.type==="symbol"&&this.placement.updateLayerOpacities(Ot,it[Ot.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(u.now())}_releaseSymbolFadeTiles(){for(let w in this.sourceCaches)this.sourceCaches[w].releaseSymbolFadeTiles()}getImages(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.imageManager.getImages(B.icons);this._updateTilesForChangedImages();let ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,B.icons),Q})}getGlyphs(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.glyphManager.getGlyphs(B.stacks),ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,[""]),Q})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(w,B={}){this._checkLoaded(),w&&this._validate(a.u.glyphs,"glyphs",w,null,B)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=w,this.glyphManager.entries={},this.glyphManager.setURL(w))}addSprite(w,B,Q={},ee){this._checkLoaded();let se=[{id:w,url:B}],qe=[...C(this.stylesheet.sprite),...se];this._validate(a.u.sprite,"sprite",qe,null,Q)||(this.stylesheet.sprite=qe,this._loadSprite(se,!0,ee))}removeSprite(w){this._checkLoaded();let B=C(this.stylesheet.sprite);if(B.find(Q=>Q.id===w)){if(this._spritesImagesIds[w])for(let Q of this._spritesImagesIds[w])this.imageManager.removeImage(Q),this._changedImages[Q]=!0;B.splice(B.findIndex(Q=>Q.id===w),1),this.stylesheet.sprite=B.length>0?B:void 0,delete this._spritesImagesIds[w],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new a.k("data",{dataType:"style"}))}else this.fire(new a.j(new Error(`Sprite "${w}" doesn't exists on this map.`)))}getSprite(){return C(this.stylesheet.sprite)}setSprite(w,B={},Q){this._checkLoaded(),w&&this._validate(a.u.sprite,"sprite",w,null,B)||(this.stylesheet.sprite=w,w?this._loadSprite(w,!0,Q):(this._unloadSprite(),Q&&Q(null)))}}var oo=a.Y([{name:"a_pos",type:"Int16",components:2}]);let xn={prelude:_t(`#ifdef GL_ES +precision mediump float; +#else +#if !defined(lowp) +#define lowp +#endif +#if !defined(mediump) +#define mediump +#endif +#if !defined(highp) +#define highp +#endif +#endif +`,`#ifdef GL_ES +precision highp float; +#else +#if !defined(lowp) +#define lowp +#endif +#if !defined(mediump) +#define mediump +#endif +#if !defined(highp) +#define highp +#endif +#endif +vec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0 +);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;} +#ifdef TERRAIN3D +uniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth; +#endif +const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) { +#ifdef TERRAIN3D +highp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0)); +#else +return 1.0; +#endif +}float calculate_visibility(vec4 pos) { +#ifdef TERRAIN3D +vec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0; +#else +return 1.0; +#endif +}float ele(vec2 pos) { +#ifdef TERRAIN3D +vec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a; +#else +return 0.0; +#endif +}float get_elevation(vec2 pos) { +#ifdef TERRAIN3D +vec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration; +#else +return 0.0; +#endif +}`),background:_t(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:_t(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),circle:_t(`varying vec3 v_data;varying float v_visibility; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define mediump float radius +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define highp vec4 stroke_color +#pragma mapbox: define mediump float stroke_width +#pragma mapbox: define lowp float stroke_opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize mediump float radius +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize highp vec4 stroke_color +#pragma mapbox: initialize mediump float stroke_width +#pragma mapbox: initialize lowp float stroke_opacity +vec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define mediump float radius +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define highp vec4 stroke_color +#pragma mapbox: define mediump float stroke_width +#pragma mapbox: define lowp float stroke_opacity +void main(void) { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize mediump float radius +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize highp vec4 stroke_color +#pragma mapbox: initialize mediump float stroke_width +#pragma mapbox: initialize lowp float stroke_opacity +vec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:_t("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:_t(`uniform highp float u_intensity;varying vec2 v_extrude; +#pragma mapbox: define highp float weight +#define GAUSS_COEF 0.3989422804014327 +void main() { +#pragma mapbox: initialize highp float weight +float d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude; +#pragma mapbox: define highp float weight +#pragma mapbox: define mediump float radius +const highp float ZERO=1.0/255.0/16.0; +#define GAUSS_COEF 0.3989422804014327 +void main(void) { +#pragma mapbox: initialize highp float weight +#pragma mapbox: initialize mediump float radius +vec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,get_elevation(floor(a_pos*0.5)),1);gl_Position=u_matrix*pos;}`),heatmapTexture:_t(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(0.0); +#endif +}`,"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:_t("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:_t("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:_t("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}"),fill:_t(`#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float opacity +gl_FragColor=color*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec2 a_pos;uniform mat4 u_matrix; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float opacity +gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:_t(`varying vec2 v_pos; +#pragma mapbox: define highp vec4 outline_color +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 outline_color +#pragma mapbox: initialize lowp float opacity +float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos; +#pragma mapbox: define highp vec4 outline_color +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 outline_color +#pragma mapbox: initialize lowp float opacity +gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:_t(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos; +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +void main() { +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos; +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillPattern:_t(`#ifdef GL_ES +precision highp float; +#endif +uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b; +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +void main() { +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b; +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:_t(`varying vec4 v_color;void main() {gl_FragColor=v_color; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed; +#ifdef TERRAIN3D +attribute vec2 a_centroid; +#endif +varying vec4 v_color; +#pragma mapbox: define highp float base +#pragma mapbox: define highp float height +#pragma mapbox: define highp vec4 color +void main() { +#pragma mapbox: initialize highp float base +#pragma mapbox: initialize highp float height +#pragma mapbox: initialize highp vec4 color +vec3 normal=a_normal_ed.xyz; +#ifdef TERRAIN3D +float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0); +#else +float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; +#endif +base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:_t(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; +#pragma mapbox: define lowp float base +#pragma mapbox: define lowp float height +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float base +#pragma mapbox: initialize lowp float height +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed; +#ifdef TERRAIN3D +attribute vec2 a_centroid; +#endif +varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; +#pragma mapbox: define lowp float base +#pragma mapbox: define lowp float height +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float base +#pragma mapbox: initialize lowp float height +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to; +#ifdef TERRAIN3D +float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0); +#else +float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; +#endif +base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0 +? a_pos +: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:_t(`#ifdef GL_ES +precision highp float; +#endif +uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:_t(`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent; +#define PI 3.141592653589793 +void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),line:_t(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define scale 0.015873016 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; +#ifdef TERRAIN3D +v_gamma_scale=1.0; +#else +float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; +#endif +v_width2=vec2(outset,inset);}`),lineGradient:_t(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define scale 0.015873016 +attribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; +#ifdef TERRAIN3D +v_gamma_scale=1.0; +#else +float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; +#endif +v_width2=vec2(outset,inset);}`),linePattern:_t(`#ifdef GL_ES +precision highp float; +#endif +uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define scale 0.015873016 +#define LINE_DISTANCE_SCALE 2.0 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; +#ifdef TERRAIN3D +v_gamma_scale=1.0; +#else +float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; +#endif +v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:_t(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define scale 0.015873016 +#define LINE_DISTANCE_SCALE 2.0 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; +#ifdef TERRAIN3D +v_gamma_scale=1.0; +#else +float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; +#endif +v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:_t(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),symbolIcon:_t(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float opacity +lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);} +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float opacity +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:_t(`#define SDF_PX 8.0 +uniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +float EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);} +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:_t(`#define SDF_PX 8.0 +#define SDF 1.0 +#define ICON 0.0 +uniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +float fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);} +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:_t("uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}"),terrainDepth:_t("varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}"),terrainCoords:_t("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}"),sky:_t("uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}","attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}")};function _t(le,w){let B=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,Q=w.match(/attribute ([\w]+) ([\w]+)/g),ee=le.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),se=w.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),qe=se?se.concat(ee):ee,je={};return{fragmentSource:le=le.replace(B,(it,yt,Ot,Nt,hr)=>(je[hr]=!0,yt==="define"?` +#ifndef HAS_UNIFORM_u_${hr} +varying ${Ot} ${Nt} ${hr}; +#else +uniform ${Ot} ${Nt} u_${hr}; +#endif +`:` +#ifdef HAS_UNIFORM_u_${hr} + ${Ot} ${Nt} ${hr} = u_${hr}; +#endif +`)),vertexSource:w=w.replace(B,(it,yt,Ot,Nt,hr)=>{let Mr=Nt==="float"?"vec2":"vec4",he=hr.match(/color/)?"color":Mr;return je[hr]?yt==="define"?` +#ifndef HAS_UNIFORM_u_${hr} +uniform lowp float u_${hr}_t; +attribute ${Ot} ${Mr} a_${hr}; +varying ${Ot} ${Nt} ${hr}; +#else +uniform ${Ot} ${Nt} u_${hr}; +#endif +`:he==="vec4"?` +#ifndef HAS_UNIFORM_u_${hr} + ${hr} = a_${hr}; +#else + ${Ot} ${Nt} ${hr} = u_${hr}; +#endif +`:` +#ifndef HAS_UNIFORM_u_${hr} + ${hr} = unpack_mix_${he}(a_${hr}, u_${hr}_t); +#else + ${Ot} ${Nt} ${hr} = u_${hr}; +#endif +`:yt==="define"?` +#ifndef HAS_UNIFORM_u_${hr} +uniform lowp float u_${hr}_t; +attribute ${Ot} ${Mr} a_${hr}; +#else +uniform ${Ot} ${Nt} u_${hr}; +#endif +`:he==="vec4"?` +#ifndef HAS_UNIFORM_u_${hr} + ${Ot} ${Nt} ${hr} = a_${hr}; +#else + ${Ot} ${Nt} ${hr} = u_${hr}; +#endif +`:` +#ifndef HAS_UNIFORM_u_${hr} + ${Ot} ${Nt} ${hr} = unpack_mix_${he}(a_${hr}, u_${hr}_t); +#else + ${Ot} ${Nt} ${hr} = u_${hr}; +#endif +`}),staticAttributes:Q,staticUniforms:qe}}class br{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(w,B,Q,ee,se,qe,je,it,yt){this.context=w;let Ot=this.boundPaintVertexBuffers.length!==ee.length;for(let Nt=0;!Ot&&Nt({u_matrix:le,u_texture:0,u_ele_delta:w,u_fog_matrix:B,u_fog_color:Q?Q.properties.get("fog-color"):a.aM.white,u_fog_ground_blend:Q?Q.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:Q?Q.calculateFogBlendOpacity(ee):0,u_horizon_color:Q?Q.properties.get("horizon-color"):a.aM.white,u_horizon_fog_blend:Q?Q.properties.get("horizon-fog-blend"):1});function ti(le){let w=[];for(let B=0;B({u_depth:new a.aH(Rt,Ut.u_depth),u_terrain:new a.aH(Rt,Ut.u_terrain),u_terrain_dim:new a.aI(Rt,Ut.u_terrain_dim),u_terrain_matrix:new a.aJ(Rt,Ut.u_terrain_matrix),u_terrain_unpack:new a.aK(Rt,Ut.u_terrain_unpack),u_terrain_exaggeration:new a.aI(Rt,Ut.u_terrain_exaggeration)}))(w,Mt),this.binderUniforms=Q?Q.getUniforms(w,Mt):[]}draw(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Mr,he,be,Pe,Oe,Je){let He=w.gl;if(this.failedToCreate)return;if(w.program.set(this.program),w.setDepthMode(Q),w.setStencilMode(ee),w.setColorMode(se),w.setCullFace(qe),it){w.activeTexture.set(He.TEXTURE2),He.bindTexture(He.TEXTURE_2D,it.depthTexture),w.activeTexture.set(He.TEXTURE3),He.bindTexture(He.TEXTURE_2D,it.texture);for(let Mt in this.terrainUniforms)this.terrainUniforms[Mt].set(it[Mt])}for(let Mt in this.fixedUniforms)this.fixedUniforms[Mt].set(je[Mt]);be&&be.setUniforms(w,this.binderUniforms,Mr,{zoom:he});let et=0;switch(B){case He.LINES:et=2;break;case He.TRIANGLES:et=3;break;case He.LINE_STRIP:et=1}for(let Mt of hr.get()){let Rt=Mt.vaos||(Mt.vaos={});(Rt[yt]||(Rt[yt]=new br)).bind(w,this,Ot,be?be.getPaintVertexBuffers():[],Nt,Mt.vertexOffset,Pe,Oe,Je),He.drawElements(B,Mt.primitiveLength*et,He.UNSIGNED_SHORT,Mt.primitiveOffset*et*2)}}}function Yi(le,w,B){let Q=1/nn(B,1,w.transform.tileZoom),ee=Math.pow(2,B.tileID.overscaledZ),se=B.tileSize*Math.pow(2,w.transform.tileZoom)/ee,qe=se*(B.tileID.canonical.x+B.tileID.wrap*ee),je=se*B.tileID.canonical.y;return{u_image:0,u_texsize:B.imageAtlasTexture.size,u_scale:[Q,le.fromScale,le.toScale],u_fade:le.t,u_pixel_coord_upper:[qe>>16,je>>16],u_pixel_coord_lower:[65535&qe,65535&je]}}let an=(le,w,B,Q)=>{let ee=w.style.light,se=ee.properties.get("position"),qe=[se.x,se.y,se.z],je=function(){var yt=new a.A(9);return a.A!=Float32Array&&(yt[1]=0,yt[2]=0,yt[3]=0,yt[5]=0,yt[6]=0,yt[7]=0),yt[0]=1,yt[4]=1,yt[8]=1,yt}();ee.properties.get("anchor")==="viewport"&&function(yt,Ot){var Nt=Math.sin(Ot),hr=Math.cos(Ot);yt[0]=hr,yt[1]=Nt,yt[2]=0,yt[3]=-Nt,yt[4]=hr,yt[5]=0,yt[6]=0,yt[7]=0,yt[8]=1}(je,-w.transform.angle),function(yt,Ot,Nt){var hr=Ot[0],Mr=Ot[1],he=Ot[2];yt[0]=hr*Nt[0]+Mr*Nt[3]+he*Nt[6],yt[1]=hr*Nt[1]+Mr*Nt[4]+he*Nt[7],yt[2]=hr*Nt[2]+Mr*Nt[5]+he*Nt[8]}(qe,qe,je);let it=ee.properties.get("color");return{u_matrix:le,u_lightpos:qe,u_lightintensity:ee.properties.get("intensity"),u_lightcolor:[it.r,it.g,it.b],u_vertical_gradient:+B,u_opacity:Q}},hi=(le,w,B,Q,ee,se,qe)=>a.e(an(le,w,B,Q),Yi(se,w,qe),{u_height_factor:-Math.pow(2,ee.overscaledZ)/qe.tileSize/8}),Ji=le=>({u_matrix:le}),ca=(le,w,B,Q)=>a.e(Ji(le),Yi(B,w,Q)),Fn=(le,w)=>({u_matrix:le,u_world:w}),Ma=(le,w,B,Q,ee)=>a.e(ca(le,w,B,Q),{u_world:ee}),go=(le,w,B,Q)=>{let ee=le.transform,se,qe;if(Q.paint.get("circle-pitch-alignment")==="map"){let je=nn(B,1,ee.zoom);se=!0,qe=[je,je]}else se=!1,qe=ee.pixelsToGLUnits;return{u_camera_to_center_distance:ee.cameraToCenterDistance,u_scale_with_map:+(Q.paint.get("circle-pitch-scale")==="map"),u_matrix:le.translatePosMatrix(w.posMatrix,B,Q.paint.get("circle-translate"),Q.paint.get("circle-translate-anchor")),u_pitch_with_map:+se,u_device_pixel_ratio:le.pixelRatio,u_extrude_scale:qe}},Bo=(le,w,B)=>({u_matrix:le,u_inv_matrix:w,u_camera_to_center_distance:B.cameraToCenterDistance,u_viewport_size:[B.width,B.height]}),ho=(le,w,B=1)=>({u_matrix:le,u_color:w,u_overlay:0,u_overlay_scale:B}),Mo=le=>({u_matrix:le}),xo=(le,w,B,Q)=>({u_matrix:le,u_extrude_scale:nn(w,1,B),u_intensity:Q}),qs=(le,w,B,Q)=>{let ee=a.H();a.aP(ee,0,le.width,le.height,0,0,1);let se=le.context.gl;return{u_matrix:ee,u_world:[se.drawingBufferWidth,se.drawingBufferHeight],u_image:B,u_color_ramp:Q,u_opacity:w.paint.get("heatmap-opacity")}};function Cs(le,w){let B=Math.pow(2,w.canonical.z),Q=w.canonical.y;return[new a.Z(0,Q/B).toLngLat().lat,new a.Z(0,(Q+1)/B).toLngLat().lat]}let Zs=(le,w,B,Q)=>{let ee=le.transform;return{u_matrix:Ls(le,w,B,Q),u_ratio:1/nn(w,1,ee.zoom),u_device_pixel_ratio:le.pixelRatio,u_units_to_pixels:[1/ee.pixelsToGLUnits[0],1/ee.pixelsToGLUnits[1]]}},Xs=(le,w,B,Q,ee)=>a.e(Zs(le,w,B,ee),{u_image:0,u_image_height:Q}),wl=(le,w,B,Q,ee)=>{let se=le.transform,qe=cl(w,se);return{u_matrix:Ls(le,w,B,ee),u_texsize:w.imageAtlasTexture.size,u_ratio:1/nn(w,1,se.zoom),u_device_pixel_ratio:le.pixelRatio,u_image:0,u_scale:[qe,Q.fromScale,Q.toScale],u_fade:Q.t,u_units_to_pixels:[1/se.pixelsToGLUnits[0],1/se.pixelsToGLUnits[1]]}},os=(le,w,B,Q,ee,se)=>{let qe=le.lineAtlas,je=cl(w,le.transform),it=B.layout.get("line-cap")==="round",yt=qe.getDash(Q.from,it),Ot=qe.getDash(Q.to,it),Nt=yt.width*ee.fromScale,hr=Ot.width*ee.toScale;return a.e(Zs(le,w,B,se),{u_patternscale_a:[je/Nt,-yt.height/2],u_patternscale_b:[je/hr,-Ot.height/2],u_sdfgamma:qe.width/(256*Math.min(Nt,hr)*le.pixelRatio)/2,u_image:0,u_tex_y_a:yt.y,u_tex_y_b:Ot.y,u_mix:ee.t})};function cl(le,w){return 1/nn(le,1,w.tileZoom)}function Ls(le,w,B,Q){return le.translatePosMatrix(Q?Q.posMatrix:w.tileID.posMatrix,w,B.paint.get("line-translate"),B.paint.get("line-translate-anchor"))}let ml=(le,w,B,Q,ee)=>{return{u_matrix:le,u_tl_parent:w,u_scale_parent:B,u_buffer_scale:1,u_fade_t:Q.mix,u_opacity:Q.opacity*ee.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:ee.paint.get("raster-brightness-min"),u_brightness_high:ee.paint.get("raster-brightness-max"),u_saturation_factor:(qe=ee.paint.get("raster-saturation"),qe>0?1-1/(1.001-qe):-qe),u_contrast_factor:(se=ee.paint.get("raster-contrast"),se>0?1/(1-se):1+se),u_spin_weights:Ys(ee.paint.get("raster-hue-rotate"))};var se,qe};function Ys(le){le*=Math.PI/180;let w=Math.sin(le),B=Math.cos(le);return[(2*B+1)/3,(-Math.sqrt(3)*w-B+1)/3,(Math.sqrt(3)*w-B+1)/3]}let Hs=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Mr)=>{let he=qe.transform;return{u_is_size_zoom_constant:+(le==="constant"||le==="source"),u_is_size_feature_constant:+(le==="constant"||le==="camera"),u_size_t:w?w.uSizeT:0,u_size:w?w.uSize:0,u_camera_to_center_distance:he.cameraToCenterDistance,u_pitch:he.pitch/360*2*Math.PI,u_rotate_symbol:+B,u_aspect_ratio:he.width/he.height,u_fade_change:qe.options.fadeDuration?qe.symbolFadeChange:1,u_matrix:je,u_label_plane_matrix:it,u_coord_matrix:yt,u_is_text:+Nt,u_pitch_with_map:+Q,u_is_along_line:ee,u_is_variable_anchor:se,u_texsize:hr,u_texture:0,u_translation:Ot,u_pitched_scale:Mr}},Eo=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Mr,he)=>{let be=qe.transform;return a.e(Hs(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,he),{u_gamma_scale:Q?Math.cos(be._pitch)*be.cameraToCenterDistance:1,u_device_pixel_ratio:qe.pixelRatio,u_is_halo:+Mr})},hs=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Mr)=>a.e(Eo(le,w,B,Q,ee,se,qe,je,it,yt,Ot,!0,Nt,!0,Mr),{u_texsize_icon:hr,u_texture_icon:1}),$l=(le,w,B)=>({u_matrix:le,u_opacity:w,u_color:B}),ju=(le,w,B,Q,ee,se)=>a.e(function(qe,je,it,yt){let Ot=it.imageManager.getPattern(qe.from.toString()),Nt=it.imageManager.getPattern(qe.to.toString()),{width:hr,height:Mr}=it.imageManager.getPixelSize(),he=Math.pow(2,yt.tileID.overscaledZ),be=yt.tileSize*Math.pow(2,it.transform.tileZoom)/he,Pe=be*(yt.tileID.canonical.x+yt.tileID.wrap*he),Oe=be*yt.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Ot.tl,u_pattern_br_a:Ot.br,u_pattern_tl_b:Nt.tl,u_pattern_br_b:Nt.br,u_texsize:[hr,Mr],u_mix:je.t,u_pattern_size_a:Ot.displaySize,u_pattern_size_b:Nt.displaySize,u_scale_a:je.fromScale,u_scale_b:je.toScale,u_tile_units_to_pixels:1/nn(yt,1,it.transform.tileZoom),u_pixel_coord_upper:[Pe>>16,Oe>>16],u_pixel_coord_lower:[65535&Pe,65535&Oe]}}(Q,se,B,ee),{u_matrix:le,u_opacity:w}),fc={fillExtrusion:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_lightpos:new a.aN(le,w.u_lightpos),u_lightintensity:new a.aI(le,w.u_lightintensity),u_lightcolor:new a.aN(le,w.u_lightcolor),u_vertical_gradient:new a.aI(le,w.u_vertical_gradient),u_opacity:new a.aI(le,w.u_opacity)}),fillExtrusionPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_lightpos:new a.aN(le,w.u_lightpos),u_lightintensity:new a.aI(le,w.u_lightintensity),u_lightcolor:new a.aN(le,w.u_lightcolor),u_vertical_gradient:new a.aI(le,w.u_vertical_gradient),u_height_factor:new a.aI(le,w.u_height_factor),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade),u_opacity:new a.aI(le,w.u_opacity)}),fill:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix)}),fillPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),fillOutline:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world)}),fillOutlinePattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),circle:(le,w)=>({u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_scale_with_map:new a.aH(le,w.u_scale_with_map),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_extrude_scale:new a.aO(le,w.u_extrude_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_matrix:new a.aJ(le,w.u_matrix)}),collisionBox:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_pixel_extrude_scale:new a.aO(le,w.u_pixel_extrude_scale)}),collisionCircle:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_inv_matrix:new a.aJ(le,w.u_inv_matrix),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_viewport_size:new a.aO(le,w.u_viewport_size)}),debug:(le,w)=>({u_color:new a.aL(le,w.u_color),u_matrix:new a.aJ(le,w.u_matrix),u_overlay:new a.aH(le,w.u_overlay),u_overlay_scale:new a.aI(le,w.u_overlay_scale)}),clippingMask:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix)}),heatmap:(le,w)=>({u_extrude_scale:new a.aI(le,w.u_extrude_scale),u_intensity:new a.aI(le,w.u_intensity),u_matrix:new a.aJ(le,w.u_matrix)}),heatmapTexture:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world),u_image:new a.aH(le,w.u_image),u_color_ramp:new a.aH(le,w.u_color_ramp),u_opacity:new a.aI(le,w.u_opacity)}),hillshade:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_latrange:new a.aO(le,w.u_latrange),u_light:new a.aO(le,w.u_light),u_shadow:new a.aL(le,w.u_shadow),u_highlight:new a.aL(le,w.u_highlight),u_accent:new a.aL(le,w.u_accent)}),hillshadePrepare:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_dimension:new a.aO(le,w.u_dimension),u_zoom:new a.aI(le,w.u_zoom),u_unpack:new a.aK(le,w.u_unpack)}),line:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels)}),lineGradient:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_image:new a.aH(le,w.u_image),u_image_height:new a.aI(le,w.u_image_height)}),linePattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texsize:new a.aO(le,w.u_texsize),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_image:new a.aH(le,w.u_image),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),lineSDF:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_patternscale_a:new a.aO(le,w.u_patternscale_a),u_patternscale_b:new a.aO(le,w.u_patternscale_b),u_sdfgamma:new a.aI(le,w.u_sdfgamma),u_image:new a.aH(le,w.u_image),u_tex_y_a:new a.aI(le,w.u_tex_y_a),u_tex_y_b:new a.aI(le,w.u_tex_y_b),u_mix:new a.aI(le,w.u_mix)}),raster:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_tl_parent:new a.aO(le,w.u_tl_parent),u_scale_parent:new a.aI(le,w.u_scale_parent),u_buffer_scale:new a.aI(le,w.u_buffer_scale),u_fade_t:new a.aI(le,w.u_fade_t),u_opacity:new a.aI(le,w.u_opacity),u_image0:new a.aH(le,w.u_image0),u_image1:new a.aH(le,w.u_image1),u_brightness_low:new a.aI(le,w.u_brightness_low),u_brightness_high:new a.aI(le,w.u_brightness_high),u_saturation_factor:new a.aI(le,w.u_saturation_factor),u_contrast_factor:new a.aI(le,w.u_contrast_factor),u_spin_weights:new a.aN(le,w.u_spin_weights)}),symbolIcon:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texture:new a.aH(le,w.u_texture),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),symbolSDF:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texture:new a.aH(le,w.u_texture),u_gamma_scale:new a.aI(le,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_is_halo:new a.aH(le,w.u_is_halo),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),symbolTextAndIcon:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texsize_icon:new a.aO(le,w.u_texsize_icon),u_texture:new a.aH(le,w.u_texture),u_texture_icon:new a.aH(le,w.u_texture_icon),u_gamma_scale:new a.aI(le,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_is_halo:new a.aH(le,w.u_is_halo),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),background:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_opacity:new a.aI(le,w.u_opacity),u_color:new a.aL(le,w.u_color)}),backgroundPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_opacity:new a.aI(le,w.u_opacity),u_image:new a.aH(le,w.u_image),u_pattern_tl_a:new a.aO(le,w.u_pattern_tl_a),u_pattern_br_a:new a.aO(le,w.u_pattern_br_a),u_pattern_tl_b:new a.aO(le,w.u_pattern_tl_b),u_pattern_br_b:new a.aO(le,w.u_pattern_br_b),u_texsize:new a.aO(le,w.u_texsize),u_mix:new a.aI(le,w.u_mix),u_pattern_size_a:new a.aO(le,w.u_pattern_size_a),u_pattern_size_b:new a.aO(le,w.u_pattern_size_b),u_scale_a:new a.aI(le,w.u_scale_a),u_scale_b:new a.aI(le,w.u_scale_b),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_tile_units_to_pixels:new a.aI(le,w.u_tile_units_to_pixels)}),terrain:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texture:new a.aH(le,w.u_texture),u_ele_delta:new a.aI(le,w.u_ele_delta),u_fog_matrix:new a.aJ(le,w.u_fog_matrix),u_fog_color:new a.aL(le,w.u_fog_color),u_fog_ground_blend:new a.aI(le,w.u_fog_ground_blend),u_fog_ground_blend_opacity:new a.aI(le,w.u_fog_ground_blend_opacity),u_horizon_color:new a.aL(le,w.u_horizon_color),u_horizon_fog_blend:new a.aI(le,w.u_horizon_fog_blend)}),terrainDepth:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ele_delta:new a.aI(le,w.u_ele_delta)}),terrainCoords:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texture:new a.aH(le,w.u_texture),u_terrain_coords_id:new a.aI(le,w.u_terrain_coords_id),u_ele_delta:new a.aI(le,w.u_ele_delta)}),sky:(le,w)=>({u_sky_color:new a.aL(le,w.u_sky_color),u_horizon_color:new a.aL(le,w.u_horizon_color),u_horizon:new a.aI(le,w.u_horizon),u_sky_horizon_blend:new a.aI(le,w.u_sky_horizon_blend)})};class ys{constructor(w,B,Q){this.context=w;let ee=w.gl;this.buffer=ee.createBuffer(),this.dynamicDraw=!!Q,this.context.unbindVAO(),w.bindElementBuffer.set(this.buffer),ee.bufferData(ee.ELEMENT_ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?ee.DYNAMIC_DRAW:ee.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(w){let B=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),B.bufferSubData(B.ELEMENT_ARRAY_BUFFER,0,w.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let on={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class ha{constructor(w,B,Q,ee){this.length=B.length,this.attributes=Q,this.itemSize=B.bytesPerElement,this.dynamicDraw=ee,this.context=w;let se=w.gl;this.buffer=se.createBuffer(),w.bindVertexBuffer.set(this.buffer),se.bufferData(se.ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?se.DYNAMIC_DRAW:se.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(w){if(w.length!==this.length)throw new Error(`Length of new data is ${w.length}, which doesn't match current length of ${this.length}`);let B=this.context.gl;this.bind(),B.bufferSubData(B.ARRAY_BUFFER,0,w.arrayBuffer)}enableAttributes(w,B){for(let Q=0;Q0){let Rt=a.H();a.aQ(Rt,He.placementInvProjMatrix,le.transform.glCoordMatrix),a.aQ(Rt,Rt,He.placementViewportMatrix),it.push({circleArray:Mt,circleOffset:Ot,transform:Je.posMatrix,invTransform:Rt,coord:Je}),yt+=Mt.length/4,Ot=yt}et&&je.draw(se,qe.LINES,wo.disabled,Qo.disabled,le.colorModeForRenderPass(),$a.disabled,{u_matrix:Je.posMatrix,u_pixel_extrude_scale:[1/(Nt=le.transform).width,1/Nt.height]},le.style.map.terrain&&le.style.map.terrain.getTerrainData(Je),B.id,et.layoutVertexBuffer,et.indexBuffer,et.segments,null,le.transform.zoom,null,null,et.collisionVertexBuffer)}var Nt;if(!ee||!it.length)return;let hr=le.useProgram("collisionCircle"),Mr=new a.aR;Mr.resize(4*yt),Mr._trim();let he=0;for(let Oe of it)for(let Je=0;Je=0&&(Oe[He.associatedIconIndex]={shiftedAnchor:Mn,angle:pa})}else ai(He.numGlyphs,be)}if(yt){Pe.clear();let Je=le.icon.placedSymbolArray;for(let He=0;Hele.style.map.terrain.getElevation(zr,tt,zt):null,wt=B.layout.get("text-rotation-alignment")==="map";Ve(di,zr.posMatrix,le,ee,Vl,cu,Oe,yt,wt,be,zr.toUnwrapped(),he.width,he.height,el,We)}let Rl=zr.posMatrix,zl=ee&&tr||zc,Z=Je||zl?uu:Vl,oe=Yu,we=Qi&&B.paint.get(ee?"text-halo-width":"icon-halo-width").constantOr(1)!==0,Be;Be=Qi?di.iconsInText?hs(Mn.kind,Ga,He,Oe,Je,zl,le,Rl,Z,oe,el,Wa,Ss,Dr):Eo(Mn.kind,Ga,He,Oe,Je,zl,le,Rl,Z,oe,el,ee,Wa,!0,Dr):Hs(Mn.kind,Ga,He,Oe,Je,zl,le,Rl,Z,oe,el,ee,Wa,Dr);let Ue={program:ea,buffers:Li,uniformValues:Be,atlasTexture:co,atlasTextureIcon:yo,atlasInterpolation:Do,atlasInterpolationIcon:zs,isSDF:Qi,hasHalo:we};if(Mt&&di.canOverlap){Rt=!0;let We=Li.segments.get();for(let wt of We)yr.push({segments:new a.a0([wt]),sortKey:wt.sortKey,state:Ue,terrainData:To})}else yr.push({segments:Li.segments,sortKey:0,state:Ue,terrainData:To})}Rt&&yr.sort((zr,Xr)=>zr.sortKey-Xr.sortKey);for(let zr of yr){let Xr=zr.state;if(hr.activeTexture.set(Mr.TEXTURE0),Xr.atlasTexture.bind(Xr.atlasInterpolation,Mr.CLAMP_TO_EDGE),Xr.atlasTextureIcon&&(hr.activeTexture.set(Mr.TEXTURE1),Xr.atlasTextureIcon&&Xr.atlasTextureIcon.bind(Xr.atlasInterpolationIcon,Mr.CLAMP_TO_EDGE)),Xr.isSDF){let di=Xr.uniformValues;Xr.hasHalo&&(di.u_is_halo=1,Lh(Xr.buffers,zr.segments,B,le,Xr.program,Ut,Ot,Nt,di,zr.terrainData)),di.u_is_halo=0}Lh(Xr.buffers,zr.segments,B,le,Xr.program,Ut,Ot,Nt,Xr.uniformValues,zr.terrainData)}}function Lh(le,w,B,Q,ee,se,qe,je,it,yt){let Ot=Q.context;ee.draw(Ot,Ot.gl.TRIANGLES,se,qe,je,$a.disabled,it,yt,B.id,le.layoutVertexBuffer,le.indexBuffer,w,B.paint,Q.transform.zoom,le.programConfigurations.get(B.id),le.dynamicLayoutVertexBuffer,le.opacityVertexBuffer)}function oh(le,w,B,Q){let ee=le.context,se=ee.gl,qe=Qo.disabled,je=new Is([se.ONE,se.ONE],a.aM.transparent,[!0,!0,!0,!0]),it=w.getBucket(B);if(!it)return;let yt=Q.key,Ot=B.heatmapFbos.get(yt);Ot||(Ot=Ph(ee,w.tileSize,w.tileSize),B.heatmapFbos.set(yt,Ot)),ee.bindFramebuffer.set(Ot.framebuffer),ee.viewport.set([0,0,w.tileSize,w.tileSize]),ee.clear({color:a.aM.transparent});let Nt=it.programConfigurations.get(B.id),hr=le.useProgram("heatmap",Nt),Mr=le.style.map.terrain.getTerrainData(Q);hr.draw(ee,se.TRIANGLES,wo.disabled,qe,je,$a.disabled,xo(Q.posMatrix,w,le.transform.zoom,B.paint.get("heatmap-intensity")),Mr,B.id,it.layoutVertexBuffer,it.indexBuffer,it.segments,B.paint,le.transform.zoom,Nt)}function hf(le,w,B){let Q=le.context,ee=Q.gl;Q.setColorMode(le.colorModeForRenderPass());let se=$h(Q,w),qe=B.key,je=w.heatmapFbos.get(qe);je&&(Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,je.colorAttachment.get()),Q.activeTexture.set(ee.TEXTURE1),se.bind(ee.LINEAR,ee.CLAMP_TO_EDGE),le.useProgram("heatmapTexture").draw(Q,ee.TRIANGLES,wo.disabled,Qo.disabled,le.colorModeForRenderPass(),$a.disabled,qs(le,w,0,1),null,w.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments,w.paint,le.transform.zoom),je.destroy(),w.heatmapFbos.delete(qe))}function Ph(le,w,B){var Q,ee;let se=le.gl,qe=se.createTexture();se.bindTexture(se.TEXTURE_2D,qe),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_S,se.CLAMP_TO_EDGE),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_T,se.CLAMP_TO_EDGE),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MIN_FILTER,se.LINEAR),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MAG_FILTER,se.LINEAR);let je=(Q=le.HALF_FLOAT)!==null&&Q!==void 0?Q:se.UNSIGNED_BYTE,it=(ee=le.RGBA16F)!==null&&ee!==void 0?ee:se.RGBA;se.texImage2D(se.TEXTURE_2D,0,it,w,B,0,se.RGBA,je,null);let yt=le.createFramebuffer(w,B,!1,!1);return yt.colorAttachment.set(qe),yt}function $h(le,w){return w.colorRampTexture||(w.colorRampTexture=new g(le,w.colorRamp,le.gl.RGBA)),w.colorRampTexture}function rc(le,w,B,Q,ee){if(!B||!Q||!Q.imageAtlas)return;let se=Q.imageAtlas.patternPositions,qe=se[B.to.toString()],je=se[B.from.toString()];if(!qe&&je&&(qe=je),!je&&qe&&(je=qe),!qe||!je){let it=ee.getPaintProperty(w);qe=se[it],je=se[it]}qe&&je&&le.setConstantPatternPositions(qe,je)}function sh(le,w,B,Q,ee,se,qe){let je=le.context.gl,it="fill-pattern",yt=B.paint.get(it),Ot=yt&&yt.constantOr(1),Nt=B.getCrossfadeParameters(),hr,Mr,he,be,Pe;qe?(Mr=Ot&&!B.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",hr=je.LINES):(Mr=Ot?"fillPattern":"fill",hr=je.TRIANGLES);let Oe=yt.constantOr(null);for(let Je of Q){let He=w.getTile(Je);if(Ot&&!He.patternsLoaded())continue;let et=He.getBucket(B);if(!et)continue;let Mt=et.programConfigurations.get(B.id),Rt=le.useProgram(Mr,Mt),Ut=le.style.map.terrain&&le.style.map.terrain.getTerrainData(Je);Ot&&(le.context.activeTexture.set(je.TEXTURE0),He.imageAtlasTexture.bind(je.LINEAR,je.CLAMP_TO_EDGE),Mt.updatePaintBuffers(Nt)),rc(Mt,it,Oe,He,B);let tr=Ut?Je:null,yr=le.translatePosMatrix(tr?tr.posMatrix:Je.posMatrix,He,B.paint.get("fill-translate"),B.paint.get("fill-translate-anchor"));if(qe){be=et.indexBuffer2,Pe=et.segments2;let Dr=[je.drawingBufferWidth,je.drawingBufferHeight];he=Mr==="fillOutlinePattern"&&Ot?Ma(yr,le,Nt,He,Dr):Fn(yr,Dr)}else be=et.indexBuffer,Pe=et.segments,he=Ot?ca(yr,le,Nt,He):Ji(yr);Rt.draw(le.context,hr,ee,le.stencilModeForClipping(Je),se,$a.disabled,he,Ut,B.id,et.layoutVertexBuffer,be,Pe,B.paint,le.transform.zoom,Mt)}}function Wc(le,w,B,Q,ee,se,qe){let je=le.context,it=je.gl,yt="fill-extrusion-pattern",Ot=B.paint.get(yt),Nt=Ot.constantOr(1),hr=B.getCrossfadeParameters(),Mr=B.paint.get("fill-extrusion-opacity"),he=Ot.constantOr(null);for(let be of Q){let Pe=w.getTile(be),Oe=Pe.getBucket(B);if(!Oe)continue;let Je=le.style.map.terrain&&le.style.map.terrain.getTerrainData(be),He=Oe.programConfigurations.get(B.id),et=le.useProgram(Nt?"fillExtrusionPattern":"fillExtrusion",He);Nt&&(le.context.activeTexture.set(it.TEXTURE0),Pe.imageAtlasTexture.bind(it.LINEAR,it.CLAMP_TO_EDGE),He.updatePaintBuffers(hr)),rc(He,yt,he,Pe,B);let Mt=le.translatePosMatrix(be.posMatrix,Pe,B.paint.get("fill-extrusion-translate"),B.paint.get("fill-extrusion-translate-anchor")),Rt=B.paint.get("fill-extrusion-vertical-gradient"),Ut=Nt?hi(Mt,le,Rt,Mr,be,hr,Pe):an(Mt,le,Rt,Mr);et.draw(je,je.gl.TRIANGLES,ee,se,qe,$a.backCCW,Ut,Je,B.id,Oe.layoutVertexBuffer,Oe.indexBuffer,Oe.segments,B.paint,le.transform.zoom,He,le.style.map.terrain&&Oe.centroidVertexBuffer)}}function df(le,w,B,Q,ee,se,qe){let je=le.context,it=je.gl,yt=B.fbo;if(!yt)return;let Ot=le.useProgram("hillshade"),Nt=le.style.map.terrain&&le.style.map.terrain.getTerrainData(w);je.activeTexture.set(it.TEXTURE0),it.bindTexture(it.TEXTURE_2D,yt.colorAttachment.get()),Ot.draw(je,it.TRIANGLES,ee,se,qe,$a.disabled,((hr,Mr,he,be)=>{let Pe=he.paint.get("hillshade-shadow-color"),Oe=he.paint.get("hillshade-highlight-color"),Je=he.paint.get("hillshade-accent-color"),He=he.paint.get("hillshade-illumination-direction")*(Math.PI/180);he.paint.get("hillshade-illumination-anchor")==="viewport"&&(He-=hr.transform.angle);let et=!hr.options.moving;return{u_matrix:be?be.posMatrix:hr.transform.calculatePosMatrix(Mr.tileID.toUnwrapped(),et),u_image:0,u_latrange:Cs(0,Mr.tileID),u_light:[he.paint.get("hillshade-exaggeration"),He],u_shadow:Pe,u_highlight:Oe,u_accent:Je}})(le,B,Q,Nt?w:null),Nt,Q.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments)}function Cu(le,w,B,Q,ee,se){let qe=le.context,je=qe.gl,it=w.dem;if(it&&it.data){let yt=it.dim,Ot=it.stride,Nt=it.getPixels();if(qe.activeTexture.set(je.TEXTURE1),qe.pixelStoreUnpackPremultiplyAlpha.set(!1),w.demTexture=w.demTexture||le.getTileTexture(Ot),w.demTexture){let Mr=w.demTexture;Mr.update(Nt,{premultiply:!1}),Mr.bind(je.NEAREST,je.CLAMP_TO_EDGE)}else w.demTexture=new g(qe,Nt,je.RGBA,{premultiply:!1}),w.demTexture.bind(je.NEAREST,je.CLAMP_TO_EDGE);qe.activeTexture.set(je.TEXTURE0);let hr=w.fbo;if(!hr){let Mr=new g(qe,{width:yt,height:yt,data:null},je.RGBA);Mr.bind(je.LINEAR,je.CLAMP_TO_EDGE),hr=w.fbo=qe.createFramebuffer(yt,yt,!0,!1),hr.colorAttachment.set(Mr.texture)}qe.bindFramebuffer.set(hr.framebuffer),qe.viewport.set([0,0,yt,yt]),le.useProgram("hillshadePrepare").draw(qe,je.TRIANGLES,Q,ee,se,$a.disabled,((Mr,he)=>{let be=he.stride,Pe=a.H();return a.aP(Pe,0,a.X,-a.X,0,0,1),a.J(Pe,Pe,[0,-a.X,0]),{u_matrix:Pe,u_image:1,u_dimension:[be,be],u_zoom:Mr.overscaledZ,u_unpack:he.getUnpackVector()}})(w.tileID,it),null,B.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments),w.needsHillshadePrepare=!1}}function Uf(le,w,B,Q,ee,se){let qe=Q.paint.get("raster-fade-duration");if(!se&&qe>0){let je=u.now(),it=(je-le.timeAdded)/qe,yt=w?(je-w.timeAdded)/qe:-1,Ot=B.getSource(),Nt=ee.coveringZoomLevel({tileSize:Ot.tileSize,roundZoom:Ot.roundZoom}),hr=!w||Math.abs(w.tileID.overscaledZ-Nt)>Math.abs(le.tileID.overscaledZ-Nt),Mr=hr&&le.refreshedUponExpiration?1:a.ac(hr?it:1-yt,0,1);return le.refreshedUponExpiration&&it>=1&&(le.refreshedUponExpiration=!1),w?{opacity:1,mix:1-Mr}:{opacity:Mr,mix:0}}return{opacity:1,mix:0}}let Zc=new a.aM(1,0,0,1),vs=new a.aM(0,1,0,1),Ih=new a.aM(0,0,1,1),Nd=new a.aM(1,0,1,1),Qh=new a.aM(0,1,1,1);function Cf(le,w,B,Q){Lu(le,0,w+B/2,le.transform.width,B,Q)}function gd(le,w,B,Q){Lu(le,w-B/2,0,B,le.transform.height,Q)}function Lu(le,w,B,Q,ee,se){let qe=le.context,je=qe.gl;je.enable(je.SCISSOR_TEST),je.scissor(w*le.pixelRatio,B*le.pixelRatio,Q*le.pixelRatio,ee*le.pixelRatio),qe.clear({color:se}),je.disable(je.SCISSOR_TEST)}function ed(le,w,B){let Q=le.context,ee=Q.gl,se=B.posMatrix,qe=le.useProgram("debug"),je=wo.disabled,it=Qo.disabled,yt=le.colorModeForRenderPass(),Ot="$debug",Nt=le.style.map.terrain&&le.style.map.terrain.getTerrainData(B);Q.activeTexture.set(ee.TEXTURE0);let hr=w.getTileByID(B.key).latestRawTileData,Mr=Math.floor((hr&&hr.byteLength||0)/1024),he=w.getTile(B).tileSize,be=512/Math.min(he,512)*(B.overscaledZ/le.transform.zoom)*.5,Pe=B.canonical.toString();B.overscaledZ!==B.canonical.z&&(Pe+=` => ${B.overscaledZ}`),function(Oe,Je){Oe.initDebugOverlayCanvas();let He=Oe.debugOverlayCanvas,et=Oe.context.gl,Mt=Oe.debugOverlayCanvas.getContext("2d");Mt.clearRect(0,0,He.width,He.height),Mt.shadowColor="white",Mt.shadowBlur=2,Mt.lineWidth=1.5,Mt.strokeStyle="white",Mt.textBaseline="top",Mt.font="bold 36px Open Sans, sans-serif",Mt.fillText(Je,5,5),Mt.strokeText(Je,5,5),Oe.debugOverlayTexture.update(He),Oe.debugOverlayTexture.bind(et.LINEAR,et.CLAMP_TO_EDGE)}(le,`${Pe} ${Mr}kB`),qe.draw(Q,ee.TRIANGLES,je,it,Is.alphaBlended,$a.disabled,ho(se,a.aM.transparent,be),null,Ot,le.debugBuffer,le.quadTriangleIndexBuffer,le.debugSegments),qe.draw(Q,ee.LINE_STRIP,je,it,yt,$a.disabled,ho(se,a.aM.red),Nt,Ot,le.debugBuffer,le.tileBorderIndexBuffer,le.debugSegments)}function eu(le,w,B){let Q=le.context,ee=Q.gl,se=le.colorModeForRenderPass(),qe=new wo(ee.LEQUAL,wo.ReadWrite,le.depthRangeFor3D),je=le.useProgram("terrain"),it=w.getTerrainMesh();Q.bindFramebuffer.set(null),Q.viewport.set([0,0,le.width,le.height]);for(let yt of B){let Ot=le.renderToTexture.getTexture(yt),Nt=w.getTerrainData(yt.tileID);Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,Ot.texture);let hr=le.transform.calculatePosMatrix(yt.tileID.toUnwrapped()),Mr=w.getMeshFrameDelta(le.transform.zoom),he=le.transform.calculateFogMatrix(yt.tileID.toUnwrapped()),be=Hr(hr,Mr,he,le.style.sky,le.transform.pitch);je.draw(Q,ee.TRIANGLES,qe,Qo.disabled,se,$a.backCCW,be,Nt,"terrain",it.vertexBuffer,it.indexBuffer,it.segments)}}class Pu{constructor(w,B,Q){this.vertexBuffer=w,this.indexBuffer=B,this.segments=Q}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class Lc{constructor(w,B){this.context=new sv(w),this.transform=B,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:a.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=dt.maxUnderzooming+dt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new jo}resize(w,B,Q){if(this.width=Math.floor(w*Q),this.height=Math.floor(B*Q),this.pixelRatio=Q,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let ee of this.style._order)this.style._layers[ee].resize()}setup(){let w=this.context,B=new a.aX;B.emplaceBack(0,0),B.emplaceBack(a.X,0),B.emplaceBack(0,a.X),B.emplaceBack(a.X,a.X),this.tileExtentBuffer=w.createVertexBuffer(B,oo.members),this.tileExtentSegments=a.a0.simpleSegment(0,0,4,2);let Q=new a.aX;Q.emplaceBack(0,0),Q.emplaceBack(a.X,0),Q.emplaceBack(0,a.X),Q.emplaceBack(a.X,a.X),this.debugBuffer=w.createVertexBuffer(Q,oo.members),this.debugSegments=a.a0.simpleSegment(0,0,4,5);let ee=new a.$;ee.emplaceBack(0,0,0,0),ee.emplaceBack(a.X,0,a.X,0),ee.emplaceBack(0,a.X,0,a.X),ee.emplaceBack(a.X,a.X,a.X,a.X),this.rasterBoundsBuffer=w.createVertexBuffer(ee,ot.members),this.rasterBoundsSegments=a.a0.simpleSegment(0,0,4,2);let se=new a.aX;se.emplaceBack(0,0),se.emplaceBack(1,0),se.emplaceBack(0,1),se.emplaceBack(1,1),this.viewportBuffer=w.createVertexBuffer(se,oo.members),this.viewportSegments=a.a0.simpleSegment(0,0,4,2);let qe=new a.aZ;qe.emplaceBack(0),qe.emplaceBack(1),qe.emplaceBack(3),qe.emplaceBack(2),qe.emplaceBack(0),this.tileBorderIndexBuffer=w.createIndexBuffer(qe);let je=new a.aY;je.emplaceBack(0,1,2),je.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=w.createIndexBuffer(je);let it=this.context.gl;this.stencilClearMode=new Qo({func:it.ALWAYS,mask:0},0,255,it.ZERO,it.ZERO,it.ZERO)}clearStencil(){let w=this.context,B=w.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let Q=a.H();a.aP(Q,0,this.width,this.height,0,0,1),a.K(Q,Q,[B.drawingBufferWidth,B.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(w,B.TRIANGLES,wo.disabled,this.stencilClearMode,Is.disabled,$a.disabled,Mo(Q),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(w,B){if(this.currentStencilSource===w.source||!w.isTileClipped()||!B||!B.length)return;this.currentStencilSource=w.source;let Q=this.context,ee=Q.gl;this.nextStencilID+B.length>256&&this.clearStencil(),Q.setColorMode(Is.disabled),Q.setDepthMode(wo.disabled);let se=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(let qe of B){let je=this._tileClippingMaskIDs[qe.key]=this.nextStencilID++,it=this.style.map.terrain&&this.style.map.terrain.getTerrainData(qe);se.draw(Q,ee.TRIANGLES,wo.disabled,new Qo({func:ee.ALWAYS,mask:0},je,255,ee.KEEP,ee.KEEP,ee.REPLACE),Is.disabled,$a.disabled,Mo(qe.posMatrix),it,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let w=this.nextStencilID++,B=this.context.gl;return new Qo({func:B.NOTEQUAL,mask:255},w,255,B.KEEP,B.KEEP,B.REPLACE)}stencilModeForClipping(w){let B=this.context.gl;return new Qo({func:B.EQUAL,mask:255},this._tileClippingMaskIDs[w.key],0,B.KEEP,B.KEEP,B.REPLACE)}stencilConfigForOverlap(w){let B=this.context.gl,Q=w.sort((qe,je)=>je.overscaledZ-qe.overscaledZ),ee=Q[Q.length-1].overscaledZ,se=Q[0].overscaledZ-ee+1;if(se>1){this.currentStencilSource=void 0,this.nextStencilID+se>256&&this.clearStencil();let qe={};for(let je=0;je({u_sky_color:Oe.properties.get("sky-color"),u_horizon_color:Oe.properties.get("horizon-color"),u_horizon:(Je.height/2+Je.getHorizon())*He,u_sky_horizon_blend:Oe.properties.get("sky-horizon-blend")*Je.height/2*He}))(yt,it.style.map.transform,it.pixelRatio),Mr=new wo(Nt.LEQUAL,wo.ReadWrite,[0,1]),he=Qo.disabled,be=it.colorModeForRenderPass(),Pe=it.useProgram("sky");if(!yt.mesh){let Oe=new a.aX;Oe.emplaceBack(-1,-1),Oe.emplaceBack(1,-1),Oe.emplaceBack(1,1),Oe.emplaceBack(-1,1);let Je=new a.aY;Je.emplaceBack(0,1,2),Je.emplaceBack(0,2,3),yt.mesh=new Pu(Ot.createVertexBuffer(Oe,oo.members),Ot.createIndexBuffer(Je),a.a0.simpleSegment(0,0,Oe.length,Je.length))}Pe.draw(Ot,Nt.TRIANGLES,Mr,he,be,$a.disabled,hr,void 0,"sky",yt.mesh.vertexBuffer,yt.mesh.indexBuffer,yt.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=B.showOverdrawInspector,this.depthRangeFor3D=[0,1-(w._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=Q.length-1;this.currentLayer>=0;this.currentLayer--){let it=this.style._layers[Q[this.currentLayer]],yt=ee[it.source],Ot=se[it.source];this._renderTileClippingMasks(it,Ot),this.renderLayer(this,yt,it,Ot)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerPe.source&&!Pe.isHidden(Ot)?[yt.sourceCaches[Pe.source]]:[]),Mr=hr.filter(Pe=>Pe.getSource().type==="vector"),he=hr.filter(Pe=>Pe.getSource().type!=="vector"),be=Pe=>{(!Nt||Nt.getSource().maxzoombe(Pe)),Nt||he.forEach(Pe=>be(Pe)),Nt}(this.style,this.transform.zoom);it&&function(yt,Ot,Nt){for(let hr=0;hr0),ee&&(a.b0(B,Q),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(se,qe){let je=se.context,it=je.gl,yt=Is.unblended,Ot=new wo(it.LEQUAL,wo.ReadWrite,[0,1]),Nt=qe.getTerrainMesh(),hr=qe.sourceCache.getRenderableTiles(),Mr=se.useProgram("terrainDepth");je.bindFramebuffer.set(qe.getFramebuffer("depth").framebuffer),je.viewport.set([0,0,se.width/devicePixelRatio,se.height/devicePixelRatio]),je.clear({color:a.aM.transparent,depth:1});for(let he of hr){let be=qe.getTerrainData(he.tileID),Pe={u_matrix:se.transform.calculatePosMatrix(he.tileID.toUnwrapped()),u_ele_delta:qe.getMeshFrameDelta(se.transform.zoom)};Mr.draw(je,it.TRIANGLES,Ot,Qo.disabled,yt,$a.backCCW,Pe,be,"terrain",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments)}je.bindFramebuffer.set(null),je.viewport.set([0,0,se.width,se.height])}(this,this.style.map.terrain),function(se,qe){let je=se.context,it=je.gl,yt=Is.unblended,Ot=new wo(it.LEQUAL,wo.ReadWrite,[0,1]),Nt=qe.getTerrainMesh(),hr=qe.getCoordsTexture(),Mr=qe.sourceCache.getRenderableTiles(),he=se.useProgram("terrainCoords");je.bindFramebuffer.set(qe.getFramebuffer("coords").framebuffer),je.viewport.set([0,0,se.width/devicePixelRatio,se.height/devicePixelRatio]),je.clear({color:a.aM.transparent,depth:1}),qe.coordsIndex=[];for(let be of Mr){let Pe=qe.getTerrainData(be.tileID);je.activeTexture.set(it.TEXTURE0),it.bindTexture(it.TEXTURE_2D,hr.texture);let Oe={u_matrix:se.transform.calculatePosMatrix(be.tileID.toUnwrapped()),u_terrain_coords_id:(255-qe.coordsIndex.length)/255,u_texture:0,u_ele_delta:qe.getMeshFrameDelta(se.transform.zoom)};he.draw(je,it.TRIANGLES,Ot,Qo.disabled,yt,$a.backCCW,Oe,Pe,"terrain",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments),qe.coordsIndex.push(be.tileID.key)}je.bindFramebuffer.set(null),je.viewport.set([0,0,se.width,se.height])}(this,this.style.map.terrain))}renderLayer(w,B,Q,ee){if(!Q.isHidden(this.transform.zoom)&&(Q.type==="background"||Q.type==="custom"||(ee||[]).length))switch(this.id=Q.id,Q.type){case"symbol":(function(se,qe,je,it,yt){if(se.renderPass!=="translucent")return;let Ot=Qo.disabled,Nt=se.colorModeForRenderPass();(je._unevaluatedLayout.hasValue("text-variable-anchor")||je._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(hr,Mr,he,be,Pe,Oe,Je,He,et){let Mt=Mr.transform,Rt=Gi(),Ut=Pe==="map",tr=Oe==="map";for(let yr of hr){let Dr=be.getTile(yr),zr=Dr.getBucket(he);if(!zr||!zr.text||!zr.text.segments.get().length)continue;let Xr=a.ag(zr.textSizeData,Mt.zoom),di=nn(Dr,1,Mr.transform.zoom),Li=Or(yr.posMatrix,tr,Ut,Mr.transform,di),Ci=he.layout.get("icon-text-fit")!=="none"&&zr.hasIconData();if(Xr){let Qi=Math.pow(2,Mt.zoom-Dr.tileID.overscaledZ),Mn=Mr.style.map.terrain?(ea,Ga)=>Mr.style.map.terrain.getElevation(yr,ea,Ga):null,pa=Rt.translatePosition(Mt,Dr,Je,He);kf(zr,Ut,tr,et,Mt,Li,yr.posMatrix,Qi,Xr,Ci,Rt,pa,yr.toUnwrapped(),Mn)}}}(it,se,je,qe,je.layout.get("text-rotation-alignment"),je.layout.get("text-pitch-alignment"),je.paint.get("text-translate"),je.paint.get("text-translate-anchor"),yt),je.paint.get("icon-opacity").constantOr(1)!==0&&Jh(se,qe,je,it,!1,je.paint.get("icon-translate"),je.paint.get("icon-translate-anchor"),je.layout.get("icon-rotation-alignment"),je.layout.get("icon-pitch-alignment"),je.layout.get("icon-keep-upright"),Ot,Nt),je.paint.get("text-opacity").constantOr(1)!==0&&Jh(se,qe,je,it,!0,je.paint.get("text-translate"),je.paint.get("text-translate-anchor"),je.layout.get("text-rotation-alignment"),je.layout.get("text-pitch-alignment"),je.layout.get("text-keep-upright"),Ot,Nt),qe.map.showCollisionBoxes&&(tc(se,qe,je,it,!0),tc(se,qe,je,it,!1))})(w,B,Q,ee,this.style.placement.variableOffsets);break;case"circle":(function(se,qe,je,it){if(se.renderPass!=="translucent")return;let yt=je.paint.get("circle-opacity"),Ot=je.paint.get("circle-stroke-width"),Nt=je.paint.get("circle-stroke-opacity"),hr=!je.layout.get("circle-sort-key").isConstant();if(yt.constantOr(1)===0&&(Ot.constantOr(1)===0||Nt.constantOr(1)===0))return;let Mr=se.context,he=Mr.gl,be=se.depthModeForSublayer(0,wo.ReadOnly),Pe=Qo.disabled,Oe=se.colorModeForRenderPass(),Je=[];for(let He=0;HeHe.sortKey-et.sortKey);for(let He of Je){let{programConfiguration:et,program:Mt,layoutVertexBuffer:Rt,indexBuffer:Ut,uniformValues:tr,terrainData:yr}=He.state;Mt.draw(Mr,he.TRIANGLES,be,Pe,Oe,$a.disabled,tr,yr,je.id,Rt,Ut,He.segments,je.paint,se.transform.zoom,et)}})(w,B,Q,ee);break;case"heatmap":(function(se,qe,je,it){if(je.paint.get("heatmap-opacity")===0)return;let yt=se.context;if(se.style.map.terrain){for(let Ot of it){let Nt=qe.getTile(Ot);qe.hasRenderableParent(Ot)||(se.renderPass==="offscreen"?oh(se,Nt,je,Ot):se.renderPass==="translucent"&&hf(se,je,Ot))}yt.viewport.set([0,0,se.width,se.height])}else se.renderPass==="offscreen"?function(Ot,Nt,hr,Mr){let he=Ot.context,be=he.gl,Pe=Qo.disabled,Oe=new Is([be.ONE,be.ONE],a.aM.transparent,[!0,!0,!0,!0]);(function(Je,He,et){let Mt=Je.gl;Je.activeTexture.set(Mt.TEXTURE1),Je.viewport.set([0,0,He.width/4,He.height/4]);let Rt=et.heatmapFbos.get(a.aU);Rt?(Mt.bindTexture(Mt.TEXTURE_2D,Rt.colorAttachment.get()),Je.bindFramebuffer.set(Rt.framebuffer)):(Rt=Ph(Je,He.width/4,He.height/4),et.heatmapFbos.set(a.aU,Rt))})(he,Ot,hr),he.clear({color:a.aM.transparent});for(let Je=0;Je20&&Ot.texParameterf(Ot.TEXTURE_2D,yt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,yt.extTextureFilterAnisotropicMax);let zr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Je),Xr=zr?Je:null,di=Xr?Xr.posMatrix:se.transform.calculatePosMatrix(Je.toUnwrapped(),Oe),Li=ml(di,yr||[0,0],tr||1,Ut,je);Nt instanceof It?hr.draw(yt,Ot.TRIANGLES,He,Qo.disabled,Mr,$a.disabled,Li,zr,je.id,Nt.boundsBuffer,se.quadTriangleIndexBuffer,Nt.boundsSegments):hr.draw(yt,Ot.TRIANGLES,He,he[Je.overscaledZ],Mr,$a.disabled,Li,zr,je.id,se.rasterBoundsBuffer,se.quadTriangleIndexBuffer,se.rasterBoundsSegments)}})(w,B,Q,ee);break;case"background":(function(se,qe,je,it){let yt=je.paint.get("background-color"),Ot=je.paint.get("background-opacity");if(Ot===0)return;let Nt=se.context,hr=Nt.gl,Mr=se.transform,he=Mr.tileSize,be=je.paint.get("background-pattern");if(se.isPatternMissing(be))return;let Pe=!be&&yt.a===1&&Ot===1&&se.opaquePassEnabledForLayer()?"opaque":"translucent";if(se.renderPass!==Pe)return;let Oe=Qo.disabled,Je=se.depthModeForSublayer(0,Pe==="opaque"?wo.ReadWrite:wo.ReadOnly),He=se.colorModeForRenderPass(),et=se.useProgram(be?"backgroundPattern":"background"),Mt=it||Mr.coveringTiles({tileSize:he,terrain:se.style.map.terrain});be&&(Nt.activeTexture.set(hr.TEXTURE0),se.imageManager.bind(se.context));let Rt=je.getCrossfadeParameters();for(let Ut of Mt){let tr=it?Ut.posMatrix:se.transform.calculatePosMatrix(Ut.toUnwrapped()),yr=be?ju(tr,Ot,se,be,{tileID:Ut,tileSize:he},Rt):$l(tr,Ot,yt),Dr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Ut);et.draw(Nt,hr.TRIANGLES,Je,Oe,He,$a.disabled,yr,Dr,je.id,se.tileExtentBuffer,se.quadTriangleIndexBuffer,se.tileExtentSegments)}})(w,0,Q,ee);break;case"custom":(function(se,qe,je){let it=se.context,yt=je.implementation;if(se.renderPass==="offscreen"){let Ot=yt.prerender;Ot&&(se.setCustomLayerDefaults(),it.setColorMode(se.colorModeForRenderPass()),Ot.call(yt,it.gl,se.transform.customLayerMatrix()),it.setDirty(),se.setBaseState())}else if(se.renderPass==="translucent"){se.setCustomLayerDefaults(),it.setColorMode(se.colorModeForRenderPass()),it.setStencilMode(Qo.disabled);let Ot=yt.renderingMode==="3d"?new wo(se.context.gl.LEQUAL,wo.ReadWrite,se.depthRangeFor3D):se.depthModeForSublayer(0,wo.ReadOnly);it.setDepthMode(Ot),yt.render(it.gl,se.transform.customLayerMatrix(),{farZ:se.transform.farZ,nearZ:se.transform.nearZ,fov:se.transform._fov,modelViewProjectionMatrix:se.transform.modelViewProjectionMatrix,projectionMatrix:se.transform.projectionMatrix}),it.setDirty(),se.setBaseState(),it.bindFramebuffer.set(null)}})(w,0,Q)}}translatePosMatrix(w,B,Q,ee,se){if(!Q[0]&&!Q[1])return w;let qe=se?ee==="map"?this.transform.angle:0:ee==="viewport"?-this.transform.angle:0;if(qe){let yt=Math.sin(qe),Ot=Math.cos(qe);Q=[Q[0]*Ot-Q[1]*yt,Q[0]*yt+Q[1]*Ot]}let je=[se?Q[0]:nn(B,Q[0],this.transform.zoom),se?Q[1]:nn(B,Q[1],this.transform.zoom),0],it=new Float32Array(16);return a.J(it,w,je),it}saveTileTexture(w){let B=this._tileTextures[w.size[0]];B?B.push(w):this._tileTextures[w.size[0]]=[w]}getTileTexture(w){let B=this._tileTextures[w];return B&&B.length>0?B.pop():null}isPatternMissing(w){if(!w)return!1;if(!w.from||!w.to)return!0;let B=this.imageManager.getPattern(w.from.toString()),Q=this.imageManager.getPattern(w.to.toString());return!B||!Q}useProgram(w,B){this.cache=this.cache||{};let Q=w+(B?B.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[Q]||(this.cache[Q]=new zi(this.context,xn[w],B,fc[w],this._showOverdrawInspector,this.style.map.terrain)),this.cache[Q]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let w=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(w.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new g(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:w,drawingBufferHeight:B}=this.context.gl;return this.width!==w||this.height!==B}}class fl{constructor(w,B){this.points=w,this.planes=B}static fromInvProjectionMatrix(w,B,Q){let ee=Math.pow(2,Q),se=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(je=>{let it=1/(je=a.af([],je,w))[3]/B*ee;return a.b1(je,je,[it,it,1/je[3],it])}),qe=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(je=>{let it=function(hr,Mr){var he=Mr[0],be=Mr[1],Pe=Mr[2],Oe=he*he+be*be+Pe*Pe;return Oe>0&&(Oe=1/Math.sqrt(Oe)),hr[0]=Mr[0]*Oe,hr[1]=Mr[1]*Oe,hr[2]=Mr[2]*Oe,hr}([],function(hr,Mr,he){var be=Mr[0],Pe=Mr[1],Oe=Mr[2],Je=he[0],He=he[1],et=he[2];return hr[0]=Pe*et-Oe*He,hr[1]=Oe*Je-be*et,hr[2]=be*He-Pe*Je,hr}([],L([],se[je[0]],se[je[1]]),L([],se[je[2]],se[je[1]]))),yt=-((Ot=it)[0]*(Nt=se[je[1]])[0]+Ot[1]*Nt[1]+Ot[2]*Nt[2]);var Ot,Nt;return it.concat(yt)});return new fl(se,qe)}}class Xc{constructor(w,B){this.min=w,this.max=B,this.center=function(Q,ee,se){return Q[0]=.5*ee[0],Q[1]=.5*ee[1],Q[2]=.5*ee[2],Q}([],function(Q,ee,se){return Q[0]=ee[0]+se[0],Q[1]=ee[1]+se[1],Q[2]=ee[2]+se[2],Q}([],this.min,this.max))}quadrant(w){let B=[w%2==0,w<2],Q=k(this.min),ee=k(this.max);for(let se=0;se=0&&qe++;if(qe===0)return 0;qe!==B.length&&(Q=!1)}if(Q)return 2;for(let ee=0;ee<3;ee++){let se=Number.MAX_VALUE,qe=-Number.MAX_VALUE;for(let je=0;jethis.max[ee]-this.min[ee])return 0}return 1}}class ic{constructor(w=0,B=0,Q=0,ee=0){if(isNaN(w)||w<0||isNaN(B)||B<0||isNaN(Q)||Q<0||isNaN(ee)||ee<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=w,this.bottom=B,this.left=Q,this.right=ee}interpolate(w,B,Q){return B.top!=null&&w.top!=null&&(this.top=a.y.number(w.top,B.top,Q)),B.bottom!=null&&w.bottom!=null&&(this.bottom=a.y.number(w.bottom,B.bottom,Q)),B.left!=null&&w.left!=null&&(this.left=a.y.number(w.left,B.left,Q)),B.right!=null&&w.right!=null&&(this.right=a.y.number(w.right,B.right,Q)),this}getCenter(w,B){let Q=a.ac((this.left+w-this.right)/2,0,w),ee=a.ac((this.top+B-this.bottom)/2,0,B);return new a.P(Q,ee)}equals(w){return this.top===w.top&&this.bottom===w.bottom&&this.left===w.left&&this.right===w.right}clone(){return new ic(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let yu=85.051129;class Qs{constructor(w,B,Q,ee,se){this.tileSize=512,this._renderWorldCopies=se===void 0||!!se,this._minZoom=w||0,this._maxZoom=B||22,this._minPitch=Q==null?0:Q,this._maxPitch=ee==null?60:ee,this.setMaxBounds(),this.width=0,this.height=0,this._center=new a.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new ic,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let w=new Qs(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return w.apply(this),w}apply(w){this.tileSize=w.tileSize,this.latRange=w.latRange,this.lngRange=w.lngRange,this.width=w.width,this.height=w.height,this._center=w._center,this._elevation=w._elevation,this.minElevationForCurrentTile=w.minElevationForCurrentTile,this.zoom=w.zoom,this.angle=w.angle,this._fov=w._fov,this._pitch=w._pitch,this._unmodified=w._unmodified,this._edgeInsets=w._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(w){this._minZoom!==w&&(this._minZoom=w,this.zoom=Math.max(this.zoom,w))}get maxZoom(){return this._maxZoom}set maxZoom(w){this._maxZoom!==w&&(this._maxZoom=w,this.zoom=Math.min(this.zoom,w))}get minPitch(){return this._minPitch}set minPitch(w){this._minPitch!==w&&(this._minPitch=w,this.pitch=Math.max(this.pitch,w))}get maxPitch(){return this._maxPitch}set maxPitch(w){this._maxPitch!==w&&(this._maxPitch=w,this.pitch=Math.min(this.pitch,w))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(w){w===void 0?w=!0:w===null&&(w=!1),this._renderWorldCopies=w}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new a.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(w){let B=-a.b3(w,-180,180)*Math.PI/180;this.angle!==B&&(this._unmodified=!1,this.angle=B,this._calcMatrices(),this.rotationMatrix=function(){var Q=new a.A(4);return a.A!=Float32Array&&(Q[1]=0,Q[2]=0),Q[0]=1,Q[3]=1,Q}(),function(Q,ee,se){var qe=ee[0],je=ee[1],it=ee[2],yt=ee[3],Ot=Math.sin(se),Nt=Math.cos(se);Q[0]=qe*Nt+it*Ot,Q[1]=je*Nt+yt*Ot,Q[2]=qe*-Ot+it*Nt,Q[3]=je*-Ot+yt*Nt}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(w){let B=a.ac(w,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==B&&(this._unmodified=!1,this._pitch=B,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(w){w=Math.max(.01,Math.min(60,w)),this._fov!==w&&(this._unmodified=!1,this._fov=w/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(w){let B=Math.min(Math.max(w,this.minZoom),this.maxZoom);this._zoom!==B&&(this._unmodified=!1,this._zoom=B,this.tileZoom=Math.max(0,Math.floor(B)),this.scale=this.zoomScale(B),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(w){w.lat===this._center.lat&&w.lng===this._center.lng||(this._unmodified=!1,this._center=w,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(w){w!==this._elevation&&(this._elevation=w,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(w){this._edgeInsets.equals(w)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,w,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(w){return this._edgeInsets.equals(w)}interpolatePadding(w,B,Q){this._unmodified=!1,this._edgeInsets.interpolate(w,B,Q),this._constrain(),this._calcMatrices()}coveringZoomLevel(w){let B=(w.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/w.tileSize));return Math.max(0,B)}getVisibleUnwrappedCoordinates(w){let B=[new a.b4(0,w)];if(this._renderWorldCopies){let Q=this.pointCoordinate(new a.P(0,0)),ee=this.pointCoordinate(new a.P(this.width,0)),se=this.pointCoordinate(new a.P(this.width,this.height)),qe=this.pointCoordinate(new a.P(0,this.height)),je=Math.floor(Math.min(Q.x,ee.x,se.x,qe.x)),it=Math.floor(Math.max(Q.x,ee.x,se.x,qe.x)),yt=1;for(let Ot=je-yt;Ot<=it+yt;Ot++)Ot!==0&&B.push(new a.b4(Ot,w))}return B}coveringTiles(w){var B,Q;let ee=this.coveringZoomLevel(w),se=ee;if(w.minzoom!==void 0&&eew.maxzoom&&(ee=w.maxzoom);let qe=this.pointCoordinate(this.getCameraPoint()),je=a.Z.fromLngLat(this.center),it=Math.pow(2,ee),yt=[it*qe.x,it*qe.y,0],Ot=[it*je.x,it*je.y,0],Nt=fl.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,ee),hr=w.minzoom||0;!w.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(hr=ee);let Mr=w.terrain?2/Math.min(this.tileSize,w.tileSize)*this.tileSize:3,he=He=>({aabb:new Xc([He*it,0,0],[(He+1)*it,it,0]),zoom:0,x:0,y:0,wrap:He,fullyVisible:!1}),be=[],Pe=[],Oe=ee,Je=w.reparseOverscaled?se:ee;if(this._renderWorldCopies)for(let He=1;He<=3;He++)be.push(he(-He)),be.push(he(He));for(be.push(he(0));be.length>0;){let He=be.pop(),et=He.x,Mt=He.y,Rt=He.fullyVisible;if(!Rt){let zr=He.aabb.intersects(Nt);if(zr===0)continue;Rt=zr===2}let Ut=w.terrain?yt:Ot,tr=He.aabb.distanceX(Ut),yr=He.aabb.distanceY(Ut),Dr=Math.max(Math.abs(tr),Math.abs(yr));if(He.zoom===Oe||Dr>Mr+(1<=hr){let zr=Oe-He.zoom,Xr=yt[0]-.5-(et<>1),Li=He.zoom+1,Ci=He.aabb.quadrant(zr);if(w.terrain){let Qi=new a.S(Li,He.wrap,Li,Xr,di),Mn=w.terrain.getMinMaxElevation(Qi),pa=(B=Mn.minElevation)!==null&&B!==void 0?B:this.elevation,ea=(Q=Mn.maxElevation)!==null&&Q!==void 0?Q:this.elevation;Ci=new Xc([Ci.min[0],Ci.min[1],pa],[Ci.max[0],Ci.max[1],ea])}be.push({aabb:Ci,zoom:Li,x:Xr,y:di,wrap:He.wrap,fullyVisible:Rt})}}return Pe.sort((He,et)=>He.distanceSq-et.distanceSq).map(He=>He.tileID)}resize(w,B){this.width=w,this.height=B,this.pixelsToGLUnits=[2/w,-2/B],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(w){return Math.pow(2,w)}scaleZoom(w){return Math.log(w)/Math.LN2}project(w){let B=a.ac(w.lat,-85.051129,yu);return new a.P(a.O(w.lng)*this.worldSize,a.Q(B)*this.worldSize)}unproject(w){return new a.Z(w.x/this.worldSize,w.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(w){let B=this.elevation,Q=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,ee=this.pointLocation(this.centerPoint,w),se=w.getElevationForLngLatZoom(ee,this.tileZoom);if(!(this.elevation-se))return;let qe=Q+B-se,je=Math.cos(this._pitch)*this.cameraToCenterDistance/qe/a.b5(1,ee.lat),it=this.scaleZoom(je/this.tileSize);this._elevation=se,this._center=ee,this.zoom=it}setLocationAtPoint(w,B){let Q=this.pointCoordinate(B),ee=this.pointCoordinate(this.centerPoint),se=this.locationCoordinate(w),qe=new a.Z(se.x-(Q.x-ee.x),se.y-(Q.y-ee.y));this.center=this.coordinateLocation(qe),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(w,B){return B?this.coordinatePoint(this.locationCoordinate(w),B.getElevationForLngLatZoom(w,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(w))}pointLocation(w,B){return this.coordinateLocation(this.pointCoordinate(w,B))}locationCoordinate(w){return a.Z.fromLngLat(w)}coordinateLocation(w){return w&&w.toLngLat()}pointCoordinate(w,B){if(B){let hr=B.pointCoordinate(w);if(hr!=null)return hr}let Q=[w.x,w.y,0,1],ee=[w.x,w.y,1,1];a.af(Q,Q,this.pixelMatrixInverse),a.af(ee,ee,this.pixelMatrixInverse);let se=Q[3],qe=ee[3],je=Q[1]/se,it=ee[1]/qe,yt=Q[2]/se,Ot=ee[2]/qe,Nt=yt===Ot?0:(0-yt)/(Ot-yt);return new a.Z(a.y.number(Q[0]/se,ee[0]/qe,Nt)/this.worldSize,a.y.number(je,it,Nt)/this.worldSize)}coordinatePoint(w,B=0,Q=this.pixelMatrix){let ee=[w.x*this.worldSize,w.y*this.worldSize,B,1];return a.af(ee,ee,Q),new a.P(ee[0]/ee[3],ee[1]/ee[3])}getBounds(){let w=Math.max(0,this.height/2-this.getHorizon());return new ce().extend(this.pointLocation(new a.P(0,w))).extend(this.pointLocation(new a.P(this.width,w))).extend(this.pointLocation(new a.P(this.width,this.height))).extend(this.pointLocation(new a.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new ce([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(w){w?(this.lngRange=[w.getWest(),w.getEast()],this.latRange=[w.getSouth(),w.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,yu])}calculateTileMatrix(w){let B=w.canonical,Q=this.worldSize/this.zoomScale(B.z),ee=B.x+Math.pow(2,B.z)*w.wrap,se=a.an(new Float64Array(16));return a.J(se,se,[ee*Q,B.y*Q,0]),a.K(se,se,[Q/a.X,Q/a.X,1]),se}calculatePosMatrix(w,B=!1){let Q=w.key,ee=B?this._alignedPosMatrixCache:this._posMatrixCache;if(ee[Q])return ee[Q];let se=this.calculateTileMatrix(w);return a.L(se,B?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,se),ee[Q]=new Float32Array(se),ee[Q]}calculateFogMatrix(w){let B=w.key,Q=this._fogMatrixCache;if(Q[B])return Q[B];let ee=this.calculateTileMatrix(w);return a.L(ee,this.fogMatrix,ee),Q[B]=new Float32Array(ee),Q[B]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(w,B){B=a.ac(+B,this.minZoom,this.maxZoom);let Q={center:new a.N(w.lng,w.lat),zoom:B},ee=this.lngRange;if(!this._renderWorldCopies&&ee===null){let He=179.9999999999;ee=[-He,He]}let se=this.tileSize*this.zoomScale(Q.zoom),qe=0,je=se,it=0,yt=se,Ot=0,Nt=0,{x:hr,y:Mr}=this.size;if(this.latRange){let He=this.latRange;qe=a.Q(He[1])*se,je=a.Q(He[0])*se,je-qeje&&(Oe=je-He)}if(ee){let He=(it+yt)/2,et=he;this._renderWorldCopies&&(et=a.b3(he,He-se/2,He+se/2));let Mt=hr/2;et-Mtyt&&(Pe=yt-Mt)}if(Pe!==void 0||Oe!==void 0){let He=new a.P(Pe!=null?Pe:he,Oe!=null?Oe:be);Q.center=this.unproject.call({worldSize:se},He).wrap()}return Q}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let w=this._unmodified,{center:B,zoom:Q}=this.getConstrained(this.center,this.zoom);this.center=B,this.zoom=Q,this._unmodified=w,this._constraining=!1}_calcMatrices(){if(!this.height)return;let w=this.centerOffset,B=this.point.x,Q=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=a.b5(1,this.center.lat)*this.worldSize;let ee=a.an(new Float64Array(16));a.K(ee,ee,[this.width/2,-this.height/2,1]),a.J(ee,ee,[1,-1,0]),this.labelPlaneMatrix=ee,ee=a.an(new Float64Array(16)),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[-1,-1,0]),a.K(ee,ee,[2/this.width,2/this.height,1]),this.glCoordMatrix=ee;let se=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),qe=Math.min(this.elevation,this.minElevationForCurrentTile),je=se-qe*this._pixelPerMeter/Math.cos(this._pitch),it=qe<0?je:se,yt=Math.PI/2+this._pitch,Ot=this._fov*(.5+w.y/this.height),Nt=Math.sin(Ot)*it/Math.sin(a.ac(Math.PI-yt-Ot,.01,Math.PI-.01)),hr=this.getHorizon(),Mr=2*Math.atan(hr/this.cameraToCenterDistance)*(.5+w.y/(2*hr)),he=Math.sin(Mr)*it/Math.sin(a.ac(Math.PI-yt-Mr,.01,Math.PI-.01)),be=Math.min(Nt,he);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*be+it),this.nearZ=this.height/50,ee=new Float64Array(16),a.b6(ee,this._fov,this.width/this.height,this.nearZ,this.farZ),ee[8]=2*-w.x/this.width,ee[9]=2*w.y/this.height,this.projectionMatrix=a.ae(ee),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[0,0,-this.cameraToCenterDistance]),a.b7(ee,ee,this._pitch),a.ad(ee,ee,this.angle),a.J(ee,ee,[-B,-Q,0]),this.mercatorMatrix=a.K([],ee,[this.worldSize,this.worldSize,this.worldSize]),a.K(ee,ee,[1,1,this._pixelPerMeter]),this.pixelMatrix=a.L(new Float64Array(16),this.labelPlaneMatrix,ee),a.J(ee,ee,[0,0,-this.elevation]),this.modelViewProjectionMatrix=ee,this.invModelViewProjectionMatrix=a.as([],ee),this.fogMatrix=new Float64Array(16),a.b6(this.fogMatrix,this._fov,this.width/this.height,se,this.farZ),this.fogMatrix[8]=2*-w.x/this.width,this.fogMatrix[9]=2*w.y/this.height,a.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),a.b7(this.fogMatrix,this.fogMatrix,this._pitch),a.ad(this.fogMatrix,this.fogMatrix,this.angle),a.J(this.fogMatrix,this.fogMatrix,[-B,-Q,0]),a.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=a.L(new Float64Array(16),this.labelPlaneMatrix,ee);let Pe=this.width%2/2,Oe=this.height%2/2,Je=Math.cos(this.angle),He=Math.sin(this.angle),et=B-Math.round(B)+Je*Pe+He*Oe,Mt=Q-Math.round(Q)+Je*Oe+He*Pe,Rt=new Float64Array(ee);if(a.J(Rt,Rt,[et>.5?et-1:et,Mt>.5?Mt-1:Mt,0]),this.alignedModelViewProjectionMatrix=Rt,ee=a.as(new Float64Array(16),this.pixelMatrix),!ee)throw new Error("failed to invert matrix");this.pixelMatrixInverse=ee,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let w=this.pointCoordinate(new a.P(0,0)),B=[w.x*this.worldSize,w.y*this.worldSize,0,1];return a.af(B,B,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let w=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new a.P(0,w))}getCameraQueryGeometry(w){let B=this.getCameraPoint();if(w.length===1)return[w[0],B];{let Q=B.x,ee=B.y,se=B.x,qe=B.y;for(let je of w)Q=Math.min(Q,je.x),ee=Math.min(ee,je.y),se=Math.max(se,je.x),qe=Math.max(qe,je.y);return[new a.P(Q,ee),new a.P(se,ee),new a.P(se,qe),new a.P(Q,qe),new a.P(Q,ee)]}}lngLatToCameraDepth(w,B){let Q=this.locationCoordinate(w),ee=[Q.x*this.worldSize,Q.y*this.worldSize,B,1];return a.af(ee,ee,this.modelViewProjectionMatrix),ee[2]/ee[3]}}function td(le,w){let B,Q=!1,ee=null,se=null,qe=()=>{ee=null,Q&&(le.apply(se,B),ee=setTimeout(qe,w),Q=!1)};return(...je)=>(Q=!0,se=this,B=je,ee||qe(),ee)}class md{constructor(w){this._getCurrentHash=()=>{let B=window.location.hash.replace("#","");if(this._hashName){let Q;return B.split("&").map(ee=>ee.split("=")).forEach(ee=>{ee[0]===this._hashName&&(Q=ee)}),(Q&&Q[1]||"").split("/")}return B.split("/")},this._onHashChange=()=>{let B=this._getCurrentHash();if(B.length>=3&&!B.some(Q=>isNaN(Q))){let Q=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(B[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+B[2],+B[1]],zoom:+B[0],bearing:Q,pitch:+(B[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let B=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,B)},this._removeHash=()=>{let B=this._getCurrentHash();if(B.length===0)return;let Q=B.join("/"),ee=Q;ee.split("&").length>0&&(ee=ee.split("&")[0]),this._hashName&&(ee=`${this._hashName}=${Q}`);let se=window.location.hash.replace(ee,"");se.startsWith("#&")?se=se.slice(0,1)+se.slice(2):se==="#"&&(se="");let qe=window.location.href.replace(/(#.+)?$/,se);qe=qe.replace("&&","&"),window.history.replaceState(window.history.state,null,qe)},this._updateHash=td(this._updateHashUnthrottled,300),this._hashName=w&&encodeURIComponent(w)}addTo(w){return this._map=w,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(w){let B=this._map.getCenter(),Q=Math.round(100*this._map.getZoom())/100,ee=Math.ceil((Q*Math.LN2+Math.log(512/360/.5))/Math.LN10),se=Math.pow(10,ee),qe=Math.round(B.lng*se)/se,je=Math.round(B.lat*se)/se,it=this._map.getBearing(),yt=this._map.getPitch(),Ot="";if(Ot+=w?`/${qe}/${je}/${Q}`:`${Q}/${je}/${qe}`,(it||yt)&&(Ot+="/"+Math.round(10*it)/10),yt&&(Ot+=`/${Math.round(yt)}`),this._hashName){let Nt=this._hashName,hr=!1,Mr=window.location.hash.slice(1).split("&").map(he=>{let be=he.split("=")[0];return be===Nt?(hr=!0,`${be}=${Ot}`):he}).filter(he=>he);return hr||Mr.push(`${Nt}=${Ot}`),`#${Mr.join("&")}`}return`#${Ot}`}}let Wu={linearity:.3,easing:a.b8(0,0,.3,1)},Pc=a.e({deceleration:2500,maxSpeed:1400},Wu),vc=a.e({deceleration:20,maxSpeed:1400},Wu),lv=a.e({deceleration:1e3,maxSpeed:360},Wu),Lf=a.e({deceleration:1e3,maxSpeed:90},Wu);class Vf{constructor(w){this._map=w,this.clear()}clear(){this._inertiaBuffer=[]}record(w){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:u.now(),settings:w})}_drainInertiaBuffer(){let w=this._inertiaBuffer,B=u.now();for(;w.length>0&&B-w[0].time>160;)w.shift()}_onMoveEnd(w){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let B={zoom:0,bearing:0,pitch:0,pan:new a.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:se}of this._inertiaBuffer)B.zoom+=se.zoomDelta||0,B.bearing+=se.bearingDelta||0,B.pitch+=se.pitchDelta||0,se.panDelta&&B.pan._add(se.panDelta),se.around&&(B.around=se.around),se.pinchAround&&(B.pinchAround=se.pinchAround);let Q=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,ee={};if(B.pan.mag()){let se=lh(B.pan.mag(),Q,a.e({},Pc,w||{}));ee.offset=B.pan.mult(se.amount/B.pan.mag()),ee.center=this._map.transform.center,Iu(ee,se)}if(B.zoom){let se=lh(B.zoom,Q,vc);ee.zoom=this._map.transform.zoom+se.amount,Iu(ee,se)}if(B.bearing){let se=lh(B.bearing,Q,lv);ee.bearing=this._map.transform.bearing+a.ac(se.amount,-179,179),Iu(ee,se)}if(B.pitch){let se=lh(B.pitch,Q,Lf);ee.pitch=this._map.transform.pitch+se.amount,Iu(ee,se)}if(ee.zoom||ee.bearing){let se=B.pinchAround===void 0?B.around:B.pinchAround;ee.around=se?this._map.unproject(se):this._map.getCenter()}return this.clear(),a.e(ee,{noMoveStart:!0})}}function Iu(le,w){(!le.duration||le.durationB.unproject(it)),je=se.reduce((it,yt,Ot,Nt)=>it.add(yt.div(Nt.length)),new a.P(0,0));super(w,{points:se,point:je,lngLats:qe,lngLat:B.unproject(je),originalEvent:Q}),this._defaultPrevented=!1}}class yd extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q){super(w,{originalEvent:Q}),this._defaultPrevented=!1}}class uh{constructor(w,B){this._map=w,this._clickTolerance=B.clickTolerance}reset(){delete this._mousedownPos}wheel(w){return this._firePreventable(new yd(w.type,this._map,w))}mousedown(w,B){return this._mousedownPos=B,this._firePreventable(new tu(w.type,this._map,w))}mouseup(w){this._map.fire(new tu(w.type,this._map,w))}click(w,B){this._mousedownPos&&this._mousedownPos.dist(B)>=this._clickTolerance||this._map.fire(new tu(w.type,this._map,w))}dblclick(w){return this._firePreventable(new tu(w.type,this._map,w))}mouseover(w){this._map.fire(new tu(w.type,this._map,w))}mouseout(w){this._map.fire(new tu(w.type,this._map,w))}touchstart(w){return this._firePreventable(new vf(w.type,this._map,w))}touchmove(w){this._map.fire(new vf(w.type,this._map,w))}touchend(w){this._map.fire(new vf(w.type,this._map,w))}touchcancel(w){this._map.fire(new vf(w.type,this._map,w))}_firePreventable(w){if(this._map.fire(w),w.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Os{constructor(w){this._map=w}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(w){this._map.fire(new tu(w.type,this._map,w))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new tu("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(w){this._delayContextMenu?this._contextMenuEvent=w:this._ignoreContextMenu||this._map.fire(new tu(w.type,this._map,w)),this._map.listens("contextmenu")&&w.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class _u{constructor(w){this._map=w}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(w){return this.transform.pointLocation(a.P.convert(w),this._map.terrain)}}class xu{constructor(w,B){this._map=w,this._tr=new _u(w),this._el=w.getCanvasContainer(),this._container=w.getContainer(),this._clickTolerance=B.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(w,B){this.isEnabled()&&w.shiftKey&&w.button===0&&(c.disableDrag(),this._startPos=this._lastPos=B,this._active=!0)}mousemoveWindow(w,B){if(!this._active)return;let Q=B;if(this._lastPos.equals(Q)||!this._box&&Q.dist(this._startPos)se.fitScreenCoordinates(Q,ee,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",w)}keydown(w){this._active&&w.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",w))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(c.remove(this._box),this._box=null),c.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(w,B){return this._map.fire(new a.k(w,{originalEvent:B}))}}function Dh(le,w){if(le.length!==w.length)throw new Error(`The number of touches and points are not equal - touches ${le.length}, points ${w.length}`);let B={};for(let Q=0;Qthis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=w.timeStamp),Q.length===this.numTouches&&(this.centroid=function(ee){let se=new a.P(0,0);for(let qe of ee)se._add(qe);return se.div(ee.length)}(B),this.touches=Dh(Q,B)))}touchmove(w,B,Q){if(this.aborted||!this.centroid)return;let ee=Dh(Q,B);for(let se in this.touches){let qe=ee[se];(!qe||qe.dist(this.touches[se])>30)&&(this.aborted=!0)}}touchend(w,B,Q){if((!this.centroid||w.timeStamp-this.startTime>500)&&(this.aborted=!0),Q.length===0){let ee=!this.aborted&&this.centroid;if(this.reset(),ee)return ee}}}class Pf{constructor(w){this.singleTap=new Ds(w),this.numTaps=w.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(w,B,Q){this.singleTap.touchstart(w,B,Q)}touchmove(w,B,Q){this.singleTap.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this.singleTap.touchend(w,B,Q);if(ee){let se=w.timeStamp-this.lastTime<500,qe=!this.lastTap||this.lastTap.dist(ee)<30;if(se&&qe||this.reset(),this.count++,this.lastTime=w.timeStamp,this.lastTap=ee,this.count===this.numTaps)return this.reset(),ee}}}class Ic{constructor(w){this._tr=new _u(w),this._zoomIn=new Pf({numTouches:1,numTaps:2}),this._zoomOut=new Pf({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(w,B,Q){this._zoomIn.touchstart(w,B,Q),this._zoomOut.touchstart(w,B,Q)}touchmove(w,B,Q){this._zoomIn.touchmove(w,B,Q),this._zoomOut.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this._zoomIn.touchend(w,B,Q),se=this._zoomOut.touchend(w,B,Q),qe=this._tr;return ee?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:je=>je.easeTo({duration:300,zoom:qe.zoom+1,around:qe.unproject(ee)},{originalEvent:w})}):se?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:je=>je.easeTo({duration:300,zoom:qe.zoom-1,around:qe.unproject(se)},{originalEvent:w})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Zu{constructor(w){this._enabled=!!w.enable,this._moveStateManager=w.moveStateManager,this._clickTolerance=w.clickTolerance||1,this._moveFunction=w.move,this._activateOnStart=!!w.activateOnStart,w.assignEvents(this),this.reset()}reset(w){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(w)}_move(...w){let B=this._moveFunction(...w);if(B.bearingDelta||B.pitchDelta||B.around||B.panDelta)return this._active=!0,B}dragStart(w,B){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(w)&&(this._moveStateManager.startMove(w),this._lastPoint=B.length?B[0]:B,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(w,B){if(!this.isEnabled())return;let Q=this._lastPoint;if(!Q)return;if(w.preventDefault(),!this._moveStateManager.isValidMoveEvent(w))return void this.reset(w);let ee=B.length?B[0]:B;return!this._moved&&ee.dist(Q){le.mousedown=le.dragStart,le.mousemoveWindow=le.dragMove,le.mouseup=le.dragEnd,le.contextmenu=w=>{w.preventDefault()}},Dl=({enable:le,clickTolerance:w,bearingDegreesPerPixelMoved:B=.8})=>{let Q=new pc({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new Zu({clickTolerance:w,move:(ee,se)=>({bearingDelta:(se.x-ee.x)*B}),moveStateManager:Q,enable:le,assignEvents:Rh})},zh=({enable:le,clickTolerance:w,pitchDegreesPerPixelMoved:B=-.5})=>{let Q=new pc({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new Zu({clickTolerance:w,move:(ee,se)=>({pitchDelta:(se.y-ee.y)*B}),moveStateManager:Q,enable:le,assignEvents:Rh})};class Xu{constructor(w,B){this._clickTolerance=w.clickTolerance||1,this._map=B,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new a.P(0,0)}_shouldBePrevented(w){return w<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(w,B,Q){return this._calculateTransform(w,B,Q)}touchmove(w,B,Q){if(this._active){if(!this._shouldBePrevented(Q.length))return w.preventDefault(),this._calculateTransform(w,B,Q);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",w)}}touchend(w,B,Q){this._calculateTransform(w,B,Q),this._active&&this._shouldBePrevented(Q.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(w,B,Q){Q.length>0&&(this._active=!0);let ee=Dh(Q,B),se=new a.P(0,0),qe=new a.P(0,0),je=0;for(let yt in ee){let Ot=ee[yt],Nt=this._touches[yt];Nt&&(se._add(Ot),qe._add(Ot.sub(Nt)),je++,ee[yt]=Ot)}if(this._touches=ee,this._shouldBePrevented(je)||!qe.mag())return;let it=qe.div(je);return this._sum._add(it),this._sum.mag()Math.abs(le.x)}class gf extends Dc{constructor(w){super(),this._currentTouchCount=0,this._map=w}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(w,B,Q){super.touchstart(w,B,Q),this._currentTouchCount=Q.length}_start(w){this._lastPoints=w,nc(w[0].sub(w[1]))&&(this._valid=!1)}_move(w,B,Q){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let ee=w[0].sub(this._lastPoints[0]),se=w[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(ee,se,Q.timeStamp),this._valid?(this._lastPoints=w,this._active=!0,{pitchDelta:(ee.y+se.y)/2*-.5}):void 0}gestureBeginsVertically(w,B,Q){if(this._valid!==void 0)return this._valid;let ee=w.mag()>=2,se=B.mag()>=2;if(!ee&&!se)return;if(!ee||!se)return this._firstMove===void 0&&(this._firstMove=Q),Q-this._firstMove<100&&void 0;let qe=w.y>0==B.y>0;return nc(w)&&nc(B)&&qe}}let gt={panStep:100,bearingStep:15,pitchStep:10};class Bt{constructor(w){this._tr=new _u(w);let B=gt;this._panStep=B.panStep,this._bearingStep=B.bearingStep,this._pitchStep=B.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(w){if(w.altKey||w.ctrlKey||w.metaKey)return;let B=0,Q=0,ee=0,se=0,qe=0;switch(w.keyCode){case 61:case 107:case 171:case 187:B=1;break;case 189:case 109:case 173:B=-1;break;case 37:w.shiftKey?Q=-1:(w.preventDefault(),se=-1);break;case 39:w.shiftKey?Q=1:(w.preventDefault(),se=1);break;case 38:w.shiftKey?ee=1:(w.preventDefault(),qe=-1);break;case 40:w.shiftKey?ee=-1:(w.preventDefault(),qe=1);break;default:return}return this._rotationDisabled&&(Q=0,ee=0),{cameraAnimation:je=>{let it=this._tr;je.easeTo({duration:300,easeId:"keyboardHandler",easing:wr,zoom:B?Math.round(it.zoom)+B*(w.shiftKey?2:1):it.zoom,bearing:it.bearing+Q*this._bearingStep,pitch:it.pitch+ee*this._pitchStep,offset:[-se*this._panStep,-qe*this._panStep],center:it.center},{originalEvent:w})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function wr(le){return le*(2-le)}let vr=4.000244140625;class Ur{constructor(w,B){this._onTimeout=Q=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(Q)},this._map=w,this._tr=new _u(w),this._triggerRenderFrame=B,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(w){this._defaultZoomRate=w}setWheelZoomRate(w){this._wheelZoomRate=w}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(w){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!w&&w.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(w){return!!this._map.cooperativeGestures.isEnabled()&&!(w.ctrlKey||this._map.cooperativeGestures.isBypassed(w))}wheel(w){if(!this.isEnabled())return;if(this._shouldBePrevented(w))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",w);let B=w.deltaMode===WheelEvent.DOM_DELTA_LINE?40*w.deltaY:w.deltaY,Q=u.now(),ee=Q-(this._lastWheelEventTime||0);this._lastWheelEventTime=Q,B!==0&&B%vr==0?this._type="wheel":B!==0&&Math.abs(B)<4?this._type="trackpad":ee>400?(this._type=null,this._lastValue=B,this._timeout=setTimeout(this._onTimeout,40,w)):this._type||(this._type=Math.abs(ee*B)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,B+=this._lastValue)),w.shiftKey&&B&&(B/=4),this._type&&(this._lastWheelEvent=w,this._delta-=B,this._active||this._start(w)),w.preventDefault()}_start(w){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let B=c.mousePos(this._map.getCanvas(),w),Q=this._tr;this._around=B.y>Q.transform.height/2-Q.transform.getHorizon()?a.N.convert(this._aroundCenter?Q.center:Q.unproject(B)):a.N.convert(Q.center),this._aroundPoint=Q.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let w=this._tr.transform;if(this._delta!==0){let it=this._type==="wheel"&&Math.abs(this._delta)>vr?this._wheelZoomRate:this._defaultZoomRate,yt=2/(1+Math.exp(-Math.abs(this._delta*it)));this._delta<0&&yt!==0&&(yt=1/yt);let Ot=typeof this._targetZoom=="number"?w.zoomScale(this._targetZoom):w.scale;this._targetZoom=Math.min(w.maxZoom,Math.max(w.minZoom,w.scaleZoom(Ot*yt))),this._type==="wheel"&&(this._startZoom=w.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let B=typeof this._targetZoom=="number"?this._targetZoom:w.zoom,Q=this._startZoom,ee=this._easing,se,qe=!1,je=u.now()-this._lastWheelEventTime;if(this._type==="wheel"&&Q&&ee&&je){let it=Math.min(je/200,1),yt=ee(it);se=a.y.number(Q,B,yt),it<1?this._frameId||(this._frameId=!0):qe=!0}else se=B,qe=!0;return this._active=!0,qe&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!qe,zoomDelta:se-w.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(w){let B=a.b9;if(this._prevEase){let Q=this._prevEase,ee=(u.now()-Q.start)/Q.duration,se=Q.easing(ee+.01)-Q.easing(ee),qe=.27/Math.sqrt(se*se+1e-4)*.01,je=Math.sqrt(.0729-qe*qe);B=a.b8(qe,je,.25,1)}return this._prevEase={start:u.now(),duration:w,easing:B},B}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class fi{constructor(w,B){this._clickZoom=w,this._tapZoom=B}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class xi{constructor(w){this._tr=new _u(w),this.reset()}reset(){this._active=!1}dblclick(w,B){return w.preventDefault(),{cameraAnimation:Q=>{Q.easeTo({duration:300,zoom:this._tr.zoom+(w.shiftKey?-1:1),around:this._tr.unproject(B)},{originalEvent:w})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Fi{constructor(){this._tap=new Pf({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(w,B,Q){if(!this._swipePoint)if(this._tapTime){let ee=B[0],se=w.timeStamp-this._tapTime<500,qe=this._tapPoint.dist(ee)<30;se&&qe?Q.length>0&&(this._swipePoint=ee,this._swipeTouch=Q[0].identifier):this.reset()}else this._tap.touchstart(w,B,Q)}touchmove(w,B,Q){if(this._tapTime){if(this._swipePoint){if(Q[0].identifier!==this._swipeTouch)return;let ee=B[0],se=ee.y-this._swipePoint.y;return this._swipePoint=ee,w.preventDefault(),this._active=!0,{zoomDelta:se/128}}}else this._tap.touchmove(w,B,Q)}touchend(w,B,Q){if(this._tapTime)this._swipePoint&&Q.length===0&&this.reset();else{let ee=this._tap.touchend(w,B,Q);ee&&(this._tapTime=w.timeStamp,this._tapPoint=ee)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Xi{constructor(w,B,Q){this._el=w,this._mousePan=B,this._touchPan=Q}enable(w){this._inertiaOptions=w||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class hn{constructor(w,B,Q){this._pitchWithRotate=w.pitchWithRotate,this._mouseRotate=B,this._mousePitch=Q}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class Ti{constructor(w,B,Q,ee){this._el=w,this._touchZoom=B,this._touchRotate=Q,this._tapDragZoom=ee,this._rotationDisabled=!1,this._enabled=!0}enable(w){this._touchZoom.enable(w),this._rotationDisabled||this._touchRotate.enable(w),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class qi{constructor(w,B){this._bypassKey=navigator.userAgent.indexOf("Mac")!==-1?"metaKey":"ctrlKey",this._map=w,this._options=B,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let w=this._map.getCanvasContainer();w.classList.add("maplibregl-cooperative-gestures"),this._container=c.create("div","maplibregl-cooperative-gesture-screen",w);let B=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(B=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));let Q=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),ee=document.createElement("div");ee.className="maplibregl-desktop-message",ee.textContent=B,this._container.appendChild(ee);let se=document.createElement("div");se.className="maplibregl-mobile-message",se.textContent=Q,this._container.appendChild(se),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(c.remove(this._container),this._map.getCanvasContainer().classList.remove("maplibregl-cooperative-gestures")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(w){return w[this._bypassKey]}notifyGestureBlocked(w,B){this._enabled&&(this._map.fire(new a.k("cooperativegestureprevented",{gestureType:w,originalEvent:B})),this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}let Ii=le=>le.zoom||le.drag||le.pitch||le.rotate;class mi extends a.k{}function Pn(le){return le.panDelta&&le.panDelta.mag()||le.zoomDelta||le.bearingDelta||le.pitchDelta}class Ea{constructor(w,B){this.handleWindowEvent=ee=>{this.handleEvent(ee,`${ee.type}Window`)},this.handleEvent=(ee,se)=>{if(ee.type==="blur")return void this.stop(!0);this._updatingCamera=!0;let qe=ee.type==="renderFrame"?void 0:ee,je={needsRenderFrame:!1},it={},yt={},Ot=ee.touches,Nt=Ot?this._getMapTouches(Ot):void 0,hr=Nt?c.touchPos(this._map.getCanvas(),Nt):c.mousePos(this._map.getCanvas(),ee);for(let{handlerName:be,handler:Pe,allowed:Oe}of this._handlers){if(!Pe.isEnabled())continue;let Je;this._blockedByActive(yt,Oe,be)?Pe.reset():Pe[se||ee.type]&&(Je=Pe[se||ee.type](ee,hr,Nt),this.mergeHandlerResult(je,it,Je,be,qe),Je&&Je.needsRenderFrame&&this._triggerRenderFrame()),(Je||Pe.isActive())&&(yt[be]=Pe)}let Mr={};for(let be in this._previousActiveHandlers)yt[be]||(Mr[be]=qe);this._previousActiveHandlers=yt,(Object.keys(Mr).length||Pn(je))&&(this._changes.push([je,it,Mr]),this._triggerRenderFrame()),(Object.keys(yt).length||Pn(je))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:he}=je;he&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],he(this._map))},this._map=w,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Vf(w),this._bearingSnap=B.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(B);let Q=this._el;this._listeners=[[Q,"touchstart",{passive:!0}],[Q,"touchmove",{passive:!1}],[Q,"touchend",void 0],[Q,"touchcancel",void 0],[Q,"mousedown",void 0],[Q,"mousemove",void 0],[Q,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[Q,"mouseover",void 0],[Q,"mouseout",void 0],[Q,"dblclick",void 0],[Q,"click",void 0],[Q,"keydown",{capture:!1}],[Q,"keyup",void 0],[Q,"wheel",{passive:!1}],[Q,"contextmenu",void 0],[window,"blur",void 0]];for(let[ee,se,qe]of this._listeners)c.addEventListener(ee,se,ee===document?this.handleWindowEvent:this.handleEvent,qe)}destroy(){for(let[w,B,Q]of this._listeners)c.removeEventListener(w,B,w===document?this.handleWindowEvent:this.handleEvent,Q)}_addDefaultHandlers(w){let B=this._map,Q=B.getCanvasContainer();this._add("mapEvent",new uh(B,w));let ee=B.boxZoom=new xu(B,w);this._add("boxZoom",ee),w.interactive&&w.boxZoom&&ee.enable();let se=B.cooperativeGestures=new qi(B,w.cooperativeGestures);this._add("cooperativeGestures",se),w.cooperativeGestures&&se.enable();let qe=new Ic(B),je=new xi(B);B.doubleClickZoom=new fi(je,qe),this._add("tapZoom",qe),this._add("clickZoom",je),w.interactive&&w.doubleClickZoom&&B.doubleClickZoom.enable();let it=new Fi;this._add("tapDragZoom",it);let yt=B.touchPitch=new gf(B);this._add("touchPitch",yt),w.interactive&&w.touchPitch&&B.touchPitch.enable(w.touchPitch);let Ot=Dl(w),Nt=zh(w);B.dragRotate=new hn(w,Ot,Nt),this._add("mouseRotate",Ot,["mousePitch"]),this._add("mousePitch",Nt,["mouseRotate"]),w.interactive&&w.dragRotate&&B.dragRotate.enable();let hr=(({enable:Je,clickTolerance:He})=>{let et=new pc({checkCorrectEvent:Mt=>c.mouseButton(Mt)===0&&!Mt.ctrlKey});return new Zu({clickTolerance:He,move:(Mt,Rt)=>({around:Rt,panDelta:Rt.sub(Mt)}),activateOnStart:!0,moveStateManager:et,enable:Je,assignEvents:Rh})})(w),Mr=new Xu(w,B);B.dragPan=new Xi(Q,hr,Mr),this._add("mousePan",hr),this._add("touchPan",Mr,["touchZoom","touchRotate"]),w.interactive&&w.dragPan&&B.dragPan.enable(w.dragPan);let he=new Yc,be=new ru;B.touchZoomRotate=new Ti(Q,be,he,it),this._add("touchRotate",he,["touchPan","touchZoom"]),this._add("touchZoom",be,["touchPan","touchRotate"]),w.interactive&&w.touchZoomRotate&&B.touchZoomRotate.enable(w.touchZoomRotate);let Pe=B.scrollZoom=new Ur(B,()=>this._triggerRenderFrame());this._add("scrollZoom",Pe,["mousePan"]),w.interactive&&w.scrollZoom&&B.scrollZoom.enable(w.scrollZoom);let Oe=B.keyboard=new Bt(B);this._add("keyboard",Oe),w.interactive&&w.keyboard&&B.keyboard.enable(),this._add("blockableMapEvent",new Os(B))}_add(w,B,Q){this._handlers.push({handlerName:w,handler:B,allowed:Q}),this._handlersById[w]=B}stop(w){if(!this._updatingCamera){for(let{handler:B}of this._handlers)B.reset();this._inertia.clear(),this._fireEvents({},{},w),this._changes=[]}}isActive(){for(let{handler:w}of this._handlers)if(w.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Ii(this._eventsInProgress)||this.isZooming()}_blockedByActive(w,B,Q){for(let ee in w)if(ee!==Q&&(!B||B.indexOf(ee)<0))return!0;return!1}_getMapTouches(w){let B=[];for(let Q of w)this._el.contains(Q.target)&&B.push(Q);return B}mergeHandlerResult(w,B,Q,ee,se){if(!Q)return;a.e(w,Q);let qe={handlerName:ee,originalEvent:Q.originalEvent||se};Q.zoomDelta!==void 0&&(B.zoom=qe),Q.panDelta!==void 0&&(B.drag=qe),Q.pitchDelta!==void 0&&(B.pitch=qe),Q.bearingDelta!==void 0&&(B.rotate=qe)}_applyChanges(){let w={},B={},Q={};for(let[ee,se,qe]of this._changes)ee.panDelta&&(w.panDelta=(w.panDelta||new a.P(0,0))._add(ee.panDelta)),ee.zoomDelta&&(w.zoomDelta=(w.zoomDelta||0)+ee.zoomDelta),ee.bearingDelta&&(w.bearingDelta=(w.bearingDelta||0)+ee.bearingDelta),ee.pitchDelta&&(w.pitchDelta=(w.pitchDelta||0)+ee.pitchDelta),ee.around!==void 0&&(w.around=ee.around),ee.pinchAround!==void 0&&(w.pinchAround=ee.pinchAround),ee.noInertia&&(w.noInertia=ee.noInertia),a.e(B,se),a.e(Q,qe);this._updateMapTransform(w,B,Q),this._changes=[]}_updateMapTransform(w,B,Q){let ee=this._map,se=ee._getTransformForUpdate(),qe=ee.terrain;if(!(Pn(w)||qe&&this._terrainMovement))return this._fireEvents(B,Q,!0);let{panDelta:je,zoomDelta:it,bearingDelta:yt,pitchDelta:Ot,around:Nt,pinchAround:hr}=w;hr!==void 0&&(Nt=hr),ee._stop(!0),Nt=Nt||ee.transform.centerPoint;let Mr=se.pointLocation(je?Nt.sub(je):Nt);yt&&(se.bearing+=yt),Ot&&(se.pitch+=Ot),it&&(se.zoom+=it),qe?this._terrainMovement||!B.drag&&!B.zoom?B.drag&&this._terrainMovement?se.center=se.pointLocation(se.centerPoint.sub(je)):se.setLocationAtPoint(Mr,Nt):(this._terrainMovement=!0,this._map._elevationFreeze=!0,se.setLocationAtPoint(Mr,Nt)):se.setLocationAtPoint(Mr,Nt),ee._applyUpdatedTransform(se),this._map._update(),w.noInertia||this._inertia.record(w),this._fireEvents(B,Q,!0)}_fireEvents(w,B,Q){let ee=Ii(this._eventsInProgress),se=Ii(w),qe={};for(let Nt in w){let{originalEvent:hr}=w[Nt];this._eventsInProgress[Nt]||(qe[`${Nt}start`]=hr),this._eventsInProgress[Nt]=w[Nt]}!ee&&se&&this._fireEvent("movestart",se.originalEvent);for(let Nt in qe)this._fireEvent(Nt,qe[Nt]);se&&this._fireEvent("move",se.originalEvent);for(let Nt in w){let{originalEvent:hr}=w[Nt];this._fireEvent(Nt,hr)}let je={},it;for(let Nt in this._eventsInProgress){let{handlerName:hr,originalEvent:Mr}=this._eventsInProgress[Nt];this._handlersById[hr].isActive()||(delete this._eventsInProgress[Nt],it=B[hr]||Mr,je[`${Nt}end`]=it)}for(let Nt in je)this._fireEvent(Nt,je[Nt]);let yt=Ii(this._eventsInProgress),Ot=(ee||se)&&!yt;if(Ot&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let Nt=this._map._getTransformForUpdate();Nt.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(Nt)}if(Q&&Ot){this._updatingCamera=!0;let Nt=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),hr=Mr=>Mr!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new mi("renderFrame",{timeStamp:w})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class Ta extends a.E{constructor(w,B){super(),this._renderFrameCallback=()=>{let Q=Math.min((u.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(Q)),Q<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=w,this._bearingSnap=B.bearingSnap,this.on("moveend",()=>{delete this._requestedCameraState})}getCenter(){return new a.N(this.transform.center.lng,this.transform.center.lat)}setCenter(w,B){return this.jumpTo({center:w},B)}panBy(w,B,Q){return w=a.P.convert(w).mult(-1),this.panTo(this.transform.center,a.e({offset:w},B),Q)}panTo(w,B,Q){return this.easeTo(a.e({center:w},B),Q)}getZoom(){return this.transform.zoom}setZoom(w,B){return this.jumpTo({zoom:w},B),this}zoomTo(w,B,Q){return this.easeTo(a.e({zoom:w},B),Q)}zoomIn(w,B){return this.zoomTo(this.getZoom()+1,w,B),this}zoomOut(w,B){return this.zoomTo(this.getZoom()-1,w,B),this}getBearing(){return this.transform.bearing}setBearing(w,B){return this.jumpTo({bearing:w},B),this}getPadding(){return this.transform.padding}setPadding(w,B){return this.jumpTo({padding:w},B),this}rotateTo(w,B,Q){return this.easeTo(a.e({bearing:w},B),Q)}resetNorth(w,B){return this.rotateTo(0,a.e({duration:1e3},w),B),this}resetNorthPitch(w,B){return this.easeTo(a.e({bearing:0,pitch:0,duration:1e3},w),B),this}snapToNorth(w,B){return Math.abs(this.getBearing()){if(this._zooming&&(ee.zoom=a.y.number(se,Pe,Ut)),this._rotating&&(ee.bearing=a.y.number(qe,yt,Ut)),this._pitching&&(ee.pitch=a.y.number(je,Ot,Ut)),this._padding&&(ee.interpolatePadding(it,Nt,Ut),Mr=ee.centerPoint.add(hr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Ut),et)ee.setLocationAtPoint(et,Mt);else{let tr=ee.zoomScale(ee.zoom-se),yr=Pe>se?Math.min(2,He):Math.max(.5,He),Dr=Math.pow(yr,1-Ut),zr=ee.unproject(Oe.add(Je.mult(Ut*Dr)).mult(tr));ee.setLocationAtPoint(ee.renderWorldCopies?zr.wrap():zr,Mr)}this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},Ut=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B,Ut)},w),this}_prepareEase(w,B,Q={}){this._moving=!0,B||Q.moving||this.fire(new a.k("movestart",w)),this._zooming&&!Q.zooming&&this.fire(new a.k("zoomstart",w)),this._rotating&&!Q.rotating&&this.fire(new a.k("rotatestart",w)),this._pitching&&!Q.pitching&&this.fire(new a.k("pitchstart",w))}_prepareElevation(w){this._elevationCenter=w,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(w,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(w){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let B=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(w<1&&B!==this._elevationTarget){let Q=this._elevationTarget-this._elevationStart;this._elevationStart+=w*(Q-(B-(Q*w+this._elevationStart))/(1-w)),this._elevationTarget=B}this.transform.elevation=a.y.number(this._elevationStart,this._elevationTarget,w)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(w){let B=w.getCameraPosition(),Q=this.terrain.getElevationForLngLatZoom(B.lngLat,w.zoom);if(B.altitudethis._elevateCameraIfInsideTerrain(ee)),this.transformCameraUpdate&&B.push(ee=>this.transformCameraUpdate(ee)),!B.length)return;let Q=w.clone();for(let ee of B){let se=Q.clone(),{center:qe,zoom:je,pitch:it,bearing:yt,elevation:Ot}=ee(se);qe&&(se.center=qe),je!==void 0&&(se.zoom=je),it!==void 0&&(se.pitch=it),yt!==void 0&&(se.bearing=yt),Ot!==void 0&&(se.elevation=Ot),Q.apply(se)}this.transform.apply(Q)}_fireMoveEvents(w){this.fire(new a.k("move",w)),this._zooming&&this.fire(new a.k("zoom",w)),this._rotating&&this.fire(new a.k("rotate",w)),this._pitching&&this.fire(new a.k("pitch",w))}_afterEase(w,B){if(this._easeId&&B&&this._easeId===B)return;delete this._easeId;let Q=this._zooming,ee=this._rotating,se=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,Q&&this.fire(new a.k("zoomend",w)),ee&&this.fire(new a.k("rotateend",w)),se&&this.fire(new a.k("pitchend",w)),this.fire(new a.k("moveend",w))}flyTo(w,B){var Q;if(!w.essential&&u.prefersReducedMotion){let Qi=a.M(w,["center","zoom","bearing","pitch","around"]);return this.jumpTo(Qi,B)}this.stop(),w=a.e({offset:[0,0],speed:1.2,curve:1.42,easing:a.b9},w);let ee=this._getTransformForUpdate(),se=ee.zoom,qe=ee.bearing,je=ee.pitch,it=ee.padding,yt="bearing"in w?this._normalizeBearing(w.bearing,qe):qe,Ot="pitch"in w?+w.pitch:je,Nt="padding"in w?w.padding:ee.padding,hr=a.P.convert(w.offset),Mr=ee.centerPoint.add(hr),he=ee.pointLocation(Mr),{center:be,zoom:Pe}=ee.getConstrained(a.N.convert(w.center||he),(Q=w.zoom)!==null&&Q!==void 0?Q:se);this._normalizeCenter(be,ee);let Oe=ee.zoomScale(Pe-se),Je=ee.project(he),He=ee.project(be).sub(Je),et=w.curve,Mt=Math.max(ee.width,ee.height),Rt=Mt/Oe,Ut=He.mag();if("minZoom"in w){let Qi=a.ac(Math.min(w.minZoom,se,Pe),ee.minZoom,ee.maxZoom),Mn=Mt/ee.zoomScale(Qi-se);et=Math.sqrt(Mn/Ut*2)}let tr=et*et;function yr(Qi){let Mn=(Rt*Rt-Mt*Mt+(Qi?-1:1)*tr*tr*Ut*Ut)/(2*(Qi?Rt:Mt)*tr*Ut);return Math.log(Math.sqrt(Mn*Mn+1)-Mn)}function Dr(Qi){return(Math.exp(Qi)-Math.exp(-Qi))/2}function zr(Qi){return(Math.exp(Qi)+Math.exp(-Qi))/2}let Xr=yr(!1),di=function(Qi){return zr(Xr)/zr(Xr+et*Qi)},Li=function(Qi){return Mt*((zr(Xr)*(Dr(Mn=Xr+et*Qi)/zr(Mn))-Dr(Xr))/tr)/Ut;var Mn},Ci=(yr(!0)-Xr)/et;if(Math.abs(Ut)<1e-6||!isFinite(Ci)){if(Math.abs(Mt-Rt)<1e-6)return this.easeTo(w,B);let Qi=Rt0,di=Mn=>Math.exp(Qi*et*Mn)}return w.duration="duration"in w?+w.duration:1e3*Ci/("screenSpeed"in w?+w.screenSpeed/et:+w.speed),w.maxDuration&&w.duration>w.maxDuration&&(w.duration=0),this._zooming=!0,this._rotating=qe!==yt,this._pitching=Ot!==je,this._padding=!ee.isPaddingEqual(Nt),this._prepareEase(B,!1),this.terrain&&this._prepareElevation(be),this._ease(Qi=>{let Mn=Qi*Ci,pa=1/di(Mn);ee.zoom=Qi===1?Pe:se+ee.scaleZoom(pa),this._rotating&&(ee.bearing=a.y.number(qe,yt,Qi)),this._pitching&&(ee.pitch=a.y.number(je,Ot,Qi)),this._padding&&(ee.interpolatePadding(it,Nt,Qi),Mr=ee.centerPoint.add(hr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Qi);let ea=Qi===1?be:ee.unproject(Je.add(He.mult(Li(Mn))).mult(pa));ee.setLocationAtPoint(ee.renderWorldCopies?ea.wrap():ea,Mr),this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},()=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B)},w),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(w,B){var Q;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let ee=this._onEaseEnd;delete this._onEaseEnd,ee.call(this,B)}return w||(Q=this.handlers)===null||Q===void 0||Q.stop(!1),this}_ease(w,B,Q){Q.animate===!1||Q.duration===0?(w(1),B()):(this._easeStart=u.now(),this._easeOptions=Q,this._onEaseFrame=w,this._onEaseEnd=B,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(w,B){w=a.b3(w,-180,180);let Q=Math.abs(w-B);return Math.abs(w-360-B)180?-360:Q<-180?360:0}queryTerrainElevation(w){return this.terrain?this.terrain.getElevationForLngLatZoom(a.N.convert(w),this.transform.tileZoom)-this.transform.elevation:null}}let ka={compact:!0,customAttribution:'MapLibre'};class qa{constructor(w=ka){this._toggleAttribution=()=>{this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=B=>{!B||B.sourceDataType!=="metadata"&&B.sourceDataType!=="visibility"&&B.dataType!=="style"&&B.type!=="terrain"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=w}getDefaultPosition(){return"bottom-right"}onAdd(w){return this._map=w,this._compact=this.options.compact,this._container=c.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=c.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=c.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){c.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(w,B){let Q=this._map._getUIString(`AttributionControl.${B}`);w.title=Q,w.setAttribute("aria-label",Q)}_updateAttributions(){if(!this._map.style)return;let w=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?w=w.concat(this.options.customAttribution.map(ee=>typeof ee!="string"?"":ee)):typeof this.options.customAttribution=="string"&&w.push(this.options.customAttribution)),this._map.style.stylesheet){let ee=this._map.style.stylesheet;this.styleOwner=ee.owner,this.styleId=ee.id}let B=this._map.style.sourceCaches;for(let ee in B){let se=B[ee];if(se.used||se.usedForTerrain){let qe=se.getSource();qe.attribution&&w.indexOf(qe.attribution)<0&&w.push(qe.attribution)}}w=w.filter(ee=>String(ee).trim()),w.sort((ee,se)=>ee.length-se.length),w=w.filter((ee,se)=>{for(let qe=se+1;qe=0)return!1;return!0});let Q=w.join(" | ");Q!==this._attribHTML&&(this._attribHTML=Q,w.length?(this._innerContainer.innerHTML=Q,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class Cn{constructor(w={}){this._updateCompact=()=>{let B=this._container.children;if(B.length){let Q=B[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&Q.classList.add("maplibregl-compact"):Q.classList.remove("maplibregl-compact")}},this.options=w}getDefaultPosition(){return"bottom-left"}onAdd(w){this._map=w,this._compact=this.options&&this.options.compact,this._container=c.create("div","maplibregl-ctrl");let B=c.create("a","maplibregl-ctrl-logo");return B.target="_blank",B.rel="noopener nofollow",B.href="https://maplibre.org/",B.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),B.setAttribute("rel","noopener nofollow"),this._container.appendChild(B),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){c.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class sn{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(w){let B=++this._id;return this._queue.push({callback:w,id:B,cancelled:!1}),B}remove(w){let B=this._currentlyRunning,Q=B?this._queue.concat(B):this._queue;for(let ee of Q)if(ee.id===w)return void(ee.cancelled=!0)}run(w=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");let B=this._currentlyRunning=this._queue;this._queue=[];for(let Q of B)if(!Q.cancelled&&(Q.callback(w),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Ua=a.Y([{name:"a_pos3d",type:"Int16",components:3}]);class mo extends a.E{constructor(w){super(),this.sourceCache=w,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,w.usedForTerrain=!0,w.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(w,B){this.sourceCache.update(w,B),this._renderableTilesKeys=[];let Q={};for(let ee of w.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:B}))Q[ee.key]=!0,this._renderableTilesKeys.push(ee.key),this._tiles[ee.key]||(ee.posMatrix=new Float64Array(16),a.aP(ee.posMatrix,0,a.X,0,a.X,0,1),this._tiles[ee.key]=new Lt(ee,this.tileSize));for(let ee in this._tiles)Q[ee]||delete this._tiles[ee]}freeRtt(w){for(let B in this._tiles){let Q=this._tiles[B];(!w||Q.tileID.equals(w)||Q.tileID.isChildOf(w)||w.isChildOf(Q.tileID))&&(Q.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(w=>this.getTileByID(w))}getTileByID(w){return this._tiles[w]}getTerrainCoords(w){let B={};for(let Q of this._renderableTilesKeys){let ee=this._tiles[Q].tileID;if(ee.canonical.equals(w.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16),a.aP(se.posMatrix,0,a.X,0,a.X,0,1),B[Q]=se}else if(ee.canonical.isChildOf(w.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16);let qe=ee.canonical.z-w.canonical.z,je=ee.canonical.x-(ee.canonical.x>>qe<>qe<>qe;a.aP(se.posMatrix,0,yt,0,yt,0,1),a.J(se.posMatrix,se.posMatrix,[-je*yt,-it*yt,0]),B[Q]=se}else if(w.canonical.isChildOf(ee.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16);let qe=w.canonical.z-ee.canonical.z,je=w.canonical.x-(w.canonical.x>>qe<>qe<>qe;a.aP(se.posMatrix,0,a.X,0,a.X,0,1),a.J(se.posMatrix,se.posMatrix,[je*yt,it*yt,0]),a.K(se.posMatrix,se.posMatrix,[1/2**qe,1/2**qe,0]),B[Q]=se}}return B}getSourceTile(w,B){let Q=this.sourceCache._source,ee=w.overscaledZ-this.deltaZoom;if(ee>Q.maxzoom&&(ee=Q.maxzoom),ee=Q.minzoom&&(!se||!se.dem);)se=this.sourceCache.getTileByID(w.scaledTo(ee--).key);return se}tilesAfterTime(w=Date.now()){return Object.values(this._tiles).filter(B=>B.timeAdded>=w)}}class Xo{constructor(w,B,Q){this.painter=w,this.sourceCache=new mo(B),this.options=Q,this.exaggeration=typeof Q.exaggeration=="number"?Q.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(w,B,Q,ee=a.X){var se;if(!(B>=0&&B=0&&Qw.canonical.z&&(w.canonical.z>=ee?se=w.canonical.z-ee:a.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));let qe=w.canonical.x-(w.canonical.x>>se<>se<>8<<4|se>>8,B[qe+3]=0;let Q=new a.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(B.buffer)),ee=new g(w,Q,w.gl.RGBA,{premultiply:!1});return ee.bind(w.gl.NEAREST,w.gl.CLAMP_TO_EDGE),this._coordsTexture=ee,ee}pointCoordinate(w){this.painter.maybeDrawDepthAndCoords(!0);let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl,se=Math.round(w.x*this.painter.pixelRatio/devicePixelRatio),qe=Math.round(w.y*this.painter.pixelRatio/devicePixelRatio),je=Math.round(this.painter.height/devicePixelRatio);Q.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),ee.readPixels(se,je-qe-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null);let it=B[0]+(B[2]>>4<<8),yt=B[1]+((15&B[2])<<8),Ot=this.coordsIndex[255-B[3]],Nt=Ot&&this.sourceCache.getTileByID(Ot);if(!Nt)return null;let hr=this._coordsTextureSize,Mr=(1<w.id!==B),this._recentlyUsed.push(w.id)}stampObject(w){w.stamp=++this._stamp}getOrCreateFreeObject(){for(let B of this._recentlyUsed)if(!this._objects[B].inUse)return this._objects[B];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");let w=this._createObject(this._objects.length);return this._objects.push(w),w}freeObject(w){w.inUse=!1}freeAllObjects(){for(let w of this._objects)this.freeObject(w)}isFull(){return!(this._objects.length!w.inUse)===!1}}let es={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class _s{constructor(w,B){this.painter=w,this.terrain=B,this.pool=new As(w.context,30,B.sourceCache.tileSize*B.qualityFactor)}destruct(){this.pool.destruct()}getTexture(w){return this.pool.getObjectForId(w.rtt[this._stacks.length-1].id).texture}prepareForRender(w,B){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=w._order.filter(Q=>!w._layers[Q].isHidden(B)),this._coordsDescendingInv={};for(let Q in w.sourceCaches){this._coordsDescendingInv[Q]={};let ee=w.sourceCaches[Q].getVisibleCoordinates();for(let se of ee){let qe=this.terrain.sourceCache.getTerrainCoords(se);for(let je in qe)this._coordsDescendingInv[Q][je]||(this._coordsDescendingInv[Q][je]=[]),this._coordsDescendingInv[Q][je].push(qe[je])}}this._coordsDescendingInvStr={};for(let Q of w._order){let ee=w._layers[Q],se=ee.source;if(es[ee.type]&&!this._coordsDescendingInvStr[se]){this._coordsDescendingInvStr[se]={};for(let qe in this._coordsDescendingInv[se])this._coordsDescendingInvStr[se][qe]=this._coordsDescendingInv[se][qe].map(je=>je.key).sort().join()}}for(let Q of this._renderableTiles)for(let ee in this._coordsDescendingInvStr){let se=this._coordsDescendingInvStr[ee][Q.tileID.key];se&&se!==Q.rttCoords[ee]&&(Q.rtt=[])}}renderLayer(w){if(w.isHidden(this.painter.transform.zoom))return!1;let B=w.type,Q=this.painter,ee=this._renderableLayerIds[this._renderableLayerIds.length-1]===w.id;if(es[B]&&(this._prevType&&es[this._prevType]||this._stacks.push([]),this._prevType=B,this._stacks[this._stacks.length-1].push(w.id),!ee))return!0;if(es[this._prevType]||es[B]&&ee){this._prevType=B;let se=this._stacks.length-1,qe=this._stacks[se]||[];for(let je of this._renderableTiles){if(this.pool.isFull()&&(eu(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(je),je.rtt[se]){let yt=this.pool.getObjectForId(je.rtt[se].id);if(yt.stamp===je.rtt[se].stamp){this.pool.useObject(yt);continue}}let it=this.pool.getOrCreateFreeObject();this.pool.useObject(it),this.pool.stampObject(it),je.rtt[se]={id:it.id,stamp:it.stamp},Q.context.bindFramebuffer.set(it.fbo.framebuffer),Q.context.clear({color:a.aM.transparent,stencil:0}),Q.currentStencilSource=void 0;for(let yt=0;yt{le.touchstart=le.dragStart,le.touchmoveWindow=le.dragMove,le.touchend=le.dragEnd},ia={showCompass:!0,showZoom:!0,visualizePitch:!1};class Ja{constructor(w,B,Q=!1){this.mousedown=qe=>{this.startMouse(a.e({},qe,{ctrlKey:!0,preventDefault:()=>qe.preventDefault()}),c.mousePos(this.element,qe)),c.addEventListener(window,"mousemove",this.mousemove),c.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=qe=>{this.moveMouse(qe,c.mousePos(this.element,qe))},this.mouseup=qe=>{this.mouseRotate.dragEnd(qe),this.mousePitch&&this.mousePitch.dragEnd(qe),this.offTemp()},this.touchstart=qe=>{qe.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=c.touchPos(this.element,qe.targetTouches)[0],this.startTouch(qe,this._startPos),c.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),c.addEventListener(window,"touchend",this.touchend))},this.touchmove=qe=>{qe.targetTouches.length!==1?this.reset():(this._lastPos=c.touchPos(this.element,qe.targetTouches)[0],this.moveTouch(qe,this._lastPos))},this.touchend=qe=>{qe.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;let ee=w.dragRotate._mouseRotate.getClickTolerance(),se=w.dragRotate._mousePitch.getClickTolerance();this.element=B,this.mouseRotate=Dl({clickTolerance:ee,enable:!0}),this.touchRotate=(({enable:qe,clickTolerance:je,bearingDegreesPerPixelMoved:it=.8})=>{let yt=new pf;return new Zu({clickTolerance:je,move:(Ot,Nt)=>({bearingDelta:(Nt.x-Ot.x)*it}),moveStateManager:yt,enable:qe,assignEvents:Rs})})({clickTolerance:ee,enable:!0}),this.map=w,Q&&(this.mousePitch=zh({clickTolerance:se,enable:!0}),this.touchPitch=(({enable:qe,clickTolerance:je,pitchDegreesPerPixelMoved:it=-.5})=>{let yt=new pf;return new Zu({clickTolerance:je,move:(Ot,Nt)=>({pitchDelta:(Nt.y-Ot.y)*it}),moveStateManager:yt,enable:qe,assignEvents:Rs})})({clickTolerance:se,enable:!0})),c.addEventListener(B,"mousedown",this.mousedown),c.addEventListener(B,"touchstart",this.touchstart,{passive:!1}),c.addEventListener(B,"touchcancel",this.reset)}startMouse(w,B){this.mouseRotate.dragStart(w,B),this.mousePitch&&this.mousePitch.dragStart(w,B),c.disableDrag()}startTouch(w,B){this.touchRotate.dragStart(w,B),this.touchPitch&&this.touchPitch.dragStart(w,B),c.disableDrag()}moveMouse(w,B){let Q=this.map,{bearingDelta:ee}=this.mouseRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.mousePitch){let{pitchDelta:se}=this.mousePitch.dragMove(w,B)||{};se&&Q.setPitch(Q.getPitch()+se)}}moveTouch(w,B){let Q=this.map,{bearingDelta:ee}=this.touchRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.touchPitch){let{pitchDelta:se}=this.touchPitch.dragMove(w,B)||{};se&&Q.setPitch(Q.getPitch()+se)}}off(){let w=this.element;c.removeEventListener(w,"mousedown",this.mousedown),c.removeEventListener(w,"touchstart",this.touchstart,{passive:!1}),c.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),c.removeEventListener(window,"touchend",this.touchend),c.removeEventListener(w,"touchcancel",this.reset),this.offTemp()}offTemp(){c.enableDrag(),c.removeEventListener(window,"mousemove",this.mousemove),c.removeEventListener(window,"mouseup",this.mouseup),c.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),c.removeEventListener(window,"touchend",this.touchend)}}let ps;function Jo(le,w,B){let Q=new a.N(le.lng,le.lat);if(le=new a.N(le.lng,le.lat),w){let ee=new a.N(le.lng-360,le.lat),se=new a.N(le.lng+360,le.lat),qe=B.locationPoint(le).distSqr(w);B.locationPoint(ee).distSqr(w)180;){let ee=B.locationPoint(le);if(ee.x>=0&&ee.y>=0&&ee.x<=B.width&&ee.y<=B.height)break;le.lng>B.center.lng?le.lng-=360:le.lng+=360}return le.lng!==Q.lng&&B.locationPoint(le).y>B.height/2-B.getHorizon()?le:Q}let iu={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function Du(le,w,B){let Q=le.classList;for(let ee in iu)Q.remove(`maplibregl-${B}-anchor-${ee}`);Q.add(`maplibregl-${B}-anchor-${w}`)}class ac extends a.E{constructor(w){if(super(),this._onKeyPress=B=>{let Q=B.code,ee=B.charCode||B.keyCode;Q!=="Space"&&Q!=="Enter"&&ee!==32&&ee!==13||this.togglePopup()},this._onMapClick=B=>{let Q=B.originalEvent.target,ee=this._element;this._popup&&(Q===ee||ee.contains(Q))&&this.togglePopup()},this._update=B=>{var Q;if(!this._map)return;let ee=this._map.loaded()&&!this._map.isMoving();((B==null?void 0:B.type)==="terrain"||(B==null?void 0:B.type)==="render"&&!ee)&&this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?Jo(this._lngLat,this._flatPos,this._map.transform):(Q=this._lngLat)===null||Q===void 0?void 0:Q.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let se="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?se=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(se=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let qe="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?qe="rotateX(0deg)":this._pitchAlignment==="map"&&(qe=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||B&&B.type!=="moveend"||(this._pos=this._pos.round()),c.setTransform(this._element,`${iu[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${qe} ${se}`),u.frameAsync(new AbortController).then(()=>{this._updateOpacity(B&&B.type==="moveend")}).catch(()=>{})},this._onMove=B=>{if(!this._isDragging){let Q=this._clickTolerance||this._map._clickTolerance;this._isDragging=B.point.dist(this._pointerdownPos)>=Q}this._isDragging&&(this._pos=B.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none",this._state==="pending"&&(this._state="active",this.fire(new a.k("dragstart"))),this.fire(new a.k("drag")))},this._onUp=()=>{this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),this._state==="active"&&this.fire(new a.k("dragend")),this._state="inactive"},this._addDragHandler=B=>{this._element.contains(B.originalEvent.target)&&(B.preventDefault(),this._positionDelta=B.point.sub(this._pos).add(this._offset),this._pointerdownPos=B.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=w&&w.anchor||"center",this._color=w&&w.color||"#3FB1CE",this._scale=w&&w.scale||1,this._draggable=w&&w.draggable||!1,this._clickTolerance=w&&w.clickTolerance||0,this._subpixelPositioning=w&&w.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=w&&w.rotation||0,this._rotationAlignment=w&&w.rotationAlignment||"auto",this._pitchAlignment=w&&w.pitchAlignment&&w.pitchAlignment!=="auto"?w.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(w==null?void 0:w.opacity,w==null?void 0:w.opacityWhenCovered),w&&w.element)this._element=w.element,this._offset=a.P.convert(w&&w.offset||[0,0]);else{this._defaultMarker=!0,this._element=c.create("div");let B=c.createNS("http://www.w3.org/2000/svg","svg"),Q=41,ee=27;B.setAttributeNS(null,"display","block"),B.setAttributeNS(null,"height",`${Q}px`),B.setAttributeNS(null,"width",`${ee}px`),B.setAttributeNS(null,"viewBox",`0 0 ${ee} ${Q}`);let se=c.createNS("http://www.w3.org/2000/svg","g");se.setAttributeNS(null,"stroke","none"),se.setAttributeNS(null,"stroke-width","1"),se.setAttributeNS(null,"fill","none"),se.setAttributeNS(null,"fill-rule","evenodd");let qe=c.createNS("http://www.w3.org/2000/svg","g");qe.setAttributeNS(null,"fill-rule","nonzero");let je=c.createNS("http://www.w3.org/2000/svg","g");je.setAttributeNS(null,"transform","translate(3.0, 29.0)"),je.setAttributeNS(null,"fill","#000000");let it=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];for(let Oe of it){let Je=c.createNS("http://www.w3.org/2000/svg","ellipse");Je.setAttributeNS(null,"opacity","0.04"),Je.setAttributeNS(null,"cx","10.5"),Je.setAttributeNS(null,"cy","5.80029008"),Je.setAttributeNS(null,"rx",Oe.rx),Je.setAttributeNS(null,"ry",Oe.ry),je.appendChild(Je)}let yt=c.createNS("http://www.w3.org/2000/svg","g");yt.setAttributeNS(null,"fill",this._color);let Ot=c.createNS("http://www.w3.org/2000/svg","path");Ot.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),yt.appendChild(Ot);let Nt=c.createNS("http://www.w3.org/2000/svg","g");Nt.setAttributeNS(null,"opacity","0.25"),Nt.setAttributeNS(null,"fill","#000000");let hr=c.createNS("http://www.w3.org/2000/svg","path");hr.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),Nt.appendChild(hr);let Mr=c.createNS("http://www.w3.org/2000/svg","g");Mr.setAttributeNS(null,"transform","translate(6.0, 7.0)"),Mr.setAttributeNS(null,"fill","#FFFFFF");let he=c.createNS("http://www.w3.org/2000/svg","g");he.setAttributeNS(null,"transform","translate(8.0, 8.0)");let be=c.createNS("http://www.w3.org/2000/svg","circle");be.setAttributeNS(null,"fill","#000000"),be.setAttributeNS(null,"opacity","0.25"),be.setAttributeNS(null,"cx","5.5"),be.setAttributeNS(null,"cy","5.5"),be.setAttributeNS(null,"r","5.4999962");let Pe=c.createNS("http://www.w3.org/2000/svg","circle");Pe.setAttributeNS(null,"fill","#FFFFFF"),Pe.setAttributeNS(null,"cx","5.5"),Pe.setAttributeNS(null,"cy","5.5"),Pe.setAttributeNS(null,"r","5.4999962"),he.appendChild(be),he.appendChild(Pe),qe.appendChild(je),qe.appendChild(yt),qe.appendChild(Nt),qe.appendChild(Mr),qe.appendChild(he),B.appendChild(qe),B.setAttributeNS(null,"height",Q*this._scale+"px"),B.setAttributeNS(null,"width",ee*this._scale+"px"),this._element.appendChild(B),this._offset=a.P.convert(w&&w.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",B=>{B.preventDefault()}),this._element.addEventListener("mousedown",B=>{B.preventDefault()}),Du(this._element,this._anchor,"marker"),w&&w.className)for(let B of w.className.split(" "))this._element.classList.add(B);this._popup=null}addTo(w){return this.remove(),this._map=w,this._element.setAttribute("aria-label",w._getUIString("Marker.Title")),w.getCanvasContainer().appendChild(this._element),w.on("move",this._update),w.on("moveend",this._update),w.on("terrain",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("terrain",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),c.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(w){return this._lngLat=a.N.convert(w),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(w){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),w){if(!("offset"in w.options)){let ee=Math.abs(13.5)/Math.SQRT2;w.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[ee,-1*(38.1-13.5+ee)],"bottom-right":[-ee,-1*(38.1-13.5+ee)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=w,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(w){return this._subpixelPositioning=w,this}getPopup(){return this._popup}togglePopup(){let w=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:w?(w.isOpen()?w.remove():(w.setLngLat(this._lngLat),w.addTo(this._map)),this):this}_updateOpacity(w=!1){var B,Q;if(!(!((B=this._map)===null||B===void 0)&&B.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(w)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let ee=this._map,se=ee.terrain.depthAtPoint(this._pos),qe=ee.terrain.getElevationForLngLatZoom(this._lngLat,ee.transform.tileZoom);if(ee.transform.lngLatToCameraDepth(this._lngLat,qe)-se<.006)return void(this._element.style.opacity=this._opacity);let je=-this._offset.y/ee.transform._pixelPerMeter,it=Math.sin(ee.getPitch()*Math.PI/180)*je,yt=ee.terrain.depthAtPoint(new a.P(this._pos.x,this._pos.y-this._offset.y)),Ot=ee.transform.lngLatToCameraDepth(this._lngLat,qe+it)-yt>.006;!((Q=this._popup)===null||Q===void 0)&&Q.isOpen()&&Ot&&this._popup.remove(),this._element.style.opacity=Ot?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(w){return this._offset=a.P.convert(w),this._update(),this}addClassName(w){this._element.classList.add(w)}removeClassName(w){this._element.classList.remove(w)}toggleClassName(w){return this._element.classList.toggle(w)}setDraggable(w){return this._draggable=!!w,this._map&&(w?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(w){return this._rotation=w||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(w){return this._rotationAlignment=w||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(w){return this._pitchAlignment=w&&w!=="auto"?w:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(w,B){return w===void 0&&B===void 0&&(this._opacity="1",this._opacityWhenCovered="0.2"),w!==void 0&&(this._opacity=w),B!==void 0&&(this._opacityWhenCovered=B),this._map&&this._updateOpacity(!0),this}}let mf={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},bu=0,Kc=!1,Ru={maxWidth:100,unit:"metric"};function Rc(le,w,B){let Q=B&&B.maxWidth||100,ee=le._container.clientHeight/2,se=le.unproject([0,ee]),qe=le.unproject([Q,ee]),je=se.distanceTo(qe);if(B&&B.unit==="imperial"){let it=3.2808*je;it>5280?Ra(w,Q,it/5280,le._getUIString("ScaleControl.Miles")):Ra(w,Q,it,le._getUIString("ScaleControl.Feet"))}else B&&B.unit==="nautical"?Ra(w,Q,je/1852,le._getUIString("ScaleControl.NauticalMiles")):je>=1e3?Ra(w,Q,je/1e3,le._getUIString("ScaleControl.Kilometers")):Ra(w,Q,je,le._getUIString("ScaleControl.Meters"))}function Ra(le,w,B,Q){let ee=function(se){let qe=Math.pow(10,`${Math.floor(se)}`.length-1),je=se/qe;return je=je>=10?10:je>=5?5:je>=3?3:je>=2?2:je>=1?1:function(it){let yt=Math.pow(10,Math.ceil(-Math.log(it)/Math.LN10));return Math.round(it*yt)/yt}(je),qe*je}(B);le.style.width=w*(ee/B)+"px",le.innerHTML=`${ee} ${Q}`}let eo={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},Jc=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function yc(le){if(le){if(typeof le=="number"){let w=Math.round(Math.abs(le)/Math.SQRT2);return{center:new a.P(0,0),top:new a.P(0,le),"top-left":new a.P(w,w),"top-right":new a.P(-w,w),bottom:new a.P(0,-le),"bottom-left":new a.P(w,-w),"bottom-right":new a.P(-w,-w),left:new a.P(le,0),right:new a.P(-le,0)}}if(le instanceof a.P||Array.isArray(le)){let w=a.P.convert(le);return{center:w,top:w,"top-left":w,"top-right":w,bottom:w,"bottom-left":w,"bottom-right":w,left:w,right:w}}return{center:a.P.convert(le.center||[0,0]),top:a.P.convert(le.top||[0,0]),"top-left":a.P.convert(le["top-left"]||[0,0]),"top-right":a.P.convert(le["top-right"]||[0,0]),bottom:a.P.convert(le.bottom||[0,0]),"bottom-left":a.P.convert(le["bottom-left"]||[0,0]),"bottom-right":a.P.convert(le["bottom-right"]||[0,0]),left:a.P.convert(le.left||[0,0]),right:a.P.convert(le.right||[0,0])}}return yc(new a.P(0,0))}let _c=o;i.AJAXError=a.bh,i.Evented=a.E,i.LngLat=a.N,i.MercatorCoordinate=a.Z,i.Point=a.P,i.addProtocol=a.bi,i.config=a.a,i.removeProtocol=a.bj,i.AttributionControl=qa,i.BoxZoomHandler=xu,i.CanvasSource=Ct,i.CooperativeGesturesHandler=qi,i.DoubleClickZoomHandler=fi,i.DragPanHandler=Xi,i.DragRotateHandler=hn,i.EdgeInsets=ic,i.FullscreenControl=class extends a.E{constructor(le={}){super(),this._onFullscreenChange=()=>{var w;let B=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((w=B==null?void 0:B.shadowRoot)===null||w===void 0)&&w.fullscreenElement;)B=B.shadowRoot.fullscreenElement;B===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,le&&le.container&&(le.container instanceof HTMLElement?this._container=le.container:a.w("Full screen control 'container' must be a DOM element.")),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(le){return this._map=le,this._container||(this._container=this._map.getContainer()),this._controlContainer=c.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){c.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let le=this._fullscreenButton=c.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);c.create("span","maplibregl-ctrl-icon",le).setAttribute("aria-hidden","true"),le.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let le=this._getTitle();this._fullscreenButton.setAttribute("aria-label",le),this._fullscreenButton.title=le}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._updateTitle(),this._fullscreen?(this.fire(new a.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new a.k("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}},i.GeoJSONSource=rt,i.GeolocateControl=class extends a.E{constructor(le){super(),this._onSuccess=w=>{if(this._map){if(this._isOutOfMapMaxBounds(w))return this._setErrorState(),this.fire(new a.k("outofmaxbounds",w)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=w,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(w),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(w),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new a.k("geolocate",w)),this._finish()}},this._updateCamera=w=>{let B=new a.N(w.coords.longitude,w.coords.latitude),Q=w.coords.accuracy,ee=this._map.getBearing(),se=a.e({bearing:ee},this.options.fitBoundsOptions),qe=ce.fromLngLat(B,Q);this._map.fitBounds(qe,se,{geolocateSource:!0})},this._updateMarker=w=>{if(w){let B=new a.N(w.coords.longitude,w.coords.latitude);this._accuracyCircleMarker.setLngLat(B).addTo(this._map),this._userLocationDotMarker.setLngLat(B).addTo(this._map),this._accuracy=w.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=w=>{if(this._map){if(this.options.trackUserLocation)if(w.code===1){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;let B=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=B,this._geolocateButton.setAttribute("aria-label",B),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(w.code===3&&Kc)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new a.k("error",w)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",w=>w.preventDefault()),this._geolocateButton=c.create("button","maplibregl-ctrl-geolocate",this._container),c.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=w=>{if(this._map){if(w===!1){a.w("Geolocation support is not available so the GeolocateControl will be disabled.");let B=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=B,this._geolocateButton.setAttribute("aria-label",B)}else{let B=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=B,this._geolocateButton.setAttribute("aria-label",B)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=c.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new ac({element:this._dotElement}),this._circleElement=c.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new ac({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",B=>{B.geolocateSource||this._watchState!=="ACTIVE_LOCK"||B.originalEvent&&B.originalEvent.type==="resize"||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new a.k("trackuserlocationend")),this.fire(new a.k("userlocationlostfocus")))})}},this.options=a.e({},mf,le)}onAdd(le){return this._map=le,this._container=c.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return a._(this,arguments,void 0,function*(w=!1){if(ps!==void 0&&!w)return ps;if(window.navigator.permissions===void 0)return ps=!!window.navigator.geolocation,ps;try{ps=(yield window.navigator.permissions.query({name:"geolocation"})).state!=="denied"}catch(B){ps=!!window.navigator.geolocation}return ps})}().then(w=>this._finishSetupUI(w)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),c.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,bu=0,Kc=!1}_isOutOfMapMaxBounds(le){let w=this._map.getMaxBounds(),B=le.coords;return w&&(B.longitudew.getEast()||B.latitudew.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let le=this._map.getBounds(),w=le.getSouthEast(),B=le.getNorthEast(),Q=w.distanceTo(B),ee=Math.ceil(this._accuracy/(Q/this._map._container.clientHeight)*2);this._circleElement.style.width=`${ee}px`,this._circleElement.style.height=`${ee}px`}trigger(){if(!this._setup)return a.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new a.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":bu--,Kc=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this.fire(new a.k("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new a.k("trackuserlocationstart")),this.fire(new a.k("userlocationfocus"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"OFF":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState==="OFF"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let le;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),bu++,bu>1?(le={maximumAge:6e5,timeout:0},Kc=!0):(le=this.options.positionOptions,Kc=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,le)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},i.Hash=md,i.ImageSource=It,i.KeyboardHandler=Bt,i.LngLatBounds=ce,i.LogoControl=Cn,i.Map=class extends Ta{constructor(le){a.bf.mark(a.bg.create);let w=Object.assign(Object.assign({},Gs),le);if(w.minZoom!=null&&w.maxZoom!=null&&w.minZoom>w.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(w.minPitch!=null&&w.maxPitch!=null&&w.minPitch>w.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(w.minPitch!=null&&w.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(w.maxPitch!=null&&w.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new Qs(w.minZoom,w.maxZoom,w.minPitch,w.maxPitch,w.renderWorldCopies),{bearingSnap:w.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new sn,this._controls=[],this._mapId=a.a4(),this._contextLost=B=>{B.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new a.k("webglcontextlost",{originalEvent:B}))},this._contextRestored=B=>{this._setupPainter(),this.resize(),this._update(),this.fire(new a.k("webglcontextrestored",{originalEvent:B}))},this._onMapScroll=B=>{if(B.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=w.interactive,this._maxTileCacheSize=w.maxTileCacheSize,this._maxTileCacheZoomLevels=w.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=w.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=w.preserveDrawingBuffer===!0,this._antialias=w.antialias===!0,this._trackResize=w.trackResize===!0,this._bearingSnap=w.bearingSnap,this._refreshExpiredTiles=w.refreshExpiredTiles===!0,this._fadeDuration=w.fadeDuration,this._crossSourceCollisions=w.crossSourceCollisions===!0,this._collectResourceTiming=w.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},No),w.locale),this._clickTolerance=w.clickTolerance,this._overridePixelRatio=w.pixelRatio,this._maxCanvasSize=w.maxCanvasSize,this.transformCameraUpdate=w.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=w.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=p.addThrottleControl(()=>this.isMoving()),this._requestManager=new E(w.transformRequest),typeof w.container=="string"){if(this._container=document.getElementById(w.container),!this._container)throw new Error(`Container '${w.container}' not found.`)}else{if(!(w.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=w.container}if(w.maxBounds&&this.setMaxBounds(w.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",()=>this._update(!1)).on("moveend",()=>this._update(!1)).on("zoom",()=>this._update(!0)).on("terrain",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}).once("idle",()=>{this._idleTriggered=!0}),typeof window!="undefined"){addEventListener("online",this._onWindowOnline,!1);let B=!1,Q=td(ee=>{this._trackResize&&!this._removed&&(this.resize(ee),this.redraw())},50);this._resizeObserver=new ResizeObserver(ee=>{B?Q(ee):B=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Ea(this,w),this._hash=w.hash&&new md(typeof w.hash=="string"&&w.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:w.center,zoom:w.zoom,bearing:w.bearing,pitch:w.pitch}),w.bounds&&(this.resize(),this.fitBounds(w.bounds,a.e({},w.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=w.localIdeographFontFamily,this._validateStyle=w.validateStyle,w.style&&this.setStyle(w.style,{localIdeographFontFamily:w.localIdeographFontFamily}),w.attributionControl&&this.addControl(new qa(typeof w.attributionControl=="boolean"?void 0:w.attributionControl)),w.maplibreLogo&&this.addControl(new Cn,w.logoPosition),this.on("style.load",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",B=>{this._update(B.dataType==="style"),this.fire(new a.k(`${B.dataType}data`,B))}),this.on("dataloading",B=>{this.fire(new a.k(`${B.dataType}dataloading`,B))}),this.on("dataabort",B=>{this.fire(new a.k("sourcedataabort",B))})}_getMapId(){return this._mapId}addControl(le,w){if(w===void 0&&(w=le.getDefaultPosition?le.getDefaultPosition():"top-right"),!le||!le.onAdd)return this.fire(new a.j(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));let B=le.onAdd(this);this._controls.push(le);let Q=this._controlPositions[w];return w.indexOf("bottom")!==-1?Q.insertBefore(B,Q.firstChild):Q.appendChild(B),this}removeControl(le){if(!le||!le.onRemove)return this.fire(new a.j(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));let w=this._controls.indexOf(le);return w>-1&&this._controls.splice(w,1),le.onRemove(this),this}hasControl(le){return this._controls.indexOf(le)>-1}calculateCameraOptionsFromTo(le,w,B,Q){return Q==null&&this.terrain&&(Q=this.terrain.getElevationForLngLatZoom(B,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(le,w,B,Q)}resize(le){var w;let B=this._containerDimensions(),Q=B[0],ee=B[1],se=this._getClampedPixelRatio(Q,ee);if(this._resizeCanvas(Q,ee,se),this.painter.resize(Q,ee,se),this.painter.overLimit()){let je=this.painter.context.gl;this._maxCanvasSize=[je.drawingBufferWidth,je.drawingBufferHeight];let it=this._getClampedPixelRatio(Q,ee);this._resizeCanvas(Q,ee,it),this.painter.resize(Q,ee,it)}this.transform.resize(Q,ee),(w=this._requestedCameraState)===null||w===void 0||w.resize(Q,ee);let qe=!this._moving;return qe&&(this.stop(),this.fire(new a.k("movestart",le)).fire(new a.k("move",le))),this.fire(new a.k("resize",le)),qe&&this.fire(new a.k("moveend",le)),this}_getClampedPixelRatio(le,w){let{0:B,1:Q}=this._maxCanvasSize,ee=this.getPixelRatio(),se=le*ee,qe=w*ee;return Math.min(se>B?B/se:1,qe>Q?Q/qe:1)*ee}getPixelRatio(){var le;return(le=this._overridePixelRatio)!==null&&le!==void 0?le:devicePixelRatio}setPixelRatio(le){this._overridePixelRatio=le,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(le){return this.transform.setMaxBounds(ce.convert(le)),this._update()}setMinZoom(le){if((le=le==null?-2:le)>=-2&&le<=this.transform.maxZoom)return this.transform.minZoom=le,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=le,this._update(),this.getZoom()>le&&this.setZoom(le),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(le){if((le=le==null?0:le)<0)throw new Error("minPitch must be greater than or equal to 0");if(le>=0&&le<=this.transform.maxPitch)return this.transform.minPitch=le,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(le>=this.transform.minPitch)return this.transform.maxPitch=le,this._update(),this.getPitch()>le&&this.setPitch(le),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(le){return this.transform.renderWorldCopies=le,this._update()}project(le){return this.transform.locationPoint(a.N.convert(le),this.style&&this.terrain)}unproject(le){return this.transform.pointLocation(a.P.convert(le),this.terrain)}isMoving(){var le;return this._moving||((le=this.handlers)===null||le===void 0?void 0:le.isMoving())}isZooming(){var le;return this._zooming||((le=this.handlers)===null||le===void 0?void 0:le.isZooming())}isRotating(){var le;return this._rotating||((le=this.handlers)===null||le===void 0?void 0:le.isRotating())}_createDelegatedListener(le,w,B){if(le==="mouseenter"||le==="mouseover"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:se=>{let qe=w.filter(it=>this.getLayer(it)),je=qe.length!==0?this.queryRenderedFeatures(se.point,{layers:qe}):[];je.length?Q||(Q=!0,B.call(this,new tu(le,this,se.originalEvent,{features:je}))):Q=!1},mouseout:()=>{Q=!1}}}}if(le==="mouseleave"||le==="mouseout"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:qe=>{let je=w.filter(it=>this.getLayer(it));(je.length!==0?this.queryRenderedFeatures(qe.point,{layers:je}):[]).length?Q=!0:Q&&(Q=!1,B.call(this,new tu(le,this,qe.originalEvent)))},mouseout:qe=>{Q&&(Q=!1,B.call(this,new tu(le,this,qe.originalEvent)))}}}}{let Q=ee=>{let se=w.filter(je=>this.getLayer(je)),qe=se.length!==0?this.queryRenderedFeatures(ee.point,{layers:se}):[];qe.length&&(ee.features=qe,B.call(this,ee),delete ee.features)};return{layers:w,listener:B,delegates:{[le]:Q}}}}_saveDelegatedListener(le,w){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[le]=this._delegatedListeners[le]||[],this._delegatedListeners[le].push(w)}_removeDelegatedListener(le,w,B){if(!this._delegatedListeners||!this._delegatedListeners[le])return;let Q=this._delegatedListeners[le];for(let ee=0;eew.includes(qe))){for(let qe in se.delegates)this.off(qe,se.delegates[qe]);return void Q.splice(ee,1)}}}on(le,w,B){if(B===void 0)return super.on(le,w);let Q=this._createDelegatedListener(le,typeof w=="string"?[w]:w,B);this._saveDelegatedListener(le,Q);for(let ee in Q.delegates)this.on(ee,Q.delegates[ee]);return this}once(le,w,B){if(B===void 0)return super.once(le,w);let Q=typeof w=="string"?[w]:w,ee=this._createDelegatedListener(le,Q,B);for(let se in ee.delegates){let qe=ee.delegates[se];ee.delegates[se]=(...je)=>{this._removeDelegatedListener(le,Q,B),qe(...je)}}this._saveDelegatedListener(le,ee);for(let se in ee.delegates)this.once(se,ee.delegates[se]);return this}off(le,w,B){return B===void 0?super.off(le,w):(this._removeDelegatedListener(le,typeof w=="string"?[w]:w,B),this)}queryRenderedFeatures(le,w){if(!this.style)return[];let B,Q=le instanceof a.P||Array.isArray(le),ee=Q?le:[[0,0],[this.transform.width,this.transform.height]];if(w=w||(Q?{}:le)||{},ee instanceof a.P||typeof ee[0]=="number")B=[a.P.convert(ee)];else{let se=a.P.convert(ee[0]),qe=a.P.convert(ee[1]);B=[se,new a.P(qe.x,se.y),qe,new a.P(se.x,qe.y),se]}return this.style.queryRenderedFeatures(B,w,this.transform)}querySourceFeatures(le,w){return this.style.querySourceFeatures(le,w)}setStyle(le,w){return(w=a.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},w)).diff!==!1&&w.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&le?(this._diffStyle(le,w),this):(this._localIdeographFontFamily=w.localIdeographFontFamily,this._updateStyle(le,w))}setTransformRequest(le){return this._requestManager.setTransformRequest(le),this}_getUIString(le){let w=this._locale[le];if(w==null)throw new Error(`Missing UI string '${le}'`);return w}_updateStyle(le,w){if(w.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",()=>this._updateStyle(le,w));let B=this.style&&w.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!le)),le?(this.style=new Ha(this,w||{}),this.style.setEventedParent(this,{style:this.style}),typeof le=="string"?this.style.loadURL(le,w,B):this.style.loadJSON(le,w,B),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Ha(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(le,w){if(typeof le=="string"){let B=this._requestManager.transformRequest(le,"Style");a.h(B,new AbortController).then(Q=>{this._updateDiff(Q.data,w)}).catch(Q=>{Q&&this.fire(new a.j(Q))})}else typeof le=="object"&&this._updateDiff(le,w)}_updateDiff(le,w){try{this.style.setState(le,w)&&this._update(!0)}catch(B){a.w(`Unable to perform style diff: ${B.message||B.error||B}. Rebuilding the style from scratch.`),this._updateStyle(le,w)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():a.w("There is no style added to the map.")}addSource(le,w){return this._lazyInitEmptyStyle(),this.style.addSource(le,w),this._update(!0)}isSourceLoaded(le){let w=this.style&&this.style.sourceCaches[le];if(w!==void 0)return w.loaded();this.fire(new a.j(new Error(`There is no source with ID '${le}'`)))}setTerrain(le){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),le){let w=this.style.sourceCaches[le.source];if(!w)throw new Error(`cannot load terrain, because there exists no source with ID: ${le.source}`);this.terrain===null&&w.reload();for(let B in this.style._layers){let Q=this.style._layers[B];Q.type==="hillshade"&&Q.source===le.source&&a.w("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new Xo(this.painter,w,le),this.painter.renderToTexture=new _s(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=B=>{B.dataType==="style"?this.terrain.sourceCache.freeRtt():B.dataType==="source"&&B.tile&&(B.sourceId!==le.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(B.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new a.k("terrain",{terrain:le})),this}getTerrain(){var le,w;return(w=(le=this.terrain)===null||le===void 0?void 0:le.options)!==null&&w!==void 0?w:null}areTilesLoaded(){let le=this.style&&this.style.sourceCaches;for(let w in le){let B=le[w]._tiles;for(let Q in B){let ee=B[Q];if(ee.state!=="loaded"&&ee.state!=="errored")return!1}}return!0}removeSource(le){return this.style.removeSource(le),this._update(!0)}getSource(le){return this.style.getSource(le)}addImage(le,w,B={}){let{pixelRatio:Q=1,sdf:ee=!1,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt}=B;if(this._lazyInitEmptyStyle(),!(w instanceof HTMLImageElement||a.b(w))){if(w.width===void 0||w.height===void 0)return this.fire(new a.j(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{let{width:Ot,height:Nt,data:hr}=w,Mr=w;return this.style.addImage(le,{data:new a.R({width:Ot,height:Nt},new Uint8Array(hr)),pixelRatio:Q,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt,sdf:ee,version:0,userImage:Mr}),Mr.onAdd&&Mr.onAdd(this,le),this}}{let{width:Ot,height:Nt,data:hr}=u.getImageData(w);this.style.addImage(le,{data:new a.R({width:Ot,height:Nt},hr),pixelRatio:Q,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt,sdf:ee,version:0})}}updateImage(le,w){let B=this.style.getImage(le);if(!B)return this.fire(new a.j(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let Q=w instanceof HTMLImageElement||a.b(w)?u.getImageData(w):w,{width:ee,height:se,data:qe}=Q;if(ee===void 0||se===void 0)return this.fire(new a.j(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(ee!==B.data.width||se!==B.data.height)return this.fire(new a.j(new Error("The width and height of the updated image must be that same as the previous version of the image")));let je=!(w instanceof HTMLImageElement||a.b(w));return B.data.replace(qe,je),this.style.updateImage(le,B),this}getImage(le){return this.style.getImage(le)}hasImage(le){return le?!!this.style.getImage(le):(this.fire(new a.j(new Error("Missing required image id"))),!1)}removeImage(le){this.style.removeImage(le)}loadImage(le){return p.getImage(this._requestManager.transformRequest(le,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(le,w){return this._lazyInitEmptyStyle(),this.style.addLayer(le,w),this._update(!0)}moveLayer(le,w){return this.style.moveLayer(le,w),this._update(!0)}removeLayer(le){return this.style.removeLayer(le),this._update(!0)}getLayer(le){return this.style.getLayer(le)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(le,w,B){return this.style.setLayerZoomRange(le,w,B),this._update(!0)}setFilter(le,w,B={}){return this.style.setFilter(le,w,B),this._update(!0)}getFilter(le){return this.style.getFilter(le)}setPaintProperty(le,w,B,Q={}){return this.style.setPaintProperty(le,w,B,Q),this._update(!0)}getPaintProperty(le,w){return this.style.getPaintProperty(le,w)}setLayoutProperty(le,w,B,Q={}){return this.style.setLayoutProperty(le,w,B,Q),this._update(!0)}getLayoutProperty(le,w){return this.style.getLayoutProperty(le,w)}setGlyphs(le,w={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(le,w),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(le,w,B={}){return this._lazyInitEmptyStyle(),this.style.addSprite(le,w,B,Q=>{Q||this._update(!0)}),this}removeSprite(le){return this._lazyInitEmptyStyle(),this.style.removeSprite(le),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(le,w={}){return this._lazyInitEmptyStyle(),this.style.setSprite(le,w,B=>{B||this._update(!0)}),this}setLight(le,w={}){return this._lazyInitEmptyStyle(),this.style.setLight(le,w),this._update(!0)}getLight(){return this.style.getLight()}setSky(le){return this._lazyInitEmptyStyle(),this.style.setSky(le),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(le,w){return this.style.setFeatureState(le,w),this._update()}removeFeatureState(le,w){return this.style.removeFeatureState(le,w),this._update()}getFeatureState(le){return this.style.getFeatureState(le)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let le=0,w=0;return this._container&&(le=this._container.clientWidth||400,w=this._container.clientHeight||300),[le,w]}_setupContainer(){let le=this._container;le.classList.add("maplibregl-map");let w=this._canvasContainer=c.create("div","maplibregl-canvas-container",le);this._interactive&&w.classList.add("maplibregl-interactive"),this._canvas=c.create("canvas","maplibregl-canvas",w),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",this._interactive?"0":"-1"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region");let B=this._containerDimensions(),Q=this._getClampedPixelRatio(B[0],B[1]);this._resizeCanvas(B[0],B[1],Q);let ee=this._controlContainer=c.create("div","maplibregl-control-container",le),se=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(qe=>{se[qe]=c.create("div",`maplibregl-ctrl-${qe} `,ee)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(le,w,B){this._canvas.width=Math.floor(B*le),this._canvas.height=Math.floor(B*w),this._canvas.style.width=`${le}px`,this._canvas.style.height=`${w}px`}_setupPainter(){let le={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},w=null;this._canvas.addEventListener("webglcontextcreationerror",Q=>{w={requestedAttributes:le},Q&&(w.statusMessage=Q.statusMessage,w.type=Q.type)},{once:!0});let B=this._canvas.getContext("webgl2",le)||this._canvas.getContext("webgl",le);if(!B){let Q="Failed to initialize WebGL";throw w?(w.message=Q,new Error(JSON.stringify(w))):new Error(Q)}this.painter=new Lc(B,this.transform),f.testSupport(B)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(le){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||le,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(le){return this._update(),this._renderTaskQueue.add(le)}_cancelRenderFrame(le){this._renderTaskQueue.remove(le)}_render(le){let w=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(le),this._removed)return;let B=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let ee=this.transform.zoom,se=u.now();this.style.zoomHistory.update(ee,se);let qe=new a.z(ee,{now:se,fadeDuration:w,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),je=qe.crossFadingFactor();je===1&&je===this._crossFadingFactor||(B=!0,this._crossFadingFactor=je),this.style.update(qe)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,w,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:w,showPadding:this.showPadding}),this.fire(new a.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,a.bf.mark(a.bg.load),this.fire(new a.k("load"))),this.style&&(this.style.hasTransitions()||B)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let Q=this._sourcesDirty||this._styleDirty||this._placementDirty;return Q||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new a.k("idle")),!this._loaded||this._fullyLoaded||Q||(this._fullyLoaded=!0,a.bf.mark(a.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var le;this._hash&&this._hash.remove();for(let B of this._controls)B.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window!="undefined"&&removeEventListener("online",this._onWindowOnline,!1),p.removeThrottleControl(this._imageQueueHandle),(le=this._resizeObserver)===null||le===void 0||le.disconnect();let w=this.painter.context.gl.getExtension("WEBGL_lose_context");w!=null&&w.loseContext&&w.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),c.remove(this._canvasContainer),c.remove(this._controlContainer),this._container.classList.remove("maplibregl-map"),a.bf.clearMetrics(),this._removed=!0,this.fire(new a.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(le=>{a.bf.frame(le),this._frameRequest=null,this._render(le)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(le){this._showTileBoundaries!==le&&(this._showTileBoundaries=le,this._update())}get showPadding(){return!!this._showPadding}set showPadding(le){this._showPadding!==le&&(this._showPadding=le,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(le){this._showCollisionBoxes!==le&&(this._showCollisionBoxes=le,le?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(le){this._showOverdrawInspector!==le&&(this._showOverdrawInspector=le,this._update())}get repaint(){return!!this._repaint}set repaint(le){this._repaint!==le&&(this._repaint=le,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(le){this._vertices=le,this._update()}get version(){return yl}getCameraTargetElevation(){return this.transform.elevation}},i.MapMouseEvent=tu,i.MapTouchEvent=vf,i.MapWheelEvent=yd,i.Marker=ac,i.NavigationControl=class{constructor(le){this._updateZoomButtons=()=>{let w=this._map.getZoom(),B=w===this._map.getMaxZoom(),Q=w===this._map.getMinZoom();this._zoomInButton.disabled=B,this._zoomOutButton.disabled=Q,this._zoomInButton.setAttribute("aria-disabled",B.toString()),this._zoomOutButton.setAttribute("aria-disabled",Q.toString())},this._rotateCompassArrow=()=>{let w=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=w},this._setButtonTitle=(w,B)=>{let Q=this._map._getUIString(`NavigationControl.${B}`);w.title=Q,w.setAttribute("aria-label",Q)},this.options=a.e({},ia,le),this._container=c.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",w=>w.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",w=>this._map.zoomIn({},{originalEvent:w})),c.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",w=>this._map.zoomOut({},{originalEvent:w})),c.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",w=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:w}):this._map.resetNorth({},{originalEvent:w})}),this._compassIcon=c.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(le){return this._map=le,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ja(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){c.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(le,w){let B=c.create("button",le,this._container);return B.type="button",B.addEventListener("click",w),B}},i.Popup=class extends a.E{constructor(le){super(),this.remove=()=>(this._content&&c.remove(this._content),this._container&&(c.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new a.k("close"))),this),this._onMouseUp=w=>{this._update(w.point)},this._onMouseMove=w=>{this._update(w.point)},this._onDrag=w=>{this._update(w.point)},this._update=w=>{var B;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=c.create("div","maplibregl-popup",this._map.getContainer()),this._tip=c.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(let je of this.options.className.split(" "))this._container.classList.add(je);this._closeButton&&this._closeButton.setAttribute("aria-label",this._map._getUIString("Popup.Close")),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Jo(this._lngLat,this._flatPos,this._map.transform):(B=this._lngLat)===null||B===void 0?void 0:B.wrap(),this._trackPointer&&!w)return;let Q=this._flatPos=this._pos=this._trackPointer&&w?w:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&w?w:this._map.transform.locationPoint(this._lngLat));let ee=this.options.anchor,se=yc(this.options.offset);if(!ee){let je=this._container.offsetWidth,it=this._container.offsetHeight,yt;yt=Q.y+se.bottom.ythis._map.transform.height-it?["bottom"]:[],Q.xthis._map.transform.width-je/2&&yt.push("right"),ee=yt.length===0?"bottom":yt.join("-")}let qe=Q.add(se[ee]);this.options.subpixelPositioning||(qe=qe.round()),c.setTransform(this._container,`${iu[ee]} translate(${qe.x}px,${qe.y}px)`),Du(this._container,ee,"popup")},this._onClose=()=>{this.remove()},this.options=a.e(Object.create(eo),le)}addTo(le){return this._map&&this.remove(),this._map=le,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new a.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(le){return this._lngLat=a.N.convert(le),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")),this}getElement(){return this._container}setText(le){return this.setDOMContent(document.createTextNode(le))}setHTML(le){let w=document.createDocumentFragment(),B=document.createElement("body"),Q;for(B.innerHTML=le;Q=B.firstChild,Q;)w.appendChild(Q);return this.setDOMContent(w)}getMaxWidth(){var le;return(le=this._container)===null||le===void 0?void 0:le.style.maxWidth}setMaxWidth(le){return this.options.maxWidth=le,this._update(),this}setDOMContent(le){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=c.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(le),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(le){return this._container&&this._container.classList.add(le),this}removeClassName(le){return this._container&&this._container.classList.remove(le),this}setOffset(le){return this.options.offset=le,this._update(),this}toggleClassName(le){if(this._container)return this._container.classList.toggle(le)}setSubpixelPositioning(le){this.options.subpixelPositioning=le}_createCloseButton(){this.options.closeButton&&(this._closeButton=c.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let le=this._container.querySelector(Jc);le&&le.focus()}},i.RasterDEMTileSource=qt,i.RasterTileSource=ct,i.ScaleControl=class{constructor(le){this._onMove=()=>{Rc(this._map,this._container,this.options)},this.setUnit=w=>{this.options.unit=w,Rc(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Ru),le)}getDefaultPosition(){return"bottom-left"}onAdd(le){return this._map=le,this._container=c.create("div","maplibregl-ctrl maplibregl-ctrl-scale",le.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){c.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},i.ScrollZoomHandler=Ur,i.Style=Ha,i.TerrainControl=class{constructor(le){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove("maplibregl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled"),this._map.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.Disable")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.Enable"))},this.options=le}onAdd(le){return this._map=le,this._container=c.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=c.create("button","maplibregl-ctrl-terrain",this._container),c.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){c.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},i.TwoFingersTouchPitchHandler=gf,i.TwoFingersTouchRotateHandler=Yc,i.TwoFingersTouchZoomHandler=ru,i.TwoFingersTouchZoomRotateHandler=Ti,i.VectorTileSource=nt,i.VideoSource=kt,i.addSourceType=(le,w)=>a._(void 0,void 0,void 0,function*(){if(mr(le))throw new Error(`A source type called "${le}" already exists.`);((B,Q)=>{Yt[B]=Q})(le,w)}),i.clearPrewarmedResources=function(){let le=ge;le&&(le.isPreloaded()&&le.numActive()===1?(le.release(_e),ge=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},i.getMaxParallelImageRequests=function(){return a.a.MAX_PARALLEL_IMAGE_REQUESTS},i.getRTLTextPluginStatus=function(){return xt().getRTLTextPluginStatus()},i.getVersion=function(){return _c},i.getWorkerCount=function(){return Me.workerCount},i.getWorkerUrl=function(){return a.a.WORKER_URL},i.importScriptInWorkers=function(le){return Ae().broadcast("IS",le)},i.prewarm=function(){Te().acquire(_e)},i.setMaxParallelImageRequests=function(le){a.a.MAX_PARALLEL_IMAGE_REQUESTS=le},i.setRTLTextPlugin=function(le,w){return xt().setRTLTextPlugin(le,w)},i.setWorkerCount=function(le){Me.workerCount=le},i.setWorkerUrl=function(le){a.a.WORKER_URL=le}});var n=e;return n})});var uGe=ye((F_r,lGe)=>{"use strict";var dw=Ar(),Wjt=Ll().sanitizeHTML,Zjt=TJ(),aGe=Cx();function oGe(e,t){this.subplot=e,this.uid=e.uid+"-"+t,this.index=t,this.idSource="source-"+this.uid,this.idLayer=aGe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ug=oGe.prototype;ug.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=m7(t)};ug.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType==="image"&&e.sourcetype==="image"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ug.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ug.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup["layout-"+this.index]};ug.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]};ug.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ug.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!m7(e)){var r=Xjt(e);t.addSource(this.idSource,r)}};ug.findFollowingMapLayerId=function(e){if(e==="traces")for(var t=this.subplot.getMapLayers(),r=0;r0){for(var r=0;r0}function sGe(e){var t={},r={};switch(e.type){case"circle":dw.extendFlat(r,{"circle-radius":e.circle.radius,"circle-color":e.color,"circle-opacity":e.opacity});break;case"line":dw.extendFlat(r,{"line-width":e.line.width,"line-color":e.color,"line-opacity":e.opacity,"line-dasharray":e.line.dash});break;case"fill":dw.extendFlat(r,{"fill-color":e.color,"fill-outline-color":e.fill.outlinecolor,"fill-opacity":e.opacity});break;case"symbol":var n=e.symbol,i=Zjt(n.textposition,n.iconsize);dw.extendFlat(t,{"icon-image":n.icon+"-15","icon-size":n.iconsize/10,"text-field":n.text,"text-size":n.textfont.size,"text-anchor":i.anchor,"text-offset":i.offset,"symbol-placement":n.placement}),dw.extendFlat(r,{"icon-color":e.color,"text-color":n.textfont.color,"text-opacity":e.opacity});break;case"raster":dw.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":e.opacity});break}return{layout:t,paint:r}}function Xjt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t==="geojson"?i="data":t==="vector"?i=typeof r=="string"?"url":"tiles":t==="raster"?(i="tiles",n.tileSize=256):t==="image"&&(i="url",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=Wjt(e.sourceattribution)),n}lGe.exports=function(t,r,n){var i=new oGe(t,r);return i.update(n),i}});var mGe=ye((q_r,gGe)=>{"use strict";var CJ=nGe(),LJ=Ar(),hGe=fx(),cGe=ya(),Yjt=Xa(),Kjt=yv(),y7=Nc(),dGe=Eg(),Jjt=dGe.drawMode,$jt=dGe.selectMode,Qjt=wf().prepSelect,eWt=wf().clearOutline,tWt=wf().clearSelectionsCache,rWt=wf().selectOnClick,vw=Cx(),iWt=uGe();function vGe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var kh=vGe.prototype;kh.plot=function(e,t,r){var n=this,i;n.map?i=new Promise(function(a,o){n.updateMap(e,t,a,o)}):i=new Promise(function(a,o){n.createMap(e,t,a,o)}),r.push(i)};kh.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=pGe(a.style),s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new CJ.Map({container:i.div,style:o.style,center:PJ(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new CJ.AttributionControl({compact:!0})),c={};u.on("styleimagemissing",function(h){var v=h.id;if(!c[v]&&v.includes("-15")){c[v]=!0;var d=new Image(15,15);d.onload=function(){u.addImage(v,d)},d.crossOrigin="Anonymous",d.src="https://unpkg.com/maki@2.1.0/icons/"+v+".svg"}}),u.setTransformRequest(function(h){return h=h.replace("https://fonts.openmaptiles.org/Open Sans Extrabold","https://fonts.openmaptiles.org/Open Sans Extra Bold"),h=h.replace("https://tiles.basemaps.cartocdn.com/fonts/Open Sans Extrabold","https://fonts.openmaptiles.org/Open Sans Extra Bold"),h=h.replace("https://fonts.openmaptiles.org/Open Sans Regular,Arial Unicode MS Regular","https://fonts.openmaptiles.org/Klokantech Noto Sans Regular"),{url:h}}),u._canvas.style.left="0px",u._canvas.style.top="0px",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var f=[];f.push(new Promise(function(h){u.once("load",h)})),f=f.concat(hGe.fetchTraceGeoData(e)),Promise.all(f).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};kh.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=pGe(o.style);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once("styledata",u)}))),s=s.concat(hGe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};kh.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i1)for(i=0;i-1&&rWt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf("event")>-1&&y7.click(n,l.originalEvent)}}};kh.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=LJ.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off("click",t.onClickInPanHandler),$jt(a)||Jjt(a)?(r.dragPan.disable(),r.on("zoomstart",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){Qjt(l,u,c,t.dragOptions,a)},Kjt.init(t.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener("touchstart",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on("click",t.onClickInPanHandler))};kh.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+"px",n.height=r.h*(t.y[1]-t.y[0])+"px",n.left=r.l+t.x[0]*r.w+"px",n.top=r.t+(1-t.y[1])*r.h+"px",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};kh.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i{"use strict";var IJ=Ar(),aWt=F_(),oWt=Xd(),yGe=tC();_Ge.exports=function(t,r,n){aWt(t,r,n,{type:"map",attributes:yGe,handleDefaults:sWt,partition:"y"})};function sWt(e,t,r){r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch");var n=r("bounds.west"),i=r("bounds.east"),a=r("bounds.south"),o=r("bounds.north");(n===void 0||i===void 0||a===void 0||o===void 0)&&delete t.bounds,oWt(e,t,{name:"layers",handleItemDefaults:lWt}),t._input=e}function lWt(e,t){function r(l,u){return IJ.coerce(e,t,yGe.layers,l,u)}var n=r("visible");if(n){var i=r("sourcetype"),a=i==="raster"||i==="image";r("source"),r("sourceattribution"),i==="vector"&&r("sourcelayer"),i==="image"&&r("coordinates");var o;a&&(o="raster");var s=r("type",o);a&&s!=="raster"&&(s=t.type="raster",IJ.log("Source types *raster* and *image* must drawn *raster* layer type.")),r("below"),r("color"),r("opacity"),r("minzoom"),r("maxzoom"),s==="circle"&&r("circle.radius"),s==="line"&&(r("line.width"),r("line.dash")),s==="fill"&&r("fill.outlinecolor"),s==="symbol"&&(r("symbol.icon"),r("symbol.iconsize"),r("symbol.text"),IJ.coerceFont(r,"symbol.textfont",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r("symbol.textposition"),r("symbol.placement"))}}});var x7=ye(f0=>{"use strict";var _7=Ar(),bGe=_7.strTranslate,uWt=_7.strScale,cWt=Cd().getSubplotCalcData,fWt=Kp(),hWt=ba(),wGe=ao(),dWt=Ll(),vWt=mGe(),Lx="map";f0.name=Lx;f0.attr="subplot";f0.idRoot=Lx;f0.idRegex=f0.attrRegex=_7.counterRegex(Lx);f0.attributes={subplot:{valType:"subplotid",dflt:"map",editType:"calc"}};f0.layoutAttributes=tC();f0.supplyLayoutDefaults=xGe();f0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[Lx],a=0;a_/2){var b=f.split("|").join("
");v.text(b).attr("data-unformatted",b).call(dWt.convertToTspans,e),d=wGe.bBox(v.node())}v.attr("transform",bGe(-3,-d.height+8)),h.insert("rect",".static-attribution").attr({x:-d.width-6,y:-d.height-3,width:d.width+6,height:d.height+3,fill:"rgba(255, 255, 255, 0.75)"});var p=1;d.width+6>_&&(p=_/(d.width+6));var E=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];h.attr("transform",bGe(E[0],E[1])+uWt(p))}};f0.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[Lx],n=0;n{"use strict";TGe.exports={attributes:f7(),supplyDefaults:FHe(),colorbar:Jd(),formatLabels:wJ(),calc:wz(),plot:KHe(),hoverPoints:g7().hoverPoints,eventData:eGe(),selectPoints:rGe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:"trace",name:"scattermap",basePlotModule:x7(),categories:["map","gl","symbols","showLegend","scatter-like"],meta:{}}});var MGe=ye((U_r,SGe)=>{"use strict";SGe.exports=AGe()});var DJ=ye((V_r,EGe)=>{"use strict";var g1=sA(),pWt=Kl(),gWt=Wo().hovertemplateAttrs,mWt=vl(),Px=no().extendFlat;EGe.exports=Px({locations:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},geojson:{valType:"any",editType:"calc"},featureidkey:Px({},g1.featureidkey,{}),below:{valType:"string",editType:"plot"},text:g1.text,hovertext:g1.hovertext,marker:{line:{color:Px({},g1.marker.line.color,{editType:"plot"}),width:Px({},g1.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:Px({},g1.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:Px({},g1.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:Px({},g1.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:g1.hoverinfo,hovertemplate:gWt({},{keys:["properties"]}),showlegend:Px({},mWt.showlegend,{dflt:!1})},pWt("",{cLetter:"z",editTypeOverride:"calc"}))});var CGe=ye((H_r,kGe)=>{"use strict";var aC=Ar(),yWt=Hh(),_Wt=DJ();kGe.exports=function(t,r,n,i){function a(c,f){return aC.coerce(t,r,_Wt,c,f)}var o=a("locations"),s=a("z"),l=a("geojson");if(!aC.isArrayOrTypedArray(o)||!o.length||!aC.isArrayOrTypedArray(s)||!s.length||!(typeof l=="string"&&l!==""||aC.isPlainObject(l))){r.visible=!1;return}a("featureidkey"),r._length=Math.min(o.length,s.length),a("below"),a("text"),a("hovertext"),a("hovertemplate");var u=a("marker.line.width");u&&a("marker.line.color"),a("marker.opacity"),yWt(t,r,i,a,{prefix:"",cLetter:"z"}),aC.coerceSelectionMarkerOpacity(r,a)}});var RJ=ye((G_r,IGe)=>{"use strict";var xWt=uo(),m1=Ar(),bWt=Mu(),wWt=ao(),TWt=ux().makeBlank,LGe=fx();function AWt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:"none"},paint:{}},i={layout:{visibility:"none"},paint:{}},a=t._opts={fill:n,line:i,geojson:TWt()};if(!r)return a;var o=LGe.extractTraceFeature(e);if(!o)return a;var s=bWt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;m1.isArrayOrTypedArray(l.opacity)&&(c=function(E){var k=E.mo;return xWt(k)?+m1.constrain(k,0,1):0});var f;m1.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;m1.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var v=0;v{"use strict";var RGe=RJ().convert,SWt=RJ().convertOnSelect,DGe=Cx().traceLayerPrefix;function zGe(e,t){this.type="choroplethmap",this.subplot=e,this.uid=t,this.sourceId="source-"+t,this.layerList=[["fill",DGe+t+"-fill"],["line",DGe+t+"-line"]],this.below=null}var qA=zGe.prototype;qA.update=function(e){this._update(RGe(e)),e[0].trace._glTrace=this};qA.updateOnSelect=function(e){this._update(SWt(e))};qA._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup["trace-"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i=0;r--)e.removeLayer(t[r][1])};qA.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};FGe.exports=function(t,r){var n=r[0].trace,i=new zGe(t,n.uid),a=i.sourceId,o=RGe(r),s=i.below=t.belowLookup["trace-"+n.uid];return t.map.addSource(a,{type:"geojson",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var BGe=ye((W_r,OGe)=>{"use strict";OGe.exports={attributes:DJ(),supplyDefaults:CGe(),colorbar:D_(),calc:Gz(),plot:qGe(),hoverPoints:Wz(),eventData:Zz(),selectPoints:Xz(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i=="string"&&i.indexOf("water")===0){for(var a=n+1;a{"use strict";NGe.exports=BGe()});var FJ=ye((X_r,HGe)=>{"use strict";var MWt=Kl(),EWt=Wo().hovertemplateAttrs,VGe=vl(),b7=f7(),zJ=no().extendFlat;HGe.exports=zJ({lon:b7.lon,lat:b7.lat,z:{valType:"data_array",editType:"calc"},radius:{valType:"number",editType:"plot",arrayOk:!0,min:1,dflt:30},below:{valType:"string",editType:"plot"},text:b7.text,hovertext:b7.hovertext,hoverinfo:zJ({},VGe.hoverinfo,{flags:["lon","lat","z","text","name"]}),hovertemplate:EWt(),showlegend:zJ({},VGe.showlegend,{dflt:!1})},MWt("",{cLetter:"z",editTypeOverride:"calc"}))});var jGe=ye((Y_r,GGe)=>{"use strict";var kWt=Ar(),CWt=Hh(),LWt=FJ();GGe.exports=function(t,r,n,i){function a(u,c){return kWt.coerce(t,r,LWt,u,c)}var o=a("lon")||[],s=a("lat")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a("z"),a("radius"),a("below"),a("text"),a("hovertext"),a("hovertemplate"),CWt(t,r,i,a,{prefix:"",cLetter:"z"})}});var XGe=ye((K_r,ZGe)=>{"use strict";var qJ=uo(),PWt=Ar().isArrayOrTypedArray,OJ=Yo().BADNUM,IWt=qv(),WGe=Ar()._;ZGe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=PWt(a)&&a.length,s=0;s{"use strict";var DWt=uo(),BJ=Ar(),YGe=va(),KGe=Mu(),JGe=Yo().BADNUM,RWt=ux().makeBlank;$Ge.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:"none"},paint:{}},a=r._opts={heatmap:i,geojson:RWt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=BJ.isArrayOrTypedArray(l)&&l.length,f=BJ.isArrayOrTypedArray(u);for(s=0;s0?+u[s]:0),o.push({type:"Feature",geometry:{type:"Point",coordinates:v},properties:d})}}var b=KGe.extractOpts(r),p=b.reversescale?KGe.flipScale(b.colorscale):b.colorscale,E=p[0][1],k=YGe.opacity(E)<1?E:YGe.addOpacity(E,0),S=["interpolate",["linear"],["heatmap-density"],0,k];for(s=1;s{"use strict";var eje=QGe(),zWt=Cx().traceLayerPrefix;function tje(e,t){this.type="densitymap",this.subplot=e,this.uid=t,this.sourceId="source-"+t,this.layerList=[["heatmap",zWt+t+"-heatmap"]],this.below=null}var w7=tje.prototype;w7.update=function(e){var t=this.subplot,r=this.layerList,n=eje(e),i=t.belowLookup["trace-"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a=0;r--)e.removeLayer(t[r][1])};w7.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};rje.exports=function(t,r){var n=r[0].trace,i=new tje(t,n.uid),a=i.sourceId,o=eje(r),s=i.below=t.belowLookup["trace-"+n.uid];return t.map.addSource(a,{type:"geojson",data:o.geojson}),i._addLayers(o,s),i}});var aje=ye((Q_r,nje)=>{"use strict";var FWt=Xa(),qWt=g7().hoverPoints,OWt=g7().getExtraText;nje.exports=function(t,r,n){var i=qWt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,"z"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=FWt.tickText(u,u.c2l(l.z),"hover").text}return a.extraText=OWt(s,l,o[0].t.labels),[a]}}});var sje=ye((exr,oje)=>{"use strict";oje.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var uje=ye((txr,lje)=>{"use strict";lje.exports={attributes:FJ(),supplyDefaults:jGe(),colorbar:D_(),formatLabels:wJ(),calc:XGe(),plot:ije(),hoverPoints:aje(),eventData:sje(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n{"use strict";cje.exports=uje()});var UJ=ye((ixr,pje)=>{"use strict";var BWt=Su(),NWt=vl(),hje=ph(),NJ=g3(),UWt=Ju().attributes,dje=Wo().hovertemplateAttrs,VWt=Kl(),HWt=Vs().templatedArray,GWt=Oc().descriptionOnlyNumbers,vje=no().extendFlat,jWt=Bu().overrideAll,WWt=pje.exports=jWt({hoverinfo:vje({},NWt.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:NJ.hoverlabel,domain:UWt({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:GWt("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:BWt({autoShadowDflt:!0}),customdata:void 0,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:hje.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:NJ.hoverlabel,hovertemplate:dje({},{keys:["value","label"]}),align:{valType:"enumerated",values:["justify","left","right","center"],dflt:"justify"}},link:{arrowlen:{valType:"number",min:0,dflt:0},label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},hovercolor:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:hje.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:NJ.hoverlabel,hovertemplate:dje({},{keys:["value","label"]}),colorscales:HWt("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:vje(VWt().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested");WWt.transforms=void 0});var xje=ye((nxr,_je)=>{"use strict";var OA=Ar(),T7=UJ(),ZWt=va(),gje=ad(),XWt=Ju().defaults,mje=xM(),yje=Vs(),YWt=Xd();_je.exports=function(t,r,n,i){function a(S,L){return OA.coerce(t,r,T7,S,L)}var o=OA.extendDeep(i.hoverlabel,t.hoverlabel),s=t.node,l=yje.newContainer(r,"node");function u(S,L){return OA.coerce(s,l,T7.node,S,L)}u("label"),u("groups"),u("x"),u("y"),u("pad"),u("thickness"),u("line.color"),u("line.width"),u("hoverinfo",t.hoverinfo),mje(s,l,u,o),u("hovertemplate"),u("align");var c=i.colorway,f=function(S){return c[S%c.length]};u("color",l.label.map(function(S,L){return ZWt.addOpacity(f(L),.8)})),u("customdata");var h=t.link||{},v=yje.newContainer(r,"link");function d(S,L){return OA.coerce(h,v,T7.link,S,L)}d("label"),d("arrowlen"),d("source"),d("target"),d("value"),d("line.color"),d("line.width"),d("hoverinfo",t.hoverinfo),mje(h,v,d,o),d("hovertemplate");var _=gje(i.paper_bgcolor).getLuminance()<.333,b=_?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)",p=d("color",b);function E(S){var L=gje(S);if(!L.isValid())return S;var x=L.getAlpha();return x<=.8?L.setAlpha(x+.2):L=_?L.brighten():L.darken(),L.toRgbString()}d("hovercolor",Array.isArray(p)?p.map(E):E(p)),d("customdata"),YWt(h,v,{name:"colorscales",handleItemDefaults:KWt}),XWt(r,i,a),a("orientation"),a("valueformat"),a("valuesuffix");var k;l.x.length&&l.y.length&&(k="freeform"),a("arrangement",k),OA.coerceFont(a,"textfont",i.font,{autoShadowDflt:!0}),r._length=null};function KWt(e,t){function r(n,i){return OA.coerce(e,t,T7.link.colorscales,n,i)}r("label"),r("cmin"),r("cmax"),r("colorscale")}});var VJ=ye((axr,bje)=>{"use strict";bje.exports=JWt;function JWt(e){for(var t=e.length,r=new Array(t),n=new Array(t),i=new Array(t),a=new Array(t),o=new Array(t),s=new Array(t),l=0;l0;){b=E[E.length-1];var k=e[b];if(a[b]=0&&s[b].push(o[L])}a[b]=S}else{if(n[b]===r[b]){for(var x=[],C=[],M=0,S=p.length-1;S>=0;--S){var g=p[S];if(i[g]=!1,x.push(g),C.push(s[g]),M+=s[g].length,o[g]=c.length,g===b){p.length=S;break}}c.push(x);for(var P=new Array(M),S=0;S{"use strict";var $Wt=VJ(),BA=Ar(),QWt=$m().wrap,oC=BA.isArrayOrTypedArray,wje=BA.isIndex,Tje=Mu();function eZt(e){var t=e.node,r=e.link,n=[],i=oC(r.color),a=oC(r.hovercolor),o=oC(r.customdata),s={},l={},u=r.colorscales.length,c;for(c=0;cd&&(d=r.source[c]),r.target[c]>d&&(d=r.target[c]);var _=d+1;e.node._count=_;var b,p=e.node.groups,E={};for(c=0;c0&&wje(M,_)&&wje(g,_)&&!(E.hasOwnProperty(M)&&E.hasOwnProperty(g)&&E[M]===E[g])){E.hasOwnProperty(g)&&(g=E[g]),E.hasOwnProperty(M)&&(M=E[M]),M=+M,g=+g,s[M]=s[g]=!0;var P="";r.label&&r.label[c]&&(P=r.label[c]);var T=null;P&&l.hasOwnProperty(P)&&(T=l[P]),n.push({pointNumber:c,label:P,color:i?r.color[c]:r.color,hovercolor:a?r.hovercolor[c]:r.hovercolor,customdata:o?r.customdata[c]:r.customdata,concentrationscale:T,source:M,target:g,value:+C}),x.source.push(M),x.target.push(g)}}var F=_+p.length,q=oC(t.color),V=oC(t.customdata),H=[];for(c=0;c_-1,childrenNodes:[],pointNumber:c,label:X,color:q?t.color[c]:t.color,customdata:V?t.customdata[c]:t.customdata})}var G=!1;return tZt(F,x.source,x.target)&&(G=!0),{circular:G,links:n,nodes:H,groups:p,groupLookup:E}}function tZt(e,t,r){for(var n=BA.init2dArray(e,0),i=0;i1})}Aje.exports=function(t,r){var n=eZt(r);return QWt({circular:n.circular,_nodes:n.nodes,_links:n.links,_groups:n.groups,_groupLookup:n.groupLookup})}});var Eje=ye((A7,Mje)=>{(function(e,t){typeof A7=="object"&&typeof Mje!="undefined"?t(A7):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(A7,function(e){"use strict";function t(C){var M=+this._x.call(null,C),g=+this._y.call(null,C);return r(this.cover(M,g),M,g,C)}function r(C,M,g,P){if(isNaN(M)||isNaN(g))return C;var T,F=C._root,q={data:P},V=C._x0,H=C._y0,X=C._x1,G=C._y1,N,W,re,ae,_e,Me,ke,ge;if(!F)return C._root=q,C;for(;F.length;)if((_e=M>=(N=(V+X)/2))?V=N:X=N,(Me=g>=(W=(H+G)/2))?H=W:G=W,T=F,!(F=F[ke=Me<<1|_e]))return T[ke]=q,C;if(re=+C._x.call(null,F.data),ae=+C._y.call(null,F.data),M===re&&g===ae)return q.next=F,T?T[ke]=q:C._root=q,C;do T=T?T[ke]=new Array(4):C._root=new Array(4),(_e=M>=(N=(V+X)/2))?V=N:X=N,(Me=g>=(W=(H+G)/2))?H=W:G=W;while((ke=Me<<1|_e)===(ge=(ae>=W)<<1|re>=N));return T[ge]=F,T[ke]=q,C}function n(C){var M,g,P=C.length,T,F,q=new Array(P),V=new Array(P),H=1/0,X=1/0,G=-1/0,N=-1/0;for(g=0;gG&&(G=T),FN&&(N=F));if(H>G||X>N)return this;for(this.cover(H,X).cover(G,N),g=0;gC||C>=T||P>M||M>=F;)switch(X=(MG||(V=ae.y0)>N||(H=ae.x1)=ke)<<1|C>=Me)&&(ae=W[W.length-1],W[W.length-1]=W[W.length-1-_e],W[W.length-1-_e]=ae)}else{var ge=C-+this._x.call(null,re.data),ie=M-+this._y.call(null,re.data),Te=ge*ge+ie*ie;if(Te=(W=(q+H)/2))?q=W:H=W,(_e=N>=(re=(V+X)/2))?V=re:X=re,M=g,!(g=g[Me=_e<<1|ae]))return this;if(!g.length)break;(M[Me+1&3]||M[Me+2&3]||M[Me+3&3])&&(P=M,ke=Me)}for(;g.data!==C;)if(T=g,!(g=g.next))return this;return(F=g.next)&&delete g.next,T?(F?T.next=F:delete T.next,this):M?(F?M[Me]=F:delete M[Me],(g=M[0]||M[1]||M[2]||M[3])&&g===(M[3]||M[2]||M[1]||M[0])&&!g.length&&(P?P[ke]=g:this._root=g),this):(this._root=F,this)}function c(C){for(var M=0,g=C.length;M{(function(e,t){typeof S7=="object"&&typeof kje!="undefined"?t(S7):typeof define=="function"&&define.amd?define(["exports"],t):t(e.d3=e.d3||{})})(S7,function(e){"use strict";var t="$";function r(){}r.prototype=n.prototype={constructor:r,has:function(_){return t+_ in this},get:function(_){return this[t+_]},set:function(_,b){return this[t+_]=b,this},remove:function(_){var b=t+_;return b in this&&delete this[b]},clear:function(){for(var _ in this)_[0]===t&&delete this[_]},keys:function(){var _=[];for(var b in this)b[0]===t&&_.push(b.slice(1));return _},values:function(){var _=[];for(var b in this)b[0]===t&&_.push(this[b]);return _},entries:function(){var _=[];for(var b in this)b[0]===t&&_.push({key:b.slice(1),value:this[b]});return _},size:function(){var _=0;for(var b in this)b[0]===t&&++_;return _},empty:function(){for(var _ in this)if(_[0]===t)return!1;return!0},each:function(_){for(var b in this)b[0]===t&&_(this[b],b.slice(1),this)}};function n(_,b){var p=new r;if(_ instanceof r)_.each(function(x,C){p.set(C,x)});else if(Array.isArray(_)){var E=-1,k=_.length,S;if(b==null)for(;++E=_.length)return p!=null&&x.sort(p),E!=null?E(x):x;for(var P=-1,T=x.length,F=_[C++],q,V,H=n(),X,G=M();++P_.length)return x;var M,g=b[C-1];return E!=null&&C>=_.length?M=x.entries():(M=[],x.each(function(P,T){M.push({key:T,values:L(P,C)})})),g!=null?M.sort(function(P,T){return g(P.key,T.key)}):M}return k={object:function(x){return S(x,0,a,o)},map:function(x){return S(x,0,s,l)},entries:function(x){return L(S(x,0,s,l),0)},key:function(x){return _.push(x),k},sortKeys:function(x){return b[_.length-1]=x,k},sortValues:function(x){return p=x,k},rollup:function(x){return E=x,k}}}function a(){return{}}function o(_,b,p){_[b]=p}function s(){return n()}function l(_,b,p){_.set(b,p)}function u(){}var c=n.prototype;u.prototype=f.prototype={constructor:u,has:c.has,add:function(_){return _+="",this[t+_]=_,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};function f(_,b){var p=new u;if(_ instanceof u)_.each(function(S){p.add(S)});else if(_){var E=-1,k=_.length;if(b==null)for(;++E{(function(e,t){typeof E7=="object"&&typeof Cje!="undefined"?t(E7):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(E7,function(e){"use strict";var t={value:function(){}};function r(){for(var s=0,l=arguments.length,u={},c;s=0&&(c=u.slice(f+1),u=u.slice(0,f)),u&&!l.hasOwnProperty(u))throw new Error("unknown type: "+u);return{type:u,name:c}})}n.prototype=r.prototype={constructor:n,on:function(s,l){var u=this._,c=i(s+"",u),f,h=-1,v=c.length;if(arguments.length<2){for(;++h0)for(var u=new Array(f),c=0,f,h;c{(function(e,t){typeof k7=="object"&&typeof Pje!="undefined"?t(k7):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(k7,function(e){"use strict";var t=0,r=0,n=0,i=1e3,a,o,s=0,l=0,u=0,c=typeof performance=="object"&&performance.now?performance:Date,f=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(C){setTimeout(C,17)};function h(){return l||(f(v),l=c.now()+u)}function v(){l=0}function d(){this._call=this._time=this._next=null}d.prototype=_.prototype={constructor:d,restart:function(C,M,g){if(typeof C!="function")throw new TypeError("callback is not a function");g=(g==null?h():+g)+(M==null?0:+M),!this._next&&o!==this&&(o?o._next=this:a=this,o=this),this._call=C,this._time=g,S()},stop:function(){this._call&&(this._call=null,this._time=1/0,S())}};function _(C,M,g){var P=new d;return P.restart(C,M,g),P}function b(){h(),++t;for(var C=a,M;C;)(M=l-C._time)>=0&&C._call.call(null,M),C=C._next;--t}function p(){l=(s=c.now())+u,t=r=0;try{b()}finally{t=0,k(),l=0}}function E(){var C=c.now(),M=C-s;M>i&&(u-=M,s=C)}function k(){for(var C,M=a,g,P=1/0;M;)M._call?(P>M._time&&(P=M._time),C=M,M=M._next):(g=M._next,M._next=null,M=C?C._next=g:a=g);o=C,S(P)}function S(C){if(!t){r&&(r=clearTimeout(r));var M=C-l;M>24?(C<1/0&&(r=setTimeout(p,C-c.now()-u)),n&&(n=clearInterval(n))):(n||(s=c.now(),n=setInterval(E,i)),t=1,f(p))}}function L(C,M,g){var P=new d;return M=M==null?0:+M,P.restart(function(T){P.stop(),C(T+M)},M,g),P}function x(C,M,g){var P=new d,T=M;return M==null?(P.restart(C,M,g),P):(M=+M,g=g==null?h():+g,P.restart(function F(q){q+=T,P.restart(F,T+=M,g),C(q)},M,g),P)}e.interval=x,e.now=h,e.timeout=L,e.timer=_,e.timerFlush=b,Object.defineProperty(e,"__esModule",{value:!0})})});var Rje=ye((C7,Dje)=>{(function(e,t){typeof C7=="object"&&typeof Dje!="undefined"?t(C7,Eje(),M7(),Lje(),Ije()):typeof define=="function"&&define.amd?define(["exports","d3-quadtree","d3-collection","d3-dispatch","d3-timer"],t):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,e.d3)})(C7,function(e,t,r,n,i){"use strict";function a(C,M){var g;C==null&&(C=0),M==null&&(M=0);function P(){var T,F=g.length,q,V=0,H=0;for(T=0;TN.index){var De=W-ze.x-ze.vx,ce=re-ze.y-ze.vy,Ge=De*De+ce*ce;GeW+me||Eere+me||AeH.r&&(H.r=H[X].r)}function V(){if(M){var H,X=M.length,G;for(g=new Array(X),H=0;H1?(_e==null?V.remove(ae):V.set(ae,re(_e)),M):V.get(ae)},find:function(ae,_e,Me){var ke=0,ge=C.length,ie,Te,Ee,Ae,ze;for(Me==null?Me=1/0:Me*=Me,ke=0;ke1?(X.on(ae,_e),M):X.on(ae)}}}function k(){var C,M,g,P=o(-30),T,F=1,q=1/0,V=.81;function H(W){var re,ae=C.length,_e=t.quadtree(C,d,_).visitAfter(G);for(g=W,re=0;re=q)return;(W.data!==M||W.next)&&(Me===0&&(Me=s(),ie+=Me*Me),ke===0&&(ke=s(),ie+=ke*ke),ie{(function(e,t){typeof L7=="object"&&typeof zje!="undefined"?t(L7):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.d3=e.d3||{}))})(L7,function(e){"use strict";var t=Math.PI,r=2*t,n=1e-6,i=r-n;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function o(){return new a}a.prototype=o.prototype={constructor:a,moveTo:function(s,l){this._+="M"+(this._x0=this._x1=+s)+","+(this._y0=this._y1=+l)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(s,l){this._+="L"+(this._x1=+s)+","+(this._y1=+l)},quadraticCurveTo:function(s,l,u,c){this._+="Q"+ +s+","+ +l+","+(this._x1=+u)+","+(this._y1=+c)},bezierCurveTo:function(s,l,u,c,f,h){this._+="C"+ +s+","+ +l+","+ +u+","+ +c+","+(this._x1=+f)+","+(this._y1=+h)},arcTo:function(s,l,u,c,f){s=+s,l=+l,u=+u,c=+c,f=+f;var h=this._x1,v=this._y1,d=u-s,_=c-l,b=h-s,p=v-l,E=b*b+p*p;if(f<0)throw new Error("negative radius: "+f);if(this._x1===null)this._+="M"+(this._x1=s)+","+(this._y1=l);else if(E>n)if(!(Math.abs(p*d-_*b)>n)||!f)this._+="L"+(this._x1=s)+","+(this._y1=l);else{var k=u-h,S=c-v,L=d*d+_*_,x=k*k+S*S,C=Math.sqrt(L),M=Math.sqrt(E),g=f*Math.tan((t-Math.acos((L+E-x)/(2*C*M)))/2),P=g/M,T=g/C;Math.abs(P-1)>n&&(this._+="L"+(s+P*b)+","+(l+P*p)),this._+="A"+f+","+f+",0,0,"+ +(p*k>b*S)+","+(this._x1=s+T*d)+","+(this._y1=l+T*_)}},arc:function(s,l,u,c,f,h){s=+s,l=+l,u=+u,h=!!h;var v=u*Math.cos(c),d=u*Math.sin(c),_=s+v,b=l+d,p=1^h,E=h?c-f:f-c;if(u<0)throw new Error("negative radius: "+u);this._x1===null?this._+="M"+_+","+b:(Math.abs(this._x1-_)>n||Math.abs(this._y1-b)>n)&&(this._+="L"+_+","+b),u&&(E<0&&(E=E%r+r),E>i?this._+="A"+u+","+u+",0,1,"+p+","+(s-v)+","+(l-d)+"A"+u+","+u+",0,1,"+p+","+(this._x1=_)+","+(this._y1=b):E>n&&(this._+="A"+u+","+u+",0,"+ +(E>=t)+","+p+","+(this._x1=s+u*Math.cos(f))+","+(this._y1=l+u*Math.sin(f))))},rect:function(s,l,u,c){this._+="M"+(this._x0=this._x1=+s)+","+(this._y0=this._y1=+l)+"h"+ +u+"v"+ +c+"h"+-u+"Z"},toString:function(){return this._}},e.path=o,Object.defineProperty(e,"__esModule",{value:!0})})});var HJ=ye((P7,qje)=>{(function(e,t){typeof P7=="object"&&typeof qje!="undefined"?t(P7,Fje()):typeof define=="function"&&define.amd?define(["exports","d3-path"],t):(e=e||self,t(e.d3=e.d3||{},e.d3))})(P7,function(e,t){"use strict";function r(_t){return function(){return _t}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,u=Math.sqrt,c=1e-12,f=Math.PI,h=f/2,v=2*f;function d(_t){return _t>1?0:_t<-1?f:Math.acos(_t)}function _(_t){return _t>=1?h:_t<=-1?-h:Math.asin(_t)}function b(_t){return _t.innerRadius}function p(_t){return _t.outerRadius}function E(_t){return _t.startAngle}function k(_t){return _t.endAngle}function S(_t){return _t&&_t.padAngle}function L(_t,br,Hr,ti,zi,Yi,an,hi){var Ji=Hr-_t,ca=ti-br,Fn=an-zi,Ma=hi-Yi,go=Ma*Ji-Fn*ca;if(!(go*go$l*$l+ju*ju&&(Ls=Ys,ml=Hs),{cx:Ls,cy:ml,x01:-Fn,y01:-Ma,x11:Ls*(zi/wl-1),y11:ml*(zi/wl-1)}}function C(){var _t=b,br=p,Hr=r(0),ti=null,zi=E,Yi=k,an=S,hi=null;function Ji(){var ca,Fn,Ma=+_t.apply(this,arguments),go=+br.apply(this,arguments),Bo=zi.apply(this,arguments)-h,ho=Yi.apply(this,arguments)-h,Mo=n(ho-Bo),xo=ho>Bo;if(hi||(hi=ca=t.path()),goc))hi.moveTo(0,0);else if(Mo>v-c)hi.moveTo(go*a(Bo),go*l(Bo)),hi.arc(0,0,go,Bo,ho,!xo),Ma>c&&(hi.moveTo(Ma*a(ho),Ma*l(ho)),hi.arc(0,0,Ma,ho,Bo,xo));else{var qs=Bo,Cs=ho,Zs=Bo,Xs=ho,wl=Mo,os=Mo,cl=an.apply(this,arguments)/2,Ls=cl>c&&(ti?+ti.apply(this,arguments):u(Ma*Ma+go*go)),ml=s(n(go-Ma)/2,+Hr.apply(this,arguments)),Ys=ml,Hs=ml,Eo,hs;if(Ls>c){var $l=_(Ls/Ma*l(cl)),ju=_(Ls/go*l(cl));(wl-=$l*2)>c?($l*=xo?1:-1,Zs+=$l,Xs-=$l):(wl=0,Zs=Xs=(Bo+ho)/2),(os-=ju*2)>c?(ju*=xo?1:-1,qs+=ju,Cs-=ju):(os=0,qs=Cs=(Bo+ho)/2)}var fc=go*a(qs),ys=go*l(qs),on=Ma*a(Xs),ha=Ma*l(Xs);if(ml>c){var Qu=go*a(Cs),Il=go*l(Cs),vo=Ma*a(Zs),Wl=Ma*l(Zs),Ks;if(Moc?Hs>c?(Eo=x(vo,Wl,fc,ys,go,Hs,xo),hs=x(Qu,Il,on,ha,go,Hs,xo),hi.moveTo(Eo.cx+Eo.x01,Eo.cy+Eo.y01),Hsc)||!(wl>c)?hi.lineTo(on,ha):Ys>c?(Eo=x(on,ha,Qu,Il,Ma,-Ys,xo),hs=x(fc,ys,vo,Wl,Ma,-Ys,xo),hi.lineTo(Eo.cx+Eo.x01,Eo.cy+Eo.y01),Ys=go;--Bo)hi.point(Cs[Bo],Zs[Bo]);hi.lineEnd(),hi.areaEnd()}xo&&(Cs[Ma]=+_t(Mo,Ma,Fn),Zs[Ma]=+Hr(Mo,Ma,Fn),hi.point(br?+br(Mo,Ma,Fn):Cs[Ma],ti?+ti(Mo,Ma,Fn):Zs[Ma]))}if(qs)return hi=null,qs+""||null}function ca(){return F().defined(zi).curve(an).context(Yi)}return Ji.x=function(Fn){return arguments.length?(_t=typeof Fn=="function"?Fn:r(+Fn),br=null,Ji):_t},Ji.x0=function(Fn){return arguments.length?(_t=typeof Fn=="function"?Fn:r(+Fn),Ji):_t},Ji.x1=function(Fn){return arguments.length?(br=Fn==null?null:typeof Fn=="function"?Fn:r(+Fn),Ji):br},Ji.y=function(Fn){return arguments.length?(Hr=typeof Fn=="function"?Fn:r(+Fn),ti=null,Ji):Hr},Ji.y0=function(Fn){return arguments.length?(Hr=typeof Fn=="function"?Fn:r(+Fn),Ji):Hr},Ji.y1=function(Fn){return arguments.length?(ti=Fn==null?null:typeof Fn=="function"?Fn:r(+Fn),Ji):ti},Ji.lineX0=Ji.lineY0=function(){return ca().x(_t).y(Hr)},Ji.lineY1=function(){return ca().x(_t).y(ti)},Ji.lineX1=function(){return ca().x(br).y(Hr)},Ji.defined=function(Fn){return arguments.length?(zi=typeof Fn=="function"?Fn:r(!!Fn),Ji):zi},Ji.curve=function(Fn){return arguments.length?(an=Fn,Yi!=null&&(hi=an(Yi)),Ji):an},Ji.context=function(Fn){return arguments.length?(Fn==null?Yi=hi=null:hi=an(Yi=Fn),Ji):Yi},Ji}function V(_t,br){return br<_t?-1:br>_t?1:br>=_t?0:NaN}function H(_t){return _t}function X(){var _t=H,br=V,Hr=null,ti=r(0),zi=r(v),Yi=r(0);function an(hi){var Ji,ca=hi.length,Fn,Ma,go=0,Bo=new Array(ca),ho=new Array(ca),Mo=+ti.apply(this,arguments),xo=Math.min(v,Math.max(-v,zi.apply(this,arguments)-Mo)),qs,Cs=Math.min(Math.abs(xo)/ca,Yi.apply(this,arguments)),Zs=Cs*(xo<0?-1:1),Xs;for(Ji=0;Ji0&&(go+=Xs);for(br!=null?Bo.sort(function(wl,os){return br(ho[wl],ho[os])}):Hr!=null&&Bo.sort(function(wl,os){return Hr(hi[wl],hi[os])}),Ji=0,Ma=go?(xo-ca*Zs)/go:0;Ji0?Xs*Ma:0)+Zs,ho[Fn]={data:hi[Fn],index:Ji,value:Xs,startAngle:Mo,endAngle:qs,padAngle:Cs};return ho}return an.value=function(hi){return arguments.length?(_t=typeof hi=="function"?hi:r(+hi),an):_t},an.sortValues=function(hi){return arguments.length?(br=hi,Hr=null,an):br},an.sort=function(hi){return arguments.length?(Hr=hi,br=null,an):Hr},an.startAngle=function(hi){return arguments.length?(ti=typeof hi=="function"?hi:r(+hi),an):ti},an.endAngle=function(hi){return arguments.length?(zi=typeof hi=="function"?hi:r(+hi),an):zi},an.padAngle=function(hi){return arguments.length?(Yi=typeof hi=="function"?hi:r(+hi),an):Yi},an}var G=W(g);function N(_t){this._curve=_t}N.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(_t,br){this._curve.point(br*Math.sin(_t),br*-Math.cos(_t))}};function W(_t){function br(Hr){return new N(_t(Hr))}return br._curve=_t,br}function re(_t){var br=_t.curve;return _t.angle=_t.x,delete _t.x,_t.radius=_t.y,delete _t.y,_t.curve=function(Hr){return arguments.length?br(W(Hr)):br()._curve},_t}function ae(){return re(F().curve(G))}function _e(){var _t=q().curve(G),br=_t.curve,Hr=_t.lineX0,ti=_t.lineX1,zi=_t.lineY0,Yi=_t.lineY1;return _t.angle=_t.x,delete _t.x,_t.startAngle=_t.x0,delete _t.x0,_t.endAngle=_t.x1,delete _t.x1,_t.radius=_t.y,delete _t.y,_t.innerRadius=_t.y0,delete _t.y0,_t.outerRadius=_t.y1,delete _t.y1,_t.lineStartAngle=function(){return re(Hr())},delete _t.lineX0,_t.lineEndAngle=function(){return re(ti())},delete _t.lineX1,_t.lineInnerRadius=function(){return re(zi())},delete _t.lineY0,_t.lineOuterRadius=function(){return re(Yi())},delete _t.lineY1,_t.curve=function(an){return arguments.length?br(W(an)):br()._curve},_t}function Me(_t,br){return[(br=+br)*Math.cos(_t-=Math.PI/2),br*Math.sin(_t)]}var ke=Array.prototype.slice;function ge(_t){return _t.source}function ie(_t){return _t.target}function Te(_t){var br=ge,Hr=ie,ti=P,zi=T,Yi=null;function an(){var hi,Ji=ke.call(arguments),ca=br.apply(this,Ji),Fn=Hr.apply(this,Ji);if(Yi||(Yi=hi=t.path()),_t(Yi,+ti.apply(this,(Ji[0]=ca,Ji)),+zi.apply(this,Ji),+ti.apply(this,(Ji[0]=Fn,Ji)),+zi.apply(this,Ji)),hi)return Yi=null,hi+""||null}return an.source=function(hi){return arguments.length?(br=hi,an):br},an.target=function(hi){return arguments.length?(Hr=hi,an):Hr},an.x=function(hi){return arguments.length?(ti=typeof hi=="function"?hi:r(+hi),an):ti},an.y=function(hi){return arguments.length?(zi=typeof hi=="function"?hi:r(+hi),an):zi},an.context=function(hi){return arguments.length?(Yi=hi==null?null:hi,an):Yi},an}function Ee(_t,br,Hr,ti,zi){_t.moveTo(br,Hr),_t.bezierCurveTo(br=(br+ti)/2,Hr,br,zi,ti,zi)}function Ae(_t,br,Hr,ti,zi){_t.moveTo(br,Hr),_t.bezierCurveTo(br,Hr=(Hr+zi)/2,ti,Hr,ti,zi)}function ze(_t,br,Hr,ti,zi){var Yi=Me(br,Hr),an=Me(br,Hr=(Hr+zi)/2),hi=Me(ti,Hr),Ji=Me(ti,zi);_t.moveTo(Yi[0],Yi[1]),_t.bezierCurveTo(an[0],an[1],hi[0],hi[1],Ji[0],Ji[1])}function Ce(){return Te(Ee)}function me(){return Te(Ae)}function De(){var _t=Te(ze);return _t.angle=_t.x,delete _t.x,_t.radius=_t.y,delete _t.y,_t}var ce={draw:function(_t,br){var Hr=Math.sqrt(br/f);_t.moveTo(Hr,0),_t.arc(0,0,Hr,0,v)}},Ge={draw:function(_t,br){var Hr=Math.sqrt(br/5)/2;_t.moveTo(-3*Hr,-Hr),_t.lineTo(-Hr,-Hr),_t.lineTo(-Hr,-3*Hr),_t.lineTo(Hr,-3*Hr),_t.lineTo(Hr,-Hr),_t.lineTo(3*Hr,-Hr),_t.lineTo(3*Hr,Hr),_t.lineTo(Hr,Hr),_t.lineTo(Hr,3*Hr),_t.lineTo(-Hr,3*Hr),_t.lineTo(-Hr,Hr),_t.lineTo(-3*Hr,Hr),_t.closePath()}},nt=Math.sqrt(1/3),ct=nt*2,qt={draw:function(_t,br){var Hr=Math.sqrt(br/ct),ti=Hr*nt;_t.moveTo(0,-Hr),_t.lineTo(ti,0),_t.lineTo(0,Hr),_t.lineTo(-ti,0),_t.closePath()}},rt=.8908130915292852,ot=Math.sin(f/10)/Math.sin(7*f/10),It=Math.sin(v/10)*ot,kt=-Math.cos(v/10)*ot,Ct={draw:function(_t,br){var Hr=Math.sqrt(br*rt),ti=It*Hr,zi=kt*Hr;_t.moveTo(0,-Hr),_t.lineTo(ti,zi);for(var Yi=1;Yi<5;++Yi){var an=v*Yi/5,hi=Math.cos(an),Ji=Math.sin(an);_t.lineTo(Ji*Hr,-hi*Hr),_t.lineTo(hi*ti-Ji*zi,Ji*ti+hi*zi)}_t.closePath()}},Yt={draw:function(_t,br){var Hr=Math.sqrt(br),ti=-Hr/2;_t.rect(ti,ti,Hr,Hr)}},mr=Math.sqrt(3),er={draw:function(_t,br){var Hr=-Math.sqrt(br/(mr*3));_t.moveTo(0,Hr*2),_t.lineTo(-mr*Hr,-Hr),_t.lineTo(mr*Hr,-Hr),_t.closePath()}},Ke=-.5,bt=Math.sqrt(3)/2,xt=1/Math.sqrt(12),Lt=(xt/2+1)*3,St={draw:function(_t,br){var Hr=Math.sqrt(br/Lt),ti=Hr/2,zi=Hr*xt,Yi=ti,an=Hr*xt+Hr,hi=-Yi,Ji=an;_t.moveTo(ti,zi),_t.lineTo(Yi,an),_t.lineTo(hi,Ji),_t.lineTo(Ke*ti-bt*zi,bt*ti+Ke*zi),_t.lineTo(Ke*Yi-bt*an,bt*Yi+Ke*an),_t.lineTo(Ke*hi-bt*Ji,bt*hi+Ke*Ji),_t.lineTo(Ke*ti+bt*zi,Ke*zi-bt*ti),_t.lineTo(Ke*Yi+bt*an,Ke*an-bt*Yi),_t.lineTo(Ke*hi+bt*Ji,Ke*Ji-bt*hi),_t.closePath()}},Et=[ce,Ge,qt,Yt,Ct,er,St];function dt(){var _t=r(ce),br=r(64),Hr=null;function ti(){var zi;if(Hr||(Hr=zi=t.path()),_t.apply(this,arguments).draw(Hr,+br.apply(this,arguments)),zi)return Hr=null,zi+""||null}return ti.type=function(zi){return arguments.length?(_t=typeof zi=="function"?zi:r(zi),ti):_t},ti.size=function(zi){return arguments.length?(br=typeof zi=="function"?zi:r(+zi),ti):br},ti.context=function(zi){return arguments.length?(Hr=zi==null?null:zi,ti):Hr},ti}function Ht(){}function $t(_t,br,Hr){_t._context.bezierCurveTo((2*_t._x0+_t._x1)/3,(2*_t._y0+_t._y1)/3,(_t._x0+2*_t._x1)/3,(_t._y0+2*_t._y1)/3,(_t._x0+4*_t._x1+br)/6,(_t._y0+4*_t._y1+Hr)/6)}function fr(_t){this._context=_t}fr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:$t(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function xr(_t){return new fr(_t)}function Br(_t){this._context=_t}Br.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._x2=_t,this._y2=br;break;case 1:this._point=2,this._x3=_t,this._y3=br;break;case 2:this._point=3,this._x4=_t,this._y4=br,this._context.moveTo((this._x0+4*this._x1+_t)/6,(this._y0+4*this._y1+br)/6);break;default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function Or(_t){return new Br(_t)}function Nr(_t){this._context=_t}Nr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var Hr=(this._x0+4*this._x1+_t)/6,ti=(this._y0+4*this._y1+br)/6;this._line?this._context.lineTo(Hr,ti):this._context.moveTo(Hr,ti);break;case 3:this._point=4;default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function ut(_t){return new Nr(_t)}function Ne(_t,br){this._basis=new fr(_t),this._beta=br}Ne.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var _t=this._x,br=this._y,Hr=_t.length-1;if(Hr>0)for(var ti=_t[0],zi=br[0],Yi=_t[Hr]-ti,an=br[Hr]-zi,hi=-1,Ji;++hi<=Hr;)Ji=hi/Hr,this._basis.point(this._beta*_t[hi]+(1-this._beta)*(ti+Ji*Yi),this._beta*br[hi]+(1-this._beta)*(zi+Ji*an));this._x=this._y=null,this._basis.lineEnd()},point:function(_t,br){this._x.push(+_t),this._y.push(+br)}};var Ye=function _t(br){function Hr(ti){return br===1?new fr(ti):new Ne(ti,br)}return Hr.beta=function(ti){return _t(+ti)},Hr}(.85);function Ve(_t,br,Hr){_t._context.bezierCurveTo(_t._x1+_t._k*(_t._x2-_t._x0),_t._y1+_t._k*(_t._y2-_t._y0),_t._x2+_t._k*(_t._x1-br),_t._y2+_t._k*(_t._y1-Hr),_t._x2,_t._y2)}function Xe(_t,br){this._context=_t,this._k=(1-br)/6}Xe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Ve(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2,this._x1=_t,this._y1=br;break;case 2:this._point=3;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ht=function _t(br){function Hr(ti){return new Xe(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Le(_t,br){this._context=_t,this._k=(1-br)/6}Le.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._x3=_t,this._y3=br;break;case 1:this._point=2,this._context.moveTo(this._x4=_t,this._y4=br);break;case 2:this._point=3,this._x5=_t,this._y5=br;break;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var xe=function _t(br){function Hr(ti){return new Le(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Se(_t,br){this._context=_t,this._k=(1-br)/6}Se.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var lt=function _t(br){function Hr(ti){return new Se(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Gt(_t,br,Hr){var ti=_t._x1,zi=_t._y1,Yi=_t._x2,an=_t._y2;if(_t._l01_a>c){var hi=2*_t._l01_2a+3*_t._l01_a*_t._l12_a+_t._l12_2a,Ji=3*_t._l01_a*(_t._l01_a+_t._l12_a);ti=(ti*hi-_t._x0*_t._l12_2a+_t._x2*_t._l01_2a)/Ji,zi=(zi*hi-_t._y0*_t._l12_2a+_t._y2*_t._l01_2a)/Ji}if(_t._l23_a>c){var ca=2*_t._l23_2a+3*_t._l23_a*_t._l12_a+_t._l12_2a,Fn=3*_t._l23_a*(_t._l23_a+_t._l12_a);Yi=(Yi*ca+_t._x1*_t._l23_2a-br*_t._l12_2a)/Fn,an=(an*ca+_t._y1*_t._l23_2a-Hr*_t._l12_2a)/Fn}_t._context.bezierCurveTo(ti,zi,Yi,an,_t._x2,_t._y2)}function Vt(_t,br){this._context=_t,this._alpha=br}Vt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3;default:Gt(this,_t,br);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ar=function _t(br){function Hr(ti){return br?new Vt(ti,br):new Xe(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function Qr(_t,br){this._context=_t,this._alpha=br}Qr.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=_t,this._y3=br;break;case 1:this._point=2,this._context.moveTo(this._x4=_t,this._y4=br);break;case 2:this._point=3,this._x5=_t,this._y5=br;break;default:Gt(this,_t,br);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ai=function _t(br){function Hr(ti){return br?new Qr(ti,br):new Le(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function jr(_t,br){this._context=_t,this._alpha=br}jr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Gt(this,_t,br);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ri=function _t(br){function Hr(ti){return br?new jr(ti,br):new Se(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function bi(_t){this._context=_t}bi.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(_t,br){_t=+_t,br=+br,this._point?this._context.lineTo(_t,br):(this._point=1,this._context.moveTo(_t,br))}};function nn(_t){return new bi(_t)}function Wi(_t){return _t<0?-1:1}function Ni(_t,br,Hr){var ti=_t._x1-_t._x0,zi=br-_t._x1,Yi=(_t._y1-_t._y0)/(ti||zi<0&&-0),an=(Hr-_t._y1)/(zi||ti<0&&-0),hi=(Yi*zi+an*ti)/(ti+zi);return(Wi(Yi)+Wi(an))*Math.min(Math.abs(Yi),Math.abs(an),.5*Math.abs(hi))||0}function _n(_t,br){var Hr=_t._x1-_t._x0;return Hr?(3*(_t._y1-_t._y0)/Hr-br)/2:br}function $i(_t,br,Hr){var ti=_t._x0,zi=_t._y0,Yi=_t._x1,an=_t._y1,hi=(Yi-ti)/3;_t._context.bezierCurveTo(ti+hi,zi+hi*br,Yi-hi,an-hi*Hr,Yi,an)}function zn(_t){this._context=_t}zn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:$i(this,this._t0,_n(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){var Hr=NaN;if(_t=+_t,br=+br,!(_t===this._x1&&br===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3,$i(this,_n(this,Hr=Ni(this,_t,br)),Hr);break;default:$i(this,this._t0,Hr=Ni(this,_t,br));break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br,this._t0=Hr}}};function Wn(_t){this._context=new Dt(_t)}(Wn.prototype=Object.create(zn.prototype)).point=function(_t,br){zn.prototype.point.call(this,br,_t)};function Dt(_t){this._context=_t}Dt.prototype={moveTo:function(_t,br){this._context.moveTo(br,_t)},closePath:function(){this._context.closePath()},lineTo:function(_t,br){this._context.lineTo(br,_t)},bezierCurveTo:function(_t,br,Hr,ti,zi,Yi){this._context.bezierCurveTo(br,_t,ti,Hr,Yi,zi)}};function ft(_t){return new zn(_t)}function jt(_t){return new Wn(_t)}function Zt(_t){this._context=_t}Zt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var _t=this._x,br=this._y,Hr=_t.length;if(Hr)if(this._line?this._context.lineTo(_t[0],br[0]):this._context.moveTo(_t[0],br[0]),Hr===2)this._context.lineTo(_t[1],br[1]);else for(var ti=_r(_t),zi=_r(br),Yi=0,an=1;an=0;--br)zi[br]=(an[br]-zi[br+1])/Yi[br];for(Yi[Hr-1]=(_t[Hr]+zi[Hr-1])/2,br=0;br=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,br),this._context.lineTo(_t,br);else{var Hr=this._x*(1-this._t)+_t*this._t;this._context.lineTo(Hr,this._y),this._context.lineTo(Hr,br)}break}}this._x=_t,this._y=br}};function Vr(_t){return new Zr(_t,.5)}function gi(_t){return new Zr(_t,0)}function Si(_t){return new Zr(_t,1)}function Mi(_t,br){if((an=_t.length)>1)for(var Hr=1,ti,zi,Yi=_t[br[0]],an,hi=Yi.length;Hr=0;)Hr[br]=br;return Hr}function Gi(_t,br){return _t[br]}function Ki(){var _t=r([]),br=Pi,Hr=Mi,ti=Gi;function zi(Yi){var an=_t.apply(this,arguments),hi,Ji=Yi.length,ca=an.length,Fn=new Array(ca),Ma;for(hi=0;hi0){for(var Hr,ti,zi=0,Yi=_t[0].length,an;zi0)for(var Hr,ti=0,zi,Yi,an,hi,Ji,ca=_t[br[0]].length;ti0?(zi[0]=an,zi[1]=an+=Yi):Yi<0?(zi[1]=hi,zi[0]=hi+=Yi):(zi[0]=0,zi[1]=Yi)}function ua(_t,br){if((zi=_t.length)>0){for(var Hr=0,ti=_t[br[0]],zi,Yi=ti.length;Hr0)||!((Yi=(zi=_t[br[0]]).length)>0))){for(var Hr=0,ti=1,zi,Yi,an;tiYi&&(Yi=zi,Hr=br);return Hr}function sa(_t){var br=_t.map(Sn);return Pi(_t).sort(function(Hr,ti){return br[Hr]-br[ti]})}function Sn(_t){for(var br=0,Hr=-1,ti=_t.length,zi;++Hr{(function(e,t){typeof I7=="object"&&typeof Oje!="undefined"?t(I7,gk(),M7(),HJ()):typeof define=="function"&&define.amd?define(["exports","d3-array","d3-collection","d3-shape"],t):t(e.d3=e.d3||{},e.d3,e.d3,e.d3)})(I7,function(e,t,r,n){"use strict";function i(g){return g.target.depth}function a(g){return g.depth}function o(g,P){return P-1-g.height}function s(g,P){return g.sourceLinks.length?g.depth:P-1}function l(g){return g.targetLinks.length?g.depth:g.sourceLinks.length?t.min(g.sourceLinks,i)-1:0}function u(g){return function(){return g}}function c(g,P){return h(g.source,P.source)||g.index-P.index}function f(g,P){return h(g.target,P.target)||g.index-P.index}function h(g,P){return g.y0-P.y0}function v(g){return g.value}function d(g){return(g.y0+g.y1)/2}function _(g){return d(g.source)*g.value}function b(g){return d(g.target)*g.value}function p(g){return g.index}function E(g){return g.nodes}function k(g){return g.links}function S(g,P){var T=g.get(P);if(!T)throw new Error("missing: "+P);return T}var L=function(){var g=0,P=0,T=1,F=1,q=24,V=8,H=p,X=s,G=E,N=k,W=32,re=2/3;function ae(){var Te={nodes:G.apply(null,arguments),links:N.apply(null,arguments)};return _e(Te),Me(Te),ke(Te),ge(Te,W),ie(Te),Te}ae.update=function(Te){return ie(Te),Te},ae.nodeId=function(Te){return arguments.length?(H=typeof Te=="function"?Te:u(Te),ae):H},ae.nodeAlign=function(Te){return arguments.length?(X=typeof Te=="function"?Te:u(Te),ae):X},ae.nodeWidth=function(Te){return arguments.length?(q=+Te,ae):q},ae.nodePadding=function(Te){return arguments.length?(V=+Te,ae):V},ae.nodes=function(Te){return arguments.length?(G=typeof Te=="function"?Te:u(Te),ae):G},ae.links=function(Te){return arguments.length?(N=typeof Te=="function"?Te:u(Te),ae):N},ae.size=function(Te){return arguments.length?(g=P=0,T=+Te[0],F=+Te[1],ae):[T-g,F-P]},ae.extent=function(Te){return arguments.length?(g=+Te[0][0],T=+Te[1][0],P=+Te[0][1],F=+Te[1][1],ae):[[g,P],[T,F]]},ae.iterations=function(Te){return arguments.length?(W=+Te,ae):W};function _e(Te){Te.nodes.forEach(function(Ae,ze){Ae.index=ze,Ae.sourceLinks=[],Ae.targetLinks=[]});var Ee=r.map(Te.nodes,H);Te.links.forEach(function(Ae,ze){Ae.index=ze;var Ce=Ae.source,me=Ae.target;typeof Ce!="object"&&(Ce=Ae.source=S(Ee,Ce)),typeof me!="object"&&(me=Ae.target=S(Ee,me)),Ce.sourceLinks.push(Ae),me.targetLinks.push(Ae)})}function Me(Te){Te.nodes.forEach(function(Ee){Ee.value=Math.max(t.sum(Ee.sourceLinks,v),t.sum(Ee.targetLinks,v))})}function ke(Te){var Ee,Ae,ze;for(Ee=Te.nodes,Ae=[],ze=0;Ee.length;++ze,Ee=Ae,Ae=[])Ee.forEach(function(me){me.depth=ze,me.sourceLinks.forEach(function(De){Ae.indexOf(De.target)<0&&Ae.push(De.target)})});for(Ee=Te.nodes,Ae=[],ze=0;Ee.length;++ze,Ee=Ae,Ae=[])Ee.forEach(function(me){me.height=ze,me.targetLinks.forEach(function(De){Ae.indexOf(De.source)<0&&Ae.push(De.source)})});var Ce=(T-g-q)/(ze-1);Te.nodes.forEach(function(me){me.x1=(me.x0=g+Math.max(0,Math.min(ze-1,Math.floor(X.call(null,me,ze))))*Ce)+q})}function ge(Te){var Ee=r.nest().key(function(Ge){return Ge.x0}).sortKeys(t.ascending).entries(Te.nodes).map(function(Ge){return Ge.values});Ce(),ce();for(var Ae=1,ze=W;ze>0;--ze)De(Ae*=.99),ce(),me(Ae),ce();function Ce(){var Ge=t.max(Ee,function(qt){return qt.length}),nt=re*(F-P)/(Ge-1);V>nt&&(V=nt);var ct=t.min(Ee,function(qt){return(F-P-(qt.length-1)*V)/t.sum(qt,v)});Ee.forEach(function(qt){qt.forEach(function(rt,ot){rt.y1=(rt.y0=ot)+rt.value*ct})}),Te.links.forEach(function(qt){qt.width=qt.value*ct})}function me(Ge){Ee.forEach(function(nt){nt.forEach(function(ct){if(ct.targetLinks.length){var qt=(t.sum(ct.targetLinks,_)/t.sum(ct.targetLinks,v)-d(ct))*Ge;ct.y0+=qt,ct.y1+=qt}})})}function De(Ge){Ee.slice().reverse().forEach(function(nt){nt.forEach(function(ct){if(ct.sourceLinks.length){var qt=(t.sum(ct.sourceLinks,b)/t.sum(ct.sourceLinks,v)-d(ct))*Ge;ct.y0+=qt,ct.y1+=qt}})})}function ce(){Ee.forEach(function(Ge){var nt,ct,qt=P,rt=Ge.length,ot;for(Ge.sort(h),ot=0;ot0&&(nt.y0+=ct,nt.y1+=ct),qt=nt.y1+V;if(ct=qt-V-F,ct>0)for(qt=nt.y0-=ct,nt.y1-=ct,ot=rt-2;ot>=0;--ot)nt=Ge[ot],ct=nt.y1+V-qt,ct>0&&(nt.y0-=ct,nt.y1-=ct),qt=nt.y0})}}function ie(Te){Te.nodes.forEach(function(Ee){Ee.sourceLinks.sort(f),Ee.targetLinks.sort(c)}),Te.nodes.forEach(function(Ee){var Ae=Ee.y0,ze=Ae;Ee.sourceLinks.forEach(function(Ce){Ce.y0=Ae+Ce.width/2,Ae+=Ce.width}),Ee.targetLinks.forEach(function(Ce){Ce.y1=ze+Ce.width/2,ze+=Ce.width})})}return ae};function x(g){return[g.source.x1,g.y0]}function C(g){return[g.target.x0,g.y1]}var M=function(){return n.linkHorizontal().source(x).target(C)};e.sankey=L,e.sankeyCenter=l,e.sankeyLeft=a,e.sankeyRight=o,e.sankeyJustify=s,e.sankeyLinkHorizontal=M,Object.defineProperty(e,"__esModule",{value:!0})})});var Uje=ye((sxr,Nje)=>{var rZt=VJ();Nje.exports=function(t,r){var n=[],i=[],a=[],o={},s=[],l;function u(k){a[k]=!1,o.hasOwnProperty(k)&&Object.keys(o[k]).forEach(function(S){delete o[k][S],a[S]&&u(S)})}function c(k){var S=!1;i.push(k),a[k]=!0;var L,x;for(L=0;L=k})}function v(k){h(k);for(var S=t,L=rZt(S),x=L.components.filter(function(q){return q.length>1}),C=1/0,M,g=0;g{(function(e,t){typeof D7=="object"&&typeof Vje!="undefined"?t(D7,gk(),M7(),HJ(),Uje()):typeof define=="function"&&define.amd?define(["exports","d3-array","d3-collection","d3-shape","elementary-circuits-directed-graph"],t):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,null)})(D7,function(e,t,r,n,i){"use strict";i=i&&i.hasOwnProperty("default")?i.default:i;function a(rt){return rt.target.depth}function o(rt){return rt.depth}function s(rt,ot){return ot-1-rt.height}function l(rt,ot){return rt.sourceLinks.length?rt.depth:ot-1}function u(rt){return rt.targetLinks.length?rt.depth:rt.sourceLinks.length?t.min(rt.sourceLinks,a)-1:0}function c(rt){return function(){return rt}}var f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(rt){return typeof rt}:function(rt){return rt&&typeof Symbol=="function"&&rt.constructor===Symbol&&rt!==Symbol.prototype?"symbol":typeof rt};function h(rt,ot){return d(rt.source,ot.source)||rt.index-ot.index}function v(rt,ot){return d(rt.target,ot.target)||rt.index-ot.index}function d(rt,ot){return rt.partOfCycle===ot.partOfCycle?rt.y0-ot.y0:rt.circularLinkType==="top"||ot.circularLinkType==="bottom"?-1:1}function _(rt){return rt.value}function b(rt){return(rt.y0+rt.y1)/2}function p(rt){return b(rt.source)}function E(rt){return b(rt.target)}function k(rt){return rt.index}function S(rt){return rt.nodes}function L(rt){return rt.links}function x(rt,ot){var It=rt.get(ot);if(!It)throw new Error("missing: "+ot);return It}function C(rt,ot){return ot(rt)}var M=25,g=10,P=.3;function T(){var rt=0,ot=0,It=1,kt=1,Ct=24,Yt,mr=k,er=l,Ke=S,bt=L,xt=32,Lt=2,St,Et=null;function dt(){var ut={nodes:Ke.apply(null,arguments),links:bt.apply(null,arguments)};Ht(ut),F(ut,mr,Et),$t(ut),Br(ut),q(ut,mr),Or(ut,xt,mr),Nr(ut);for(var Ne=4,Ye=0;Ye0?Ne+M+g:Ne,Ye=Ye>0?Ye+M+g:Ye,Ve=Ve>0?Ve+M+g:Ve,Xe=Xe>0?Xe+M+g:Xe,{top:Ne,bottom:Ye,left:Xe,right:Ve}}function xr(ut,Ne){var Ye=t.max(ut.nodes,function(lt){return lt.column}),Ve=It-rt,Xe=kt-ot,ht=Ve+Ne.right+Ne.left,Le=Xe+Ne.top+Ne.bottom,xe=Ve/ht,Se=Xe/Le;return rt=rt*xe+Ne.left,It=Ne.right==0?It:It*xe,ot=ot*Se+Ne.top,kt=kt*Se,ut.nodes.forEach(function(lt){lt.x0=rt+lt.column*((It-rt-Ct)/Ye),lt.x1=lt.x0+Ct}),Se}function Br(ut){var Ne,Ye,Ve;for(Ne=ut.nodes,Ye=[],Ve=0;Ne.length;++Ve,Ne=Ye,Ye=[])Ne.forEach(function(Xe){Xe.depth=Ve,Xe.sourceLinks.forEach(function(ht){Ye.indexOf(ht.target)<0&&!ht.circular&&Ye.push(ht.target)})});for(Ne=ut.nodes,Ye=[],Ve=0;Ne.length;++Ve,Ne=Ye,Ye=[])Ne.forEach(function(Xe){Xe.height=Ve,Xe.targetLinks.forEach(function(ht){Ye.indexOf(ht.source)<0&&!ht.circular&&Ye.push(ht.source)})});ut.nodes.forEach(function(Xe){Xe.column=Math.floor(er.call(null,Xe,Ve))})}function Or(ut,Ne,Ye){var Ve=r.nest().key(function(lt){return lt.column}).sortKeys(t.ascending).entries(ut.nodes).map(function(lt){return lt.values});Le(Ye),Se();for(var Xe=1,ht=Ne;ht>0;--ht)xe(Xe*=.99,Ye),Se();function Le(lt){if(St){var Gt=1/0;Ve.forEach(function(ai){var jr=kt*St/(ai.length+1);Gt=jr0))if(ai==0&&Qr==1)ri=jr.y1-jr.y0,jr.y0=kt/2-ri/2,jr.y1=kt/2+ri/2;else if(ai==Vt-1&&Qr==1)ri=jr.y1-jr.y0,jr.y0=kt/2-ri/2,jr.y1=kt/2+ri/2;else{var bi=0,nn=t.mean(jr.sourceLinks,E),Wi=t.mean(jr.targetLinks,p);nn&&Wi?bi=(nn+Wi)/2:bi=nn||Wi;var Ni=(bi-b(jr))*lt;jr.y0+=Ni,jr.y1+=Ni}})})}function Se(){Ve.forEach(function(lt){var Gt,Vt,ar=ot,Qr=lt.length,ai;for(lt.sort(d),ai=0;ai0&&(Gt.y0+=Vt,Gt.y1+=Vt),ar=Gt.y1+Yt;if(Vt=ar-Yt-kt,Vt>0)for(ar=Gt.y0-=Vt,Gt.y1-=Vt,ai=Qr-2;ai>=0;--ai)Gt=lt[ai],Vt=Gt.y1+Yt-ar,Vt>0&&(Gt.y0-=Vt,Gt.y1-=Vt),ar=Gt.y0})}}function Nr(ut){ut.nodes.forEach(function(Ne){Ne.sourceLinks.sort(v),Ne.targetLinks.sort(h)}),ut.nodes.forEach(function(Ne){var Ye=Ne.y0,Ve=Ye,Xe=Ne.y1,ht=Xe;Ne.sourceLinks.forEach(function(Le){Le.circular?(Le.y0=Xe-Le.width/2,Xe=Xe-Le.width):(Le.y0=Ye+Le.width/2,Ye+=Le.width)}),Ne.targetLinks.forEach(function(Le){Le.circular?(Le.y1=ht-Le.width/2,ht=ht-Le.width):(Le.y1=Ve+Le.width/2,Ve+=Le.width)})})}return dt}function F(rt,ot,It){var kt=0;if(It===null){for(var Ct=[],Yt=0;Ytot.source.column)}function X(rt,ot){var It=0;rt.sourceLinks.forEach(function(Ct){It=Ct.circular&&!ct(Ct,ot)?It+1:It});var kt=0;return rt.targetLinks.forEach(function(Ct){kt=Ct.circular&&!ct(Ct,ot)?kt+1:kt}),It+kt}function G(rt){var ot=rt.source.sourceLinks,It=0;ot.forEach(function(Yt){It=Yt.circular?It+1:It});var kt=rt.target.targetLinks,Ct=0;return kt.forEach(function(Yt){Ct=Yt.circular?Ct+1:Ct}),!(It>1||Ct>1)}function N(rt,ot,It){return rt.sort(ae),rt.forEach(function(kt,Ct){var Yt=0;if(ct(kt,It)&&G(kt))kt.circularPathData.verticalBuffer=Yt+kt.width/2;else{var mr=0;for(mr;mrYt?er:Yt}kt.circularPathData.verticalBuffer=Yt+kt.width/2}}),rt}function W(rt,ot,It,kt){var Ct=5,Yt=t.min(rt.links,function(Ke){return Ke.source.y0});rt.links.forEach(function(Ke){Ke.circular&&(Ke.circularPathData={})});var mr=rt.links.filter(function(Ke){return Ke.circularLinkType=="top"});N(mr,ot,kt);var er=rt.links.filter(function(Ke){return Ke.circularLinkType=="bottom"});N(er,ot,kt),rt.links.forEach(function(Ke){if(Ke.circular){if(Ke.circularPathData.arcRadius=Ke.width+g,Ke.circularPathData.leftNodeBuffer=Ct,Ke.circularPathData.rightNodeBuffer=Ct,Ke.circularPathData.sourceWidth=Ke.source.x1-Ke.source.x0,Ke.circularPathData.sourceX=Ke.source.x0+Ke.circularPathData.sourceWidth,Ke.circularPathData.targetX=Ke.target.x0,Ke.circularPathData.sourceY=Ke.y0,Ke.circularPathData.targetY=Ke.y1,ct(Ke,kt)&&G(Ke))Ke.circularPathData.leftSmallArcRadius=g+Ke.width/2,Ke.circularPathData.leftLargeArcRadius=g+Ke.width/2,Ke.circularPathData.rightSmallArcRadius=g+Ke.width/2,Ke.circularPathData.rightLargeArcRadius=g+Ke.width/2,Ke.circularLinkType=="bottom"?(Ke.circularPathData.verticalFullExtent=Ke.source.y1+M+Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.rightLargeArcRadius):(Ke.circularPathData.verticalFullExtent=Ke.source.y0-M-Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.rightLargeArcRadius);else{var bt=Ke.source.column,xt=Ke.circularLinkType,Lt=rt.links.filter(function(dt){return dt.source.column==bt&&dt.circularLinkType==xt});Ke.circularLinkType=="bottom"?Lt.sort(Me):Lt.sort(_e);var St=0;Lt.forEach(function(dt,Ht){dt.circularLinkID==Ke.circularLinkID&&(Ke.circularPathData.leftSmallArcRadius=g+Ke.width/2+St,Ke.circularPathData.leftLargeArcRadius=g+Ke.width/2+Ht*ot+St),St=St+dt.width}),bt=Ke.target.column,Lt=rt.links.filter(function(dt){return dt.target.column==bt&&dt.circularLinkType==xt}),Ke.circularLinkType=="bottom"?Lt.sort(ge):Lt.sort(ke),St=0,Lt.forEach(function(dt,Ht){dt.circularLinkID==Ke.circularLinkID&&(Ke.circularPathData.rightSmallArcRadius=g+Ke.width/2+St,Ke.circularPathData.rightLargeArcRadius=g+Ke.width/2+Ht*ot+St),St=St+dt.width}),Ke.circularLinkType=="bottom"?(Ke.circularPathData.verticalFullExtent=Math.max(It,Ke.source.y1,Ke.target.y1)+M+Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.rightLargeArcRadius):(Ke.circularPathData.verticalFullExtent=Yt-M-Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.rightLargeArcRadius)}Ke.circularPathData.leftInnerExtent=Ke.circularPathData.sourceX+Ke.circularPathData.leftNodeBuffer,Ke.circularPathData.rightInnerExtent=Ke.circularPathData.targetX-Ke.circularPathData.rightNodeBuffer,Ke.circularPathData.leftFullExtent=Ke.circularPathData.sourceX+Ke.circularPathData.leftLargeArcRadius+Ke.circularPathData.leftNodeBuffer,Ke.circularPathData.rightFullExtent=Ke.circularPathData.targetX-Ke.circularPathData.rightLargeArcRadius-Ke.circularPathData.rightNodeBuffer}if(Ke.circular)Ke.path=re(Ke);else{var Et=n.linkHorizontal().source(function(dt){var Ht=dt.source.x0+(dt.source.x1-dt.source.x0),$t=dt.y0;return[Ht,$t]}).target(function(dt){var Ht=dt.target.x0,$t=dt.y1;return[Ht,$t]});Ke.path=Et(Ke)}})}function re(rt){var ot="";return rt.circularLinkType=="top"?ot="M"+rt.circularPathData.sourceX+" "+rt.circularPathData.sourceY+" L"+rt.circularPathData.leftInnerExtent+" "+rt.circularPathData.sourceY+" A"+rt.circularPathData.leftLargeArcRadius+" "+rt.circularPathData.leftSmallArcRadius+" 0 0 0 "+rt.circularPathData.leftFullExtent+" "+(rt.circularPathData.sourceY-rt.circularPathData.leftSmallArcRadius)+" L"+rt.circularPathData.leftFullExtent+" "+rt.circularPathData.verticalLeftInnerExtent+" A"+rt.circularPathData.leftLargeArcRadius+" "+rt.circularPathData.leftLargeArcRadius+" 0 0 0 "+rt.circularPathData.leftInnerExtent+" "+rt.circularPathData.verticalFullExtent+" L"+rt.circularPathData.rightInnerExtent+" "+rt.circularPathData.verticalFullExtent+" A"+rt.circularPathData.rightLargeArcRadius+" "+rt.circularPathData.rightLargeArcRadius+" 0 0 0 "+rt.circularPathData.rightFullExtent+" "+rt.circularPathData.verticalRightInnerExtent+" L"+rt.circularPathData.rightFullExtent+" "+(rt.circularPathData.targetY-rt.circularPathData.rightSmallArcRadius)+" A"+rt.circularPathData.rightLargeArcRadius+" "+rt.circularPathData.rightSmallArcRadius+" 0 0 0 "+rt.circularPathData.rightInnerExtent+" "+rt.circularPathData.targetY+" L"+rt.circularPathData.targetX+" "+rt.circularPathData.targetY:ot="M"+rt.circularPathData.sourceX+" "+rt.circularPathData.sourceY+" L"+rt.circularPathData.leftInnerExtent+" "+rt.circularPathData.sourceY+" A"+rt.circularPathData.leftLargeArcRadius+" "+rt.circularPathData.leftSmallArcRadius+" 0 0 1 "+rt.circularPathData.leftFullExtent+" "+(rt.circularPathData.sourceY+rt.circularPathData.leftSmallArcRadius)+" L"+rt.circularPathData.leftFullExtent+" "+rt.circularPathData.verticalLeftInnerExtent+" A"+rt.circularPathData.leftLargeArcRadius+" "+rt.circularPathData.leftLargeArcRadius+" 0 0 1 "+rt.circularPathData.leftInnerExtent+" "+rt.circularPathData.verticalFullExtent+" L"+rt.circularPathData.rightInnerExtent+" "+rt.circularPathData.verticalFullExtent+" A"+rt.circularPathData.rightLargeArcRadius+" "+rt.circularPathData.rightLargeArcRadius+" 0 0 1 "+rt.circularPathData.rightFullExtent+" "+rt.circularPathData.verticalRightInnerExtent+" L"+rt.circularPathData.rightFullExtent+" "+(rt.circularPathData.targetY+rt.circularPathData.rightSmallArcRadius)+" A"+rt.circularPathData.rightLargeArcRadius+" "+rt.circularPathData.rightSmallArcRadius+" 0 0 1 "+rt.circularPathData.rightInnerExtent+" "+rt.circularPathData.targetY+" L"+rt.circularPathData.targetX+" "+rt.circularPathData.targetY,ot}function ae(rt,ot){return ie(rt)==ie(ot)?rt.circularLinkType=="bottom"?Me(rt,ot):_e(rt,ot):ie(ot)-ie(rt)}function _e(rt,ot){return rt.y0-ot.y0}function Me(rt,ot){return ot.y0-rt.y0}function ke(rt,ot){return rt.y1-ot.y1}function ge(rt,ot){return ot.y1-rt.y1}function ie(rt){return rt.target.column-rt.source.column}function Te(rt){return rt.target.x0-rt.source.x1}function Ee(rt,ot){var It=V(rt),kt=Te(ot)/Math.tan(It),Ct=nt(rt)=="up"?rt.y1+kt:rt.y1-kt;return Ct}function Ae(rt,ot){var It=V(rt),kt=Te(ot)/Math.tan(It),Ct=nt(rt)=="up"?rt.y1-kt:rt.y1+kt;return Ct}function ze(rt,ot,It,kt){rt.links.forEach(function(Ct){if(!Ct.circular&&Ct.target.column-Ct.source.column>1){var Yt=Ct.source.column+1,mr=Ct.target.column-1,er=1,Ke=mr-Yt+1;for(er=1;Yt<=mr;Yt++,er++)rt.nodes.forEach(function(bt){if(bt.column==Yt){var xt=er/(Ke+1),Lt=Math.pow(1-xt,3),St=3*xt*Math.pow(1-xt,2),Et=3*Math.pow(xt,2)*(1-xt),dt=Math.pow(xt,3),Ht=Lt*Ct.y0+St*Ct.y0+Et*Ct.y1+dt*Ct.y1,$t=Ht-Ct.width/2,fr=Ht+Ct.width/2,xr;$t>bt.y0&&$tbt.y0&&frbt.y1&&me(Br,xr,ot,It)})):$tbt.y1&&(xr=fr-bt.y0+10,bt=me(bt,xr,ot,It),rt.nodes.forEach(function(Br){C(Br,kt)==C(bt,kt)||Br.column!=bt.column||Br.y0bt.y1&&me(Br,xr,ot,It)}))}})}})}function Ce(rt,ot){return rt.y0>ot.y0&&rt.y0ot.y0&&rt.y1ot.y1}function me(rt,ot,It,kt){return rt.y0+ot>=It&&rt.y1+ot<=kt&&(rt.y0=rt.y0+ot,rt.y1=rt.y1+ot,rt.targetLinks.forEach(function(Ct){Ct.y1=Ct.y1+ot}),rt.sourceLinks.forEach(function(Ct){Ct.y0=Ct.y0+ot})),rt}function De(rt,ot,It,kt){rt.nodes.forEach(function(Ct){kt&&Ct.y+(Ct.y1-Ct.y0)>ot&&(Ct.y=Ct.y-(Ct.y+(Ct.y1-Ct.y0)-ot));var Yt=rt.links.filter(function(Ke){return C(Ke.source,It)==C(Ct,It)}),mr=Yt.length;mr>1&&Yt.sort(function(Ke,bt){if(!Ke.circular&&!bt.circular){if(Ke.target.column==bt.target.column)return Ke.y1-bt.y1;if(Ge(Ke,bt)){if(Ke.target.column>bt.target.column){var xt=Ae(bt,Ke);return Ke.y1-xt}if(bt.target.column>Ke.target.column){var Lt=Ae(Ke,bt);return Lt-bt.y1}}else return Ke.y1-bt.y1}if(Ke.circular&&!bt.circular)return Ke.circularLinkType=="top"?-1:1;if(bt.circular&&!Ke.circular)return bt.circularLinkType=="top"?1:-1;if(Ke.circular&&bt.circular)return Ke.circularLinkType===bt.circularLinkType&&Ke.circularLinkType=="top"?Ke.target.column===bt.target.column?Ke.target.y1-bt.target.y1:bt.target.column-Ke.target.column:Ke.circularLinkType===bt.circularLinkType&&Ke.circularLinkType=="bottom"?Ke.target.column===bt.target.column?bt.target.y1-Ke.target.y1:Ke.target.column-bt.target.column:Ke.circularLinkType=="top"?-1:1});var er=Ct.y0;Yt.forEach(function(Ke){Ke.y0=er+Ke.width/2,er=er+Ke.width}),Yt.forEach(function(Ke,bt){if(Ke.circularLinkType=="bottom"){var xt=bt+1,Lt=0;for(xt;xt1&&Ct.sort(function(er,Ke){if(!er.circular&&!Ke.circular){if(er.source.column==Ke.source.column)return er.y0-Ke.y0;if(Ge(er,Ke)){if(Ke.source.column0?"up":"down"}function ct(rt,ot){return C(rt.source,ot)==C(rt.target,ot)}function qt(rt,ot,It){var kt=rt.nodes,Ct=rt.links,Yt=!1,mr=!1;if(Ct.forEach(function(St){St.circularLinkType=="top"?Yt=!0:St.circularLinkType=="bottom"&&(mr=!0)}),Yt==!1||mr==!1){var er=t.min(kt,function(St){return St.y0}),Ke=t.max(kt,function(St){return St.y1}),bt=Ke-er,xt=It-ot,Lt=xt/bt;kt.forEach(function(St){var Et=(St.y1-St.y0)*Lt;St.y0=(St.y0-er)*Lt,St.y1=St.y0+Et}),Ct.forEach(function(St){St.y0=(St.y0-er)*Lt,St.y1=(St.y1-er)*Lt,St.width=St.width*Lt})}}e.sankeyCircular=T,e.sankeyCenter=u,e.sankeyLeft=o,e.sankeyRight=s,e.sankeyJustify=l,Object.defineProperty(e,"__esModule",{value:!0})})});var GJ=ye((lxr,Gje)=>{"use strict";Gje.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}});var iWe=ye((uxr,rWe)=>{"use strict";var jje=Rje(),iZt=(V2(),vb(U2)).interpolateNumber,NA=ba(),sC=Bje(),nZt=Hje(),pu=GJ(),UA=ad(),pw=va(),aZt=ao(),y1=Ar(),ZJ=y1.strTranslate,oZt=y1.strRotate,XJ=$m(),lC=XJ.keyFun,R7=XJ.repeat,Jje=XJ.unwrap,Wje=Ll(),sZt=ya(),$je=Vh(),lZt=$je.CAP_SHIFT,uZt=$je.LINE_SPACING,cZt=3;function fZt(e,t,r){var n=Jje(t),i=n.trace,a=i.domain,o=i.orientation==="h",s=i.node.pad,l=i.node.thickness,u={justify:sC.sankeyJustify,left:sC.sankeyLeft,right:sC.sankeyRight,center:sC.sankeyCenter}[i.node.align],c=e.width*(a.x[1]-a.x[0]),f=e.height*(a.y[1]-a.y[0]),h=n._nodes,v=n._links,d=n.circular,_;d?_=nZt.sankeyCircular().circularLinkGap(0):_=sC.sankey(),_.iterations(pu.sankeyIterations).size(o?[c,f]:[f,c]).nodeWidth(l).nodePadding(s).nodeId(function(V){return V.pointNumber}).nodeAlign(u).nodes(h).links(v);var b=_();_.nodePadding()=N||(G=N-X.y0,G>1e-6&&(X.y0+=G,X.y1+=G)),N=X.y1+s})}function P(V){var H=V.map(function(_e,Me){return{x0:_e.x0,index:Me}}).sort(function(_e,Me){return _e.x0-Me.x0}),X=[],G=-1,N,W=-1/0,re;for(p=0;pW+l&&(G+=1,N=ae.x0),W=ae.x0,X[G]||(X[G]=[]),X[G].push(ae),re=N-ae.x0,ae.x0+=re,ae.x1+=re}return X}if(i.node.x.length&&i.node.y.length){for(p=0;p0?"L"+i.targetX+" "+i.targetY:"")+"Z":r="M "+(i.targetX-t)+" "+(i.targetY-n)+" L"+(i.rightInnerExtent-t)+" "+(i.targetY-n)+"A"+(i.rightLargeArcRadius+n)+" "+(i.rightSmallArcRadius+n)+" 0 0 0 "+(i.rightFullExtent-n-t)+" "+(i.targetY+i.rightSmallArcRadius)+"L"+(i.rightFullExtent-n-t)+" "+i.verticalRightInnerExtent+"A"+(i.rightLargeArcRadius+n)+" "+(i.rightLargeArcRadius+n)+" 0 0 0 "+(i.rightInnerExtent-t)+" "+(i.verticalFullExtent+n)+"L"+i.leftInnerExtent+" "+(i.verticalFullExtent+n)+"A"+(i.leftLargeArcRadius+n)+" "+(i.leftLargeArcRadius+n)+" 0 0 0 "+(i.leftFullExtent+n)+" "+i.verticalLeftInnerExtent+"L"+(i.leftFullExtent+n)+" "+(i.sourceY+i.leftSmallArcRadius)+"A"+(i.leftLargeArcRadius+n)+" "+(i.leftSmallArcRadius+n)+" 0 0 0 "+i.leftInnerExtent+" "+(i.sourceY-n)+"L"+i.sourceX+" "+(i.sourceY-n)+"L"+i.sourceX+" "+(i.sourceY+n)+"L"+i.leftInnerExtent+" "+(i.sourceY+n)+"A"+(i.leftLargeArcRadius-n)+" "+(i.leftSmallArcRadius-n)+" 0 0 1 "+(i.leftFullExtent-n)+" "+(i.sourceY+i.leftSmallArcRadius)+"L"+(i.leftFullExtent-n)+" "+i.verticalLeftInnerExtent+"A"+(i.leftLargeArcRadius-n)+" "+(i.leftLargeArcRadius-n)+" 0 0 1 "+i.leftInnerExtent+" "+(i.verticalFullExtent-n)+"L"+(i.rightInnerExtent-t)+" "+(i.verticalFullExtent-n)+"A"+(i.rightLargeArcRadius-n)+" "+(i.rightLargeArcRadius-n)+" 0 0 1 "+(i.rightFullExtent+n-t)+" "+i.verticalRightInnerExtent+"L"+(i.rightFullExtent+n-t)+" "+(i.targetY+i.rightSmallArcRadius)+"A"+(i.rightLargeArcRadius-n)+" "+(i.rightSmallArcRadius-n)+" 0 0 1 "+(i.rightInnerExtent-t)+" "+(i.targetY+n)+"L"+(i.targetX-t)+" "+(i.targetY+n)+(t>0?"L"+i.targetX+" "+i.targetY:"")+"Z",r}function YJ(){var e=.5;function t(r){var n=r.linkArrowLength;if(r.link.circular)return dZt(r.link,n);var i=Math.abs((r.link.target.x0-r.link.source.x1)/2);n>i&&(n=i);var a=r.link.source.x1,o=r.link.target.x0-n,s=iZt(a,o),l=s(e),u=s(1-e),c=r.link.y0-r.link.width/2,f=r.link.y0+r.link.width/2,h=r.link.y1-r.link.width/2,v=r.link.y1+r.link.width/2,d="M"+a+","+c,_="C"+l+","+c+" "+u+","+h+" "+o+","+h,b="C"+u+","+v+" "+l+","+f+" "+a+","+f,p=n>0?"L"+(o+n)+","+(h+r.link.width/2):"";return p+="L"+o+","+v,d+_+p+b+"Z"}return t}function vZt(e,t){var r=UA(t.color),n=pu.nodePadAcross,i=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var a=t.dx,o=Math.max(.5,t.dy),s="node_"+t.pointNumber;return t.group&&(s=y1.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:s,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:t.originalLayer===1,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:pw.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,s].join("_"),interactionState:e.interactionState,figure:e}}function WJ(e){e.attr("transform",function(t){return ZJ(t.node.x0.toFixed(3),t.node.y0.toFixed(3))})}function pZt(e){e.call(WJ)}function Qje(e,t){e.call(pZt),t.attr("d",YJ())}function Zje(e){e.attr("width",function(t){return t.node.x1-t.node.x0}).attr("height",function(t){return t.visibleHeight})}function jJ(e){return e.link.width>1||e.linkLineWidth>0}function Xje(e){var t=ZJ(e.translateX,e.translateY);return t+(e.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function Yje(e,t,r){e.on(".basic",null).on("mouseover.basic",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.hover(this,n,t),n.interactionState.hovered=[this,n])}).on("mousemove.basic",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.follow(this,n),n.interactionState.hovered=[this,n])}).on("mouseout.basic",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.unhover(this,n,t),n.interactionState.hovered=!1)}).on("click.basic",function(n){n.interactionState.hovered&&(r.unhover(this,n,t),n.interactionState.hovered=!1),!n.interactionState.dragInProgress&&!n.partOfGroup&&r.select(this,n,t)})}function gZt(e,t,r,n){var i=NA.behavior.drag().origin(function(a){return{x:a.node.x0+a.visibleWidth/2,y:a.node.y0+a.visibleHeight/2}}).on("dragstart",function(a){if(a.arrangement!=="fixed"&&(y1.ensureSingle(n._fullLayout._infolayer,"g","dragcover",function(s){n._fullLayout._dragCover=s}),y1.raiseToTop(this),a.interactionState.dragInProgress=a.node,Kje(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),a.arrangement==="snap")){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):mZt(e,o,a,n),yZt(e,t,a,o,n)}}).on("drag",function(a){if(a.arrangement!=="fixed"){var o=NA.event.x,s=NA.event.y;a.arrangement==="snap"?(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2,a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2):(a.arrangement==="freeform"&&(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2),s=Math.max(0,Math.min(a.size-a.visibleHeight/2,s)),a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2),Kje(a.node),a.arrangement!=="snap"&&(a.sankey.update(a.graph),Qje(e.filter(tWe(a)),t))}}).on("dragend",function(a){if(a.arrangement!=="fixed"){a.interactionState.dragInProgress=!1;for(var o=0;o0)window.requestAnimationFrame(a);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,eWe(r,i)}})}function _Zt(e,t,r,n){return function(){for(var a=0,o=0;o0&&n.forceLayouts[t].alpha(0)}}function eWe(e,t){for(var r=[],n=[],i=0;i{"use strict";var Yv=ba(),JJ=Ar(),z7=JJ.numberFormat,TZt=iWe(),VA=Nc(),AZt=va(),Ix=GJ().cn,uC=JJ._;function nWe(e){return e!==""}function HA(e,t){return e.filter(function(r){return r.key===t.traceId})}function aWe(e,t){Yv.select(e).select("path").style("fill-opacity",t),Yv.select(e).select("rect").style("fill-opacity",t)}function oWe(e){Yv.select(e).select("text.name").style("fill","black")}function sWe(e){return function(t){return e.node.sourceLinks.indexOf(t.link)!==-1||e.node.targetLinks.indexOf(t.link)!==-1}}function lWe(e){return function(t){return t.node.sourceLinks.indexOf(e.link)!==-1||t.node.targetLinks.indexOf(e.link)!==-1}}function uWe(e,t,r){t&&r&&HA(r,t).selectAll("."+Ix.sankeyLink).filter(sWe(t)).call(cWe.bind(0,t,r,!1))}function KJ(e,t,r){t&&r&&HA(r,t).selectAll("."+Ix.sankeyLink).filter(sWe(t)).call(fWe.bind(0,t,r,!1))}function cWe(e,t,r,n){n.style("fill",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverHue}).style("fill-opacity",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverAlpha}),n.each(function(i){var a=i.link.label;a!==""&&HA(t,e).selectAll("."+Ix.sankeyLink).filter(function(o){return o.link.label===a}).style("fill",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverHue}).style("fill-opacity",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverAlpha})}),r&&HA(t,e).selectAll("."+Ix.sankeyNode).filter(lWe(e)).call(uWe)}function fWe(e,t,r,n){n.style("fill",function(i){return i.tinyColorHue}).style("fill-opacity",function(i){return i.tinyColorAlpha}),n.each(function(i){var a=i.link.label;a!==""&&HA(t,e).selectAll("."+Ix.sankeyLink).filter(function(o){return o.link.label===a}).style("fill",function(o){return o.tinyColorHue}).style("fill-opacity",function(o){return o.tinyColorAlpha})}),r&&HA(t,e).selectAll(Ix.sankeyNode).filter(lWe(e)).call(KJ)}function lf(e,t){var r=e.hoverlabel||{},n=JJ.nestedProperty(r,t).get();return Array.isArray(n)?!1:n}hWe.exports=function(t,r){for(var n=t._fullLayout,i=n._paper,a=n._size,o=0;o"),color:lf(C,"bgcolor")||AZt.addOpacity(F.color,1),borderColor:lf(C,"bordercolor"),fontFamily:lf(C,"font.family"),fontSize:lf(C,"font.size"),fontColor:lf(C,"font.color"),fontWeight:lf(C,"font.weight"),fontStyle:lf(C,"font.style"),fontVariant:lf(C,"font.variant"),fontTextcase:lf(C,"font.textcase"),fontLineposition:lf(C,"font.lineposition"),fontShadow:lf(C,"font.shadow"),nameLength:lf(C,"namelength"),textAlign:lf(C,"align"),idealAlign:Yv.event.x"),color:lf(C,"bgcolor")||x.tinyColorHue,borderColor:lf(C,"bordercolor"),fontFamily:lf(C,"font.family"),fontSize:lf(C,"font.size"),fontColor:lf(C,"font.color"),fontWeight:lf(C,"font.weight"),fontStyle:lf(C,"font.style"),fontVariant:lf(C,"font.variant"),fontTextcase:lf(C,"font.textcase"),fontLineposition:lf(C,"font.lineposition"),fontShadow:lf(C,"font.shadow"),nameLength:lf(C,"namelength"),textAlign:lf(C,"align"),idealAlign:"left",hovertemplate:C.hovertemplate,hovertemplateLabels:V,eventData:[x.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});aWe(G,.85),oWe(G)}}},S=function(L,x,C){t._fullLayout.hovermode!==!1&&(Yv.select(L).call(KJ,x,C),x.node.trace.node.hoverinfo!=="skip"&&(x.node.fullData=x.node.trace,t.emit("plotly_unhover",{event:Yv.event,points:[x.node]})),VA.loneUnhover(n._hoverlayer.node()))};TZt(t,i,r,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},{linkEvents:{hover:u,follow:_,unhover:b,select:l},nodeEvents:{hover:E,follow:k,unhover:S,select:p}})}});var dWe=ye(gw=>{"use strict";var SZt=Bu().overrideAll,MZt=Cd().getModuleCalcData,EZt=$J(),kZt=H1(),CZt=Sg(),LZt=yv(),PZt=wf().prepSelect,QJ=Ar(),IZt=ya(),F7="sankey";gw.name=F7;gw.baseLayoutAttrOverrides=SZt({hoverlabel:kZt.hoverlabel},"plot","nested");gw.plot=function(e){var t=MZt(e.calcdata,F7)[0];EZt(e,t),gw.updateFx(e)};gw.clean=function(e,t,r,n){var i=n._has&&n._has(F7),a=t._has&&t._has(F7);i&&!a&&(n._paperdiv.selectAll(".sankey").remove(),n._paperdiv.selectAll(".bgsankey").remove())};gw.updateFx=function(e){for(var t=0;t{"use strict";vWe.exports=function(t,r){for(var n=t.cd,i=[],a=n[0].trace,o=a._sankey.graph.nodes,s=0;s{"use strict";gWe.exports={attributes:UJ(),supplyDefaults:xje(),calc:Sje(),plot:$J(),moduleType:"trace",name:"sankey",basePlotModule:dWe(),selectPoints:pWe(),categories:["noOpacity"],meta:{}}});var _We=ye((vxr,yWe)=>{"use strict";yWe.exports=mWe()});var bWe=ye(GA=>{"use strict";var xWe=Nu();GA.name="indicator";GA.plot=function(e,t,r,n){xWe.plotBasePlot(GA.name,e,t,r,n)};GA.clean=function(e,t,r,n){xWe.cleanBasePlot(GA.name,e,t,r,n)}});var t$=ye((gxr,EWe)=>{"use strict";var Dx=no().extendFlat,TWe=no().extendDeep,RZt=Bu().overrideAll,AWe=Su(),SWe=ph(),zZt=Ju().attributes,Sf=Ld(),FZt=Vs().templatedArray,q7=e5(),wWe=Oc().descriptionOnlyNumbers,e$=AWe({editType:"plot",colorEditType:"plot"}),cC={color:{valType:"color",editType:"plot"},line:{color:{valType:"color",dflt:SWe.defaultLine,editType:"plot"},width:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},thickness:{valType:"number",min:0,max:1,dflt:1,editType:"plot"},editType:"calc"},MWe={valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},qZt=FZt("step",TWe({},cC,{range:MWe}));EWe.exports={mode:{valType:"flaglist",editType:"calc",flags:["number","delta","gauge"],dflt:"number"},value:{valType:"number",editType:"calc",anim:!0},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},domain:zZt({name:"indicator",trace:!0,editType:"calc"}),title:{text:{valType:"string",editType:"plot"},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},font:Dx({},e$,{}),editType:"plot"},number:{valueformat:{valType:"string",dflt:"",editType:"plot",description:wWe("value")},font:Dx({},e$,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"plot"},delta:{reference:{valType:"number",editType:"calc"},position:{valType:"enumerated",values:["top","bottom","left","right"],dflt:"bottom",editType:"plot"},relative:{valType:"boolean",editType:"plot",dflt:!1},valueformat:{valType:"string",editType:"plot",description:wWe("value")},increasing:{symbol:{valType:"string",dflt:q7.INCREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:q7.INCREASING.COLOR,editType:"plot"},editType:"plot"},decreasing:{symbol:{valType:"string",dflt:q7.DECREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:q7.DECREASING.COLOR,editType:"plot"},editType:"plot"},font:Dx({},e$,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"calc"},gauge:{shape:{valType:"enumerated",editType:"plot",dflt:"angular",values:["angular","bullet"]},bar:TWe({},cC,{color:{dflt:"green"}}),bgcolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:SWe.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:1,editType:"plot"},axis:RZt({range:MWe,visible:Dx({},Sf.visible,{dflt:!0}),tickmode:Sf.minor.tickmode,nticks:Sf.nticks,tick0:Sf.tick0,dtick:Sf.dtick,tickvals:Sf.tickvals,ticktext:Sf.ticktext,ticks:Dx({},Sf.ticks,{dflt:"outside"}),ticklen:Sf.ticklen,tickwidth:Sf.tickwidth,tickcolor:Sf.tickcolor,ticklabelstep:Sf.ticklabelstep,showticklabels:Sf.showticklabels,labelalias:Sf.labelalias,tickfont:AWe({}),tickangle:Sf.tickangle,tickformat:Sf.tickformat,tickformatstops:Sf.tickformatstops,tickprefix:Sf.tickprefix,showtickprefix:Sf.showtickprefix,ticksuffix:Sf.ticksuffix,showticksuffix:Sf.showticksuffix,separatethousands:Sf.separatethousands,exponentformat:Sf.exponentformat,minexponent:Sf.minexponent,showexponent:Sf.showexponent,editType:"plot"},"plot"),steps:qZt,threshold:{line:{color:Dx({},cC.line.color,{}),width:Dx({},cC.line.width,{dflt:1}),editType:"plot"},thickness:Dx({},cC.thickness,{dflt:.85}),value:{valType:"number",editType:"calc",dflt:!1},editType:"plot"},editType:"plot"}}});var r$=ye((mxr,kWe)=>{"use strict";kWe.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}});var PWe=ye((yxr,LWe)=>{"use strict";var ry=Ar(),B7=t$(),OZt=Ju().defaults,CWe=Vs(),BZt=Xd(),O7=r$(),NZt=Lb(),UZt=R3(),VZt=a_(),HZt=o_();function GZt(e,t,r,n){function i(x,C){return ry.coerce(e,t,B7,x,C)}OZt(t,n,i),i("mode"),t._hasNumber=t.mode.indexOf("number")!==-1,t._hasDelta=t.mode.indexOf("delta")!==-1,t._hasGauge=t.mode.indexOf("gauge")!==-1;var a=i("value");t._range=[0,typeof a=="number"?1.5*a:1];var o=new Array(2),s;if(t._hasNumber){i("number.valueformat");var l=ry.extendFlat({},n.font);l.size=void 0,ry.coerceFont(i,"number.font",l),t.number.font.size===void 0&&(t.number.font.size=O7.defaultNumberFontSize,o[0]=!0),i("number.prefix"),i("number.suffix"),s=t.number.font.size}var u;if(t._hasDelta){var c=ry.extendFlat({},n.font);c.size=void 0,ry.coerceFont(i,"delta.font",c),t.delta.font.size===void 0&&(t.delta.font.size=(t._hasNumber?.5:1)*(s||O7.defaultNumberFontSize),o[1]=!0),i("delta.reference",t.value),i("delta.relative"),i("delta.valueformat",t.delta.relative?"2%":""),i("delta.increasing.symbol"),i("delta.increasing.color"),i("delta.decreasing.symbol"),i("delta.decreasing.color"),i("delta.position"),i("delta.prefix"),i("delta.suffix"),u=t.delta.font.size}t._scaleNumbers=(!t._hasNumber||o[0])&&(!t._hasDelta||o[1])||!1;var f=ry.extendFlat({},n.font);f.size=.25*(s||u||O7.defaultNumberFontSize),ry.coerceFont(i,"title.font",f),i("title.text");var h,v,d,_;function b(x,C){return ry.coerce(h,v,B7.gauge,x,C)}function p(x,C){return ry.coerce(d,_,B7.gauge.axis,x,C)}if(t._hasGauge){h=e.gauge,h||(h={}),v=CWe.newContainer(t,"gauge"),b("shape");var E=t._isBullet=t.gauge.shape==="bullet";E||i("title.align","center");var k=t._isAngular=t.gauge.shape==="angular";k||i("align","center"),b("bgcolor",n.paper_bgcolor),b("borderwidth"),b("bordercolor"),b("bar.color"),b("bar.line.color"),b("bar.line.width");var S=O7.valueThickness*(t.gauge.shape==="bullet"?.5:1);b("bar.thickness",S),BZt(h,v,{name:"steps",handleItemDefaults:jZt}),b("threshold.value"),b("threshold.thickness"),b("threshold.line.width"),b("threshold.line.color"),d={},h&&(d=h.axis||{}),_=CWe.newContainer(v,"axis"),p("visible"),t._range=p("range",t._range);var L={font:n.font,noAutotickangles:!0,outerTicks:!0,noTicklabelshift:!0,noTicklabelstandoff:!0};NZt(d,_,p,"linear"),HZt(d,_,p,"linear",L),VZt(d,_,p,"linear",L),UZt(d,_,p,L)}else i("title.align","center"),i("align","center"),t._isAngular=t._isBullet=!1;t._length=null}function jZt(e,t){function r(n,i){return ry.coerce(e,t,B7.gauge.steps,n,i)}r("color"),r("line.color"),r("line.width"),r("range"),r("thickness")}LWe.exports={supplyDefaults:GZt}});var DWe=ye((_xr,IWe)=>{"use strict";function WZt(e,t){var r=[],n=t.value;typeof t._lastValue!="number"&&(t._lastValue=t.value);var i=t._lastValue,a=i;return t._hasDelta&&typeof t.delta.reference=="number"&&(a=t.delta.reference),r[0]={y:n,lastY:i,delta:n-a,relativeDelta:(n-a)/a},r}IWe.exports={calc:WZt}});var BWe=ye((xxr,OWe)=>{"use strict";var bw=ba(),ZZt=(V2(),vb(U2)).interpolate,RWe=(V2(),vb(U2)).interpolateNumber,Rx=Ar(),XZt=Rx.strScale,hC=Rx.strTranslate,YZt=Rx.rad2deg,KZt=Vh().MID_SHIFT,xw=ao(),mw=r$(),U7=Ll(),ov=Xa(),JZt=h4(),$Zt=_I(),QZt=Ld(),jA=va(),i$={left:"start",center:"middle",right:"end"},yw={left:0,center:.5,right:1},zWe=/[yzafpnµmkMGTPEZY]/;function dC(e){return e&&e.duration>0}OWe.exports=function(t,r,n,i){var a=t._fullLayout,o;dC(n)&&i&&(o=i()),Rx.makeTraceGroups(a._indicatorlayer,r,"trace").each(function(s){var l=s[0],u=l.trace,c=bw.select(this),f=u._hasGauge,h=u._isAngular,v=u._isBullet,d=u.domain,_={w:a._size.w*(d.x[1]-d.x[0]),h:a._size.h*(d.y[1]-d.y[0]),l:a._size.l+a._size.w*d.x[0],r:a._size.r+a._size.w*(1-d.x[1]),t:a._size.t+a._size.h*(1-d.y[1]),b:a._size.b+a._size.h*d.y[0]},b=_.l+_.w/2,p=_.t+_.h/2,E=Math.min(_.w/2,_.h),k=mw.innerRadius*E,S,L,x,C=u.align||"center";if(L=p,!f)S=_.l+yw[C]*_.w,x=function(G){return FWe(G,_.w,_.h)};else if(h&&(S=b,L=p+E/2,x=function(G){return nXt(G,.9*k)}),v){var M=mw.bulletPadding,g=1-mw.bulletNumberDomainSize+M;S=_.l+(g+(1-g)*yw[C])*_.w,x=function(G){return FWe(G,(mw.bulletNumberDomainSize-M)*_.w,_.h)}}rXt(t,c,s,{numbersX:S,numbersY:L,numbersScaler:x,transitionOpts:n,onComplete:o});var P,T;f&&(P={range:u.gauge.axis.range,color:u.gauge.bgcolor,line:{color:u.gauge.bordercolor,width:0},thickness:1},T={range:u.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:u.gauge.bordercolor,width:u.gauge.borderwidth},thickness:1});var F=c.selectAll("g.angular").data(h?s:[]);F.exit().remove();var q=c.selectAll("g.angularaxis").data(h?s:[]);q.exit().remove(),h&&tXt(t,c,s,{radius:E,innerRadius:k,gauge:F,layer:q,size:_,gaugeBg:P,gaugeOutline:T,transitionOpts:n,onComplete:o});var V=c.selectAll("g.bullet").data(v?s:[]);V.exit().remove();var H=c.selectAll("g.bulletaxis").data(v?s:[]);H.exit().remove(),v&&eXt(t,c,s,{gauge:V,layer:H,size:_,gaugeBg:P,gaugeOutline:T,transitionOpts:n,onComplete:o});var X=c.selectAll("text.title").data(s);X.exit().remove(),X.enter().append("text").classed("title",!0),X.attr("text-anchor",function(){return v?i$.right:i$[u.title.align]}).text(u.title.text).call(xw.font,u.title.font).call(U7.convertToTspans,t),X.attr("transform",function(){var G=_.l+_.w*yw[u.title.align],N,W=mw.titlePadding,re=xw.bBox(X.node());if(f){if(h)if(u.gauge.axis.visible){var ae=xw.bBox(q.node());N=ae.top-W-re.bottom}else N=_.t+_.h/2-E/2-re.bottom-W;v&&(N=L-(re.top+re.bottom)/2,G=_.l-mw.bulletPadding*_.w)}else N=u._numbersTop-W-re.bottom;return hC(G,N)})})};function eXt(e,t,r,n){var i=r[0].trace,a=n.gauge,o=n.layer,s=n.gaugeBg,l=n.gaugeOutline,u=n.size,c=i.domain,f=n.transitionOpts,h=n.onComplete,v,d,_,b,p;a.enter().append("g").classed("bullet",!0),a.attr("transform",hC(u.l,u.t)),o.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),o.selectAll("g.xbulletaxistick,path,text").remove();var E=u.h,k=i.gauge.bar.thickness*E,S=c.x[0],L=c.x[0]+(c.x[1]-c.x[0])*(i._hasNumber||i._hasDelta?1-mw.bulletNumberDomainSize:1);v=fC(e,i.gauge.axis),v._id="xbulletaxis",v.domain=[S,L],v.setScale(),d=ov.calcTicks(v),_=ov.makeTransTickFn(v),b=ov.getTickSigns(v)[2],p=u.t+u.h,v.visible&&(ov.drawTicks(e,v,{vals:v.ticks==="inside"?ov.clipEnds(v,d):d,layer:o,path:ov.makeTickPath(v,p,b),transFn:_}),ov.drawLabels(e,v,{vals:d,layer:o,transFn:_,labelFns:ov.makeLabelFns(v,p)}));function x(q){q.attr("width",function(V){return Math.max(0,v.c2p(V.range[1])-v.c2p(V.range[0]))}).attr("x",function(V){return v.c2p(V.range[0])}).attr("y",function(V){return .5*(1-V.thickness)*E}).attr("height",function(V){return V.thickness*E})}var C=[s].concat(i.gauge.steps),M=a.selectAll("g.bg-bullet").data(C);M.enter().append("g").classed("bg-bullet",!0).append("rect"),M.select("rect").call(x).call(_w),M.exit().remove();var g=a.selectAll("g.value-bullet").data([i.gauge.bar]);g.enter().append("g").classed("value-bullet",!0).append("rect"),g.select("rect").attr("height",k).attr("y",(E-k)/2).call(_w),dC(f)?g.select("rect").transition().duration(f.duration).ease(f.easing).each("end",function(){h&&h()}).each("interrupt",function(){h&&h()}).attr("width",Math.max(0,v.c2p(Math.min(i.gauge.axis.range[1],r[0].y)))):g.select("rect").attr("width",typeof r[0].y=="number"?Math.max(0,v.c2p(Math.min(i.gauge.axis.range[1],r[0].y))):0),g.exit().remove();var P=r.filter(function(){return i.gauge.threshold.value||i.gauge.threshold.value===0}),T=a.selectAll("g.threshold-bullet").data(P);T.enter().append("g").classed("threshold-bullet",!0).append("line"),T.select("line").attr("x1",v.c2p(i.gauge.threshold.value)).attr("x2",v.c2p(i.gauge.threshold.value)).attr("y1",(1-i.gauge.threshold.thickness)/2*E).attr("y2",(1-(1-i.gauge.threshold.thickness)/2)*E).call(jA.stroke,i.gauge.threshold.line.color).style("stroke-width",i.gauge.threshold.line.width),T.exit().remove();var F=a.selectAll("g.gauge-outline").data([l]);F.enter().append("g").classed("gauge-outline",!0).append("rect"),F.select("rect").call(x).call(_w),F.exit().remove()}function tXt(e,t,r,n){var i=r[0].trace,a=n.size,o=n.radius,s=n.innerRadius,l=n.gaugeBg,u=n.gaugeOutline,c=[a.l+a.w/2,a.t+a.h/2+o/2],f=n.gauge,h=n.layer,v=n.transitionOpts,d=n.onComplete,_=Math.PI/2;function b(_e){var Me=i.gauge.axis.range[0],ke=i.gauge.axis.range[1],ge=(_e-Me)/(ke-Me)*Math.PI-_;return ge<-_?-_:ge>_?_:ge}function p(_e){return bw.svg.arc().innerRadius((s+o)/2-_e/2*(o-s)).outerRadius((s+o)/2+_e/2*(o-s)).startAngle(-_)}function E(_e){_e.attr("d",function(Me){return p(Me.thickness).startAngle(b(Me.range[0])).endAngle(b(Me.range[1]))()})}var k,S,L,x;f.enter().append("g").classed("angular",!0),f.attr("transform",hC(c[0],c[1])),h.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),h.selectAll("g.xangularaxistick,path,text").remove(),k=fC(e,i.gauge.axis),k.type="linear",k.range=i.gauge.axis.range,k._id="xangularaxis",k.ticklabeloverflow="allow",k.setScale();var C=function(_e){return(k.range[0]-_e.x)/(k.range[1]-k.range[0])*Math.PI+Math.PI},M={},g=ov.makeLabelFns(k,0),P=g.labelStandoff;M.xFn=function(_e){var Me=C(_e);return Math.cos(Me)*P},M.yFn=function(_e){var Me=C(_e),ke=Math.sin(Me)>0?.2:1;return-Math.sin(Me)*(P+_e.fontSize*ke)+Math.abs(Math.cos(Me))*(_e.fontSize*KZt)},M.anchorFn=function(_e){var Me=C(_e),ke=Math.cos(Me);return Math.abs(ke)<.1?"middle":ke>0?"start":"end"},M.heightFn=function(_e,Me,ke){var ge=C(_e);return-.5*(1+Math.sin(ge))*ke};var T=function(_e){return hC(c[0]+o*Math.cos(_e),c[1]-o*Math.sin(_e))};L=function(_e){return T(C(_e))};var F=function(_e){var Me=C(_e);return T(Me)+"rotate("+-YZt(Me)+")"};if(S=ov.calcTicks(k),x=ov.getTickSigns(k)[2],k.visible){x=k.ticks==="inside"?-1:1;var q=(k.linewidth||1)/2;ov.drawTicks(e,k,{vals:S,layer:h,path:"M"+x*q+",0h"+x*k.ticklen,transFn:F}),ov.drawLabels(e,k,{vals:S,layer:h,transFn:L,labelFns:M})}var V=[l].concat(i.gauge.steps),H=f.selectAll("g.bg-arc").data(V);H.enter().append("g").classed("bg-arc",!0).append("path"),H.select("path").call(E).call(_w),H.exit().remove();var X=p(i.gauge.bar.thickness),G=f.selectAll("g.value-arc").data([i.gauge.bar]);G.enter().append("g").classed("value-arc",!0).append("path");var N=G.select("path");dC(v)?(N.transition().duration(v.duration).ease(v.easing).each("end",function(){d&&d()}).each("interrupt",function(){d&&d()}).attrTween("d",iXt(X,b(r[0].lastY),b(r[0].y))),i._lastValue=r[0].y):N.attr("d",typeof r[0].y=="number"?X.endAngle(b(r[0].y)):"M0,0Z"),N.call(_w),G.exit().remove(),V=[];var W=i.gauge.threshold.value;(W||W===0)&&V.push({range:[W,W],color:i.gauge.threshold.color,line:{color:i.gauge.threshold.line.color,width:i.gauge.threshold.line.width},thickness:i.gauge.threshold.thickness});var re=f.selectAll("g.threshold-arc").data(V);re.enter().append("g").classed("threshold-arc",!0).append("path"),re.select("path").call(E).call(_w),re.exit().remove();var ae=f.selectAll("g.gauge-outline").data([u]);ae.enter().append("g").classed("gauge-outline",!0).append("path"),ae.select("path").call(E).call(_w),ae.exit().remove()}function rXt(e,t,r,n){var i=r[0].trace,a=n.numbersX,o=n.numbersY,s=i.align||"center",l=i$[s],u=n.transitionOpts,c=n.onComplete,f=Rx.ensureSingle(t,"g","numbers"),h,v,d,_=[];i._hasNumber&&_.push("number"),i._hasDelta&&(_.push("delta"),i.delta.position==="left"&&_.reverse());var b=f.selectAll("text").data(_);b.enter().append("text"),b.attr("text-anchor",function(){return l}).attr("class",function(T){return T}).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),b.exit().remove();function p(T,F,q,V){if(T.match("s")&&q>=0!=V>=0&&!F(q).slice(-1).match(zWe)&&!F(V).slice(-1).match(zWe)){var H=T.slice().replace("s","f").replace(/\d+/,function(G){return parseInt(G)-1}),X=fC(e,{tickformat:H});return function(G){return Math.abs(G)<1?ov.tickText(X,G).text:F(G)}}else return F}function E(){var T=fC(e,{tickformat:i.number.valueformat},i._range);T.setScale(),ov.prepTicks(T);var F=function(G){return ov.tickText(T,G).text},q=i.number.suffix,V=i.number.prefix,H=f.select("text.number");function X(){var G=typeof r[0].y=="number"?V+F(r[0].y)+q:"-";H.text(G).call(xw.font,i.number.font).call(U7.convertToTspans,e)}return dC(u)?H.transition().duration(u.duration).ease(u.easing).each("end",function(){X(),c&&c()}).each("interrupt",function(){X(),c&&c()}).attrTween("text",function(){var G=bw.select(this),N=RWe(r[0].lastY,r[0].y);i._lastValue=r[0].y;var W=p(i.number.valueformat,F,r[0].lastY,r[0].y);return function(re){G.text(V+W(N(re))+q)}}):X(),h=qWe(V+F(r[0].y)+q,i.number.font,l,e),H}function k(){var T=fC(e,{tickformat:i.delta.valueformat},i._range);T.setScale(),ov.prepTicks(T);var F=function(re){return ov.tickText(T,re).text},q=i.delta.suffix,V=i.delta.prefix,H=function(re){var ae=i.delta.relative?re.relativeDelta:re.delta;return ae},X=function(re,ae){return re===0||typeof re!="number"||isNaN(re)?"-":(re>0?i.delta.increasing.symbol:i.delta.decreasing.symbol)+V+ae(re)+q},G=function(re){return re.delta>=0?i.delta.increasing.color:i.delta.decreasing.color};i._deltaLastValue===void 0&&(i._deltaLastValue=H(r[0]));var N=f.select("text.delta");N.call(xw.font,i.delta.font).call(jA.fill,G({delta:i._deltaLastValue}));function W(){N.text(X(H(r[0]),F)).call(jA.fill,G(r[0])).call(U7.convertToTspans,e)}return dC(u)?N.transition().duration(u.duration).ease(u.easing).tween("text",function(){var re=bw.select(this),ae=H(r[0]),_e=i._deltaLastValue,Me=p(i.delta.valueformat,F,_e,ae),ke=RWe(_e,ae);return i._deltaLastValue=ae,function(ge){re.text(X(ke(ge),Me)),re.call(jA.fill,G({delta:ke(ge)}))}}).each("end",function(){W(),c&&c()}).each("interrupt",function(){W(),c&&c()}):W(),v=qWe(X(H(r[0]),F),i.delta.font,l,e),N}var S=i.mode+i.align,L;if(i._hasDelta&&(L=k(),S+=i.delta.position+i.delta.font.size+i.delta.font.family+i.delta.valueformat,S+=i.delta.increasing.symbol+i.delta.decreasing.symbol,d=v),i._hasNumber&&(E(),S+=i.number.font.size+i.number.font.family+i.number.valueformat+i.number.suffix+i.number.prefix,d=h),i._hasDelta&&i._hasNumber){var x=[(h.left+h.right)/2,(h.top+h.bottom)/2],C=[(v.left+v.right)/2,(v.top+v.bottom)/2],M,g,P=.75*i.delta.font.size;i.delta.position==="left"&&(M=N7(i,"deltaPos",0,-1*(h.width*yw[i.align]+v.width*(1-yw[i.align])+P),S,Math.min),g=x[1]-C[1],d={width:h.width+v.width+P,height:Math.max(h.height,v.height),left:v.left+M,right:h.right,top:Math.min(h.top,v.top+g),bottom:Math.max(h.bottom,v.bottom+g)}),i.delta.position==="right"&&(M=N7(i,"deltaPos",0,h.width*(1-yw[i.align])+v.width*yw[i.align]+P,S,Math.max),g=x[1]-C[1],d={width:h.width+v.width+P,height:Math.max(h.height,v.height),left:h.left,right:v.right+M,top:Math.min(h.top,v.top+g),bottom:Math.max(h.bottom,v.bottom+g)}),i.delta.position==="bottom"&&(M=null,g=v.height,d={width:Math.max(h.width,v.width),height:h.height+v.height,left:Math.min(h.left,v.left),right:Math.max(h.right,v.right),top:h.bottom-h.height,bottom:h.bottom+v.height}),i.delta.position==="top"&&(M=null,g=h.top,d={width:Math.max(h.width,v.width),height:h.height+v.height,left:Math.min(h.left,v.left),right:Math.max(h.right,v.right),top:h.bottom-h.height-v.height,bottom:h.bottom}),L.attr({dx:M,dy:g})}(i._hasNumber||i._hasDelta)&&f.attr("transform",function(){var T=n.numbersScaler(d);S+=T[2];var F=N7(i,"numbersScale",1,T[0],S,Math.min),q;i._scaleNumbers||(F=1),i._isAngular?q=o-F*d.bottom:q=o-F*(d.top+d.bottom)/2,i._numbersTop=F*d.top+q;var V=d[s];s==="center"&&(V=(d.left+d.right)/2);var H=a-F*V;return H=N7(i,"numbersTranslate",0,H,S,Math.max),hC(H,q)+XZt(F)})}function _w(e){e.each(function(t){jA.stroke(bw.select(this),t.line.color)}).each(function(t){jA.fill(bw.select(this),t.color)}).style("stroke-width",function(t){return t.line.width})}function iXt(e,t,r){return function(){var n=ZZt(t,r);return function(i){return e.endAngle(n(i))()}}}function fC(e,t,r){var n=e._fullLayout,i=Rx.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},t),a={type:"linear",_id:"x"+t._id},o={letter:"x",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function s(l,u){return Rx.coerce(i,a,QZt,l,u)}return JZt(i,a,s,o,n),$Zt(i,a,s,o),a}function FWe(e,t,r){var n=Math.min(t/e.width,r/e.height);return[n,e,t+"x"+r]}function nXt(e,t){var r=Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),n=t/r;return[n,e,t]}function qWe(e,t,r,n){var i=document.createElementNS("http://www.w3.org/2000/svg","text"),a=bw.select(i);return a.text(e).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",e).call(U7.convertToTspans,n).call(xw.font,t),xw.bBox(a.node())}function N7(e,t,r,n,i,a){var o="_cache"+t;e[o]&&e[o].key===i||(e[o]={key:i,value:r});var s=Rx.aggNums(a,null,[e[o].value,n],2);return e[o].value=s,s}});var UWe=ye((bxr,NWe)=>{"use strict";NWe.exports={moduleType:"trace",name:"indicator",basePlotModule:bWe(),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:t$(),supplyDefaults:PWe().supplyDefaults,calc:DWe().calc,plot:BWe(),meta:{}}});var HWe=ye((wxr,VWe)=>{"use strict";VWe.exports=UWe()});var n$=ye((Txr,ZWe)=>{"use strict";var GWe=Kb(),V7=no().extendFlat,aXt=Bu().overrideAll,jWe=Su(),oXt=Ju().attributes,WWe=Oc().descriptionOnlyNumbers,sXt=ZWe.exports=aXt({domain:oXt({name:"table",trace:!0}),columnwidth:{valType:"number",arrayOk:!0,dflt:null},columnorder:{valType:"data_array"},header:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:WWe("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:V7({},GWe.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:V7({},jWe({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:WWe("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:V7({},GWe.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:V7({},jWe({arrayOk:!0}))}},"calc","from-root");sXt.transforms=void 0});var YWe=ye((Axr,XWe)=>{"use strict";var a$=Ar(),lXt=n$(),uXt=Ju().defaults;function cXt(e,t){for(var r=e.columnorder||[],n=e.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(l,u){return l-u}),o=i.map(function(l){return a.indexOf(l)}),s=o.length;s{"use strict";var fXt=$m().wrap;KWe.exports=function(){return fXt({})}});var o$=ye((Mxr,$We)=>{"use strict";$We.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\$.*\$$/,goldenRatio:1.618,lineBreaker:"
",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}});var sZe=ye((Exr,oZe)=>{"use strict";var QWe=o$(),l$=no().extendFlat,hXt=uo(),dXt=pv().isTypedArray,H7=pv().isArrayOrTypedArray;oZe.exports=function(t,r){var n=s$(r.cells.values),i=function(g){return g.slice(r.header.values.length,g.length)},a=s$(r.header.values);a.length&&!a[0].length&&(a[0]=[""],a=s$(a));var o=a.concat(i(n).map(function(){return aZe((a[0]||[""]).length)})),s=r.domain,l=Math.floor(t._fullLayout._size.w*(s.x[1]-s.x[0])),u=Math.floor(t._fullLayout._size.h*(s.y[1]-s.y[0])),c=r.header.values.length?o[0].map(function(){return r.header.height}):[QWe.emptyHeaderHeight],f=n.length?n[0].map(function(){return r.cells.height}):[],h=c.reduce(eZe,0),v=u-h,d=v+QWe.uplift,_=iZe(f,d),b=iZe(c,h),p=rZe(b,[]),E=rZe(_,p),k={},S=r._fullInput.columnorder;H7(S)&&(S=Array.from(S)),S=S.concat(i(n.map(function(g,P){return P})));var L=o.map(function(g,P){var T=H7(r.columnwidth)?r.columnwidth[Math.min(P,r.columnwidth.length-1)]:r.columnwidth;return hXt(T)?Number(T):1}),x=L.reduce(eZe,0);L=L.map(function(g){return g/x*l});var C=Math.max(u$(r.header.line.width),u$(r.cells.line.width)),M={key:r.uid+t._context.staticPlot,translateX:s.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-s.y[1]),size:t._fullLayout._size,width:l,maxLineWidth:C,height:u,columnOrder:S,groupHeight:u,rowBlocks:E,headerRowBlocks:p,scrollY:0,cells:l$({},r.cells,{values:n}),headerCells:l$({},r.header,{values:o}),gdColumns:o.map(function(g){return g[0]}),gdColumnsOriginalOrder:o.map(function(g){return g[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:o.map(function(g,P){var T=k[g];k[g]=(T||0)+1;var F=g+"__"+k[g];return{key:F,label:g,specIndex:P,xIndex:S[P],xScale:tZe,x:void 0,calcdata:void 0,columnWidth:L[P]}})};return M.columns.forEach(function(g){g.calcdata=M,g.x=tZe(g)}),M};function u$(e){if(H7(e)){for(var t=0,r=0;r=t||u===e.length-1)&&(r[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o=nZe(),i+=a,s=u+1,a=0);return r}function nZe(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}});var lZe=ye(c$=>{"use strict";var G7=no().extendFlat;c$.splitToPanels=function(e){var t=[0,0],r=G7({},e,{key:"header",type:"header",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:G7({},e.calcdata,{cells:e.calcdata.headerCells})}),n=G7({},e,{key:"cells1",type:"cells",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),i=G7({},e,{key:"cells2",type:"cells",page:1,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks});return[n,i,r]};c$.splitToCells=function(e){var t=vXt(e);return(e.values||[]).slice(t[0],t[1]).map(function(r,n){var i=typeof r=="string"&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():"";return{keyWithinBlock:n+i,key:t[0]+n,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:r}})};function vXt(e){var t=e.rowBlocks[e.page],r=t?t.rows[0].rowIndex:0,n=t?r+t.rows.length:0;return[r,n]}});var x$=ye((Cxr,_Ze)=>{"use strict";var Ia=o$(),Mc=ba(),f$=Ar(),pXt=f$.numberFormat,gu=$m(),h$=ao(),gXt=Ll(),mXt=Ar().raiseToTop,cg=Ar().strTranslate,yXt=Ar().cancelTransition,_Xt=sZe(),pZe=lZe(),uZe=va();_Ze.exports=function(t,r){var n=!t._context.staticPlot,i=t._fullLayout._paper.selectAll("."+Ia.cn.table).data(r.map(function(E){var k=gu.unwrap(E),S=k.trace;return _Xt(t,S)}),gu.keyFun);i.exit().remove(),i.enter().append("g").classed(Ia.cn.table,!0).attr("overflow","visible").style("box-sizing","content-box").style("position","absolute").style("left",0).style("overflow","visible").style("shape-rendering","crispEdges").style("pointer-events","all"),i.attr("width",function(E){return E.width+E.size.l+E.size.r}).attr("height",function(E){return E.height+E.size.t+E.size.b}).attr("transform",function(E){return cg(E.translateX,E.translateY)});var a=i.selectAll("."+Ia.cn.tableControlView).data(gu.repeat,gu.keyFun),o=a.enter().append("g").classed(Ia.cn.tableControlView,!0).style("box-sizing","content-box");if(n){var s="onwheel"in document?"wheel":"mousewheel";o.on("mousemove",function(E){a.filter(function(k){return E===k}).call(vC,t)}).on(s,function(E){if(!E.scrollbarState.wheeling){E.scrollbarState.wheeling=!0;var k=E.scrollY+Mc.event.deltaY,S=W7(t,a,null,k)(E);S||(Mc.event.stopPropagation(),Mc.event.preventDefault()),E.scrollbarState.wheeling=!1}}).call(vC,t,!0)}a.attr("transform",function(E){return cg(E.size.l,E.size.t)});var l=a.selectAll("."+Ia.cn.scrollBackground).data(gu.repeat,gu.keyFun);l.enter().append("rect").classed(Ia.cn.scrollBackground,!0).attr("fill","none"),l.attr("width",function(E){return E.width}).attr("height",function(E){return E.height}),a.each(function(E){h$.setClipUrl(Mc.select(this),cZe(t,E),t)});var u=a.selectAll("."+Ia.cn.yColumn).data(function(E){return E.columns},gu.keyFun);u.enter().append("g").classed(Ia.cn.yColumn,!0),u.exit().remove(),u.attr("transform",function(E){return cg(E.x,0)}),n&&u.call(Mc.behavior.drag().origin(function(E){var k=Mc.select(this);return dZe(k,E,-Ia.uplift),mXt(this),E.calcdata.columnDragInProgress=!0,vC(a.filter(function(S){return E.calcdata.key===S.key}),t),E}).on("drag",function(E){var k=Mc.select(this),S=function(C){return(E===C?Mc.event.x:C.x)+C.columnWidth/2};E.x=Math.max(-Ia.overdrag,Math.min(E.calcdata.width+Ia.overdrag-E.columnWidth,Mc.event.x));var L=gZe(u).filter(function(C){return C.calcdata.key===E.calcdata.key}),x=L.sort(function(C,M){return S(C)-S(M)});x.forEach(function(C,M){C.xIndex=M,C.x=E===C?C.x:C.xScale(C)}),u.filter(function(C){return E!==C}).transition().ease(Ia.transitionEase).duration(Ia.transitionDuration).attr("transform",function(C){return cg(C.x,0)}),k.call(yXt).attr("transform",cg(E.x,-Ia.uplift))}).on("dragend",function(E){var k=Mc.select(this),S=E.calcdata;E.x=E.xScale(E),E.calcdata.columnDragInProgress=!1,dZe(k,E,0),CXt(t,S,S.columns.map(function(L){return L.xIndex}))})),u.each(function(E){h$.setClipUrl(Mc.select(this),fZe(t,E),t)});var c=u.selectAll("."+Ia.cn.columnBlock).data(pZe.splitToPanels,gu.keyFun);c.enter().append("g").classed(Ia.cn.columnBlock,!0).attr("id",function(E){return E.key}),c.style("cursor",function(E){return E.dragHandle?"ew-resize":E.calcdata.scrollbarState.barWiggleRoom?"ns-resize":"default"});var f=c.filter(LXt),h=c.filter(m$);n&&h.call(Mc.behavior.drag().origin(function(E){return Mc.event.stopPropagation(),E}).on("drag",W7(t,a,-1)).on("dragend",function(){})),d$(t,a,f,c),d$(t,a,h,c);var v=a.selectAll("."+Ia.cn.scrollAreaClip).data(gu.repeat,gu.keyFun);v.enter().append("clipPath").classed(Ia.cn.scrollAreaClip,!0).attr("id",function(E){return cZe(t,E)});var d=v.selectAll("."+Ia.cn.scrollAreaClipRect).data(gu.repeat,gu.keyFun);d.enter().append("rect").classed(Ia.cn.scrollAreaClipRect,!0).attr("x",-Ia.overdrag).attr("y",-Ia.uplift).attr("fill","none"),d.attr("width",function(E){return E.width+2*Ia.overdrag}).attr("height",function(E){return E.height+Ia.uplift});var _=u.selectAll("."+Ia.cn.columnBoundary).data(gu.repeat,gu.keyFun);_.enter().append("g").classed(Ia.cn.columnBoundary,!0);var b=u.selectAll("."+Ia.cn.columnBoundaryClippath).data(gu.repeat,gu.keyFun);b.enter().append("clipPath").classed(Ia.cn.columnBoundaryClippath,!0),b.attr("id",function(E){return fZe(t,E)});var p=b.selectAll("."+Ia.cn.columnBoundaryRect).data(gu.repeat,gu.keyFun);p.enter().append("rect").classed(Ia.cn.columnBoundaryRect,!0).attr("fill","none"),p.attr("width",function(E){return E.columnWidth+2*j7(E)}).attr("height",function(E){return E.calcdata.height+2*j7(E)+Ia.uplift}).attr("x",function(E){return-j7(E)}).attr("y",function(E){return-j7(E)}),y$(null,h,a)};function j7(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function cZe(e,t){return"clip"+e._fullLayout._uid+"_scrollAreaBottomClip_"+t.key}function fZe(e,t){return"clip"+e._fullLayout._uid+"_columnBoundaryClippath_"+t.calcdata.key+"_"+t.specIndex}function gZe(e){return[].concat.apply([],e.map(function(t){return t})).map(function(t){return t.__data__})}function vC(e,t,r){function n(u){var c=u.rowBlocks;return p$(c,c.length-1)+(c.length?Z7(c[c.length-1],1/0):1)}var i=e.selectAll("."+Ia.cn.scrollbarKit).data(gu.repeat,gu.keyFun);i.enter().append("g").classed(Ia.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),i.each(function(u){var c=u.scrollbarState;c.totalHeight=n(u),c.scrollableAreaHeight=u.groupHeight-v$(u),c.currentlyVisibleHeight=Math.min(c.totalHeight,c.scrollableAreaHeight),c.ratio=c.currentlyVisibleHeight/c.totalHeight,c.barLength=Math.max(c.ratio*c.currentlyVisibleHeight,Ia.goldenRatio*Ia.scrollbarWidth),c.barWiggleRoom=c.currentlyVisibleHeight-c.barLength,c.wiggleRoom=Math.max(0,c.totalHeight-c.scrollableAreaHeight),c.topY=c.barWiggleRoom===0?0:u.scrollY/c.wiggleRoom*c.barWiggleRoom,c.bottomY=c.topY+c.barLength,c.dragMultiplier=c.wiggleRoom/c.barWiggleRoom}).attr("transform",function(u){var c=u.width+Ia.scrollbarWidth/2+Ia.scrollbarOffset;return cg(c,v$(u))});var a=i.selectAll("."+Ia.cn.scrollbar).data(gu.repeat,gu.keyFun);a.enter().append("g").classed(Ia.cn.scrollbar,!0);var o=a.selectAll("."+Ia.cn.scrollbarSlider).data(gu.repeat,gu.keyFun);o.enter().append("g").classed(Ia.cn.scrollbarSlider,!0),o.attr("transform",function(u){return cg(0,u.scrollbarState.topY||0)});var s=o.selectAll("."+Ia.cn.scrollbarGlyph).data(gu.repeat,gu.keyFun);s.enter().append("line").classed(Ia.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",Ia.scrollbarWidth).attr("stroke-linecap","round").attr("y1",Ia.scrollbarWidth/2),s.attr("y2",function(u){return u.scrollbarState.barLength-Ia.scrollbarWidth/2}).attr("stroke-opacity",function(u){return u.columnDragInProgress||!u.scrollbarState.barWiggleRoom||r?0:.4}),s.transition().delay(0).duration(0),s.transition().delay(Ia.scrollbarHideDelay).duration(Ia.scrollbarHideDuration).attr("stroke-opacity",0);var l=a.selectAll("."+Ia.cn.scrollbarCaptureZone).data(gu.repeat,gu.keyFun);l.enter().append("line").classed(Ia.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",Ia.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",function(u){var c=Mc.event.y,f=this.getBoundingClientRect(),h=u.scrollbarState,v=c-f.top,d=Mc.scale.linear().domain([0,h.scrollableAreaHeight]).range([0,h.totalHeight]).clamp(!0);h.topY<=v&&v<=h.bottomY||W7(t,e,null,d(v-h.barLength/2))(u)}).call(Mc.behavior.drag().origin(function(u){return Mc.event.stopPropagation(),u.scrollbarState.scrollbarScrollInProgress=!0,u}).on("drag",W7(t,e)).on("dragend",function(){})),l.attr("y2",function(u){return u.scrollbarState.scrollableAreaHeight}),t._context.staticPlot&&(s.remove(),l.remove())}function d$(e,t,r,n){var i=xXt(r),a=bXt(i);SXt(a);var o=wXt(a);EXt(o);var s=AXt(a),l=TXt(s);MXt(l),mZe(l,t,n,e),_$(a)}function xXt(e){var t=e.selectAll("."+Ia.cn.columnCells).data(gu.repeat,gu.keyFun);return t.enter().append("g").classed(Ia.cn.columnCells,!0),t.exit().remove(),t}function bXt(e){var t=e.selectAll("."+Ia.cn.columnCell).data(pZe.splitToCells,function(r){return r.keyWithinBlock});return t.enter().append("g").classed(Ia.cn.columnCell,!0),t.exit().remove(),t}function wXt(e){var t=e.selectAll("."+Ia.cn.cellRect).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append("rect").classed(Ia.cn.cellRect,!0),t}function TXt(e){var t=e.selectAll("."+Ia.cn.cellText).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append("text").classed(Ia.cn.cellText,!0).style("cursor",function(){return"auto"}).on("mousedown",function(){Mc.event.stopPropagation()}),t}function AXt(e){var t=e.selectAll("."+Ia.cn.cellTextHolder).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append("g").classed(Ia.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),t}function SXt(e){e.each(function(t,r){var n=t.calcdata.cells.font,i=t.column.specIndex,a={size:Kv(n.size,i,r),color:Kv(n.color,i,r),family:Kv(n.family,i,r),weight:Kv(n.weight,i,r),style:Kv(n.style,i,r),variant:Kv(n.variant,i,r),textcase:Kv(n.textcase,i,r),lineposition:Kv(n.lineposition,i,r),shadow:Kv(n.shadow,i,r)};t.rowNumber=t.key,t.align=Kv(t.calcdata.cells.align,i,r),t.cellBorderWidth=Kv(t.calcdata.cells.line.width,i,r),t.font=a})}function MXt(e){e.each(function(t){h$.font(Mc.select(this),t.font)})}function EXt(e){e.attr("width",function(t){return t.column.columnWidth}).attr("stroke-width",function(t){return t.cellBorderWidth}).each(function(t){var r=Mc.select(this);uZe.stroke(r,Kv(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),uZe.fill(r,Kv(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}function mZe(e,t,r,n){e.text(function(i){var a=i.column.specIndex,o=i.rowNumber,s=i.value,l=typeof s=="string",u=l&&s.match(/
/i),c=!l||u;i.mayHaveMarkup=l&&s.match(/[<&>]/);var f=kXt(s);i.latex=f;var h=f?"":Kv(i.calcdata.cells.prefix,a,o)||"",v=f?"":Kv(i.calcdata.cells.suffix,a,o)||"",d=f?null:Kv(i.calcdata.cells.format,a,o)||null,_=h+(d?pXt(d)(i.value):i.value)+v,b;i.wrappingNeeded=!i.wrapped&&!c&&!f&&(b=hZe(_)),i.cellHeightMayIncrease=u||f||i.mayHaveMarkup||(b===void 0?hZe(_):b),i.needsConvertToTspans=i.mayHaveMarkup||i.wrappingNeeded||i.latex;var p;if(i.wrappingNeeded){var E=Ia.wrapSplitCharacter===" "?_.replace(/i&&n.push(a),i+=l}return n}function y$(e,t,r){var n=gZe(t)[0];if(n!==void 0){var i=n.rowBlocks,a=n.calcdata,o=p$(i,i.length),s=n.calcdata.groupHeight-v$(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=PXt(i,l,s);u.length===1&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),t.each(function(c,f){c.page=u[f],c.scrollY=l}),t.attr("transform",function(c){var f=p$(c.rowBlocks,c.page)-c.scrollY;return cg(0,f)}),e&&(vZe(e,r,t,u,n.prevPages,n,0),vZe(e,r,t,u,n.prevPages,n,1),vC(r,e))}}function W7(e,t,r,n){return function(a){var o=a.calcdata?a.calcdata:a,s=t.filter(function(f){return o.key===f.key}),l=r||o.scrollbarState.dragMultiplier,u=o.scrollY;o.scrollY=n===void 0?o.scrollY+l*Mc.event.dy:n;var c=s.selectAll("."+Ia.cn.yColumn).selectAll("."+Ia.cn.columnBlock).filter(m$);return y$(e,c,s),o.scrollY===u}}function vZe(e,t,r,n,i,a,o){var s=n[o]!==i[o];s&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var l=r.filter(function(u,c){return c===o&&n[c]!==i[c]});d$(e,t,l,r),i[o]=n[o]}))}function IXt(e,t,r,n){return function(){var a=Mc.select(t.parentNode);a.each(function(o){var s=o.fragments;a.selectAll("tspan.line").each(function(_,b){s[b].width=this.getComputedTextLength()});var l=s[s.length-1].width,u=s.slice(0,-1),c=[],f,h,v=0,d=o.column.columnWidth-2*Ia.cellPad;for(o.value="";u.length;)f=u.shift(),h=f.width+l,v+h>d&&(o.value+=c.join(Ia.wrapSpacer)+Ia.lineBreaker,c=[],v=0),c.push(f.text),v+=h;v&&(o.value+=c.join(Ia.wrapSpacer)),o.wrapped=!0}),a.selectAll("tspan.line").remove(),mZe(a.select("."+Ia.cn.cellText),r,e,n),Mc.select(t.parentNode.parentNode).call(_$)}}function DXt(e,t,r,n,i){return function(){if(!i.settledY){var o=Mc.select(t.parentNode),s=g$(i),l=i.key-s.firstRowIndex,u=s.rows[l].rowHeight,c=i.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*Ia.cellPad:u,f=Math.max(c,u),h=f-s.rows[l].rowHeight;h&&(s.rows[l].rowHeight=f,e.selectAll("."+Ia.cn.columnCell).call(_$),y$(null,e.filter(m$),0),vC(r,n,!0)),o.attr("transform",function(){var v=this,d=v.parentNode,_=d.getBoundingClientRect(),b=Mc.select(v.parentNode).select("."+Ia.cn.cellRect).node().getBoundingClientRect(),p=v.transform.baseVal.consolidate(),E=b.top-_.top+(p?p.matrix.f:Ia.cellPad);return cg(yZe(i,Mc.select(v.parentNode).select("."+Ia.cn.cellTextHolder).node().getBoundingClientRect().width),E)}),i.settledY=!0}}}function yZe(e,t){switch(e.align){case"left":return Ia.cellPad;case"right":return e.column.columnWidth-(t||0)-Ia.cellPad;case"center":return(e.column.columnWidth-(t||0))/2;default:return Ia.cellPad}}function _$(e){e.attr("transform",function(t){var r=t.rowBlocks[0].auxiliaryBlocks.reduce(function(o,s){return o+Z7(s,1/0)},0),n=g$(t),i=Z7(n,t.key),a=i+r;return cg(0,a)}).selectAll("."+Ia.cn.cellRect).attr("height",function(t){return zXt(g$(t),t.key).rowHeight})}function p$(e,t){for(var r=0,n=t-1;n>=0;n--)r+=RXt(e[n]);return r}function Z7(e,t){for(var r=0,n=0;n{"use strict";var FXt=Cd().getModuleCalcData,qXt=x$(),X7="table";Y7.name=X7;Y7.plot=function(e){var t=FXt(e.calcdata,X7)[0];t.length&&qXt(e,t)};Y7.clean=function(e,t,r,n){var i=n._has&&n._has(X7),a=t._has&&t._has(X7);i&&!a&&n._paperdiv.selectAll(".table").remove()}});var wZe=ye((Pxr,bZe)=>{"use strict";bZe.exports={attributes:n$(),supplyDefaults:YWe(),calc:JWe(),plot:x$(),moduleType:"trace",name:"table",basePlotModule:xZe(),categories:["noOpacity"],meta:{}}});var AZe=ye((Ixr,TZe)=>{"use strict";TZe.exports=wZe()});var CZe=ye((Dxr,kZe)=>{"use strict";var SZe=Su(),MZe=ph(),b$=Ld(),OXt=Oc().descriptionWithDates,BXt=Bu().overrideAll,EZe=kd().dash,w$=no().extendFlat;kZe.exports={color:{valType:"color",editType:"calc"},smoothing:{valType:"number",dflt:1,min:0,max:1.3,editType:"calc"},title:{text:{valType:"string",dflt:"",editType:"calc"},font:SZe({editType:"calc"}),offset:{valType:"number",dflt:10,editType:"calc"},editType:"calc"},type:{valType:"enumerated",values:["-","linear","date","category"],dflt:"-",editType:"calc"},autotypenumbers:b$.autotypenumbers,autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"calc"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"calc"},range:{valType:"info_array",editType:"calc",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}]},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},cheatertype:{valType:"enumerated",values:["index","value"],dflt:"value",editType:"calc"},tickmode:{valType:"enumerated",values:["linear","array"],dflt:"array",editType:"calc"},nticks:{valType:"integer",min:0,dflt:0,editType:"calc"},tickvals:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},showticklabels:{valType:"enumerated",values:["start","end","both","none"],dflt:"start",editType:"calc"},labelalias:w$({},b$.labelalias,{editType:"calc"}),tickfont:SZe({editType:"calc"}),tickangle:{valType:"angle",dflt:"auto",editType:"calc"},tickprefix:{valType:"string",dflt:"",editType:"calc"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},ticksuffix:{valType:"string",dflt:"",editType:"calc"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"calc"},minexponent:{valType:"number",dflt:3,min:0,editType:"calc"},separatethousands:{valType:"boolean",dflt:!1,editType:"calc"},tickformat:{valType:"string",dflt:"",editType:"calc",description:OXt("tick label")},tickformatstops:BXt(b$.tickformatstops,"calc","from-root"),categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},labelpadding:{valType:"integer",dflt:10,editType:"calc"},labelprefix:{valType:"string",editType:"calc"},labelsuffix:{valType:"string",dflt:"",editType:"calc"},showline:{valType:"boolean",dflt:!1,editType:"calc"},linecolor:{valType:"color",dflt:MZe.defaultLine,editType:"calc"},linewidth:{valType:"number",min:0,dflt:1,editType:"calc"},gridcolor:{valType:"color",editType:"calc"},gridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},griddash:w$({},EZe,{editType:"calc"}),showgrid:{valType:"boolean",dflt:!0,editType:"calc"},minorgridcount:{valType:"integer",min:0,dflt:0,editType:"calc"},minorgridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},minorgriddash:w$({},EZe,{editType:"calc"}),minorgridcolor:{valType:"color",dflt:MZe.lightLine,editType:"calc"},startline:{valType:"boolean",editType:"calc"},startlinecolor:{valType:"color",editType:"calc"},startlinewidth:{valType:"number",dflt:1,editType:"calc"},endline:{valType:"boolean",editType:"calc"},endlinewidth:{valType:"number",dflt:1,editType:"calc"},endlinecolor:{valType:"color",editType:"calc"},tick0:{valType:"number",min:0,dflt:0,editType:"calc"},dtick:{valType:"number",min:0,dflt:1,editType:"calc"},arraytick0:{valType:"integer",min:0,dflt:0,editType:"calc"},arraydtick:{valType:"integer",min:1,dflt:1,editType:"calc"},editType:"calc"}});var J7=ye((Rxr,IZe)=>{"use strict";var NXt=Su(),LZe=CZe(),PZe=ph(),K7=NXt({editType:"calc"}),UXt=Uc().zorder;K7.family.dflt='"Open Sans", verdana, arial, sans-serif';K7.size.dflt=12;K7.color.dflt=PZe.defaultLine;IZe.exports={carpet:{valType:"string",editType:"calc"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},a:{valType:"data_array",editType:"calc"},a0:{valType:"number",dflt:0,editType:"calc"},da:{valType:"number",dflt:1,editType:"calc"},b:{valType:"data_array",editType:"calc"},b0:{valType:"number",dflt:0,editType:"calc"},db:{valType:"number",dflt:1,editType:"calc"},cheaterslope:{valType:"number",dflt:1,editType:"calc"},aaxis:LZe,baxis:LZe,font:K7,color:{valType:"color",dflt:PZe.defaultLine,editType:"plot"},transforms:void 0,zorder:UXt}});var zZe=ye((zxr,RZe)=>{"use strict";var DZe=Ar().isArray1D;RZe.exports=function(t,r,n){var i=n("x"),a=i&&i.length,o=n("y"),s=o&&o.length;if(!a&&!s)return!1;if(r._cheater=!i,(!a||DZe(i))&&(!s||DZe(o))){var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),r.a&&r.a.length&&(l=Math.min(l,r.a.length)),r.b&&r.b.length&&(l=Math.min(l,r.b.length)),r._length=l}else r._length=null;return!0}});var OZe=ye((Fxr,qZe)=>{"use strict";var VXt=J7(),FZe=va().addOpacity,HXt=ya(),pC=Ar(),GXt=Lb(),jXt=a_(),WXt=o_(),ZXt=gI(),XXt=bm(),YXt=U3();qZe.exports=function(t,r,n){var i=n.letter,a=n.font||{},o=VXt[i+"axis"];function s(g,P){return pC.coerce(t,r,o,g,P)}function l(g,P){return pC.coerce2(t,r,o,g,P)}n.name&&(r._name=n.name,r._id=n.name),s("autotypenumbers",n.autotypenumbersDflt);var u=s("type");if(u==="-"&&(n.data&&KXt(r,n.data),r.type==="-"?r.type="linear":u=t.type=r.type),s("smoothing"),s("cheatertype"),s("showticklabels"),s("labelprefix",i+" = "),s("labelsuffix"),s("showtickprefix"),s("showticksuffix"),s("separatethousands"),s("tickformat"),s("exponentformat"),s("minexponent"),s("showexponent"),s("categoryorder"),s("tickmode"),s("tickvals"),s("ticktext"),s("tick0"),s("dtick"),r.tickmode==="array"&&(s("arraytick0"),s("arraydtick")),s("labelpadding"),r._hovertitle=i,u==="date"){var c=HXt.getComponentMethod("calendars","handleDefaults");c(t,r,"calendar",n.calendar)}XXt(r,n.fullLayout),r.c2p=pC.identity;var f=s("color",n.dfltColor),h=f===t.color?f:a.color,v=s("title.text");v&&(pC.coerceFont(s,"title.font",a,{overrideDflt:{size:pC.bigFont(a.size),color:h}}),s("title.offset")),s("tickangle");var d=s("autorange",!r.isValidRange(t.range));d&&s("rangemode"),s("range"),r.cleanRange(),s("fixedrange"),GXt(t,r,s,u),WXt(t,r,s,u,n),jXt(t,r,s,u,n),ZXt(t,r,s,{data:n.data,dataAttr:i});var _=l("gridcolor",FZe(f,.3)),b=l("gridwidth"),p=l("griddash"),E=s("showgrid");E||(delete r.gridcolor,delete r.gridwidth,delete r.griddash);var k=l("startlinecolor",f),S=l("startlinewidth",b),L=s("startline",r.showgrid||!!k||!!S);L||(delete r.startlinecolor,delete r.startlinewidth);var x=l("endlinecolor",f),C=l("endlinewidth",b),M=s("endline",r.showgrid||!!x||!!C);return M||(delete r.endlinecolor,delete r.endlinewidth),E?(s("minorgridcount"),s("minorgridwidth",b),s("minorgriddash",p),s("minorgridcolor",FZe(_,.06)),r.minorgridcount||(delete r.minorgridwidth,delete r.minorgriddash,delete r.minorgridcolor)):(delete r.gridcolor,delete r.gridwidth,delete r.griddash),r.showticklabels==="none"&&(delete r.tickfont,delete r.tickangle,delete r.showexponent,delete r.exponentformat,delete r.minexponent,delete r.tickformat,delete r.showticksuffix,delete r.showtickprefix),r.showticksuffix||delete r.ticksuffix,r.showtickprefix||delete r.tickprefix,s("tickmode"),r};function KXt(e,t){if(e.type==="-"){var r=e._id,n=r.charAt(0),i=n+"calendar",a=e[i];e.type=YXt(t,a,{autotypenumbers:e.autotypenumbers})}}});var NZe=ye((qxr,BZe)=>{"use strict";var JXt=OZe(),$Xt=Vs();BZe.exports=function(t,r,n,i,a){var o=i("a");o||(i("da"),i("a0"));var s=i("b");s||(i("db"),i("b0")),QXt(t,r,n,a)};function QXt(e,t,r,n){var i=["aaxis","baxis"];i.forEach(function(a){var o=a.charAt(0),s=e[a]||{},l=$Xt.newContainer(t,a),u={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,tickfont:"x",id:o+"axis",letter:o,font:t.font,name:a,data:e[o],calendar:t.calendar,dfltColor:n,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};JXt(s,l,u),l._categories=l._categories||[],!e[a]&&s.type!=="-"&&(e[a]={type:s.type})})}});var HZe=ye((Oxr,VZe)=>{"use strict";var UZe=Ar(),eYt=zZe(),tYt=NZe(),rYt=J7(),iYt=ph();VZe.exports=function(t,r,n,i){function a(l,u){return UZe.coerce(t,r,rYt,l,u)}r._clipPathId="clip"+r.uid+"carpet";var o=a("color",iYt.defaultLine);if(UZe.coerceFont(a,"font",i.font),a("carpet"),tYt(t,r,i,a,o),!r.a||!r.b){r.visible=!1;return}r.a.length<3&&(r.aaxis.smoothing=0),r.b.length<3&&(r.baxis.smoothing=0);var s=eYt(t,r,a);s||(r.visible=!1),r._cheater&&a("cheaterslope"),a("zorder")}});var T$=ye((Bxr,GZe)=>{"use strict";var nYt=Ar().isArrayOrTypedArray;GZe.exports=function(t,r,n){var i;for(nYt(t)?t.length>r.length&&(t=t.slice(0,r.length)):t=[],i=0;i{"use strict";jZe.exports=function(t,r,n){if(t.length===0)return"";var i,a=[],o=n?3:1;for(i=0;i{"use strict";WZe.exports=function(t,r,n,i,a,o){var s=a[0]*t.dpdx(r),l=a[1]*t.dpdy(n),u=1,c=1;if(o){var f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),v=(a[0]*o[0]+a[1]*o[1])/f/h;c=Math.max(0,v)}var d=Math.atan2(l,s)*180/Math.PI;return d<-90?(d+=180,u=-u):d>90&&(d-=180,u=-u),{angle:d,flip:u,p:t.c2p(i,r,n),offsetMultplier:c}}});var tXe=ye((Vxr,eXe)=>{"use strict";var t9=ba(),$7=ao(),Q7=T$(),KZe=A$(),gC=ZZe(),S$=Ll(),Gp=Ar(),JZe=Gp.strRotate,e9=Gp.strTranslate,$Ze=Vh();eXe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=r.xaxis,s=r.yaxis,l=t._fullLayout,u=l._clips;Gp.makeTraceGroups(i,n,"trace").each(function(c){var f=t9.select(this),h=c[0],v=h.trace,d=v.aaxis,_=v.baxis,b=Gp.ensureSingle(f,"g","minorlayer"),p=Gp.ensureSingle(f,"g","majorlayer"),E=Gp.ensureSingle(f,"g","boundarylayer"),k=Gp.ensureSingle(f,"g","labellayer");f.style("opacity",v.opacity),WA(o,s,p,d,"a",d._gridlines,!0,a),WA(o,s,p,_,"b",_._gridlines,!0,a),WA(o,s,b,d,"a",d._minorgridlines,!0,a),WA(o,s,b,_,"b",_._minorgridlines,!0,a),WA(o,s,E,d,"a-boundary",d._boundarylines,a),WA(o,s,E,_,"b-boundary",_._boundarylines,a);var S=XZe(t,o,s,v,h,k,d._labels,"a-label"),L=XZe(t,o,s,v,h,k,_._labels,"b-label");oYt(t,k,v,h,o,s,S,L),aYt(v,h,u,o,s)})};function aYt(e,t,r,n,i){var a,o,s,l,u=r.select("#"+e._clipPathId);u.size()||(u=r.append("clipPath").classed("carpetclip",!0));var c=Gp.ensureSingle(u,"path","carpetboundary"),f=t.clipsegments,h=[];for(l=0;l0?"start":"end","data-notex":1}).call($7.font,f.font).text(f.text).call(S$.convertToTspans,e),p=$7.bBox(this);b.attr("transform",e9(v.p[0],v.p[1])+JZe(v.angle)+e9(f.axis.labelpadding*_,p.height*.3)),u=Math.max(u,p.width+f.axis.labelpadding)}),l.exit().remove(),c.maxExtent=u,c}function oYt(e,t,r,n,i,a,o,s){var l,u,c,f,h=Gp.aggNums(Math.min,null,r.a),v=Gp.aggNums(Math.max,null,r.a),d=Gp.aggNums(Math.min,null,r.b),_=Gp.aggNums(Math.max,null,r.b);l=.5*(h+v),u=d,c=r.ab2xy(l,u,!0),f=r.dxyda_rough(l,u),o.angle===void 0&&Gp.extendFlat(o,gC(r,i,a,c,r.dxydb_rough(l,u))),YZe(e,t,r,n,c,f,r.aaxis,i,a,o,"a-title"),l=h,u=.5*(d+_),c=r.ab2xy(l,u,!0),f=r.dxydb_rough(l,u),s.angle===void 0&&Gp.extendFlat(s,gC(r,i,a,c,r.dxyda_rough(l,u))),YZe(e,t,r,n,c,f,r.baxis,i,a,s,"b-title")}var QZe=$Ze.LINE_SPACING,sYt=(1-$Ze.MID_SHIFT)/QZe+1;function YZe(e,t,r,n,i,a,o,s,l,u,c){var f=[];o.title.text&&f.push(o.title.text);var h=t.selectAll("text."+c).data(f),v=u.maxExtent;h.enter().append("text").classed(c,!0),h.each(function(){var d=gC(r,s,l,i,a);["start","both"].indexOf(o.showticklabels)===-1&&(v=0);var _=o.title.font.size;v+=_+o.title.offset;var b=u.angle+(u.flip<0?180:0),p=(b-d.angle+450)%360,E=p>90&&p<270,k=t9.select(this);k.text(o.title.text).call(S$.convertToTspans,e),E&&(v=(-S$.lineCount(k)+sYt)*QZe*_-v),k.attr("transform",e9(d.p[0],d.p[1])+JZe(d.angle)+e9(0,v)).attr("text-anchor","middle").call($7.font,o.title.font)}),h.exit().remove()}});var iXe=ye((Hxr,rXe)=>{"use strict";var r9=Ar().isArrayOrTypedArray;rXe.exports=function(e,t,r){var n,i,a,o,s,l,u=[],c=r9(e)?e.length:e,f=r9(t)?t.length:t,h=r9(e)?e:null,v=r9(t)?t:null;h&&(a=(h.length-1)/(h[h.length-1]-h[0])/(c-1)),v&&(o=(v.length-1)/(v[v.length-1]-v[0])/(f-1));var d,_=1/0,b=-1/0;for(i=0;i{"use strict";var nXe=Ar().isArrayOrTypedArray;oXe.exports=function(e){return aXe(e,0)};function aXe(e,t){if(!nXe(e)||t>=10)return null;for(var r=1/0,n=-1/0,i=e.length,a=0;a{"use strict";var lYt=Xa(),zx=no().extendFlat;lXe.exports=function(t,r,n){var i,a,o,s,l,u,c,f,h,v,d,_,b,p,E=t["_"+r],k=t[r+"axis"],S=k._gridlines=[],L=k._minorgridlines=[],x=k._boundarylines=[],C=t["_"+n],M=t[n+"axis"];k.tickmode==="array"&&(k.tickvals=E.slice());var g=t._xctrl,P=t._yctrl,T=g[0].length,F=g.length,q=t._a.length,V=t._b.length;lYt.prepTicks(k),k.tickmode==="array"&&delete k.tickvals;var H=k.smoothing?3:1;function X(N){var W,re,ae,_e,Me,ke,ge,ie,Te,Ee,Ae,ze,Ce=[],me=[],De={};if(r==="b")for(re=t.b2j(N),ae=Math.floor(Math.max(0,Math.min(V-2,re))),_e=re-ae,De.length=V,De.crossLength=q,De.xy=function(ce){return t.evalxy([],ce,re)},De.dxy=function(ce,Ge){return t.dxydi([],ce,ae,Ge,_e)},W=0;W0&&(Te=t.dxydi([],W-1,ae,0,_e),Ce.push(Me[0]+Te[0]/3),me.push(Me[1]+Te[1]/3),Ee=t.dxydi([],W-1,ae,1,_e),Ce.push(ie[0]-Ee[0]/3),me.push(ie[1]-Ee[1]/3)),Ce.push(ie[0]),me.push(ie[1]),Me=ie;else for(W=t.a2i(N),ke=Math.floor(Math.max(0,Math.min(q-2,W))),ge=W-ke,De.length=q,De.crossLength=V,De.xy=function(ce){return t.evalxy([],W,ce)},De.dxy=function(ce,Ge){return t.dxydj([],ke,ce,ge,Ge)},re=0;re0&&(Ae=t.dxydj([],ke,re-1,ge,0),Ce.push(Me[0]+Ae[0]/3),me.push(Me[1]+Ae[1]/3),ze=t.dxydj([],ke,re-1,ge,1),Ce.push(ie[0]-ze[0]/3),me.push(ie[1]-ze[1]/3)),Ce.push(ie[0]),me.push(ie[1]),Me=ie;return De.axisLetter=r,De.axis=k,De.crossAxis=M,De.value=N,De.constvar=n,De.index=f,De.x=Ce,De.y=me,De.smoothing=M.smoothing,De}function G(N){var W,re,ae,_e,Me,ke=[],ge=[],ie={};if(ie.length=E.length,ie.crossLength=C.length,r==="b")for(ae=Math.max(0,Math.min(V-2,N)),Me=Math.min(1,Math.max(0,N-ae)),ie.xy=function(Te){return t.evalxy([],Te,N)},ie.dxy=function(Te,Ee){return t.dxydi([],Te,ae,Ee,Me)},W=0;WE.length-1)&&S.push(zx(G(a),{color:k.gridcolor,width:k.gridwidth,dash:k.griddash}));for(f=u;fE.length-1)&&!(d<0||d>E.length-1))for(_=E[o],b=E[d],i=0;iE[E.length-1])&&L.push(zx(X(v),{color:k.minorgridcolor,width:k.minorgridwidth,dash:k.minorgriddash})));k.startline&&x.push(zx(G(0),{color:k.startlinecolor,width:k.startlinewidth})),k.endline&&x.push(zx(G(E.length-1),{color:k.endlinecolor,width:k.endlinewidth}))}else{for(s=5e-15,l=[Math.floor((E[E.length-1]-k.tick0)/k.dtick*(1+s)),Math.ceil((E[0]-k.tick0)/k.dtick/(1+s))].sort(function(N,W){return N-W}),u=l[0],c=l[1],f=u;f<=c;f++)h=k.tick0+k.dtick*f,S.push(zx(X(h),{color:k.gridcolor,width:k.gridwidth,dash:k.griddash}));for(f=u-1;fE[E.length-1])&&L.push(zx(X(v),{color:k.minorgridcolor,width:k.minorgridwidth,dash:k.minorgriddash}));k.startline&&x.push(zx(X(E[0]),{color:k.startlinecolor,width:k.startlinewidth})),k.endline&&x.push(zx(X(E[E.length-1]),{color:k.endlinecolor,width:k.endlinewidth}))}}});var dXe=ye((Wxr,hXe)=>{"use strict";var cXe=Xa(),fXe=no().extendFlat;hXe.exports=function(t,r){var n,i,a,o,s,l=r._labels=[],u=r._gridlines;for(n=0;n{"use strict";vXe.exports=function(t,r,n,i){var a,o,s,l=[],u=!!n.smoothing,c=!!i.smoothing,f=t[0].length-1,h=t.length-1;for(a=0,o=[],s=[];a<=f;a++)o[a]=t[0][a],s[a]=r[0][a];for(l.push({x:o,y:s,bicubic:u}),a=0,o=[],s=[];a<=h;a++)o[a]=t[a][f],s[a]=r[a][f];for(l.push({x:o,y:s,bicubic:c}),a=f,o=[],s=[];a>=0;a--)o[f-a]=t[h][a],s[f-a]=r[h][a];for(l.push({x:o,y:s,bicubic:u}),a=h,o=[],s=[];a>=0;a--)o[h-a]=t[a][0],s[h-a]=r[a][0];return l.push({x:o,y:s,bicubic:c}),l}});var mXe=ye((Xxr,gXe)=>{"use strict";var uYt=Ar();gXe.exports=function(t,r,n){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(ae,_e){var Me=0,ke,ge=0;return ae>0&&(ke=t[_e][ae-1])!==void 0&&(ge++,Me+=ke),ae0&&(ke=t[_e-1][ae])!==void 0&&(ge++,Me+=ke),_e0&&a0&&iM);return uYt.log("Smoother converged to",g,"after",T,"iterations"),t}});var _Xe=ye((Yxr,yXe)=>{"use strict";yXe.exports={RELATIVE_CULL_TOLERANCE:1e-6}});var wXe=ye((Kxr,bXe)=>{"use strict";var xXe=.5;bXe.exports=function(t,r,n,i){var a=t[0]-r[0],o=t[1]-r[1],s=n[0]-r[0],l=n[1]-r[1],u=Math.pow(a*a+o*o,xXe/2),c=Math.pow(s*s+l*l,xXe/2),f=(c*c*a-u*u*s)*i,h=(c*c*o-u*u*l)*i,v=c*(u+c)*3,d=u*(u+c)*3;return[[r[0]+(v&&f/v),r[1]+(v&&h/v)],[r[0]-(d&&f/d),r[1]-(d&&h/d)]]}});var AXe=ye((Jxr,TXe)=>{"use strict";var M$=wXe(),i9=Ar().ensureArray;function ZA(e,t,r){var n=-.5*r[0]+1.5*t[0],i=-.5*r[1]+1.5*t[1];return[(2*n+e[0])/3,(2*i+e[1])/3]}TXe.exports=function(t,r,n,i,a,o){var s,l,u,c,f,h,v,d,_,b,p=n[0].length,E=n.length,k=a?3*p-2:p,S=o?3*E-2:E;for(t=i9(t,S),r=i9(r,S),u=0;u{"use strict";SXe.exports=function(e,t,r,n,i){var a=t-2,o=r-2;return n&&i?function(s,l,u){s||(s=[]);var c,f,h,v,d,_,b=Math.max(0,Math.min(Math.floor(l),a)),p=Math.max(0,Math.min(Math.floor(u),o)),E=Math.max(0,Math.min(1,l-b)),k=Math.max(0,Math.min(1,u-p));b*=3,p*=3;var S=E*E,L=S*E,x=1-E,C=x*x,M=C*x,g=k*k,P=g*k,T=1-k,F=T*T,q=F*T;for(_=0;_{"use strict";EXe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,v;i*=3,a*=3;var d=o*o,_=1-o,b=_*_,p=_*o*2,E=-3*b,k=3*(b-p),S=3*(p-d),L=3*d,x=s*s,C=x*s,M=1-s,g=M*M,P=g*M;for(v=0;v{"use strict";CXe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,v;i*=3,a*=3;var d=o*o,_=d*o,b=1-o,p=b*b,E=p*b,k=s*s,S=1-s,L=S*S,x=S*s*2,C=-3*L,M=3*(L-x),g=3*(x-k),P=3*k;for(v=0;v{"use strict";var PXe=_Xe(),IXe=Z6().findBin,cYt=AXe(),fYt=MXe(),hYt=kXe(),dYt=LXe();DXe.exports=function(t){var r=t._a,n=t._b,i=r.length,a=n.length,o=t.aaxis,s=t.baxis,l=r[0],u=r[i-1],c=n[0],f=n[a-1],h=r[r.length-1]-r[0],v=n[n.length-1]-n[0],d=h*PXe.RELATIVE_CULL_TOLERANCE,_=v*PXe.RELATIVE_CULL_TOLERANCE;l-=d,u+=d,c-=_,f+=_,t.isVisible=function(b,p){return b>l&&bc&&pu||pf},t.setScale=function(){var b=t._x,p=t._y,E=cYt(t._xctrl,t._yctrl,b,p,o.smoothing,s.smoothing);t._xctrl=E[0],t._yctrl=E[1],t.evalxy=fYt([t._xctrl,t._yctrl],i,a,o.smoothing,s.smoothing),t.dxydi=hYt([t._xctrl,t._yctrl],o.smoothing,s.smoothing),t.dxydj=dYt([t._xctrl,t._yctrl],o.smoothing,s.smoothing)},t.i2a=function(b){var p=Math.max(0,Math.floor(b[0]),i-2),E=b[0]-p;return(1-E)*r[p]+E*r[p+1]},t.j2b=function(b){var p=Math.max(0,Math.floor(b[1]),i-2),E=b[1]-p;return(1-E)*n[p]+E*n[p+1]},t.ij2ab=function(b){return[t.i2a(b[0]),t.j2b(b[1])]},t.a2i=function(b){var p=Math.max(0,Math.min(IXe(b,r),i-2)),E=r[p],k=r[p+1];return Math.max(0,Math.min(i-1,p+(b-E)/(k-E)))},t.b2j=function(b){var p=Math.max(0,Math.min(IXe(b,n),a-2)),E=n[p],k=n[p+1];return Math.max(0,Math.min(a-1,p+(b-E)/(k-E)))},t.ab2ij=function(b){return[t.a2i(b[0]),t.b2j(b[1])]},t.i2c=function(b,p){return t.evalxy([],b,p)},t.ab2xy=function(b,p,E){if(!E&&(br[i-1]|pn[a-1]))return[!1,!1];var k=t.a2i(b),S=t.b2j(p),L=t.evalxy([],k,S);if(E){var x=0,C=0,M=[],g,P,T,F;br[i-1]?(g=i-2,P=1,x=(b-r[i-1])/(r[i-1]-r[i-2])):(g=Math.max(0,Math.min(i-2,Math.floor(k))),P=k-g),pn[a-1]?(T=a-2,F=1,C=(p-n[a-1])/(n[a-1]-n[a-2])):(T=Math.max(0,Math.min(a-2,Math.floor(S))),F=S-T),x&&(t.dxydi(M,g,T,P,F),L[0]+=M[0]*x,L[1]+=M[1]*x),C&&(t.dxydj(M,g,T,P,F),L[0]+=M[0]*C,L[1]+=M[1]*C)}return L},t.c2p=function(b,p,E){return[p.c2p(b[0]),E.c2p(b[1])]},t.p2x=function(b,p,E){return[p.p2c(b[0]),E.p2c(b[1])]},t.dadi=function(b){var p=Math.max(0,Math.min(r.length-2,b));return r[p+1]-r[p]},t.dbdj=function(b){var p=Math.max(0,Math.min(n.length-2,b));return n[p+1]-n[p]},t.dxyda=function(b,p,E,k){var S=t.dxydi(null,b,p,E,k),L=t.dadi(b,E);return[S[0]/L,S[1]/L]},t.dxydb=function(b,p,E,k){var S=t.dxydj(null,b,p,E,k),L=t.dbdj(p,k);return[S[0]/L,S[1]/L]},t.dxyda_rough=function(b,p,E){var k=h*(E||.1),S=t.ab2xy(b+k,p,!0),L=t.ab2xy(b-k,p,!0);return[(S[0]-L[0])*.5/k,(S[1]-L[1])*.5/k]},t.dxydb_rough=function(b,p,E){var k=v*(E||.1),S=t.ab2xy(b,p+k,!0),L=t.ab2xy(b,p-k,!0);return[(S[0]-L[0])*.5/k,(S[1]-L[1])*.5/k]},t.dpdx=function(b){return b._m},t.dpdy=function(b){return b._m}}});var VXe=ye((rbr,UXe)=>{"use strict";var n9=Xa(),zXe=Ar().isArray1D,vYt=iXe(),FXe=sXe(),qXe=uXe(),OXe=dXe(),pYt=pXe(),BXe=p8(),NXe=mXe(),gYt=d8(),mYt=RXe();UXe.exports=function(t,r){var n=n9.getFromId(t,r.xaxis),i=n9.getFromId(t,r.yaxis),a=r.aaxis,o=r.baxis,s=r.x,l=r.y,u=[];s&&zXe(s)&&u.push("x"),l&&zXe(l)&&u.push("y"),u.length&&gYt(r,a,o,"a","b",u);var c=r._a=r._a||r.a,f=r._b=r._b||r.b;s=r._x||r.x,l=r._y||r.y;var h={};if(r._cheater){var v=a.cheatertype==="index"?c.length:c,d=o.cheatertype==="index"?f.length:f;s=vYt(v,d,r.cheaterslope)}r._x=s=BXe(s),r._y=l=BXe(l),NXe(s,c,f),NXe(l,c,f),mYt(r),r.setScale();var _=FXe(s),b=FXe(l),p=.5*(_[1]-_[0]),E=.5*(_[1]+_[0]),k=.5*(b[1]-b[0]),S=.5*(b[1]+b[0]),L=1.3;return _=[E-p*L,E+p*L],b=[S-k*L,S+k*L],r._extremes[n._id]=n9.findExtremes(n,_,{padded:!0}),r._extremes[i._id]=n9.findExtremes(i,b,{padded:!0}),qXe(r,"a","b"),qXe(r,"b","a"),OXe(r,a),OXe(r,o),h.clipsegments=pYt(r._xctrl,r._yctrl,a,o),h.x=s,h.y=l,h.a=c,h.b=f,[h]}});var GXe=ye((ibr,HXe)=>{"use strict";HXe.exports={attributes:J7(),supplyDefaults:HZe(),plot:tXe(),calc:VXe(),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:Qf(),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}});var WXe=ye((nbr,jXe)=>{"use strict";jXe.exports=GXe()});var E$=ye((abr,XXe)=>{"use strict";var yYt=Cg(),h0=Uc(),_Yt=vl(),xYt=Wo().hovertemplateAttrs,bYt=Wo().texttemplateAttrs,ZXe=Kl(),Fx=no().extendFlat,fg=h0.marker,XA=h0.line,wYt=fg.line;XXe.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:Fx({},h0.mode,{dflt:"markers"}),text:Fx({},h0.text,{}),texttemplate:bYt({editType:"plot"},{keys:["a","b","text"]}),hovertext:Fx({},h0.hovertext,{}),line:{color:XA.color,width:XA.width,dash:XA.dash,backoff:XA.backoff,shape:Fx({},XA.shape,{values:["linear","spline"]}),smoothing:XA.smoothing,editType:"calc"},connectgaps:h0.connectgaps,fill:Fx({},h0.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:yYt(),marker:Fx({symbol:fg.symbol,opacity:fg.opacity,maxdisplayed:fg.maxdisplayed,angle:fg.angle,angleref:fg.angleref,standoff:fg.standoff,size:fg.size,sizeref:fg.sizeref,sizemin:fg.sizemin,sizemode:fg.sizemode,line:Fx({width:wYt.width,editType:"calc"},ZXe("marker.line")),gradient:fg.gradient,editType:"calc"},ZXe("marker")),textfont:h0.textfont,textposition:h0.textposition,selected:h0.selected,unselected:h0.unselected,hoverinfo:Fx({},_Yt.hoverinfo,{flags:["a","b","text","name"]}),hoveron:h0.hoveron,hovertemplate:xYt(),zorder:h0.zorder}});var $Xe=ye((obr,JXe)=>{"use strict";var YXe=Ar(),TYt=km(),YA=lu(),AYt=t0(),SYt=q0(),KXe=lT(),MYt=O0(),EYt=Rg(),kYt=E$();JXe.exports=function(t,r,n,i){function a(h,v){return YXe.coerce(t,r,kYt,h,v)}a("carpet"),r.xaxis="x",r.yaxis="y";var o=a("a"),s=a("b"),l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a("text"),a("texttemplate"),a("hovertext");var u=l{"use strict";QXe.exports=function(t,r){var n={},i=r._carpet,a=i.ab2ij([t.a,t.b]),o=Math.floor(a[0]),s=a[0]-o,l=Math.floor(a[1]),u=a[1]-l,c=i.evalxy([],o,l,s,u);return n.yLabel=c[1].toFixed(3),n}});var a9=ye((lbr,tYe)=>{"use strict";tYe.exports=function(e,t){for(var r=e._fullData.length,n,i=0;i{"use strict";var rYe=uo(),CYt=B0(),LYt=Lm(),PYt=N0(),IYt=U0().calcMarkerSize,DYt=a9();iYe.exports=function(t,r){var n=r._carpetTrace=DYt(t,r);if(!(!n||!n.visible||n.visible==="legendonly")){var i;r.xaxis=n.xaxis,r.yaxis=n.yaxis;var a=r._length,o=new Array(a),s,l,u=!1;for(i=0;i{"use strict";var RYt=vT(),aYe=Xa(),zYt=ao();oYe.exports=function(t,r,n,i){var a,o,s,l=n[0][0].carpet,u=aYe.getFromId(t,l.xaxis||"x"),c=aYe.getFromId(t,l.yaxis||"y"),f={xaxis:u,yaxis:c,plot:r.plot};for(a=0;a{"use strict";var FYt=yT(),qYt=Ar().fillText;lYe.exports=function(t,r,n,i){var a=FYt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index];o.a=f.a,o.b=f.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,v=h._carpet,d=h._module.formatLabels(f,h);o.yLabel=d.yLabel,delete o.text;var _=[];function b(k,S){var L;k.labelprefix&&k.labelprefix.length>0?L=k.labelprefix.replace(/ = $/,""):L=k._hovertitle,_.push(L+": "+S.toFixed(3)+k.labelsuffix)}if(!h.hovertemplate){var p=f.hi||h.hoverinfo,E=p.split("+");E.indexOf("all")!==-1&&(E=["a","b","text"]),E.indexOf("a")!==-1&&b(v.aaxis,f.a),E.indexOf("b")!==-1&&b(v.baxis,f.b),_.push("y: "+o.yLabel),E.indexOf("text")!==-1&&qYt(f,h,_),o.extraText=_.join("
")}return a}});var fYe=ye((hbr,cYe)=>{"use strict";cYe.exports=function(t,r,n,i,a){var o=i[a];return t.a=o.a,t.b=o.b,t.y=o.y,t}});var dYe=ye((dbr,hYe)=>{"use strict";hYe.exports={attributes:E$(),supplyDefaults:$Xe(),colorbar:Jd(),formatLabels:eYe(),calc:nYe(),plot:sYe(),style:up().style,styleOnSelect:up().styleOnSelect,hoverPoints:uYe(),selectPoints:_T(),eventData:fYe(),moduleType:"trace",name:"scattercarpet",basePlotModule:Qf(),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}});var pYe=ye((vbr,vYe)=>{"use strict";vYe.exports=dYe()});var k$=ye((pbr,gYe)=>{"use strict";var hg=OT(),_1=B4(),OYt=Kl(),BYt=no().extendFlat,iy=_1.contours;gYe.exports=BYt({carpet:{valType:"string",editType:"calc"},z:hg.z,a:hg.x,a0:hg.x0,da:hg.dx,b:hg.y,b0:hg.y0,db:hg.dy,text:hg.text,hovertext:hg.hovertext,transpose:hg.transpose,atype:hg.xtype,btype:hg.ytype,fillcolor:_1.fillcolor,autocontour:_1.autocontour,ncontours:_1.ncontours,contours:{type:iy.type,start:iy.start,end:iy.end,size:iy.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:iy.showlines,showlabels:iy.showlabels,labelfont:iy.labelfont,labelformat:iy.labelformat,operation:iy.operation,value:iy.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:_1.line.color,width:_1.line.width,dash:_1.line.dash,smoothing:_1.line.smoothing,editType:"plot"},zorder:_1.zorder,transforms:void 0},OYt("",{cLetter:"z",autoColorDflt:!1}))});var C$=ye((gbr,_Ye)=>{"use strict";var mYe=Ar(),NYt=c8(),yYe=k$(),UYt=DH(),VYt=D8(),HYt=R8();_Ye.exports=function(t,r,n,i){function a(u,c){return mYe.coerce(t,r,yYe,u,c)}function o(u){return mYe.coerce2(t,r,yYe,u)}if(a("carpet"),t.a&&t.b){var s=NYt(t,r,a,i,"a","b");if(!s){r.visible=!1;return}a("text");var l=a("contours.type")==="constraint";l?UYt(t,r,a,i,n,{hasHover:!1}):(VYt(t,r,a,o),HYt(t,r,a,i,{hasHover:!1}))}else r._defaultColor=n,r._length=null;a("zorder")}});var TYe=ye((mbr,wYe)=>{"use strict";var GYt=qv(),xYe=Ar(),jYt=d8(),WYt=p8(),ZYt=g8(),XYt=m8(),bYe=rH(),YYt=C$(),KYt=a9(),JYt=bH();wYe.exports=function(t,r){var n=r._carpetTrace=KYt(t,r);if(!(!n||!n.visible||n.visible==="legendonly")){if(!r.a||!r.b){var i=t.data[n.index],a=t.data[r.index];a.a||(a.a=i.a),a.b||(a.b=i.b),YYt(a,r,r._defaultColor,t._fullLayout)}var o=$Yt(t,r);return JYt(r,r._z),o}};function $Yt(e,t){var r=t._carpetTrace,n=r.aaxis,i=r.baxis,a,o,s,l,u,c,f;n._minDtick=0,i._minDtick=0,xYe.isArray1D(t.z)&&jYt(t,n,i,"a","b",["z"]),a=t._a=t._a||t.a,l=t._b=t._b||t.b,a=a?n.makeCalcdata(t,"_a"):[],l=l?i.makeCalcdata(t,"_b"):[],o=t.a0||0,s=t.da||1,u=t.b0||0,c=t.db||1,f=t._z=WYt(t._z||t.z,t.transpose),t._emptypoints=XYt(f),ZYt(f,t._emptypoints);var h=xYe.maxRowLength(f),v=t.xtype==="scaled"?"":a,d=bYe(t,v,o,s,h,n),_=t.ytype==="scaled"?"":l,b=bYe(t,_,u,c,f.length,i),p={a:d,b,z:f};return t.contours.type==="levels"&&t.contours.coloring!=="none"&&GYt(e,t,{vals:f,containerStr:"",cLetter:"z"}),[p]}});var SYe=ye((ybr,AYe)=>{"use strict";var QYt=Ar().isArrayOrTypedArray;AYe.exports=function(e,t,r,n){var i,a,o,s,l,u,c,f,h,v,d,_,b,p=QYt(r)?"a":"b",E=p==="a"?e.aaxis:e.baxis,k=E.smoothing,S=p==="a"?e.a2i:e.b2j,L=p==="a"?r:n,x=p==="a"?n:r,C=p==="a"?t.a.length:t.b.length,M=p==="a"?t.b.length:t.a.length,g=Math.floor(p==="a"?e.b2j(x):e.a2i(x)),P=p==="a"?function(_e){return e.evalxy([],_e,g)}:function(_e){return e.evalxy([],g,_e)};k&&(o=Math.max(0,Math.min(M-2,g)),s=g-o,a=p==="a"?function(_e,Me){return e.dxydi([],_e,o,Me,s)}:function(_e,Me){return e.dxydj([],o,_e,s,Me)});var T=S(L[0]),F=S(L[1]),q=T0?Math.floor:Math.ceil,X=q>0?Math.ceil:Math.floor,G=q>0?Math.min:Math.max,N=q>0?Math.max:Math.min,W=H(T+V),re=X(F-V);c=P(T);var ae=[[c]];for(i=W;i*q{"use strict";var s9=ba(),l9=T$(),LYe=A$(),mC=ao(),x1=Ar(),eKt=TH(),tKt=AH(),ww=q8(),o9=U4(),rKt=kH(),iKt=EH(),nKt=CH(),aKt=a9(),MYe=SYe();PYe.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;x1.makeTraceGroups(i,n,"contour").each(function(s){var l=s9.select(this),u=s[0],c=u.trace,f=c._carpetTrace=aKt(t,c),h=t.calcdata[f.index][0];if(!f.visible||f.visible==="legendonly")return;var v=u.a,d=u.b,_=c.contours,b=iKt(_,r,u),p=_.type==="constraint",E=_._operation,k=p?E==="="?"lines":"fill":_.coloring;function S(H){var X=f.ab2xy(H[0],H[1],!0);return[a.c2p(X[0]),o.c2p(X[1])]}var L=[[v[0],d[d.length-1]],[v[v.length-1],d[d.length-1]],[v[v.length-1],d[0]],[v[0],d[0]]];eKt(b);var x=(v[v.length-1]-v[0])*1e-8,C=(d[d.length-1]-d[0])*1e-8;tKt(b,x,C);var M=b;_.type==="constraint"&&(M=rKt(b,E)),oKt(b,S);var g,P,T,F,q=[];for(F=h.clipsegments.length-1;F>=0;F--)g=h.clipsegments[F],P=l9([],g.x,a.c2p),T=l9([],g.y,o.c2p),P.reverse(),T.reverse(),q.push(LYe(P,T,g.bicubic));var V="M"+q.join("L")+"Z";uKt(l,h.clipsegments,a,o,p,k),cKt(c,l,a,o,M,L,S,f,h,k,V),sKt(l,b,t,u,_,r,f),mC.setClipUrl(l,f._clipPathId,t)})};function oKt(e,t){var r,n,i,a,o,s,l,u,c;for(r=0;rb&&(n.max=b),n.len=n.max-n.min}function EYe(e,t,r){var n=e.getPointAtLength(t),i=e.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function kYe(e){var t=Math.sqrt(e[0]*e[0]+e[1]*e[1]);return[e[0]/t,e[1]/t]}function CYe(e,t){var r=Math.abs(e[0]*t[0]+e[1]*t[1]),n=Math.sqrt(1-r*r);return n/r}function uKt(e,t,r,n,i,a){var o,s,l,u,c=x1.ensureSingle(e,"g","contourbg"),f=c.selectAll("path").data(a==="fill"&&!i?[0]:[]);f.enter().append("path"),f.exit().remove();var h=[];for(u=0;u=0&&(v=P,_=b):Math.abs(h[1]-v[1])=0&&(v=P,_=b):x1.log("endpt to newendpt is not vert. or horz.",h,v,P)}if(_>=0)break;u+=M(h,v),h=v}if(_===t.edgepaths.length){x1.log("unclosed perimeter path");break}l=_,f=c.indexOf(l)===-1,f&&(l=c[0],u+=M(h,v)+"Z",h=null)}for(l=0;l{"use strict";DYe.exports={attributes:k$(),supplyDefaults:C$(),colorbar:N8(),calc:TYe(),plot:IYe(),style:B8(),moduleType:"trace",name:"contourcarpet",basePlotModule:Qf(),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}});var FYe=ye((bbr,zYe)=>{"use strict";zYe.exports=RYe()});var c9=ye((wbr,UYe)=>{"use strict";var u9=Ar().extendFlat,yC=Uc(),qYe=Oc().axisHoverFormat,BYe=kd().dash,hKt=g3(),NYe=e5(),dKt=NYe.INCREASING.COLOR,vKt=NYe.DECREASING.COLOR,L$=yC.line;function OYe(e){return{line:{color:u9({},L$.color,{dflt:e}),width:L$.width,dash:BYe,editType:"style"},editType:"style"}}UYe.exports={xperiod:yC.xperiod,xperiod0:yC.xperiod0,xperiodalignment:yC.xperiodalignment,xhoverformat:qYe("x"),yhoverformat:qYe("y"),x:{valType:"data_array",editType:"calc+clearAxisTypes"},open:{valType:"data_array",editType:"calc"},high:{valType:"data_array",editType:"calc"},low:{valType:"data_array",editType:"calc"},close:{valType:"data_array",editType:"calc"},line:{width:u9({},L$.width,{}),dash:u9({},BYe,{}),editType:"style"},increasing:OYe(dKt),decreasing:OYe(vKt),text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},tickwidth:{valType:"number",min:0,max:.5,dflt:.3,editType:"calc"},hoverlabel:u9({},hKt.hoverlabel,{split:{valType:"boolean",dflt:!1,editType:"style"}}),zorder:yC.zorder}});var P$=ye((Tbr,VYe)=>{"use strict";var pKt=ya(),gKt=Ar();VYe.exports=function(t,r,n,i){var a=n("x"),o=n("open"),s=n("high"),l=n("low"),u=n("close");n("hoverlabel.split");var c=pKt.getComponentMethod("calendars","handleTraceDefaults");if(c(t,r,["x"],i),!!(o&&s&&l&&u)){var f=Math.min(o.length,s.length,l.length,u.length);return a&&(f=Math.min(f,gKt.minRowLength(a))),r._length=f,f}}});var jYe=ye((Abr,GYe)=>{"use strict";var mKt=Ar(),yKt=P$(),_Kt=Dg(),xKt=c9();GYe.exports=function(t,r,n,i){function a(s,l){return mKt.coerce(t,r,xKt,s,l)}var o=yKt(t,r,a,i);if(!o){r.visible=!1;return}_Kt(t,r,i,a,{x:!0}),a("xhoverformat"),a("yhoverformat"),a("line.width"),a("line.dash"),HYe(t,r,a,"increasing"),HYe(t,r,a,"decreasing"),a("text"),a("hovertext"),a("tickwidth"),i._requestRangeslider[r.xaxis]=!0,a("zorder")};function HYe(e,t,r,n){r(n+".line.color"),r(n+".line.width",t.line.width),r(n+".line.dash",t.line.dash)}});var I$=ye((Sbr,ZYe)=>{"use strict";var KA=Ar(),f9=KA._,h9=Xa(),bKt=zg(),_C=Yo().BADNUM;function wKt(e,t){var r=h9.getFromId(e,t.xaxis),n=h9.getFromId(e,t.yaxis),i=AKt(e,r,t),a=t._minDiff;t._minDiff=null;var o=t._origX;t._origX=null;var s=t._xcalc;t._xcalc=null;var l=WYe(e,t,o,s,n,TKt);return t._extremes[r._id]=h9.findExtremes(r,s,{vpad:a/2}),l.length?(KA.extendFlat(l[0].t,{wHover:a/2,tickLen:i}),l):[{t:{empty:!0}}]}function TKt(e,t,r,n){return{o:e,h:t,l:r,c:n}}function WYe(e,t,r,n,i,a){for(var o=i.makeCalcdata(t,"open"),s=i.makeCalcdata(t,"high"),l=i.makeCalcdata(t,"low"),u=i.makeCalcdata(t,"close"),c=KA.isArrayOrTypedArray(t.text),f=KA.isArrayOrTypedArray(t.hovertext),h=!0,v=null,d=!!t.xperiodalignment,_=[],b=0;bv):h=L>E,v=L;var x=a(E,k,S,L);x.pos=p,x.yc=(E+L)/2,x.i=b,x.dir=h?"increasing":"decreasing",x.x=x.pos,x.y=[S,k],d&&(x.orig_p=r[b]),c&&(x.tx=t.text[b]),f&&(x.htx=t.hovertext[b]),_.push(x)}else _.push({pos:p,empty:!0})}return t._extremes[i._id]=h9.findExtremes(i,KA.concat(l,s),{padded:!0}),_.length&&(_[0].t={labels:{open:f9(e,"open:")+" ",high:f9(e,"high:")+" ",low:f9(e,"low:")+" ",close:f9(e,"close:")+" "}}),_}function AKt(e,t,r){var n=r._minDiff;if(!n){var i=e._fullData,a=[];n=1/0;var o;for(o=0;o{"use strict";var SKt=ba(),XYe=Ar();YYe.exports=function(t,r,n,i){var a=r.yaxis,o=r.xaxis,s=!!o.rangebreaks;XYe.makeTraceGroups(i,n,"trace ohlc").each(function(l){var u=SKt.select(this),c=l[0],f=c.t,h=c.trace;if(h.visible!==!0||f.empty){u.remove();return}var v=f.tickLen,d=u.selectAll("path").data(XYe.identity);d.enter().append("path"),d.exit().remove(),d.attr("d",function(_){if(_.empty)return"M0,0Z";var b=o.c2p(_.pos-v,!0),p=o.c2p(_.pos+v,!0),E=s?(b+p)/2:o.c2p(_.pos,!0),k=a.c2p(_.o,!0),S=a.c2p(_.h,!0),L=a.c2p(_.l,!0),x=a.c2p(_.c,!0);return"M"+b+","+k+"H"+E+"M"+E+","+S+"V"+L+"M"+p+","+x+"H"+E})})}});var $Ye=ye((Ebr,JYe)=>{"use strict";var D$=ba(),MKt=ao(),EKt=va();JYe.exports=function(t,r,n){var i=n||D$.select(t).selectAll("g.ohlclayer").selectAll("g.trace");i.style("opacity",function(a){return a[0].trace.opacity}),i.each(function(a){var o=a[0].trace;D$.select(this).selectAll("path").each(function(s){if(!s.empty){var l=o[s.dir].line;D$.select(this).style("fill","none").call(EKt.stroke,l.color).call(MKt.dashLine,l.dash,l.width).style("opacity",o.selectedpoints&&!s.selected?.3:1)}})})}});var z$=ye((kbr,iKe)=>{"use strict";var R$=Xa(),kKt=Ar(),d9=Nc(),CKt=va(),LKt=Ar().fillText,QYe=e5(),PKt={increasing:QYe.INCREASING.SYMBOL,decreasing:QYe.DECREASING.SYMBOL};function IKt(e,t,r,n){var i=e.cd,a=i[0].trace;return a.hoverlabel.split?tKe(e,t,r,n):rKe(e,t,r,n)}function eKe(e,t,r,n){var i=e.cd,a=e.xa,o=i[0].trace,s=i[0].t,l=o.type,u=l==="ohlc"?"l":"min",c=l==="ohlc"?"h":"max",f,h,v=s.bPos||0,d=function(P){return P.pos+v-t},_=s.bdPos||s.tickLen,b=s.wHover,p=Math.min(1,_/Math.abs(a.r2c(a.range[1])-a.r2c(a.range[0])));f=e.maxHoverDistance-p,h=e.maxSpikeDistance-p;function E(P){var T=d(P);return d9.inbox(T-b,T+b,f)}function k(P){var T=P[u],F=P[c];return T===F||d9.inbox(T-r,F-r,f)}function S(P){return(E(P)+k(P))/2}var L=d9.getDistanceFunction(n,E,k,S);if(d9.getClosest(i,L,e),e.index===!1)return null;var x=i[e.index];if(x.empty)return null;var C=x.dir,M=o[C],g=M.line.color;return CKt.opacity(g)&&M.line.width?e.color=g:e.color=M.fillcolor,e.x0=a.c2p(x.pos+v-_,!0),e.x1=a.c2p(x.pos+v+_,!0),e.xLabelVal=x.orig_p!==void 0?x.orig_p:x.pos,e.spikeDistance=S(x)*h/f,e.xSpike=a.c2p(x.pos,!0),e}function tKe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=[],u=eKe(e,t,r,n);if(!u)return[];var c=u.index,f=i[c],h=f.hi||o.hoverinfo,v=h.split("+"),d=h==="all",_=d||v.indexOf("y")!==-1;if(!_)return[];for(var b=["high","open","close","low"],p={},E=0;E"+s.labels[k]+R$.hoverLabelText(a,S,o.yhoverformat)):(x=kKt.extendFlat({},u),x.y0=x.y1=L,x.yLabelVal=S,x.yLabel=s.labels[k]+R$.hoverLabelText(a,S,o.yhoverformat),x.name="",l.push(x),p[S]=x)}return l}function rKe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=eKe(e,t,r,n);if(!l)return[];var u=l.index,c=i[u],f=l.index=c.i,h=c.dir;function v(S){return s.labels[S]+R$.hoverLabelText(a,o[S][f],o.yhoverformat)}var d=c.hi||o.hoverinfo,_=d.split("+"),b=d==="all",p=b||_.indexOf("y")!==-1,E=b||_.indexOf("text")!==-1,k=p?[v("open"),v("high"),v("low"),v("close")+" "+PKt[h]]:[];return E&&LKt(c,o,k),l.extraText=k.join("
"),l.y0=l.y1=a.c2p(c.yc,!0),[l]}iKe.exports={hoverPoints:IKt,hoverSplit:tKe,hoverOnPoints:rKe}});var F$=ye((Cbr,nKe)=>{"use strict";nKe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l=n[0].t.bPos||0;if(r===!1)for(s=0;s{"use strict";aKe.exports={moduleType:"trace",name:"ohlc",basePlotModule:Qf(),categories:["cartesian","svg","showLegend"],meta:{},attributes:c9(),supplyDefaults:jYe(),calc:I$().calc,plot:KYe(),style:$Ye(),hoverPoints:z$().hoverPoints,selectPoints:F$()}});var lKe=ye((Pbr,sKe)=>{"use strict";sKe.exports=oKe()});var O$=ye((Ibr,fKe)=>{"use strict";var q$=Ar().extendFlat,uKe=Oc().axisHoverFormat,d0=c9(),JA=C4();function cKe(e){return{line:{color:q$({},JA.line.color,{dflt:e}),width:JA.line.width,editType:"style"},fillcolor:JA.fillcolor,editType:"style"}}fKe.exports={xperiod:d0.xperiod,xperiod0:d0.xperiod0,xperiodalignment:d0.xperiodalignment,xhoverformat:uKe("x"),yhoverformat:uKe("y"),x:d0.x,open:d0.open,high:d0.high,low:d0.low,close:d0.close,line:{width:q$({},JA.line.width,{}),editType:"style"},increasing:cKe(d0.increasing.line.color.dflt),decreasing:cKe(d0.decreasing.line.color.dflt),text:d0.text,hovertext:d0.hovertext,whiskerwidth:q$({},JA.whiskerwidth,{dflt:0}),hoverlabel:d0.hoverlabel,zorder:JA.zorder}});var vKe=ye((Dbr,dKe)=>{"use strict";var DKt=Ar(),RKt=va(),zKt=P$(),FKt=Dg(),qKt=O$();dKe.exports=function(t,r,n,i){function a(s,l){return DKt.coerce(t,r,qKt,s,l)}var o=zKt(t,r,a,i);if(!o){r.visible=!1;return}FKt(t,r,i,a,{x:!0}),a("xhoverformat"),a("yhoverformat"),a("line.width"),hKe(t,r,a,"increasing"),hKe(t,r,a,"decreasing"),a("text"),a("hovertext"),a("whiskerwidth"),i._requestRangeslider[r.xaxis]=!0,a("zorder")};function hKe(e,t,r,n){var i=r(n+".line.color");r(n+".line.width",t.line.width),r(n+".fillcolor",RKt.addOpacity(i,.5))}});var yKe=ye((Rbr,mKe)=>{"use strict";var pKe=Ar(),gKe=Xa(),OKt=zg(),BKt=I$().calcCommon;mKe.exports=function(e,t){var r=e._fullLayout,n=gKe.getFromId(e,t.xaxis),i=gKe.getFromId(e,t.yaxis),a=n.makeCalcdata(t,"x"),o=OKt(t,n,"x",a).vals,s=BKt(e,t,a,o,i,NKt);return s.length?(pKe.extendFlat(s[0].t,{num:r._numBoxes,dPos:pKe.distinctVals(o).minDiff/2,posLetter:"x",valLetter:"y"}),r._numBoxes++,s):[{t:{empty:!0}}]};function NKt(e,t,r,n){return{min:r,q1:Math.min(e,n),med:n,q3:Math.max(e,n),max:t}}});var xKe=ye((zbr,_Ke)=>{"use strict";_Ke.exports={moduleType:"trace",name:"candlestick",basePlotModule:Qf(),categories:["cartesian","svg","showLegend","candlestick","boxLayout"],meta:{},attributes:O$(),layoutAttributes:L4(),supplyLayoutDefaults:n8().supplyLayoutDefaults,crossTraceCalc:o8().crossTraceCalc,supplyDefaults:vKe(),calc:yKe(),plot:s8().plot,layerName:"boxlayer",style:l8().style,hoverPoints:z$().hoverPoints,selectPoints:F$()}});var wKe=ye((Fbr,bKe)=>{"use strict";bKe.exports=xKe()});var N$=ye((qbr,TKe)=>{"use strict";var p9=Ar(),UKt=bm(),v9=p9.deg2rad,B$=p9.rad2deg;TKe.exports=function(t,r,n){switch(UKt(t,n),t._id){case"x":case"radialaxis":VKt(t,r);break;case"angularaxis":jKt(t,r);break}};function VKt(e,t){var r=t._subplot;e.setGeometry=function(){var n=e._rl[0],i=e._rl[1],a=r.innerRadius,o=(r.radius-a)/(i-n),s=a/o,l=n>i?function(u){return u<=0}:function(u){return u>=0};e.c2g=function(u){var c=e.c2l(u)-n;return(l(c)?c:0)+s},e.g2c=function(u){return e.l2c(u+n-s)},e.g2p=function(u){return u*o},e.c2p=function(u){return e.g2p(e.c2g(u))}}}function HKt(e,t){return t==="degrees"?v9(e):e}function GKt(e,t){return t==="degrees"?B$(e):e}function jKt(e,t){var r=e.type;if(r==="linear"){var n=e.d2c,i=e.c2d;e.d2c=function(a,o){return HKt(n(a),o)},e.c2d=function(a,o){return i(GKt(a,o))}}e.makeCalcdata=function(a,o){var s=a[o],l=a._length,u,c,f=function(b){return e.d2c(b,a.thetaunit)};if(s)for(u=new Array(l),c=0;c{"use strict";AKe.exports={attr:"subplot",name:"polar",axisNames:["angularaxis","radialaxis"],axisName2dataArray:{angularaxis:"theta",radialaxis:"r"},layerNames:["draglayer","plotbg","backplot","angular-grid","radial-grid","frontplot","angular-line","radial-line","angular-axis","radial-axis"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}});var y9=ye((Bbr,CKe)=>{"use strict";var Tw=Ar(),SKe=FM().tester,U$=Tw.findIndexOfMin,EKe=Tw.isAngleInsideSector,WKt=Tw.angleDelta,MKe=Tw.angleDist;function ZKt(e,t,r,n,i){if(!EKe(t,n))return!1;var a,o;r[0]0?o:1/0},n=U$(t,r),i=Tw.mod(n+1,t.length);return[t[n],t[i]]}function m9(e){return Math.abs(e)>1e-10?e:0}function V$(e,t,r){t=t||0,r=r||0;for(var n=e.length,i=new Array(n),a=0;a{"use strict";function LKe(e){return e<0?-1:e>0?1:0}function QA(e){var t=e[0],r=e[1];if(!isFinite(t)||!isFinite(r))return[1,0];var n=(t+1)*(t+1)+r*r;return[(t*t+r*r-1)/n,2*r/n]}function eS(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}function PKe(e,t){return t*e.radius}function tJt(e,t,r,n){var i=eS(e,QA([r,t])),a=i[0],o=i[1],s=eS(e,QA([n,t])),l=s[0],u=s[1];if(t===0)return["M"+a+","+o,"L"+l+","+u].join(" ");var c=PKe(e,1/Math.abs(t));return["M"+a+","+o,"A"+c+","+c+" 0 0,"+(t<0?1:0)+" "+l+","+u].join(" ")}function rJt(e,t,r,n){var i=PKe(e,1/(t+1)),a=eS(e,QA([t,r])),o=a[0],s=a[1],l=eS(e,QA([t,n])),u=l[0],c=l[1];if(LKe(r)!==LKe(n)){var f=eS(e,QA([t,0])),h=f[0],v=f[1];return["M"+o+","+s,"A"+i+","+i+" 0 0,"+(0{"use strict";var Aw=ba(),iJt=ad(),Mw=ya(),cc=Ar(),ny=cc.strRotate,vd=cc.strTranslate,G$=va(),xC=ao(),nJt=Nu(),gp=Xa(),aJt=bm(),oJt=N$(),sJt=Ag().doAutoRange,b1=XN(),b9=yv(),DKe=Nc(),lJt=Fb(),uJt=wf().prepSelect,cJt=wf().selectOnClick,j$=wf().clearOutline,RKe=Sg(),zKe=wM(),FKe=LM().redrawReglTraces,fJt=Vh().MID_SHIFT,qx=g9(),w1=y9(),w9=H$(),_9=w9.smith,hJt=w9.reactanceArc,dJt=w9.resistanceArc,x9=w9.smithTransform,vJt=cc._,qKe=cc.mod,Ox=cc.deg2rad,Sw=cc.rad2deg;function OKe(e,t,r){this.isSmith=r||!1,this.id=t,this.gd=e,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var n=e._fullLayout,i="clip"+n._uid+t;this.clipIds.forTraces=i+"-for-traces",this.clipPaths.forTraces=n._clips.append("clipPath").attr("id",this.clipIds.forTraces),this.clipPaths.forTraces.append("path"),this.framework=n["_"+(r?"smith":"polar")+"layer"].append("g").attr("class",t),this.getHole=function(a){return this.isSmith?0:a.hole},this.getSector=function(a){return this.isSmith?[0,360]:a.sector},this.getRadial=function(a){return this.isSmith?a.realaxis:a.radialaxis},this.getAngular=function(a){return this.isSmith?a.imaginaryaxis:a.angularaxis},r||(this.radialTickLayout=null,this.angularTickLayout=null)}var qd=OKe.prototype;UKe.exports=function(t,r,n){return new OKe(t,r,n)};qd.plot=function(e,t){for(var r=this,n=t[r.id],i=!1,a=0;ab?(p=u,E=u*b,L=(c-E)/i.h/2,k=[s[0],s[1]],S=[l[0]+L,l[1]-L]):(p=c/b,E=c,L=(u-p)/i.w/2,k=[s[0]+L,s[1]-L],S=[l[0],l[1]]),r.xLength2=p,r.yLength2=E,r.xDomain2=k,r.yDomain2=S;var x=r.xOffset2=i.l+i.w*k[0],C=r.yOffset2=i.t+i.h*(1-S[1]),M=r.radius=p/v,g=r.innerRadius=r.getHole(t)*M,P=r.cx=x-M*h[0],T=r.cy=C+M*h[3],F=r.cxx=P-x,q=r.cyy=T-C,V=a.side,H;V==="counterclockwise"?(H=V,V="top"):V==="clockwise"&&(H=V,V="bottom"),r.radialAxis=r.mockAxis(e,t,a,{_id:"x",side:V,_trueSide:H,domain:[g/i.w,M/i.w]}),r.angularAxis=r.mockAxis(e,t,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(e,t),r.updateAngularAxis(e,t),r.updateRadialAxis(e,t),r.updateRadialAxisTitle(e,t),r.xaxis=r.mockCartesianAxis(e,t,{_id:"x",domain:k}),r.yaxis=r.mockCartesianAxis(e,t,{_id:"y",domain:S});var X=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",X).attr("transform",vd(F,q)),n.frontplot.attr("transform",vd(x,C)).call(xC.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",X).attr("transform",vd(P,T)).call(G$.fill,t.bgcolor)};qd.mockAxis=function(e,t,r,n){var i=cc.extendFlat({},r,n);return oJt(i,t,e),i};qd.mockCartesianAxis=function(e,t,r){var n=this,i=n.isSmith,a=r._id,o=cc.extendFlat({type:"linear"},r);aJt(o,e);var s={x:[0,2],y:[1,3]};return o.setRange=function(){var l=n.sectorBBox,u=s[a],c=n.radialAxis._rl,f=(c[1]-c[0])/(1-n.getHole(t));o.range=[l[u[0]]*f,l[u[1]]*f]},o.isPtWithinRange=a==="x"&&!i?function(l){return n.isPtInside(l)}:function(){return!0},o.setRange(),o.setScale(),o};qd.doAutoRange=function(e,t){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(t);sJt(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")],i.minallowed!==void 0){var s=i.r2l(i.minallowed);i._rl[0]>i._rl[1]?i._rl[1]=Math.max(i._rl[1],s):i._rl[0]=Math.max(i._rl[0],s)}if(i.maxallowed!==void 0){var l=i.r2l(i.maxallowed);i._rl[0]90&&c<=270&&(f.tickangle=180);var d=v?function(M){var g=x9(r,_9([M.x,0]));return vd(g[0]-s,g[1]-l)}:function(M){return vd(f.l2p(M.x)+o,0)},_=v?function(M){return dJt(r,M.x,-1/0,1/0)}:function(M){return r.pathArc(f.r2p(M.x)+o)},b=BKe(u);if(r.radialTickLayout!==b&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=b),h){f.setScale();var p=0,E=v?(f.tickvals||[]).filter(function(M){return M>=0}).map(function(M){return gp.tickText(f,M,!0,!1)}):gp.calcTicks(f),k=v?E:gp.clipEnds(f,E),S=gp.getTickSigns(f)[2];v&&((f.ticks==="top"&&f.side==="bottom"||f.ticks==="bottom"&&f.side==="top")&&(S=-S),f.ticks==="top"&&f.side==="top"&&(p=-f.ticklen),f.ticks==="bottom"&&f.side==="bottom"&&(p=f.ticklen)),gp.drawTicks(n,f,{vals:E,layer:i["radial-axis"],path:gp.makeTickPath(f,0,S),transFn:d,crisp:!1}),gp.drawGrid(n,f,{vals:k,layer:i["radial-grid"],path:_,transFn:cc.noop,crisp:!1}),gp.drawLabels(n,f,{vals:E,layer:i["radial-axis"],transFn:d,labelFns:gp.makeLabelFns(f,p)})}var L=r.radialAxisAngle=r.vangles?Sw(NKe(Ox(u.angle),r.vangles)):u.angle,x=vd(s,l),C=x+ny(-L);bC(i["radial-axis"],h&&(u.showticklabels||u.ticks),{transform:C}),bC(i["radial-grid"],h&&u.showgrid,{transform:v?"":x}),bC(i["radial-line"].select("line"),h&&u.showline,{x1:v?-a:o,y1:0,x2:a,y2:0,transform:C}).attr("stroke-width",u.linewidth).call(G$.stroke,u.linecolor)};qd.updateRadialAxisTitle=function(e,t,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(t),u=n.id+"title",c=0;if(l.title){var f=xC.bBox(n.layers["radial-axis"].node()).height,h=l.title.font.size,v=l.side;c=v==="top"?h:v==="counterclockwise"?-(f+h*.4):f+h*.8}var d=r!==void 0?r:n.radialAxisAngle,_=Ox(d),b=Math.cos(_),p=Math.sin(_),E=o+a/2*b+c*p,k=s-a/2*p+c*b;n.layers["radial-axis-title"]=lJt.draw(i,u,{propContainer:l,propName:n.id+".radialaxis.title",placeholder:vJt(i,"Click to enter radial axis title"),attributes:{x:E,y:k,"text-anchor":"middle"},transform:{rotate:-d}})}};qd.updateAngularAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getAngular(t),c=r.angularAxis,f=r.isSmith;f||(r.fillViewInitialKey("angularaxis.rotation",u.rotation),c.setGeometry(),c.setScale());var h=f?function(g){var P=x9(r,_9([0,g.x]));return Math.atan2(P[0]-s,P[1]-l)-Math.PI/2}:function(g){return c.t2g(g.x)};c.type==="linear"&&c.thetaunit==="radians"&&(c.tick0=Sw(c.tick0),c.dtick=Sw(c.dtick));var v=function(g){return vd(s+a*Math.cos(g),l-a*Math.sin(g))},d=f?function(g){var P=x9(r,_9([0,g.x]));return vd(P[0],P[1])}:function(g){return v(h(g))},_=f?function(g){var P=x9(r,_9([0,g.x])),T=Math.atan2(P[0]-s,P[1]-l)-Math.PI/2;return vd(P[0],P[1])+ny(-Sw(T))}:function(g){var P=h(g);return v(P)+ny(-Sw(P))},b=f?function(g){return hJt(r,g.x,0,1/0)}:function(g){var P=h(g),T=Math.cos(P),F=Math.sin(P);return"M"+[s+o*T,l-o*F]+"L"+[s+a*T,l-a*F]},p=gp.makeLabelFns(c,0),E=p.labelStandoff,k={};k.xFn=function(g){var P=h(g);return Math.cos(P)*E},k.yFn=function(g){var P=h(g),T=Math.sin(P)>0?.2:1;return-Math.sin(P)*(E+g.fontSize*T)+Math.abs(Math.cos(P))*(g.fontSize*fJt)},k.anchorFn=function(g){var P=h(g),T=Math.cos(P);return Math.abs(T)<.1?"middle":T>0?"start":"end"},k.heightFn=function(g,P,T){var F=h(g);return-.5*(1+Math.sin(F))*T};var S=BKe(u);r.angularTickLayout!==S&&(i["angular-axis"].selectAll("."+c._id+"tick").remove(),r.angularTickLayout=S);var L=f?[1/0].concat(c.tickvals||[]).map(function(g){return gp.tickText(c,g,!0,!1)}):gp.calcTicks(c);f&&(L[0].text="\u221E",L[0].fontSize*=1.75);var x;if(t.gridshape==="linear"?(x=L.map(h),cc.angleDelta(x[0],x[1])<0&&(x=x.slice().reverse())):x=null,r.vangles=x,c.type==="category"&&(L=L.filter(function(g){return cc.isAngleInsideSector(h(g),r.sectorInRad)})),c.visible){var C=c.ticks==="inside"?-1:1,M=(c.linewidth||1)/2;gp.drawTicks(n,c,{vals:L,layer:i["angular-axis"],path:"M"+C*M+",0h"+C*c.ticklen,transFn:_,crisp:!1}),gp.drawGrid(n,c,{vals:L,layer:i["angular-grid"],path:b,transFn:cc.noop,crisp:!1}),gp.drawLabels(n,c,{vals:L,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:d,labelFns:k})}bC(i["angular-line"].select("path"),u.showline,{d:r.pathSubplot(),transform:vd(s,l)}).attr("stroke-width",u.linewidth).call(G$.stroke,u.linecolor)};qd.updateFx=function(e,t){if(!this.gd._context.staticPlot){var r=!this.isSmith;r&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e)}};qd.updateHoverAndMainDrag=function(e){var t=this,r=t.isSmith,n=t.gd,i=t.layers,a=e._zoomlayer,o=qx.MINZOOM,s=qx.OFFEDGE,l=t.radius,u=t.innerRadius,c=t.cx,f=t.cy,h=t.cxx,v=t.cyy,d=t.sectorInRad,_=t.vangles,b=t.radialAxis,p=w1.clampTiny,E=w1.findXYatLength,k=w1.findEnclosingVertexAngles,S=qx.cornerHalfWidth,L=qx.cornerLen/2,x,C,M=b1.makeDragger(i,"path","maindrag",e.dragmode===!1?"none":"crosshair");Aw.select(M).attr("d",t.pathSubplot()).attr("transform",vd(c,f)),M.onmousemove=function(ce){DKe.hover(n,ce,t.id),n._fullLayout._lasthover=M,n._fullLayout._hoversubplot=t.id},M.onmouseout=function(ce){n._dragging||b9.unhover(n,ce)};var g={element:M,gd:n,subplot:t.id,plotinfo:{id:t.id,xaxis:t.xaxis,yaxis:t.yaxis},xaxes:[t.xaxis],yaxes:[t.yaxis]},P,T,F,q,V,H,X,G,N;function W(ce,Ge){return Math.sqrt(ce*ce+Ge*Ge)}function re(ce,Ge){return W(ce-h,Ge-v)}function ae(ce,Ge){return Math.atan2(v-Ge,ce-h)}function _e(ce,Ge){return[ce*Math.cos(Ge),ce*Math.sin(-Ge)]}function Me(ce,Ge){if(ce===0)return t.pathSector(2*S);var nt=L/ce,ct=Ge-nt,qt=Ge+nt,rt=Math.max(0,Math.min(ce,l)),ot=rt-S,It=rt+S;return"M"+_e(ot,ct)+"A"+[ot,ot]+" 0,0,0 "+_e(ot,qt)+"L"+_e(It,qt)+"A"+[It,It]+" 0,0,1 "+_e(It,ct)+"Z"}function ke(ce,Ge,nt){if(ce===0)return t.pathSector(2*S);var ct=_e(ce,Ge),qt=_e(ce,nt),rt=p((ct[0]+qt[0])/2),ot=p((ct[1]+qt[1])/2),It,kt;if(rt&&ot){var Ct=ot/rt,Yt=-1/Ct,mr=E(S,Ct,rt,ot);It=E(L,Yt,mr[0][0],mr[0][1]),kt=E(L,Yt,mr[1][0],mr[1][1])}else{var er,Ke;ot?(er=L,Ke=S):(er=S,Ke=L),It=[[rt-er,ot-Ke],[rt+er,ot-Ke]],kt=[[rt-er,ot+Ke],[rt+er,ot+Ke]]}return"M"+It.join("L")+"L"+kt.reverse().join("L")+"Z"}function ge(){F=null,q=null,V=t.pathSubplot(),H=!1;var ce=n._fullLayout[t.id];X=iJt(ce.bgcolor).getLuminance(),G=b1.makeZoombox(a,X,c,f,V),G.attr("fill-rule","evenodd"),N=b1.makeCorners(a,c,f),j$(n)}function ie(ce,Ge){return Ge=Math.max(Math.min(Ge,l),u),ceo?(ce-1&&ce===1&&cJt(Ge,n,[t.xaxis],[t.yaxis],t.id,g),nt.indexOf("event")>-1&&DKe.click(n,Ge,t.id)}g.prepFn=function(ce,Ge,nt){var ct=n._fullLayout.dragmode,qt=M.getBoundingClientRect();n._fullLayout._calcInverseTransform(n);var rt=n._fullLayout._invTransform;x=n._fullLayout._invScaleX,C=n._fullLayout._invScaleY;var ot=cc.apply3DTransform(rt)(Ge-qt.left,nt-qt.top);if(P=ot[0],T=ot[1],_){var It=w1.findPolygonOffset(l,d[0],d[1],_);P+=h+It[0],T+=v+It[1]}switch(ct){case"zoom":g.clickFn=De,r||(_?g.moveFn=ze:g.moveFn=Ee,g.doneFn=Ce,ge(ce,Ge,nt));break;case"select":case"lasso":uJt(ce,Ge,nt,g,ct);break}},b9.init(g)};qd.updateRadialDrag=function(e,t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.innerRadius,l=n.cx,u=n.cy,c=n.radialAxis,f=qx.radialDragBoxSize,h=f/2;if(!c.visible)return;var v=Ox(n.radialAxisAngle),d=c._rl,_=d[0],b=d[1],p=d[r],E=.75*(d[1]-d[0])/(1-n.getHole(t))/o,k,S,L;r?(k=l+(o+h)*Math.cos(v),S=u-(o+h)*Math.sin(v),L="radialdrag"):(k=l+(s-h)*Math.cos(v),S=u-(s-h)*Math.sin(v),L="radialdrag-inner");var x=b1.makeRectDragger(a,L,"crosshair",-h,-h,f,f),C={element:x,gd:i};e.dragmode===!1&&(C.dragmode=!1),bC(Aw.select(x),c.visible&&s0!=(r?P>_:P=90||i>90&&a>=450?v=1:s<=0&&u<=0?v=0:v=Math.max(s,u),i<=180&&a>=180||i>180&&a>=540?c=-1:o>=0&&l>=0?c=0:c=Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?f=-1:s>=0&&u>=0?f=0:f=Math.min(s,u),a>=360?h=1:o<=0&&l<=0?h=0:h=Math.max(o,l),[c,f,h,v]}function NKe(e,t){var r=function(i){return cc.angleDist(e,i)},n=cc.findIndexOfMin(t,r);return t[n]}function bC(e,t,r){return t?(e.attr("display",null),e.attr(r)):e&&e.attr("display","none"),e}});var Z$=ye((Vbr,ZKe)=>{"use strict";var gJt=ph(),Ko=Ld(),mJt=Ju().attributes,v0=Ar().extendFlat,VKe=Bu().overrideAll,HKe=VKe({color:Ko.color,showline:v0({},Ko.showline,{dflt:!0}),linecolor:Ko.linecolor,linewidth:Ko.linewidth,showgrid:v0({},Ko.showgrid,{dflt:!0}),gridcolor:Ko.gridcolor,gridwidth:Ko.gridwidth,griddash:Ko.griddash},"plot","from-root"),GKe=VKe({tickmode:Ko.minor.tickmode,nticks:Ko.nticks,tick0:Ko.tick0,dtick:Ko.dtick,tickvals:Ko.tickvals,ticktext:Ko.ticktext,ticks:Ko.ticks,ticklen:Ko.ticklen,tickwidth:Ko.tickwidth,tickcolor:Ko.tickcolor,ticklabelstep:Ko.ticklabelstep,showticklabels:Ko.showticklabels,labelalias:Ko.labelalias,showtickprefix:Ko.showtickprefix,tickprefix:Ko.tickprefix,showticksuffix:Ko.showticksuffix,ticksuffix:Ko.ticksuffix,showexponent:Ko.showexponent,exponentformat:Ko.exponentformat,minexponent:Ko.minexponent,separatethousands:Ko.separatethousands,tickfont:Ko.tickfont,tickangle:Ko.tickangle,tickformat:Ko.tickformat,tickformatstops:Ko.tickformatstops,layer:Ko.layer},"plot","from-root"),jKe={visible:v0({},Ko.visible,{dflt:!0}),type:v0({},Ko.type,{values:["-","linear","log","date","category"]}),autotypenumbers:Ko.autotypenumbers,autorangeoptions:{minallowed:Ko.autorangeoptions.minallowed,maxallowed:Ko.autorangeoptions.maxallowed,clipmin:Ko.autorangeoptions.clipmin,clipmax:Ko.autorangeoptions.clipmax,include:Ko.autorangeoptions.include,editType:"plot"},autorange:v0({},Ko.autorange,{editType:"plot"}),rangemode:{valType:"enumerated",values:["tozero","nonnegative","normal"],dflt:"tozero",editType:"calc"},minallowed:v0({},Ko.minallowed,{editType:"plot"}),maxallowed:v0({},Ko.maxallowed,{editType:"plot"}),range:v0({},Ko.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],editType:"plot"}),categoryorder:Ko.categoryorder,categoryarray:Ko.categoryarray,angle:{valType:"angle",editType:"plot"},autotickangles:Ko.autotickangles,side:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"clockwise",editType:"plot"},title:{text:v0({},Ko.title.text,{editType:"plot",dflt:""}),font:v0({},Ko.title.font,{editType:"plot"}),editType:"plot"},hoverformat:Ko.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};v0(jKe,HKe,GKe);var WKe={visible:v0({},Ko.visible,{dflt:!0}),type:{valType:"enumerated",values:["-","linear","category"],dflt:"-",editType:"calc",_noTemplating:!0},autotypenumbers:Ko.autotypenumbers,categoryorder:Ko.categoryorder,categoryarray:Ko.categoryarray,thetaunit:{valType:"enumerated",values:["radians","degrees"],dflt:"degrees",editType:"calc"},period:{valType:"number",editType:"calc",min:0},direction:{valType:"enumerated",values:["counterclockwise","clockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",editType:"calc"},hoverformat:Ko.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};v0(WKe,HKe,GKe);ZKe.exports={domain:mJt({name:"polar",editType:"plot"}),sector:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],dflt:[0,360],editType:"plot"},hole:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},bgcolor:{valType:"color",editType:"plot",dflt:gJt.background},radialaxis:jKe,angularaxis:WKe,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot"},uirevision:{valType:"any",editType:"none"},editType:"calc"}});var JKe=ye((Hbr,KKe)=>{"use strict";var T9=Ar(),yJt=va(),_Jt=Vs(),xJt=F_(),bJt=Cd().getSubplotData,wJt=Lb(),TJt=R3(),AJt=a_(),SJt=o_(),MJt=gI(),EJt=c4(),kJt=MB(),CJt=U3(),YKe=Z$(),LJt=N$(),A9=g9(),XKe=A9.axisNames;function PJt(e,t,r,n){var i=r("bgcolor");n.bgColor=yJt.combine(i,n.paper_bgcolor);var a=r("sector");r("hole");var o=bJt(n.fullData,A9.name,n.id),s=n.layoutOut,l;function u(G,N){return r(l+"."+G,N)}for(var c=0;c{"use strict";var DJt=Cd().getSubplotCalcData,RJt=Ar().counterRegex,zJt=W$(),QKe=g9(),eJe=QKe.attr,Ew=QKe.name,$Ke=RJt(Ew),tJe={};tJe[eJe]={valType:"subplotid",dflt:Ew,editType:"calc"};function FJt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[Ew],i=0;i{"use strict";var OJt=Wo().hovertemplateAttrs,BJt=Wo().texttemplateAttrs,M9=no().extendFlat,NJt=Cg(),p0=Uc(),UJt=vl(),tS=p0.line;iJe.exports={mode:p0.mode,r:{valType:"data_array",editType:"calc+clearAxisTypes"},theta:{valType:"data_array",editType:"calc+clearAxisTypes"},r0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dr:{valType:"number",dflt:1,editType:"calc"},theta0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dtheta:{valType:"number",editType:"calc"},thetaunit:{valType:"enumerated",values:["radians","degrees","gradians"],dflt:"degrees",editType:"calc+clearAxisTypes"},text:p0.text,texttemplate:BJt({editType:"plot"},{keys:["r","theta","text"]}),hovertext:p0.hovertext,line:{color:tS.color,width:tS.width,dash:tS.dash,backoff:tS.backoff,shape:M9({},tS.shape,{values:["linear","spline"]}),smoothing:tS.smoothing,editType:"calc"},connectgaps:p0.connectgaps,marker:p0.marker,cliponaxis:M9({},p0.cliponaxis,{dflt:!1}),textposition:p0.textposition,textfont:p0.textfont,fill:M9({},p0.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:NJt(),hoverinfo:M9({},UJt.hoverinfo,{flags:["r","theta","text","name"]}),hoveron:p0.hoveron,hovertemplate:OJt(),selected:p0.selected,unselected:p0.unselected}});var k9=ye((Wbr,oJe)=>{"use strict";var E9=Ar(),rS=lu(),VJt=t0(),HJt=q0(),nJe=lT(),GJt=O0(),jJt=Rg(),WJt=km().PTS_LINESONLY,ZJt=wC();function XJt(e,t,r,n){function i(s,l){return E9.coerce(e,t,ZJt,s,l)}var a=aJe(e,t,n,i);if(!a){t.visible=!1;return}i("thetaunit"),i("mode",a{"use strict";var YJt=Ar(),sJe=Xa();lJe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o,s;a?(o=a.radialAxis,s=a.angularAxis):(a=n[r.subplot],o=a.radialaxis,s=a.angularaxis);var l=o.c2l(t.r);i.rLabel=sJe.tickText(o,l,!0).text;var u=s.thetaunit==="degrees"?YJt.rad2deg(t.theta):t.theta;return i.thetaLabel=sJe.tickText(s,u,!0).text,i}});var fJe=ye((Xbr,cJe)=>{"use strict";var uJe=uo(),KJt=Yo().BADNUM,JJt=Xa(),$Jt=B0(),QJt=Lm(),e$t=N0(),t$t=U0().calcMarkerSize;cJe.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=a.makeCalcdata(r,"r"),l=o.makeCalcdata(r,"theta"),u=r._length,c=new Array(u),f=0;f{"use strict";var r$t=vT(),hJe=Yo().BADNUM;dJe.exports=function(t,r,n){for(var i=r.layers.frontplot.select("g.scatterlayer"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=r.radialAxis,u=r.angularAxis,c=0;c{"use strict";var i$t=yT();function n$t(e,t,r,n){var i=i$t(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,pJe(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function pJe(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle="r",a._hovertitle="\u03B8";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,v){u.push(h._hovertitle+": "+v)}if(!t.hovertemplate){var f=l.split("+");f.indexOf("all")!==-1&&(f=["r","theta","text"]),f.indexOf("r")!==-1&&c(i,n.rLabel),f.indexOf("theta")!==-1&&c(a,n.thetaLabel),f.indexOf("text")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join("
")}}gJe.exports={hoverPoints:n$t,makeHoverPointText:pJe}});var yJe=ye((Jbr,mJe)=>{"use strict";mJe.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:S9(),categories:["polar","symbols","showLegend","scatter-like"],attributes:wC(),supplyDefaults:k9().supplyDefaults,colorbar:Jd(),formatLabels:C9(),calc:fJe(),plot:vJe(),style:up().style,styleOnSelect:up().styleOnSelect,hoverPoints:L9().hoverPoints,selectPoints:_T(),meta:{}}});var xJe=ye(($br,_Je)=>{"use strict";_Je.exports=yJe()});var X$=ye((Qbr,bJe)=>{"use strict";var jp=wC(),T1=_k(),a$t=Wo().texttemplateAttrs;bJe.exports={mode:jp.mode,r:jp.r,theta:jp.theta,r0:jp.r0,dr:jp.dr,theta0:jp.theta0,dtheta:jp.dtheta,thetaunit:jp.thetaunit,text:jp.text,texttemplate:a$t({editType:"plot"},{keys:["r","theta","text"]}),hovertext:jp.hovertext,hovertemplate:jp.hovertemplate,line:{color:T1.line.color,width:T1.line.width,dash:T1.line.dash,editType:"calc"},connectgaps:T1.connectgaps,marker:T1.marker,fill:T1.fill,fillcolor:T1.fillcolor,textposition:T1.textposition,textfont:T1.textfont,hoverinfo:jp.hoverinfo,selected:jp.selected,unselected:jp.unselected}});var AJe=ye((e2r,TJe)=>{"use strict";var wJe=Ar(),Y$=lu(),o$t=k9().handleRThetaDefaults,s$t=t0(),l$t=q0(),u$t=O0(),c$t=Rg(),f$t=km().PTS_LINESONLY,h$t=X$();TJe.exports=function(t,r,n,i){function a(s,l){return wJe.coerce(t,r,h$t,s,l)}var o=o$t(t,r,i,a);if(!o){r.visible=!1;return}a("thetaunit"),a("mode",o{"use strict";var d$t=C9();SJe.exports=function(t,r,n){var i=t.i;return"r"in t||(t.r=r._r[i]),"theta"in t||(t.theta=r._theta[i]),d$t(t,r,n)}});var kJe=ye((r2r,EJe)=>{"use strict";var v$t=B0(),p$t=U0().calcMarkerSize,g$t=aw(),m$t=Xa(),y$t=vx().TOO_MANY_POINTS;EJe.exports=function(t,r){var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=r._r=a.makeCalcdata(r,"r"),l=r._theta=o.makeCalcdata(r,"theta"),u=r._length,c={};u{"use strict";var _$t=Yz(),x$t=L9().makeHoverPointText;function b$t(e,t,r,n){var i=e.cd,a=i[0].t,o=a.r,s=a.theta,l=_$t.hoverPoints(e,t,r,n);if(!(!l||l[0].index===!1)){var u=l[0];if(u.index===void 0)return l;var c=e.subplot,f=u.cd[u.index],h=u.trace;if(f.r=o[u.index],f.theta=s[u.index],!!c.isPtInside(f))return u.xLabelVal=void 0,u.yLabelVal=void 0,x$t(f,h,c,u),l}}CJe.exports={hoverPoints:b$t}});var IJe=ye((n2r,PJe)=>{"use strict";PJe.exports={moduleType:"trace",name:"scatterpolargl",basePlotModule:S9(),categories:["gl","regl","polar","symbols","showLegend","scatter-like"],attributes:X$(),supplyDefaults:AJe(),colorbar:Jd(),formatLabels:MJe(),calc:kJe(),hoverPoints:LJe().hoverPoints,selectPoints:cY(),meta:{}}});var DJe=ye((a2r,K$)=>{"use strict";var w$t=$z(),T$t=uo(),A$t=dK(),S$t=sY(),P9=aw(),I9=Ar(),M$t=vx().TOO_MANY_POINTS,E$t={};K$.exports=function(t,r,n){if(n.length){var i=r.radialAxis,a=r.angularAxis,o=S$t(t,r);return n.forEach(function(s){if(!(!s||!s[0]||!s[0].trace)){var l=s[0],u=l.trace,c=l.t,f=u._length,h=c.r,v=c.theta,d=c.opts,_,b=h.slice(),p=v.slice();for(_=0;_=M$t&&(d.marker.cluster=c.tree),d.marker&&(d.markerSel.positions=d.markerUnsel.positions=d.marker.positions=E),d.line&&E.length>1&&I9.extendFlat(d.line,P9.linePositions(t,u,E)),d.text&&(I9.extendFlat(d.text,{positions:E},P9.textPosition(t,u,d.text,d.marker)),I9.extendFlat(d.textSel,{positions:E},P9.textPosition(t,u,d.text,d.markerSel)),I9.extendFlat(d.textUnsel,{positions:E},P9.textPosition(t,u,d.text,d.markerUnsel))),d.fill&&!o.fill2d&&(o.fill2d=!0),d.marker&&!o.scatter2d&&(o.scatter2d=!0),d.line&&!o.line2d&&(o.line2d=!0),d.text&&!o.glText&&(o.glText=!0),o.lineOptions.push(d.line),o.fillOptions.push(d.fill),o.markerOptions.push(d.marker),o.markerSelectedOptions.push(d.markerSel),o.markerUnselectedOptions.push(d.markerUnsel),o.textOptions.push(d.text),o.textSelectedOptions.push(d.textSel),o.textUnselectedOptions.push(d.textUnsel),o.selectBatch.push([]),o.unselectBatch.push([]),c.x=k,c.y=S,c.rawx=k,c.rawy=S,c.r=h,c.theta=v,c.positions=E,c._scene=o,c.index=o.count,o.count++}}),A$t(t,r,n)}};K$.exports.reglPrecompiled=E$t});var FJe=ye((o2r,zJe)=>{"use strict";var RJe=IJe();RJe.plot=DJe();zJe.exports=RJe});var OJe=ye((s2r,qJe)=>{"use strict";qJe.exports=FJe()});var J$=ye((l2r,BJe)=>{"use strict";var k$t=Wo().hovertemplateAttrs,iS=no().extendFlat,Bx=wC(),Nx=Im();BJe.exports={r:Bx.r,theta:Bx.theta,r0:Bx.r0,dr:Bx.dr,theta0:Bx.theta0,dtheta:Bx.dtheta,thetaunit:Bx.thetaunit,base:iS({},Nx.base,{}),offset:iS({},Nx.offset,{}),width:iS({},Nx.width,{}),text:iS({},Nx.text,{}),hovertext:iS({},Nx.hovertext,{}),marker:C$t(),hoverinfo:Bx.hoverinfo,hovertemplate:k$t(),selected:Nx.selected,unselected:Nx.unselected};function C$t(){var e=iS({},Nx.marker);return delete e.cornerradius,e}});var $$=ye((u2r,NJe)=>{"use strict";NJe.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}});var HJe=ye((c2r,VJe)=>{"use strict";var UJe=Ar(),L$t=k9().handleRThetaDefaults,P$t=$I(),I$t=J$();VJe.exports=function(t,r,n,i){function a(s,l){return UJe.coerce(t,r,I$t,s,l)}var o=L$t(t,r,i,a);if(!o){r.visible=!1;return}a("thetaunit"),a("base"),a("offset"),a("width"),a("text"),a("hovertext"),a("hovertemplate"),P$t(t,r,a,n,i),UJe.coerceSelectionMarkerOpacity(r,a)}});var jJe=ye((f2r,GJe)=>{"use strict";var D$t=Ar(),R$t=$$();GJe.exports=function(e,t,r){var n={},i;function a(l,u){return D$t.coerce(e[i]||{},t[i],R$t,l,u)}for(var o=0;o{"use strict";var WJe=Fv().hasColorscale,ZJe=qv(),z$t=Ar().isArrayOrTypedArray,F$t=S4(),q$t=Qb().setGroupPositions,O$t=N0(),B$t=ya().traceIs,N$t=Ar().extendFlat;function U$t(e,t){for(var r=e._fullLayout,n=t.subplot,i=r[n].radialaxis,a=r[n].angularaxis,o=i.makeCalcdata(t,"r"),s=a.makeCalcdata(t,"theta"),l=t._length,u=new Array(l),c=o,f=s,h=0;h{"use strict";var YJe=ba(),D9=uo(),nS=Ar(),H$t=ao(),eQ=y9();KJe.exports=function(t,r,n){var i=t._context.staticPlot,a=r.xaxis,o=r.yaxis,s=r.radialAxis,l=r.angularAxis,u=G$t(r),c=r.layers.frontplot.select("g.barlayer");nS.makeTraceGroups(c,n,"trace bars").each(function(){var f=YJe.select(this),h=nS.ensureSingle(f,"g","points"),v=h.selectAll("g.point").data(nS.identity);v.enter().append("g").style("vector-effect",i?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),v.exit().remove(),v.each(function(d){var _=YJe.select(this),b=d.rp0=s.c2p(d.s0),p=d.rp1=s.c2p(d.s1),E=d.thetag0=l.c2g(d.p0),k=d.thetag1=l.c2g(d.p1),S;if(!D9(b)||!D9(p)||!D9(E)||!D9(k)||b===p||E===k)S="M0,0Z";else{var L=s.c2g(d.s1),x=(E+k)/2;d.ct=[a.c2p(L*Math.cos(x)),o.c2p(L*Math.sin(x))],S=u(b,p,E,k)}nS.ensureSingle(_,"path").attr("d",S)}),H$t.setClipUrl(f,r._hasClipOnAxisFalse?r.clipIds.forTraces:null,t)})};function G$t(e){var t=e.cxx,r=e.cyy;return e.vangles?function(n,i,a,o){var s,l;nS.angleDelta(a,o)>0?(s=a,l=o):(s=o,l=a);var u=eQ.findEnclosingVertexAngles(s,e.vangles)[0],c=eQ.findEnclosingVertexAngles(l,e.vangles)[1],f=[u,(s+l)/2,c];return eQ.pathPolygonAnnulus(n,i,s,l,f,t,r)}:function(n,i,a,o){return nS.pathAnnulus(n,i,a,o,t,r)}}});var QJe=ye((v2r,$Je)=>{"use strict";var j$t=Nc(),tQ=Ar(),W$t=RT().getTraceColor,Z$t=tQ.fillText,X$t=L9().makeHoverPointText,Y$t=y9().isPtInsidePolygon;$Je.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s=o.radialAxis,l=o.angularAxis,u=o.vangles,c=u?Y$t:tQ.isPtInsideSector,f=t.maxHoverDistance,h=l._period||2*Math.PI,v=Math.abs(s.g2p(Math.sqrt(r*r+n*n))),d=Math.atan2(n,r);s.range[0]>s.range[1]&&(d+=Math.PI);var _=function(k){return c(v,d,[k.rp0,k.rp1],[k.thetag0,k.thetag1],u)?f+Math.min(1,Math.abs(k.thetag1-k.thetag0)/h)-1+(k.rp1-v)/(k.rp1-k.rp0)-1:1/0};if(j$t.getClosest(i,_,t),t.index!==!1){var b=t.index,p=i[b];t.x0=t.x1=p.ct[0],t.y0=t.y1=p.ct[1];var E=tQ.extendFlat({},p,{r:p.s,theta:p.p});return Z$t(p,a,t),X$t(E,a,o,t),t.hovertemplate=a.hovertemplate,t.color=W$t(a,p),t.xLabelVal=t.yLabelVal=void 0,p.s<0&&(t.idealAlign="left"),[t]}}});var t$e=ye((p2r,e$e)=>{"use strict";e$e.exports={moduleType:"trace",name:"barpolar",basePlotModule:S9(),categories:["polar","bar","showLegend"],attributes:J$(),layoutAttributes:$$(),supplyDefaults:HJe(),supplyLayoutDefaults:jJe(),calc:Q$().calc,crossTraceCalc:Q$().crossTraceCalc,plot:JJe(),colorbar:Jd(),formatLabels:C9(),style:G0().style,styleOnSelect:G0().styleOnSelect,hoverPoints:QJe(),selectPoints:zT(),meta:{}}});var i$e=ye((g2r,r$e)=>{"use strict";r$e.exports=t$e()});var rQ=ye((m2r,n$e)=>{"use strict";n$e.exports={attr:"subplot",name:"smith",axisNames:["realaxis","imaginaryaxis"],axisName2dataArray:{imaginaryaxis:"imag",realaxis:"real"}}});var iQ=ye((y2r,l$e)=>{"use strict";var K$t=ph(),Mf=Ld(),J$t=Ju().attributes,Ux=Ar().extendFlat,a$e=Bu().overrideAll,o$e=a$e({color:Mf.color,showline:Ux({},Mf.showline,{dflt:!0}),linecolor:Mf.linecolor,linewidth:Mf.linewidth,showgrid:Ux({},Mf.showgrid,{dflt:!0}),gridcolor:Mf.gridcolor,gridwidth:Mf.gridwidth,griddash:Mf.griddash},"plot","from-root"),s$e=a$e({ticklen:Mf.ticklen,tickwidth:Ux({},Mf.tickwidth,{dflt:2}),tickcolor:Mf.tickcolor,showticklabels:Mf.showticklabels,labelalias:Mf.labelalias,showtickprefix:Mf.showtickprefix,tickprefix:Mf.tickprefix,showticksuffix:Mf.showticksuffix,ticksuffix:Mf.ticksuffix,tickfont:Mf.tickfont,tickformat:Mf.tickformat,hoverformat:Mf.hoverformat,layer:Mf.layer},"plot","from-root"),$$t=Ux({visible:Ux({},Mf.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:"data_array",editType:"plot"},tickangle:Ux({},Mf.tickangle,{dflt:90}),ticks:{valType:"enumerated",values:["top","bottom",""],editType:"ticks"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},editType:"calc"},o$e,s$e),Q$t=Ux({visible:Ux({},Mf.visible,{dflt:!0}),tickvals:{valType:"data_array",editType:"plot"},ticks:Mf.ticks,editType:"calc"},o$e,s$e);l$e.exports={domain:J$t({name:"smith",editType:"plot"}),bgcolor:{valType:"color",editType:"plot",dflt:K$t.background},realaxis:$$t,imaginaryaxis:Q$t,editType:"calc"}});var f$e=ye((_2r,c$e)=>{"use strict";var aS=Ar(),eQt=va(),tQt=Vs(),rQt=F_(),iQt=Cd().getSubplotData,nQt=o_(),aQt=a_(),oQt=c4(),sQt=bm(),oS=iQ(),nQ=rQ(),u$e=nQ.axisNames,lQt=cQt(function(e){return aS.isTypedArray(e)&&(e=Array.from(e)),e.slice().reverse().map(function(t){return-t}).concat([0]).concat(e)},String);function uQt(e,t,r,n){var i=r("bgcolor");n.bgColor=eQt.combine(i,n.paper_bgcolor);var a=iQt(n.fullData,nQ.name,n.id),o=n.layoutOut,s;function l(L,x){return r(s+"."+L,x)}for(var u=0;u{"use strict";var fQt=Cd().getSubplotCalcData,hQt=Ar().counterRegex,dQt=W$(),d$e=rQ(),v$e=d$e.attr,kw=d$e.name,h$e=hQt(kw),p$e={};p$e[v$e]={valType:"subplotid",dflt:kw,editType:"calc"};function vQt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[kw],i=0;i{"use strict";var gQt=Wo().hovertemplateAttrs,mQt=Wo().texttemplateAttrs,R9=no().extendFlat,yQt=Cg(),g0=Uc(),_Qt=vl(),sS=g0.line;y$e.exports={mode:g0.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:g0.text,texttemplate:mQt({editType:"plot"},{keys:["real","imag","text"]}),hovertext:g0.hovertext,line:{color:sS.color,width:sS.width,dash:sS.dash,backoff:sS.backoff,shape:R9({},sS.shape,{values:["linear","spline"]}),smoothing:sS.smoothing,editType:"calc"},connectgaps:g0.connectgaps,marker:g0.marker,cliponaxis:R9({},g0.cliponaxis,{dflt:!1}),textposition:g0.textposition,textfont:g0.textfont,fill:R9({},g0.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:yQt(),hoverinfo:R9({},_Qt.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:g0.hoveron,hovertemplate:gQt(),selected:g0.selected,unselected:g0.unselected}});var b$e=ye((w2r,x$e)=>{"use strict";var z9=Ar(),lS=lu(),xQt=t0(),bQt=q0(),_$e=lT(),wQt=O0(),TQt=Rg(),AQt=km().PTS_LINESONLY,SQt=aQ();x$e.exports=function(t,r,n,i){function a(l,u){return z9.coerce(t,r,SQt,l,u)}var o=MQt(t,r,i,a);if(!o){r.visible=!1;return}a("mode",o{"use strict";var w$e=Xa();T$e.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.realLabel=w$e.tickText(a.radialAxis,t.real,!0).text,i.imagLabel=w$e.tickText(a.angularAxis,t.imag,!0).text,i}});var E$e=ye((A2r,M$e)=>{"use strict";var S$e=uo(),EQt=Yo().BADNUM,kQt=B0(),CQt=Lm(),LQt=N0(),PQt=U0().calcMarkerSize;M$e.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].realaxis,o=n[i].imaginaryaxis,s=a.makeCalcdata(r,"real"),l=o.makeCalcdata(r,"imag"),u=r._length,c=new Array(u),f=0;f{"use strict";var IQt=vT(),k$e=Yo().BADNUM,DQt=H$(),RQt=DQt.smith;C$e.exports=function(t,r,n){for(var i=r.layers.frontplot.select("g.scatterlayer"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=0;l{"use strict";var zQt=yT();function FQt(e,t,r,n){var i=zQt(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,P$e(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function P$e(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle="real",a._hovertitle="imag";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.realLabel=s.realLabel,n.imagLabel=s.imagLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,v){u.push(h._hovertitle+": "+v)}if(!t.hovertemplate){var f=l.split("+");f.indexOf("all")!==-1&&(f=["real","imag","text"]),f.indexOf("real")!==-1&&c(i,n.realLabel),f.indexOf("imag")!==-1&&c(a,n.imagLabel),f.indexOf("text")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join("
")}}I$e.exports={hoverPoints:FQt,makeHoverPointText:P$e}});var z$e=ye((E2r,R$e)=>{"use strict";R$e.exports={moduleType:"trace",name:"scattersmith",basePlotModule:m$e(),categories:["smith","symbols","showLegend","scatter-like"],attributes:aQ(),supplyDefaults:b$e(),colorbar:Jd(),formatLabels:A$e(),calc:E$e(),plot:L$e(),style:up().style,styleOnSelect:up().styleOnSelect,hoverPoints:D$e().hoverPoints,selectPoints:_T(),meta:{}}});var q$e=ye((k2r,F$e)=>{"use strict";F$e.exports=z$e()});var TC=ye(O$e=>{"use strict";O$e.pointsAccessorFunction=function(e,t){for(var r,n,i=0;i{"use strict";var qQt=Xa(),uS=Ar(),OQt=r_(),BQt=TC().pointsAccessorFunction,Of=Yo().BADNUM;cS.moduleType="transform";cS.name="aggregate";var U$e=cS.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},B$e=U$e.aggregations;cS.supplyDefaults=function(e,t){var r={},n;function i(b,p){return uS.coerce(e,r,U$e,b,p)}var a=i("enabled");if(!a)return r;var o=OQt.findArrayAttributes(t),s={};for(n=0;nl&&(l=h,u=f)}}return l?i(u):Of};case"rms":return function(a,o){for(var s=0,l=0,u=0;u{"use strict";H$e.exports=V$e()});var X$e=ye(Cw=>{"use strict";var Vx=Ar(),GQt=ya(),jQt=Xa(),WQt=TC().pointsAccessorFunction,oQ=O4(),j$e=oQ.COMPARISON_OPS,W$e=oQ.INTERVAL_OPS,Z$e=oQ.SET_OPS;Cw.moduleType="transform";Cw.name="filter";Cw.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},operation:{valType:"enumerated",values:[].concat(j$e).concat(W$e).concat(Z$e),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},preservegaps:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc"};Cw.supplyDefaults=function(e){var t={};function r(o,s){return Vx.coerce(e,t,Cw.attributes,o,s)}var n=r("enabled");if(n){var i=r("target");if(Vx.isArrayOrTypedArray(i)&&i.length===0)return t.enabled=!1,t;r("preservegaps"),r("operation"),r("value");var a=GQt.getComponentMethod("calendars","handleDefaults");a(e,t,"valuecalendar",null),a(e,t,"targetcalendar",null)}return t};Cw.calcTransform=function(e,t,r){if(!r.enabled)return;var n=Vx.getTargetArray(t,r);if(!n)return;var i=r.target,a=n.length;t._length&&(a=Math.min(a,t._length));var o=r.targetcalendar,s=t._arrayAttrs,l=r.preservegaps;if(typeof i=="string"){var u=Vx.nestedProperty(t,i+"calendar").get();u&&(o=u)}var c=jQt.getDataToCoordFunc(e,t,i,n),f=ZQt(r,c,o),h={},v={},d=0;function _(L,x){for(var C=0;C":return function(c){return l(c)>u};case">=":return function(c){return l(c)>=u};case"[]":return function(c){var f=l(c);return f>=u[0]&&f<=u[1]};case"()":return function(c){var f=l(c);return f>u[0]&&f=u[0]&&fu[0]&&f<=u[1]};case"][":return function(c){var f=l(c);return f<=u[0]||f>=u[1]};case")(":return function(c){var f=l(c);return fu[1]};case"](":return function(c){var f=l(c);return f<=u[0]||f>u[1]};case")[":return function(c){var f=l(c);return f=u[1]};case"{}":return function(c){return u.indexOf(l(c))!==-1};case"}{":return function(c){return u.indexOf(l(c))===-1}}}});var K$e=ye((D2r,Y$e)=>{"use strict";Y$e.exports=X$e()});var J$e=ye(A1=>{"use strict";var mp=Ar(),XQt=r_(),YQt=Nu(),KQt=TC().pointsAccessorFunction;A1.moduleType="transform";A1.name="groupby";A1.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"data_array",dflt:[],editType:"calc"},nameformat:{valType:"string",editType:"calc"},styles:{_isLinkedToArray:"style",target:{valType:"string",editType:"calc"},value:{valType:"any",dflt:{},editType:"calc",_compareAsJSON:!0},editType:"calc"},editType:"calc"};A1.supplyDefaults=function(e,t,r){var n,i={};function a(f,h){return mp.coerce(e,i,A1.attributes,f,h)}var o=a("enabled");if(!o)return i;a("groups"),a("nameformat",r._dataLength>1?"%{group} (%{trace})":"%{group}");var s=e.styles,l=i.styles=[];if(s)for(n=0;n{"use strict";$$e.exports=J$e()});var eQe=ye(Lw=>{"use strict";var sQ=Ar(),$Qt=Xa(),QQt=TC().pointsAccessorFunction,F9=Yo().BADNUM;Lw.moduleType="transform";Lw.name="sort";Lw.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},order:{valType:"enumerated",values:["ascending","descending"],dflt:"ascending",editType:"calc"},editType:"calc"};Lw.supplyDefaults=function(e){var t={};function r(i,a){return sQ.coerce(e,t,Lw.attributes,i,a)}var n=r("enabled");return n&&(r("target"),r("order")),t};Lw.calcTransform=function(e,t,r){if(r.enabled){var n=sQ.getTargetArray(t,r);if(n){var i=r.target,a=n.length;t._length&&(a=Math.min(a,t._length));var o=t._arrayAttrs,s=$Qt.getDataToCoordFunc(e,t,i,n),l=eer(r,n,s,a),u=QQt(t.transforms,r),c={},f,h;for(f=0;f{"use strict";tQe.exports=eQe()});var Ev=ye((O2r,nQe)=>{var O9=Ah();function iQe(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}O9(iQe.prototype,{instance:function(e,t){e=(e||"gregorian").toLowerCase(),t=t||"";var r=this._localCals[e+"-"+t];if(!r&&this.calendars[e]&&(r=new this.calendars[e](t),this._localCals[e+"-"+t]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,e);return r},newDate:function(e,t,r,n,i){return n=(e!=null&&e.year?e.calendar():typeof n=="string"?this.instance(n,i):n)||this.instance(),n.newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+"").replace(/[0-9]/g,function(r){return e[r]})}},substituteChineseDigits:function(e,t){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(a===0?"":e[a]+t[i])+n,i++,r=Math.floor(r/10)}return n.indexOf(e[1]+t[1])===0&&(n=n.substr(1)),n||e[0]}}});function lQ(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(ks.local.invalidDate||ks.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function q9(e,t){return e=""+e,"000000".substring(0,t-e.length)+e}O9(lQ.prototype,{newDate:function(e,t,r){return this._calendar.newDate(e==null?this:e,t,r)},year:function(e){return arguments.length===0?this._year:this.set(e,"y")},month:function(e){return arguments.length===0?this._month:this.set(e,"m")},day:function(e){return arguments.length===0?this._day:this.set(e,"d")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw(ks.local.invalidDate||ks.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=e,this._month=t,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(e,t){return this._calendar.add(this,e,t)},set:function(e,t){return this._calendar.set(this,e,t)},compareTo:function(e){if(this._calendar.name!==e._calendar.name)throw(ks.local.differentCalendars||ks.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,e._calendar.local.name);var t=this._year!==e._year?this._year-e._year:this._month!==e._month?this.monthOfYear()-e.monthOfYear():this._day-e._day;return t===0?0:t<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(e){return this._calendar.fromJD(e)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(e){return this._calendar.fromJSDate(e)},toString:function(){return(this.year()<0?"-":"")+q9(Math.abs(this.year()),4)+"-"+q9(this.month(),2)+"-"+q9(this.day(),2)}});function uQ(){this.shortYearCutoff="+10"}O9(uQ.prototype,{_validateLevel:0,newDate:function(e,t,r){return e==null?this.today():(e.year&&(this._validate(e,t,r,ks.local.invalidDate||ks.regionalOptions[""].invalidDate),r=e.day(),t=e.month(),e=e.year()),new lQ(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){var t=this._validate(e,this.minMonth,this.minDay,ks.local.invalidYear||ks.regionalOptions[""].invalidYear);return t.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,ks.local.invalidYear||ks.regionalOptions[""].invalidYear);return(t.year()<0?"-":"")+q9(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,ks.local.invalidYear||ks.regionalOptions[""].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,ks.local.invalidMonth||ks.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(e,t){var r=(t+this.firstMonth-2*this.minMonth)%this.monthsInYear(e)+this.minMonth;return this._validate(e,r,this.minDay,ks.local.invalidMonth||ks.regionalOptions[""].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,ks.local.invalidYear||ks.regionalOptions[""].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,ks.local.invalidDate||ks.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,ks.local.invalidDate||ks.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,ks.local.invalidDate||ks.regionalOptions[""].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,ks.local.invalidDate||ks.regionalOptions[""].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,r==="d"||r==="w"){var n=e.toJD()+t*(r==="w"?this.daysInWeek():1),i=e.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=e.year()+(r==="y"?t:0),o=e.monthOfYear()+(r==="m"?t:0),i=e.day(),s=function(c){for(;of-1+c.minMonth;)a++,o-=f,f=c.monthsInYear(a)};r==="y"?(e.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,e.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):r==="m"&&(s(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var l=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,l}catch(u){throw this._validateLevel--,u}},_correctAdd:function(e,t,r,n){if(!this.hasYearZero&&(n==="y"||n==="m")&&(t[0]===0||e.year()>0!=t[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;t=this._add(e,r*i[0]+a*i[1],i[2])}return e.date(t[0],t[1],t[2])},set:function(e,t,r){this._validate(e,this.minMonth,this.minDay,ks.local.invalidDate||ks.regionalOptions[""].invalidDate);var n=r==="y"?t:e.year(),i=r==="m"?t:e.month(),a=r==="d"?t:e.day();return(r==="y"||r==="m")&&(a=Math.min(a,this.daysInMonth(n,i))),e.date(n,i,a)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||e!==0;if(n){var i=this.newDate(e,t,this.minDay);n=t>=this.minMonth&&t-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(e,t,r){var n=this._validate(e,t,r,ks.local.invalidDate||ks.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(e){return this.newDate(e.getFullYear(),e.getMonth()+1,e.getDate())}});var ks=nQe.exports=new iQe;ks.cdate=lQ;ks.baseCalendar=uQ;ks.calendars.gregorian=cQ});var aQe=ye(()=>{var fQ=Ah(),Od=Ev();fQ(Od.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"});Od.local=Od.regionalOptions[""];fQ(Od.cdate.prototype,{formatDate:function(e,t){return typeof e!="string"&&(t=e,e=""),this._calendar.formatDate(e||"",this,t)}});fQ(Od.baseCalendar.prototype,{UNIX_EPOCH:Od.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:Od.instance().jdEpoch,TICKS_PER_DAY:24*60*60*1e7,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(e,t,r){if(typeof e!="string"&&(r=t,t=e,e=""),!t)return"";if(t.calendar()!==this)throw Od.local.invalidFormat||Od.regionalOptions[""].invalidFormat;e=e||this.local.dateFormat,r=r||{};for(var n=r.dayNamesShort||this.local.dayNamesShort,i=r.dayNames||this.local.dayNames,a=r.monthNumbers||this.local.monthNumbers,o=r.monthNamesShort||this.local.monthNamesShort,s=r.monthNames||this.local.monthNames,l=r.calculateWeek||this.local.calculateWeek,u=function(S,L){for(var x=1;k+x1},c=function(S,L,x,C){var M=""+L;if(u(S,C))for(;M.length1},E=function(F,q){var V=p(F,q),H=[2,3,V?4:2,V?4:2,10,11,20]["oyYJ@!".indexOf(F)+1],X=new RegExp("^-?\\d{1,"+H+"}"),G=t.substring(M).match(X);if(!G)throw(Od.local.missingNumberAt||Od.regionalOptions[""].missingNumberAt).replace(/\{0\}/,M);return M+=G[0].length,parseInt(G[0],10)},k=this,S=function(){if(typeof s=="function"){p("m");var F=s.call(k,t.substring(M));return M+=F.length,F}return E("m")},L=function(F,q,V,H){for(var X=p(F,H)?V:q,G=0;G-1){h=1,v=d;for(var T=this.daysInMonth(f,h);v>T;T=this.daysInMonth(f,h))h++,v-=T}return c>-1?this.fromJD(c):this.newDate(f,h,v)},determineDate:function(e,t,r,n,i){r&&typeof r!="object"&&(i=n,n=r,r=null),typeof n!="string"&&(i=n,n="");var a=this,o=function(s){try{return a.parseDate(n,s,i)}catch(f){}s=s.toLowerCase();for(var l=(s.match(/^c/)&&r?r.newDate():null)||a.today(),u=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,c=u.exec(s);c;)l.add(parseInt(c[1],10),c[2]||"d"),c=u.exec(s);return l};return t=t?t.newDate():null,e=e==null?t:typeof e=="string"?o(e):typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?t:a.today().add(e,"d"):a.newDate(e),e}})});var oQe=ye(()=>{var Hx=Ev(),rer=Ah(),hQ=Hx.instance();function B9(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}B9.prototype=new Hx.baseCalendar;rer(B9.prototype,{name:"Chinese",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(e,t){if(typeof e=="string"){var r=e.match(ner);return r?r[0]:""}var n=this._validateYear(e),i=e.month(),a=""+this.toChineseMonth(n,i);return t&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(e){if(typeof e=="string"){var t=e.match(aer);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"][i-1];return this.isIntercalaryMonth(r,n)&&(a="\u95F0"+a),a},monthNamesShort:function(e){if(typeof e=="string"){var t=e.match(oer);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"][i-1];return this.isIntercalaryMonth(r,n)&&(a="\u95F0"+a),a},parseMonth:function(e,t){e=this._validateYear(e);var r=parseInt(t),n;if(isNaN(r))t[0]==="\u95F0"&&(n=!0,t=t.substring(1)),t[t.length-1]==="\u6708"&&(t=t.substring(0,t.length-1)),r=1+["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341","\u5341\u4E00","\u5341\u4E8C"].indexOf(t);else{var i=t[t.length-1];n=i==="i"||i==="I"}var a=this.toMonthIndex(e,r,n);return a},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(e,t){if(e.year&&(e=e.year()),typeof e!="number"||e<1888||e>2111)throw t.replace(/\{0\}/,this.local.name);return e},toMonthIndex:function(e,t,r){var n=this.intercalaryMonth(e),i=r&&t!==n;if(i||t<1||t>12)throw Hx.local.invalidMonth.replace(/\{0\}/,this.local.name);var a;return n?!r&&t<=n?a=t-1:a=t:a=t-1,a},toChineseMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e),n=r?12:11;if(t<0||t>n)throw Hx.local.invalidMonth.replace(/\{0\}/,this.local.name);var i;return r?t>13;return r},isIntercalaryMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return this.intercalaryMonth(e)!==0},weekOfYear:function(e,t,r){var n=this._validateYear(e,Hx.local.invalidyear),i=jx[n-jx[0]],a=i>>9&4095,o=i>>5&15,s=i&31,l;l=hQ.newDate(a,o,s),l.add(4-(l.dayOfWeek()||7),"d");var u=this.toJD(e,t,r)-l.toJD();return 1+Math.floor(u/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(e,t){e.year&&(t=e.month(),e=e.year()),e=this._validateYear(e);var r=Gx[e-Gx[0]],n=r>>13,i=n?12:11;if(t>i)throw Hx.local.invalidMonth.replace(/\{0\}/,this.local.name);var a=r&1<<12-t?30:29;return a},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,a,r,Hx.local.invalidDate);e=this._validateYear(n.year()),t=n.month(),r=n.day();var i=this.isIntercalaryMonth(e,t),a=this.toChineseMonth(e,t),o=ler(e,a,r,i);return hQ.toJD(o.year,o.month,o.day)},fromJD:function(e){var t=hQ.fromJD(e),r=ser(t.year(),t.month(),t.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(e){var t=e.match(ier),r=this._validateYear(+t[1]),n=+t[2],i=!!t[3],a=this.toMonthIndex(r,n,i),o=+t[4];return this.newDate(r,a,o)},add:function(e,t,r){var n=e.year(),i=e.month(),a=this.isIntercalaryMonth(n,i),o=this.toChineseMonth(n,i),s=Object.getPrototypeOf(B9.prototype).add.call(this,e,t,r);if(r==="y"){var l=s.year(),u=s.month(),c=this.isIntercalaryMonth(l,o),f=a&&c?this.toMonthIndex(l,o,!0):this.toMonthIndex(l,o,!1);f!==u&&s.month(f)}return s}});var ier=/^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m,ner=/^\d?\d[iI]?/m,aer=/^闰?十?[一二三四五六七八九]?月/m,oer=/^闰?十?[一二三四五六七八九]?/m;Hx.calendars.chinese=B9;var Gx=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],jx=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904];function ser(e,t,r,n){var i,a;if(typeof e=="object")i=e,a=t||{};else{var o=typeof e=="number"&&e>=1888&&e<=2111;if(!o)throw new Error("Solar year outside range 1888-2111");var s=typeof t=="number"&&t>=1&&t<=12;if(!s)throw new Error("Solar month outside range 1 - 12");var l=typeof r=="number"&&r>=1&&r<=31;if(!l)throw new Error("Solar day outside range 1 - 31");i={year:e,month:t,day:r},a=n||{}}var u=jx[i.year-jx[0]],c=i.year<<9|i.month<<5|i.day;a.year=c>=u?i.year:i.year-1,u=jx[a.year-jx[0]];var f=u>>9&4095,h=u>>5&15,v=u&31,d,_=new Date(f,h-1,v),b=new Date(i.year,i.month-1,i.day);d=Math.round((b-_)/(24*3600*1e3));var p=Gx[a.year-Gx[0]],E;for(E=0;E<13;E++){var k=p&1<<12-E?30:29;if(d>13;return!S||E=1888&&e<=2111;if(!s)throw new Error("Lunar year outside range 1888-2111");var l=typeof t=="number"&&t>=1&&t<=12;if(!l)throw new Error("Lunar month outside range 1 - 12");var u=typeof r=="number"&&r>=1&&r<=30;if(!u)throw new Error("Lunar day outside range 1 - 30");var c;typeof n=="object"?(c=!1,a=n):(c=!!n,a=i||{}),o={year:e,month:t,day:r,isIntercalary:c}}var f;f=o.day-1;var h=Gx[o.year-Gx[0]],v=h>>13,d;v&&(o.month>v||o.isIntercalary)?d=o.month:d=o.month-1;for(var _=0;_>9&4095,k=p>>5&15,S=p&31,L=new Date(E,k-1,S+f);return a.year=L.getFullYear(),a.month=1+L.getMonth(),a.day=L.getDate(),a}});var sQe=ye(()=>{var Pw=Ev(),uer=Ah();function dQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}dQ.prototype=new Pw.baseCalendar;uer(dQ.prototype,{name:"Coptic",jdEpoch:18250295e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Coptic",epochs:["BAM","AM"],monthNames:["Thout","Paopi","Hathor","Koiak","Tobi","Meshir","Paremhat","Paremoude","Pashons","Paoni","Epip","Mesori","Pi Kogi Enavot"],monthNamesShort:["Tho","Pao","Hath","Koi","Tob","Mesh","Pat","Pad","Pash","Pao","Epi","Meso","PiK"],dayNames:["Tkyriaka","Pesnau","Pshoment","Peftoou","Ptiou","Psoou","Psabbaton"],dayNamesShort:["Tky","Pes","Psh","Pef","Pti","Pso","Psa"],dayNamesMin:["Tk","Pes","Psh","Pef","Pt","Pso","Psa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,Pw.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Pw.local.invalidYear||Pw.regionalOptions[""].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Pw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,Pw.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});Pw.calendars.coptic=dQ});var lQe=ye(()=>{var S1=Ev(),cer=Ah();function vQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}vQ.prototype=new S1.baseCalendar;cer(vQ.prototype,{name:"Discworld",jdEpoch:17214255e-1,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Discworld",epochs:["BUC","UC"],monthNames:["Ick","Offle","February","March","April","May","June","Grune","August","Spune","Sektober","Ember","December"],monthNamesShort:["Ick","Off","Feb","Mar","Apr","May","Jun","Gru","Aug","Spu","Sek","Emb","Dec"],dayNames:["Sunday","Octeday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Oct","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Oc","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:2,isRTL:!1}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,S1.local.invalidYear),!1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,S1.local.invalidYear),13},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,S1.local.invalidYear),400},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,S1.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,S1.local.invalidDate);return(n.day()+1)%8},weekDay:function(e,t,r){var n=this.dayOfWeek(e,t,r);return n>=2&&n<=6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,S1.local.invalidDate);return{century:fer[Math.floor((n.year()-1)/100)+1]||""}},toJD:function(e,t,r){var n=this._validate(e,t,r,S1.local.invalidDate);return e=n.year()+(n.year()<0?1:0),t=n.month(),r=n.day(),r+(t>1?16:0)+(t>2?(t-2)*32:0)+(e-1)*400+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1;var t=Math.floor(e/400)+1;e-=(t-1)*400,e+=e>15?16:0;var r=Math.floor(e/32)+1,n=e-(r-1)*32+1;return this.newDate(t<=0?t-1:t,r,n)}});var fer={20:"Fruitbat",21:"Anchovy"};S1.calendars.discworld=vQ});var uQe=ye(()=>{var Iw=Ev(),her=Ah();function pQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}pQ.prototype=new Iw.baseCalendar;her(pQ.prototype,{name:"Ethiopian",jdEpoch:17242205e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,Iw.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Iw.local.invalidYear||Iw.regionalOptions[""].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Iw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,Iw.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});Iw.calendars.ethiopian=pQ});var cQe=ye(()=>{var Wx=Ev(),der=Ah();function gQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}gQ.prototype=new Wx.baseCalendar;der(gQ.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Wx.local.invalidYear);return this._leapYear(t.year())},_leapYear:function(e){return e=e<0?e+1:e,N9(e*7+1,19)<7},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Wx.local.invalidYear),this._leapYear(e.year?e.year():e)?13:12},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Wx.local.invalidYear);return e=t.year(),this.toJD(e===-1?1:e+1,7,1)-this.toJD(e,7,1)},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,Wx.local.invalidMonth),t===12&&this.leapYear(e)||t===8&&N9(this.daysInYear(e),10)===5?30:t===9&&N9(this.daysInYear(e),10)===3?29:this.daysPerMonth[t-1]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,Wx.local.invalidDate);return{yearType:(this.leapYear(n)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(n)%10-3]}},toJD:function(e,t,r){var n=this._validate(e,t,r,Wx.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e<=0?e+1:e,a=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(t<7){for(var o=7;o<=this.monthsInYear(e);o++)a+=this.daysInMonth(e,o);for(var o=1;o=this.toJD(t===-1?1:t+1,7,1);)t++;for(var r=ethis.toJD(t,r,this.daysInMonth(t,r));)r++;var n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});function N9(e,t){return e-t*Math.floor(e/t)}Wx.calendars.hebrew=gQ});var fQe=ye(()=>{var AC=Ev(),ver=Ah();function mQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}mQ.prototype=new AC.baseCalendar;ver(mQ.prototype,{name:"Islamic",jdEpoch:19484395e-1,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-kham\u012Bs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,AC.local.invalidYear);return(t.year()*11+14)%30<11},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return this.leapYear(e)?355:354},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,AC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,AC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e=e<=0?e+1:e,r+Math.ceil(29.5*(t-1))+(e-1)*354+Math.floor((3+11*e)/30)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=Math.floor((30*(e-this.jdEpoch)+10646)/10631);t=t<=0?t-1:t;var r=Math.min(12,Math.ceil((e-29-this.toJD(t,1,1))/29.5)+1),n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});AC.calendars.islamic=mQ});var hQe=ye(()=>{var SC=Ev(),per=Ah();function yQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}yQ.prototype=new SC.baseCalendar;per(yQ.prototype,{name:"Julian",jdEpoch:17214235e-1,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,SC.local.invalidYear),r=t.year()<0?t.year()+1:t.year();return r%4===0},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,SC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,SC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<=2&&(e--,t+=12),Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=t+1524,n=Math.floor((r-122.1)/365.25),i=Math.floor(365.25*n),a=Math.floor((r-i)/30.6001),o=a-Math.floor(a<14?1:13),s=n-Math.floor(o>2?4716:4715),l=r-i-Math.floor(30.6001*a);return s<=0&&s--,this.newDate(s,o,l)}});SC.calendars.julian=yQ});var vQe=ye(()=>{var dg=Ev(),ger=Ah();function xQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}xQ.prototype=new dg.baseCalendar;ger(xQ.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,dg.local.invalidYear),!1},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,dg.local.invalidYear);e=t.year();var r=Math.floor(e/400);e=e%400,e+=e<0?400:0;var n=Math.floor(e/20);return r+"."+n+"."+e%20},forYear:function(e){if(e=e.split("."),e.length<3)throw"Invalid Mayan year";for(var t=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";t=t*20+n}return t},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,dg.local.invalidYear),18},weekOfYear:function(e,t,r){return this._validate(e,t,r,dg.local.invalidDate),0},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,dg.local.invalidYear),360},daysInMonth:function(e,t){return this._validate(e,t,this.minDay,dg.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,dg.local.invalidDate);return n.day()},weekDay:function(e,t,r){return this._validate(e,t,r,dg.local.invalidDate),!0},extraInfo:function(e,t,r){var n=this._validate(e,t,r,dg.local.invalidDate),i=n.toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(e){e-=this.jdEpoch;var t=_Q(e+8+17*20,365);return[Math.floor(t/20)+1,_Q(t,20)]},_toTzolkin:function(e){return e-=this.jdEpoch,[dQe(e+20,20),dQe(e+4,13)]},toJD:function(e,t,r){var n=this._validate(e,t,r,dg.local.invalidDate);return n.day()+n.month()*20+n.year()*360+this.jdEpoch},fromJD:function(e){e=Math.floor(e)+.5-this.jdEpoch;var t=Math.floor(e/360);e=e%360,e+=e<0?360:0;var r=Math.floor(e/20),n=e%20;return this.newDate(t,r,n)}});function _Q(e,t){return e-t*Math.floor(e/t)}function dQe(e,t){return _Q(e-1,t)+1}dg.calendars.mayan=xQ});var gQe=ye(()=>{var Dw=Ev(),mer=Ah();function bQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}bQ.prototype=new Dw.baseCalendar;var pQe=Dw.instance("gregorian");mer(bQ.prototype,{name:"Nanakshahi",jdEpoch:22576735e-1,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Dw.local.invalidYear||Dw.regionalOptions[""].invalidYear);return pQe.leapYear(t.year()+(t.year()<1?1:0)+1469)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Dw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Dw.local.invalidMonth),i=n.year();i<0&&i++;for(var a=n.day(),o=1;o=this.toJD(t+1,1,1);)t++;for(var r=e-Math.floor(this.toJD(t,1,1)+.5)+1,n=1;r>this.daysInMonth(t,n);)r-=this.daysInMonth(t,n),n++;return this.newDate(t,n,r)}});Dw.calendars.nanakshahi=bQ});var mQe=ye(()=>{var Rw=Ev(),yer=Ah();function wQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}wQ.prototype=new Rw.baseCalendar;yer(wQ.prototype,{name:"Nepali",jdEpoch:17007095e-1,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(e){return this.daysInYear(e)!==this.daysPerYear},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Rw.local.invalidYear);if(e=t.year(),typeof this.NEPALI_CALENDAR_DATA[e]=="undefined")return this.daysPerYear;for(var r=0,n=this.minMonth;n<=12;n++)r+=this.NEPALI_CALENDAR_DATA[e][n];return r},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,Rw.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[e]=="undefined"?this.daysPerMonth[t-1]:this.NEPALI_CALENDAR_DATA[e][t]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},toJD:function(e,t,r){var n=this._validate(e,t,r,Rw.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=Rw.instance(),a=0,o=t,s=e;this._createMissingCalendarData(e);var l=e-(o>9||o===9&&r>=this.NEPALI_CALENDAR_DATA[s][0]?56:57);for(t!==9&&(a=r,o--);o!==9;)o<=0&&(o=12,s--),a+=this.NEPALI_CALENDAR_DATA[s][o],o--;return t===9?(a+=r-this.NEPALI_CALENDAR_DATA[s][0],a<0&&(a+=i.daysInYear(l))):a+=this.NEPALI_CALENDAR_DATA[s][9]-this.NEPALI_CALENDAR_DATA[s][0],i.newDate(l,1,1).add(a,"d").toJD()},fromJD:function(e){var t=Rw.instance(),r=t.fromJD(e),n=r.year(),i=r.dayOfYear(),a=n+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)o++,o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;r{var fS=Ev(),_er=Ah();function U9(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}U9.prototype=new fS.baseCalendar;_er(U9.prototype,{name:"Persian",jdEpoch:19483205e-1,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Persian",epochs:["BP","AP"],monthNames:["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Day","Bahman","Esfand"],monthNamesShort:["Far","Ord","Kho","Tir","Mor","Sha","Meh","Aba","Aza","Day","Bah","Esf"],dayNames:["Yekshambe","Doshambe","Seshambe","Ch\xE6harshambe","Panjshambe","Jom'e","Shambe"],dayNamesShort:["Yek","Do","Se","Ch\xE6","Panj","Jom","Sha"],dayNamesMin:["Ye","Do","Se","Ch","Pa","Jo","Sh"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,fS.local.invalidYear);return((t.year()-(t.year()>0?474:473))%2820+474+38)*682%2816<682},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-((n.dayOfWeek()+1)%7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,fS.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,fS.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e-(e>=0?474:473),a=474+TQ(i,2820);return r+(t<=7?(t-1)*31:(t-1)*30+6)+Math.floor((a*682-110)/2816)+(a-1)*365+Math.floor(i/2820)*1029983+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=e-this.toJD(475,1,1),r=Math.floor(t/1029983),n=TQ(t,1029983),i=2820;if(n!==1029982){var a=Math.floor(n/366),o=TQ(n,366);i=Math.floor((2134*a+2816*o+2815)/1028522)+a+1}var s=i+2820*r+474;s=s<=0?s-1:s;var l=e-this.toJD(s,1,1)+1,u=l<=186?Math.ceil(l/31):Math.ceil((l-6)/30),c=e-this.toJD(s,u,1)+1;return this.newDate(s,u,c)}});function TQ(e,t){return e-t*Math.floor(e/t)}fS.calendars.persian=U9;fS.calendars.jalali=U9});var _Qe=ye(()=>{var zw=Ev(),xer=Ah(),V9=zw.instance();function AQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}AQ.prototype=new zw.baseCalendar;xer(AQ.prototype,{name:"Taiwan",jdEpoch:24194025e-1,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,zw.local.invalidYear),r=this._t2gYear(t.year());return V9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,zw.local.invalidYear),i=this._t2gYear(n.year());return V9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,zw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,zw.local.invalidDate),i=this._t2gYear(n.year());return V9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=V9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)},_g2tYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)}});zw.calendars.taiwan=AQ});var xQe=ye(()=>{var Fw=Ev(),ber=Ah(),H9=Fw.instance();function SQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}SQ.prototype=new Fw.baseCalendar;ber(SQ.prototype,{name:"Thai",jdEpoch:15230985e-1,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,Fw.local.invalidYear),r=this._t2gYear(t.year());return H9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Fw.local.invalidYear),i=this._t2gYear(n.year());return H9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Fw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Fw.local.invalidDate),i=this._t2gYear(n.year());return H9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=H9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)},_g2tYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)}});Fw.calendars.thai=SQ});var bQe=ye(()=>{var qw=Ev(),wer=Ah();function MQ(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}MQ.prototype=new qw.baseCalendar;wer(MQ.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thal\u0101th\u0101\u2019","Yawm al-Arba\u2018\u0101\u2019","Yawm al-Kham\u012Bs","Yawm al-Jum\u2018a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,qw.local.invalidYear);return this.daysInYear(t.year())===355},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){for(var t=0,r=1;r<=12;r++)t+=this.daysInMonth(e,r);return t},daysInMonth:function(e,t){for(var r=this._validate(e,t,this.minDay,qw.local.invalidMonth),n=r.toJD()-24e5+.5,i=0,a=0;an)return Zx[i]-Zx[i-1];i++}return 30},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,qw.local.invalidDate),i=12*(n.year()-1)+n.month()-15292,a=n.day()+Zx[i-1]-1;return a+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,n=0;nt);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),o=a+1,s=i-12*a,l=t-Zx[r-1]+1;return this.newDate(o,s,l)},isValid:function(e,t,r){var n=qw.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(e=e.year!=null?e.year:e,n=e>=1276&&e<=1500),n},_validate:function(e,t,r,n){var i=qw.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw n.replace(/\{0\}/,this.local.name);return i}});qw.calendars.ummalqura=MQ;var Zx=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]});var TQe=ye((pwr,wQe)=>{"use strict";wQe.exports=Ev();aQe();oQe();sQe();lQe();uQe();cQe();fQe();hQe();vQe();gQe();mQe();yQe();_Qe();xQe();bQe()});var LQe=ye((gwr,CQe)=>{"use strict";var SQe=TQe(),MC=Ar(),MQe=Yo(),Ter=MQe.EPOCHJD,Aer=MQe.ONEDAY,CQ={valType:"enumerated",values:MC.sortObjectKeys(SQe.calendars),editType:"calc",dflt:"gregorian"},EQe=function(e,t,r,n){var i={};return i[r]=CQ,MC.coerce(e,t,i,r,n)},Ser=function(e,t,r,n){for(var i=0;i{"use strict";PQe.exports=LQe()});var Per=ye((ywr,RQe)=>{var DQe=uye();DQe.register([f1e(),$1e(),uxe(),Cxe(),Vxe(),Obe(),Jbe(),q2e(),hwe(),Zwe(),D3e(),sEe(),YEe(),BCe(),M6e(),rLe(),SLe(),QPe(),yIe(),FIe(),XIe(),l8e(),T8e(),B8e(),hRe(),IRe(),ZOe(),ZBe(),KNe(),bUe(),LVe(),jVe(),pHe(),MGe(),UGe(),fje(),_We(),HWe(),AZe(),WXe(),pYe(),FYe(),lKe(),wKe(),xJe(),OJe(),i$e(),q$e(),G$e(),K$e(),Q$e(),rQe(),IQe()]);RQe.exports=DQe});return Per();})(); +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ +/*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */ +/*! + * pad-left + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT license. + */ +/*! + * repeat-string + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! Bundled license information: + +native-promise-only/lib/npo.src.js: + (*! Native Promise Only + v0.8.1 (c) Kyle Simpson + MIT License: http://getify.mit-license.org + *) + +polybooljs/index.js: + (* + * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc + * @license MIT + * @preserve Project Home: https://github.com/voidqk/polybooljs + *) + +ieee754/index.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) + +buffer/index.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) + +safe-buffer/index.js: + (*! safe-buffer. MIT License. Feross Aboukhadijeh *) + +assert/build/internal/util/comparisons.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) + +object-assign/index.js: + (* + object-assign + (c) Sindre Sorhus + @license MIT + *) + +maplibre-gl/dist/maplibre-gl.js: + (** + * MapLibre GL JS + * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.7.1/LICENSE.txt + *) +*/ + +window.Plotly = Plotly; +return Plotly; +})); \ No newline at end of file diff --git a/packages/python/plotly/plotly/package_data/templates/ggplot2.json b/packages/python/plotly/plotly/package_data/templates/ggplot2.json index 26da8c9af97..b4e174e8b39 100644 --- a/packages/python/plotly/plotly/package_data/templates/ggplot2.json +++ b/packages/python/plotly/plotly/package_data/templates/ggplot2.json @@ -1 +1 @@ -{"layout":{"autotypenumbers":"strict","colorway":["#F8766D","#A3A500","#00BF7D","#00B0F6","#E76BF3"],"font":{"color":"rgb(51,51,51)"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"rgb(237,237,237)","polar":{"bgcolor":"rgb(237,237,237)","angularaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"},"radialaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"}},"ternary":{"bgcolor":"rgb(237,237,237)","aaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"},"baxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"},"caxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"}},"coloraxis":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}},"colorscale":{"sequential":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]],"sequentialminus":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]},"xaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","title":{"standoff":15},"zerolinecolor":"white","automargin":true},"yaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","title":{"standoff":15},"zerolinecolor":"white","automargin":true},"scene":{"xaxis":{"backgroundcolor":"rgb(237,237,237)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"rgb(237,237,237)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"rgb(237,237,237)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"fillcolor":"black","line":{"width":0},"opacity":0.3},"annotationdefaults":{"arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"rgb(237,237,237)","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"heatmapgl":[{"type":"heatmapgl","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"bar":[{"error_x":{"color":"rgb(51,51,51)"},"error_y":{"color":"rgb(51,51,51)"},"marker":{"line":{"color":"rgb(237,237,237)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}},"marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"carpet":[{"aaxis":{"endlinecolor":"rgb(51,51,51)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(51,51,51)"},"baxis":{"endlinecolor":"rgb(51,51,51)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(51,51,51)"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"rgb(237,237,237)"},"line":{"color":"white"}},"header":{"fill":{"color":"rgb(217,217,217)"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"rgb(237,237,237)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file +{"layout":{"autotypenumbers":"strict","colorway":["#F8766D","#A3A500","#00BF7D","#00B0F6","#E76BF3"],"font":{"color":"rgb(51,51,51)"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"rgb(237,237,237)","polar":{"bgcolor":"rgb(237,237,237)","angularaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"},"radialaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"}},"ternary":{"bgcolor":"rgb(237,237,237)","aaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"},"baxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"},"caxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside"}},"coloraxis":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}},"colorscale":{"sequential":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]],"sequentialminus":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]},"xaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","title":{"standoff":15},"zerolinecolor":"white","automargin":true},"yaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","title":{"standoff":15},"zerolinecolor":"white","automargin":true},"scene":{"xaxis":{"backgroundcolor":"rgb(237,237,237)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"rgb(237,237,237)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"rgb(237,237,237)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"tickcolor":"rgb(51,51,51)","ticks":"outside","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"fillcolor":"black","line":{"width":0},"opacity":0.3},"annotationdefaults":{"arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"rgb(237,237,237)","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"},"colorscale":[[0,"rgb(20,44,66)"],[1,"rgb(90,179,244)"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"bar":[{"error_x":{"color":"rgb(51,51,51)"},"error_y":{"color":"rgb(51,51,51)"},"marker":{"line":{"color":"rgb(237,237,237)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}},"marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(237,237,237)","ticklen":6,"ticks":"inside"}}}],"carpet":[{"aaxis":{"endlinecolor":"rgb(51,51,51)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(51,51,51)"},"baxis":{"endlinecolor":"rgb(51,51,51)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(51,51,51)"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"rgb(237,237,237)"},"line":{"color":"white"}},"header":{"fill":{"color":"rgb(217,217,217)"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"rgb(237,237,237)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file diff --git a/packages/python/plotly/plotly/package_data/templates/plotly.json b/packages/python/plotly/plotly/package_data/templates/plotly.json index 539ede45115..9b1567afb8c 100644 --- a/packages/python/plotly/plotly/package_data/templates/plotly.json +++ b/packages/python/plotly/plotly/package_data/templates/plotly.json @@ -1 +1 @@ -{"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmapgl":[{"type":"heatmapgl","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file +{"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file diff --git a/packages/python/plotly/plotly/package_data/templates/plotly_dark.json b/packages/python/plotly/plotly/package_data/templates/plotly_dark.json index 0c8452b8085..f0beb901963 100644 --- a/packages/python/plotly/plotly/package_data/templates/plotly_dark.json +++ b/packages/python/plotly/plotly/package_data/templates/plotly_dark.json @@ -1 +1 @@ -{"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#f2f5fa"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"rgb(17,17,17)","plot_bgcolor":"rgb(17,17,17)","polar":{"bgcolor":"rgb(17,17,17)","angularaxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""},"radialaxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""}},"ternary":{"bgcolor":"rgb(17,17,17)","aaxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""},"baxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""},"caxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"#283442","linecolor":"#506784","ticks":"","title":{"standoff":15},"zerolinecolor":"#283442","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"#283442","linecolor":"#506784","ticks":"","title":{"standoff":15},"zerolinecolor":"#283442","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"rgb(17,17,17)","gridcolor":"#506784","linecolor":"#506784","showbackground":true,"ticks":"","zerolinecolor":"#C8D4E3","gridwidth":2},"yaxis":{"backgroundcolor":"rgb(17,17,17)","gridcolor":"#506784","linecolor":"#506784","showbackground":true,"ticks":"","zerolinecolor":"#C8D4E3","gridwidth":2},"zaxis":{"backgroundcolor":"rgb(17,17,17)","gridcolor":"#506784","linecolor":"#506784","showbackground":true,"ticks":"","zerolinecolor":"#C8D4E3","gridwidth":2}},"shapedefaults":{"line":{"color":"#f2f5fa"}},"annotationdefaults":{"arrowcolor":"#f2f5fa","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"rgb(17,17,17)","landcolor":"rgb(17,17,17)","subunitcolor":"#506784","showland":true,"showlakes":true,"lakecolor":"rgb(17,17,17)"},"title":{"x":0.05},"updatemenudefaults":{"bgcolor":"#506784","borderwidth":0},"sliderdefaults":{"bgcolor":"#C8D4E3","borderwidth":1,"bordercolor":"rgb(17,17,17)","tickwidth":0},"mapbox":{"style":"dark"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmapgl":[{"type":"heatmapgl","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"marker":{"line":{"color":"#283442"}},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#f2f5fa"},"error_y":{"color":"#f2f5fa"},"marker":{"line":{"color":"rgb(17,17,17)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"marker":{"line":{"color":"#283442"}},"type":"scattergl"}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#A2B1C6","gridcolor":"#506784","linecolor":"#506784","minorgridcolor":"#506784","startlinecolor":"#A2B1C6"},"baxis":{"endlinecolor":"#A2B1C6","gridcolor":"#506784","linecolor":"#506784","minorgridcolor":"#506784","startlinecolor":"#A2B1C6"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#506784"},"line":{"color":"rgb(17,17,17)"}},"header":{"fill":{"color":"#2a3f5f"},"line":{"color":"rgb(17,17,17)"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"rgb(17,17,17)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file +{"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#f2f5fa"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"rgb(17,17,17)","plot_bgcolor":"rgb(17,17,17)","polar":{"bgcolor":"rgb(17,17,17)","angularaxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""},"radialaxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""}},"ternary":{"bgcolor":"rgb(17,17,17)","aaxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""},"baxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""},"caxis":{"gridcolor":"#506784","linecolor":"#506784","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"#283442","linecolor":"#506784","ticks":"","title":{"standoff":15},"zerolinecolor":"#283442","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"#283442","linecolor":"#506784","ticks":"","title":{"standoff":15},"zerolinecolor":"#283442","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"rgb(17,17,17)","gridcolor":"#506784","linecolor":"#506784","showbackground":true,"ticks":"","zerolinecolor":"#C8D4E3","gridwidth":2},"yaxis":{"backgroundcolor":"rgb(17,17,17)","gridcolor":"#506784","linecolor":"#506784","showbackground":true,"ticks":"","zerolinecolor":"#C8D4E3","gridwidth":2},"zaxis":{"backgroundcolor":"rgb(17,17,17)","gridcolor":"#506784","linecolor":"#506784","showbackground":true,"ticks":"","zerolinecolor":"#C8D4E3","gridwidth":2}},"shapedefaults":{"line":{"color":"#f2f5fa"}},"annotationdefaults":{"arrowcolor":"#f2f5fa","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"rgb(17,17,17)","landcolor":"rgb(17,17,17)","subunitcolor":"#506784","showland":true,"showlakes":true,"lakecolor":"rgb(17,17,17)"},"title":{"x":0.05},"updatemenudefaults":{"bgcolor":"#506784","borderwidth":0},"sliderdefaults":{"bgcolor":"#C8D4E3","borderwidth":1,"bordercolor":"rgb(17,17,17)","tickwidth":0},"mapbox":{"style":"dark"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"marker":{"line":{"color":"#283442"}},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#f2f5fa"},"error_y":{"color":"#f2f5fa"},"marker":{"line":{"color":"rgb(17,17,17)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"marker":{"line":{"color":"#283442"}},"type":"scattergl"}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#A2B1C6","gridcolor":"#506784","linecolor":"#506784","minorgridcolor":"#506784","startlinecolor":"#A2B1C6"},"baxis":{"endlinecolor":"#A2B1C6","gridcolor":"#506784","linecolor":"#506784","minorgridcolor":"#506784","startlinecolor":"#A2B1C6"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#506784"},"line":{"color":"rgb(17,17,17)"}},"header":{"fill":{"color":"#2a3f5f"},"line":{"color":"rgb(17,17,17)"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"rgb(17,17,17)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file diff --git a/packages/python/plotly/plotly/package_data/templates/plotly_white.json b/packages/python/plotly/plotly/package_data/templates/plotly_white.json index 6bd1d316263..ef2351e4010 100644 --- a/packages/python/plotly/plotly/package_data/templates/plotly_white.json +++ b/packages/python/plotly/plotly/package_data/templates/plotly_white.json @@ -1 +1 @@ -{"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"white","polar":{"bgcolor":"white","angularaxis":{"gridcolor":"#EBF0F8","linecolor":"#EBF0F8","ticks":""},"radialaxis":{"gridcolor":"#EBF0F8","linecolor":"#EBF0F8","ticks":""}},"ternary":{"bgcolor":"white","aaxis":{"gridcolor":"#DFE8F3","linecolor":"#A2B1C6","ticks":""},"baxis":{"gridcolor":"#DFE8F3","linecolor":"#A2B1C6","ticks":""},"caxis":{"gridcolor":"#DFE8F3","linecolor":"#A2B1C6","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"#EBF0F8","linecolor":"#EBF0F8","ticks":"","title":{"standoff":15},"zerolinecolor":"#EBF0F8","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"#EBF0F8","linecolor":"#EBF0F8","ticks":"","title":{"standoff":15},"zerolinecolor":"#EBF0F8","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"white","gridcolor":"#DFE8F3","linecolor":"#EBF0F8","showbackground":true,"ticks":"","zerolinecolor":"#EBF0F8","gridwidth":2},"yaxis":{"backgroundcolor":"white","gridcolor":"#DFE8F3","linecolor":"#EBF0F8","showbackground":true,"ticks":"","zerolinecolor":"#EBF0F8","gridwidth":2},"zaxis":{"backgroundcolor":"white","gridcolor":"#DFE8F3","linecolor":"#EBF0F8","showbackground":true,"ticks":"","zerolinecolor":"#EBF0F8","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"white","subunitcolor":"#C8D4E3","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmapgl":[{"type":"heatmapgl","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"#C8D4E3","linecolor":"#C8D4E3","minorgridcolor":"#C8D4E3","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"#C8D4E3","linecolor":"#C8D4E3","minorgridcolor":"#C8D4E3","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file +{"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"white","polar":{"bgcolor":"white","angularaxis":{"gridcolor":"#EBF0F8","linecolor":"#EBF0F8","ticks":""},"radialaxis":{"gridcolor":"#EBF0F8","linecolor":"#EBF0F8","ticks":""}},"ternary":{"bgcolor":"white","aaxis":{"gridcolor":"#DFE8F3","linecolor":"#A2B1C6","ticks":""},"baxis":{"gridcolor":"#DFE8F3","linecolor":"#A2B1C6","ticks":""},"caxis":{"gridcolor":"#DFE8F3","linecolor":"#A2B1C6","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"#EBF0F8","linecolor":"#EBF0F8","ticks":"","title":{"standoff":15},"zerolinecolor":"#EBF0F8","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"#EBF0F8","linecolor":"#EBF0F8","ticks":"","title":{"standoff":15},"zerolinecolor":"#EBF0F8","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"white","gridcolor":"#DFE8F3","linecolor":"#EBF0F8","showbackground":true,"ticks":"","zerolinecolor":"#EBF0F8","gridwidth":2},"yaxis":{"backgroundcolor":"white","gridcolor":"#DFE8F3","linecolor":"#EBF0F8","showbackground":true,"ticks":"","zerolinecolor":"#EBF0F8","gridwidth":2},"zaxis":{"backgroundcolor":"white","gridcolor":"#DFE8F3","linecolor":"#EBF0F8","showbackground":true,"ticks":"","zerolinecolor":"#EBF0F8","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"white","subunitcolor":"#C8D4E3","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"#C8D4E3","linecolor":"#C8D4E3","minorgridcolor":"#C8D4E3","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"#C8D4E3","linecolor":"#C8D4E3","minorgridcolor":"#C8D4E3","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file diff --git a/packages/python/plotly/plotly/package_data/templates/seaborn.json b/packages/python/plotly/plotly/package_data/templates/seaborn.json index d5b59c41fc4..0f4ba913fc2 100644 --- a/packages/python/plotly/plotly/package_data/templates/seaborn.json +++ b/packages/python/plotly/plotly/package_data/templates/seaborn.json @@ -1 +1 @@ -{"layout":{"autotypenumbers":"strict","colorway":["rgb(76,114,176)","rgb(221,132,82)","rgb(85,168,104)","rgb(196,78,82)","rgb(129,114,179)","rgb(147,120,96)","rgb(218,139,195)","rgb(140,140,140)","rgb(204,185,116)","rgb(100,181,205)"],"font":{"color":"rgb(36,36,36)"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"rgb(234,234,242)","polar":{"bgcolor":"rgb(234,234,242)","angularaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""}},"ternary":{"bgcolor":"rgb(234,234,242)","aaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}},"colorscale":{"sequential":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]],"sequentialminus":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]},"xaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true},"yaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true},"scene":{"xaxis":{"backgroundcolor":"rgb(234,234,242)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"rgb(234,234,242)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"rgb(234,234,242)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"fillcolor":"rgb(67,103,167)","line":{"width":0},"opacity":0.5},"annotationdefaults":{"arrowcolor":"rgb(67,103,167)"},"geo":{"bgcolor":"white","landcolor":"rgb(234,234,242)","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"heatmapgl":[{"type":"heatmapgl","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"bar":[{"error_x":{"color":"rgb(36,36,36)"},"error_y":{"color":"rgb(36,36,36)"},"marker":{"line":{"color":"rgb(234,234,242)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}},"marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"carpet":[{"aaxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"baxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"rgb(231,231,240)"},"line":{"color":"white"}},"header":{"fill":{"color":"rgb(183,183,191)"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"rgb(234,234,242)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file +{"layout":{"autotypenumbers":"strict","colorway":["rgb(76,114,176)","rgb(221,132,82)","rgb(85,168,104)","rgb(196,78,82)","rgb(129,114,179)","rgb(147,120,96)","rgb(218,139,195)","rgb(140,140,140)","rgb(204,185,116)","rgb(100,181,205)"],"font":{"color":"rgb(36,36,36)"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"rgb(234,234,242)","polar":{"bgcolor":"rgb(234,234,242)","angularaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""}},"ternary":{"bgcolor":"rgb(234,234,242)","aaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}},"colorscale":{"sequential":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]],"sequentialminus":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]},"xaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true},"yaxis":{"gridcolor":"white","linecolor":"white","showgrid":true,"ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true},"scene":{"xaxis":{"backgroundcolor":"rgb(234,234,242)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"rgb(234,234,242)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"rgb(234,234,242)","gridcolor":"white","linecolor":"white","showbackground":true,"showgrid":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"fillcolor":"rgb(67,103,167)","line":{"width":0},"opacity":0.5},"annotationdefaults":{"arrowcolor":"rgb(67,103,167)"},"geo":{"bgcolor":"white","landcolor":"rgb(234,234,242)","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2},"colorscale":[[0.0,"rgb(2,4,25)"],[0.06274509803921569,"rgb(24,15,41)"],[0.12549019607843137,"rgb(47,23,57)"],[0.18823529411764706,"rgb(71,28,72)"],[0.25098039215686274,"rgb(97,30,82)"],[0.3137254901960784,"rgb(123,30,89)"],[0.3764705882352941,"rgb(150,27,91)"],[0.4392156862745098,"rgb(177,22,88)"],[0.5019607843137255,"rgb(203,26,79)"],[0.5647058823529412,"rgb(223,47,67)"],[0.6274509803921569,"rgb(236,76,61)"],[0.6901960784313725,"rgb(242,107,73)"],[0.7529411764705882,"rgb(244,135,95)"],[0.8156862745098039,"rgb(245,162,122)"],[0.8784313725490196,"rgb(246,188,153)"],[0.9411764705882353,"rgb(247,212,187)"],[1.0,"rgb(250,234,220)"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"bar":[{"error_x":{"color":"rgb(36,36,36)"},"error_y":{"color":"rgb(36,36,36)"},"marker":{"line":{"color":"rgb(234,234,242)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}},"marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"tickcolor":"rgb(36,36,36)","ticklen":8,"ticks":"outside","tickwidth":2}}}],"carpet":[{"aaxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"baxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"rgb(231,231,240)"},"line":{"color":"white"}},"header":{"fill":{"color":"rgb(183,183,191)"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"rgb(234,234,242)","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file diff --git a/packages/python/plotly/plotly/package_data/templates/simple_white.json b/packages/python/plotly/plotly/package_data/templates/simple_white.json index db28e950d3b..1edcff2ed45 100644 --- a/packages/python/plotly/plotly/package_data/templates/simple_white.json +++ b/packages/python/plotly/plotly/package_data/templates/simple_white.json @@ -1 +1 @@ -{"layout":{"autotypenumbers":"strict","colorway":["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#BCBD22","#17BECF"],"font":{"color":"rgb(36,36,36)"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"white","polar":{"bgcolor":"white","angularaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"radialaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"}},"ternary":{"bgcolor":"white","aaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"baxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"caxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"}},"coloraxis":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"colorscale":{"sequential":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"sequentialminus":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"diverging":[[0.0,"rgb(103,0,31)"],[0.1,"rgb(178,24,43)"],[0.2,"rgb(214,96,77)"],[0.3,"rgb(244,165,130)"],[0.4,"rgb(253,219,199)"],[0.5,"rgb(247,247,247)"],[0.6,"rgb(209,229,240)"],[0.7,"rgb(146,197,222)"],[0.8,"rgb(67,147,195)"],[0.9,"rgb(33,102,172)"],[1.0,"rgb(5,48,97)"]]},"xaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside","title":{"standoff":15},"zerolinecolor":"rgb(36,36,36)","automargin":true,"zeroline":false},"yaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside","title":{"standoff":15},"zerolinecolor":"rgb(36,36,36)","automargin":true,"zeroline":false},"scene":{"xaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zerolinecolor":"rgb(36,36,36)","gridwidth":2,"zeroline":false},"yaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zerolinecolor":"rgb(36,36,36)","gridwidth":2,"zeroline":false},"zaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zerolinecolor":"rgb(36,36,36)","gridwidth":2,"zeroline":false}},"shapedefaults":{"fillcolor":"black","line":{"width":0},"opacity":0.3},"annotationdefaults":{"arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"white","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"heatmapgl":[{"type":"heatmapgl","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"bar":[{"error_x":{"color":"rgb(36,36,36)"},"error_y":{"color":"rgb(36,36,36)"},"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"histogram":[{"marker":{"line":{"color":"white","width":0.6}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"carpet":[{"aaxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"baxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"rgb(237,237,237)"},"line":{"color":"white"}},"header":{"fill":{"color":"rgb(217,217,217)"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file +{"layout":{"autotypenumbers":"strict","colorway":["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#BCBD22","#17BECF"],"font":{"color":"rgb(36,36,36)"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"white","polar":{"bgcolor":"white","angularaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"radialaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"}},"ternary":{"bgcolor":"white","aaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"baxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"},"caxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside"}},"coloraxis":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"colorscale":{"sequential":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"sequentialminus":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]],"diverging":[[0.0,"rgb(103,0,31)"],[0.1,"rgb(178,24,43)"],[0.2,"rgb(214,96,77)"],[0.3,"rgb(244,165,130)"],[0.4,"rgb(253,219,199)"],[0.5,"rgb(247,247,247)"],[0.6,"rgb(209,229,240)"],[0.7,"rgb(146,197,222)"],[0.8,"rgb(67,147,195)"],[0.9,"rgb(33,102,172)"],[1.0,"rgb(5,48,97)"]]},"xaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside","title":{"standoff":15},"zerolinecolor":"rgb(36,36,36)","automargin":true,"zeroline":false},"yaxis":{"gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showgrid":false,"showline":true,"ticks":"outside","title":{"standoff":15},"zerolinecolor":"rgb(36,36,36)","automargin":true,"zeroline":false},"scene":{"xaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zerolinecolor":"rgb(36,36,36)","gridwidth":2,"zeroline":false},"yaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zerolinecolor":"rgb(36,36,36)","gridwidth":2,"zeroline":false},"zaxis":{"backgroundcolor":"white","gridcolor":"rgb(232,232,232)","linecolor":"rgb(36,36,36)","showbackground":true,"showgrid":false,"showline":true,"ticks":"outside","zerolinecolor":"rgb(36,36,36)","gridwidth":2,"zeroline":false}},"shapedefaults":{"fillcolor":"black","line":{"width":0},"opacity":0.3},"annotationdefaults":{"arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"white","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}},"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"},"colorscale":[[0.0,"#440154"],[0.1111111111111111,"#482878"],[0.2222222222222222,"#3e4989"],[0.3333333333333333,"#31688e"],[0.4444444444444444,"#26828e"],[0.5555555555555556,"#1f9e89"],[0.6666666666666666,"#35b779"],[0.7777777777777778,"#6ece58"],[0.8888888888888888,"#b5de2b"],[1.0,"#fde725"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"bar":[{"error_x":{"color":"rgb(36,36,36)"},"error_y":{"color":"rgb(36,36,36)"},"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"histogram":[{"marker":{"line":{"color":"white","width":0.6}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}},"marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":1,"tickcolor":"rgb(36,36,36)","ticks":"outside"}}}],"carpet":[{"aaxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"baxis":{"endlinecolor":"rgb(36,36,36)","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"rgb(36,36,36)"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"rgb(237,237,237)"},"line":{"color":"white"}},"header":{"fill":{"color":"rgb(217,217,217)"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"white","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]}} \ No newline at end of file diff --git a/packages/python/plotly/plotly/tests/test_core/test_figure_messages/test_on_change.py b/packages/python/plotly/plotly/tests/test_core/test_figure_messages/test_on_change.py index 8e2ce3426df..c013783193b 100644 --- a/packages/python/plotly/plotly/tests/test_core/test_figure_messages/test_on_change.py +++ b/packages/python/plotly/plotly/tests/test_core/test_figure_messages/test_on_change.py @@ -43,7 +43,7 @@ def test_validate_property_path_nested(self): def test_validate_property_path_nested(self): fn = MagicMock() with pytest.raises(ValueError): - self.figure.layout.on_change(fn, "xaxis.titlefont.bogus") + self.figure.layout.on_change(fn, "xaxis.title_font.bogus") # Python triggered changes # ------------------------ @@ -92,25 +92,25 @@ def test_multi_prop_callback_on_assignment_layout(self): fn_range.assert_called_once_with(self.figure.layout, (-10, 10), None) def test_multi_prop_callback_on_assignment_layout_nested(self): - fn_titlefont = MagicMock() + fn_title_font = MagicMock() fn_xaxis = MagicMock() fn_layout = MagicMock() - # Register callback on change to family property under titlefont - self.figure.layout.xaxis.titlefont.on_change(fn_titlefont, "family") + # Register callback on change to family property under title_font + self.figure.layout.xaxis.title.font.on_change(fn_title_font, "family") - # Register callback on the range and titlefont.family properties + # Register callback on the range and title_font.family properties # under xaxis self.figure.layout.xaxis.on_change(fn_xaxis, "range", "title.font.family") # Register callback on xaxis object itself self.figure.layout.on_change(fn_layout, "xaxis") - # Assign a new xaxis range and titlefont.family + # Assign a new xaxis range and title.font.family self.figure.layout.xaxis.title.font.family = "courier" # Check that all callbacks were executed once - fn_titlefont.assert_called_once_with( + fn_title_font.assert_called_once_with( self.figure.layout.xaxis.title.font, "courier" ) diff --git a/packages/python/plotly/plotly/tests/test_core/test_graph_objs/test_graph_objs.py b/packages/python/plotly/plotly/tests/test_core/test_graph_objs/test_graph_objs.py index bec7d01feee..8c5f62c7534 100644 --- a/packages/python/plotly/plotly/tests/test_core/test_graph_objs/test_graph_objs.py +++ b/packages/python/plotly/plotly/tests/test_core/test_graph_objs/test_graph_objs.py @@ -87,8 +87,8 @@ def test_title_as_string_layout(self): self.assertEqual(obj.title.text, "A title 2") self.assertEqual(obj.to_plotly_json(), {"title": {"text": "A title 2"}}) - # Update titlefont - obj.update(titlefont={"size": 23}) + # Update title_font + obj.update(title_font={"size": 23}) self.assertEqual(obj.title.font.size, 23) self.assertEqual( obj.to_plotly_json(), @@ -110,39 +110,14 @@ def test_title_as_string_layout(self): obj.to_plotly_json(), {"type": "pie", "title": {"text": "A title 2"}} ) - # Update titlefont - obj.update(titlefont={"size": 23}) + # Update title_font + obj.update(title_font={"size": 23}) self.assertEqual(obj.title.font.size, 23) self.assertEqual( obj.to_plotly_json(), {"type": "pie", "title": {"text": "A title 2", "font": {"size": 23}}}, ) - def test_legacy_title_props_remapped(self): - - # plain Layout - obj = go.Layout() - self.assertIs(obj.titlefont, obj.title.font) - self.assertIsNone(obj.title.font.family) - - # Set titlefont in constructor - obj = go.Layout(titlefont={"family": "Courier"}) - self.assertIs(obj.titlefont, obj.title.font) - self.assertEqual(obj.titlefont.family, "Courier") - self.assertEqual(obj.title.font.family, "Courier") - - # Property assignment - obj = go.Layout() - obj.titlefont.family = "Courier" - self.assertIs(obj.titlefont, obj.title.font) - self.assertEqual(obj["titlefont.family"], "Courier") - self.assertEqual(obj.title.font.family, "Courier") - - # In/Iter - self.assertIn("titlefont", obj) - self.assertIn("titlefont.family", obj) - self.assertIn("titlefont", iter(obj)) - class TestPop(TestCase): def setUp(self): diff --git a/packages/python/plotly/plotly/tests/test_core/test_graph_objs/test_property_assignment.py b/packages/python/plotly/plotly/tests/test_core/test_graph_objs/test_property_assignment.py index 59c12f67b85..3b5b94dd2fd 100644 --- a/packages/python/plotly/plotly/tests/test_core/test_graph_objs/test_property_assignment.py +++ b/packages/python/plotly/plotly/tests/test_core/test_graph_objs/test_property_assignment.py @@ -51,9 +51,9 @@ def test_toplevel_item(self): assert d1 == d2 def test_nested_attr(self): - assert self.scatter.marker.colorbar.titlefont.family is None - self.scatter.marker.colorbar.titlefont.family = "courier" - assert self.scatter.marker.colorbar.titlefont.family == "courier" + assert self.scatter.marker.colorbar.title.font.family is None + self.scatter.marker.colorbar.title.font.family = "courier" + assert self.scatter.marker.colorbar.title.font.family == "courier" d1, d2 = strip_dict_params(self.scatter, self.expected_nested) assert d1 == d2 diff --git a/packages/python/plotly/plotly/validators/__init__.py b/packages/python/plotly/plotly/validators/__init__.py index 528144dc2bd..b1e82581049 100644 --- a/packages/python/plotly/plotly/validators/__init__.py +++ b/packages/python/plotly/plotly/validators/__init__.py @@ -23,7 +23,6 @@ from ._scatter3d import Scatter3DValidator from ._scatter import ScatterValidator from ._sankey import SankeyValidator - from ._pointcloud import PointcloudValidator from ._pie import PieValidator from ._parcoords import ParcoordsValidator from ._parcats import ParcatsValidator @@ -36,7 +35,6 @@ from ._histogram2dcontour import Histogram2DcontourValidator from ._histogram2d import Histogram2DValidator from ._histogram import HistogramValidator - from ._heatmapgl import HeatmapglValidator from ._heatmap import HeatmapValidator from ._funnelarea import FunnelareaValidator from ._funnel import FunnelValidator @@ -84,7 +82,6 @@ "._scatter3d.Scatter3DValidator", "._scatter.ScatterValidator", "._sankey.SankeyValidator", - "._pointcloud.PointcloudValidator", "._pie.PieValidator", "._parcoords.ParcoordsValidator", "._parcats.ParcatsValidator", @@ -97,7 +94,6 @@ "._histogram2dcontour.Histogram2DcontourValidator", "._histogram2d.Histogram2DValidator", "._histogram.HistogramValidator", - "._heatmapgl.HeatmapglValidator", "._heatmap.HeatmapValidator", "._funnelarea.FunnelareaValidator", "._funnel.FunnelValidator", diff --git a/packages/python/plotly/plotly/validators/_data.py b/packages/python/plotly/plotly/validators/_data.py index d7f33646b4d..19c1dc1f044 100644 --- a/packages/python/plotly/plotly/validators/_data.py +++ b/packages/python/plotly/plotly/validators/_data.py @@ -22,7 +22,6 @@ def __init__(self, plotly_name="data", parent_name="", **kwargs): "funnel": "Funnel", "funnelarea": "Funnelarea", "heatmap": "Heatmap", - "heatmapgl": "Heatmapgl", "histogram": "Histogram", "histogram2d": "Histogram2d", "histogram2dcontour": "Histogram2dContour", @@ -35,7 +34,6 @@ def __init__(self, plotly_name="data", parent_name="", **kwargs): "parcats": "Parcats", "parcoords": "Parcoords", "pie": "Pie", - "pointcloud": "Pointcloud", "sankey": "Sankey", "scatter": "Scatter", "scatter3d": "Scatter3d", diff --git a/packages/python/plotly/plotly/validators/_heatmapgl.py b/packages/python/plotly/plotly/validators/_heatmapgl.py deleted file mode 100644 index 44b84a092d7..00000000000 --- a/packages/python/plotly/plotly/validators/_heatmapgl.py +++ /dev/null @@ -1,253 +0,0 @@ -import _plotly_utils.basevalidators - - -class HeatmapglValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__(self, plotly_name="heatmapgl", parent_name="", **kwargs): - super(HeatmapglValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Heatmapgl"), - data_docs=kwargs.pop( - "data_docs", - """ - autocolorscale - Determines whether the colorscale is a default - palette (`autocolorscale: true`) or the palette - determined by `colorscale`. In case - `colorscale` is unspecified or `autocolorscale` - is true, the default palette will be chosen - according to whether numbers in the `color` - array are all positive, all negative or mixed. - coloraxis - Sets a reference to a shared color axis. - References to these shared color axes are - "coloraxis", "coloraxis2", "coloraxis3", etc. - Settings for these shared color axes are set in - the layout, under `layout.coloraxis`, - `layout.coloraxis2`, etc. Note that multiple - color scales can be linked to the same color - axis. - colorbar - :class:`plotly.graph_objects.heatmapgl.ColorBar - ` instance or dict with compatible properties - colorscale - Sets the colorscale. The colorscale must be an - array containing arrays mapping a normalized - value to an rgb, rgba, hex, hsl, hsv, or named - color string. At minimum, a mapping for the - lowest (0) and highest (1) values are required. - For example, `[[0, 'rgb(0,0,255)'], [1, - 'rgb(255,0,0)']]`. To control the bounds of the - colorscale in color space, use `zmin` and - `zmax`. Alternatively, `colorscale` may be a - palette name string of the following list: Blac - kbody,Bluered,Blues,Cividis,Earth,Electric,Gree - ns,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,R - eds,Viridis,YlGnBu,YlOrRd. - customdata - Assigns extra data each datum. This may be - useful when listening to hover, click and - selection events. Note that, "scatter" traces - also appends customdata items in the markers - DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud - for `customdata`. - dx - Sets the x coordinate step. See `x0` for more - info. - dy - Sets the y coordinate step. See `y0` for more - info. - hoverinfo - Determines which trace information appear on - hover. If `none` or `skip` are set, no - information is displayed upon hovering. But, if - `none` is set, click and hover events are still - fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud - for `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.heatmapgl.Hoverlab - el` instance or dict with compatible properties - ids - Assigns id labels to each datum. These ids for - object constancy of data points during - animation. Should be an array of strings, not - numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud - for `ids`. - legend - Sets the reference to a legend to show this - trace in. References to these legends are - "legend", "legend2", "legend3", etc. Settings - for these legends are set in the layout, under - `layout.legend`, `layout.legend2`, etc. - legendgrouptitle - :class:`plotly.graph_objects.heatmapgl.Legendgr - ouptitle` instance or dict with compatible - properties - legendrank - Sets the legend rank for this trace. Items and - groups with smaller ranks are presented on - top/left side while with "reversed" - `legend.traceorder` they are on bottom/right - side. The default legendrank is 1000, so that - you can use ranks less than 1000 to place - certain items before all unranked items, and - ranks greater than 1000 to go after all - unranked items. When having unranked or equal - rank items shapes would be displayed after - traces i.e. according to their order in data - and layout. - legendwidth - Sets the width (in px or fraction) of the - legend for this trace. - meta - Assigns extra meta information associated with - this trace that can be used in various text - attributes. Attributes such as trace `name`, - graph, axis and colorbar `title.text`, - annotation `text` `rangeselector`, - `updatemenues` and `sliders` `label` text all - support `meta`. To access the trace `meta` - values in an attribute in the same trace, - simply use `%{meta[i]}` where `i` is the index - or key of the `meta` item in question. To - access trace `meta` in layout attributes, use - `%{data[n[.meta[i]}` where `i` is the index or - key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud - for `meta`. - name - Sets the trace name. The trace name appears as - the legend item and on hover. - opacity - Sets the opacity of the trace. - reversescale - Reverses the color mapping if true. If true, - `zmin` will correspond to the last color in the - array and `zmax` will correspond to the first - color. - showscale - Determines whether or not a colorbar is - displayed for this trace. - stream - :class:`plotly.graph_objects.heatmapgl.Stream` - instance or dict with compatible properties - text - Sets the text elements associated with each z - value. - textsrc - Sets the source reference on Chart Studio Cloud - for `text`. - transpose - Transposes the z data. - uid - Assign an id to this trace, Use this to provide - object constancy between traces during - animations and transitions. - uirevision - Controls persistence of some user-driven - changes to the trace: `constraintrange` in - `parcoords` traces, as well as some `editable: - true` modifications such as `name` and - `colorbar.title`. Defaults to - `layout.uirevision`. Note that other user- - driven trace attribute changes are controlled - by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and - `colorbar.(x|y)` (accessible with `config: - {editable: true}`) is controlled by - `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on - trace index if no `uid` is provided. So if your - app can add/remove traces before the end of the - `data` array, such that the same trace has a - different index, you can still preserve user- - driven changes if you give each trace a `uid` - that stays with it as it moves. - visible - Determines whether or not this trace is - visible. If "legendonly", the trace is not - drawn, but can appear as a legend item - (provided that the legend itself is visible). - x - Sets the x coordinates. - x0 - Alternate to `x`. Builds a linear space of x - coordinates. Use with `dx` where `x0` is the - starting coordinate and `dx` the step. - xaxis - Sets a reference between this trace's x - coordinates and a 2D cartesian x axis. If "x" - (the default value), the x coordinates refer to - `layout.xaxis`. If "x2", the x coordinates - refer to `layout.xaxis2`, and so on. - xsrc - Sets the source reference on Chart Studio Cloud - for `x`. - xtype - If "array", the heatmap's x coordinates are - given by "x" (the default behavior when `x` is - provided). If "scaled", the heatmap's x - coordinates are given by "x0" and "dx" (the - default behavior when `x` is not provided). - y - Sets the y coordinates. - y0 - Alternate to `y`. Builds a linear space of y - coordinates. Use with `dy` where `y0` is the - starting coordinate and `dy` the step. - yaxis - Sets a reference between this trace's y - coordinates and a 2D cartesian y axis. If "y" - (the default value), the y coordinates refer to - `layout.yaxis`. If "y2", the y coordinates - refer to `layout.yaxis2`, and so on. - ysrc - Sets the source reference on Chart Studio Cloud - for `y`. - ytype - If "array", the heatmap's y coordinates are - given by "y" (the default behavior when `y` is - provided) If "scaled", the heatmap's y - coordinates are given by "y0" and "dy" (the - default behavior when `y` is not provided) - z - Sets the z data. - zauto - Determines whether or not the color domain is - computed with respect to the input data (here - in `z`) or the bounds set in `zmin` and `zmax` - Defaults to `false` when `zmin` and `zmax` are - set by the user. - zmax - Sets the upper bound of the color domain. Value - should have the same units as in `z` and if - set, `zmin` must be set as well. - zmid - Sets the mid-point of the color domain by - scaling `zmin` and/or `zmax` to be equidistant - to this point. Value should have the same units - as in `z`. Has no effect when `zauto` is - `false`. - zmin - Sets the lower bound of the color domain. Value - should have the same units as in `z` and if - set, `zmax` must be set as well. - zsmooth - Picks a smoothing algorithm use to smooth `z` - data. - zsrc - Sets the source reference on Chart Studio Cloud - for `z`. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/_layout.py b/packages/python/plotly/plotly/validators/_layout.py index f9df4fcbafa..5e29ff17e8d 100644 --- a/packages/python/plotly/plotly/validators/_layout.py +++ b/packages/python/plotly/plotly/validators/_layout.py @@ -470,11 +470,6 @@ def __init__(self, plotly_name="layout", parent_name="", **kwargs): title :class:`plotly.graph_objects.layout.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.title.font - instead. Sets the title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. transition Sets transition options used during Plotly.react updates. diff --git a/packages/python/plotly/plotly/validators/_pie.py b/packages/python/plotly/plotly/validators/_pie.py index 2e786494a4f..38f6f99da85 100644 --- a/packages/python/plotly/plotly/validators/_pie.py +++ b/packages/python/plotly/plotly/validators/_pie.py @@ -260,17 +260,6 @@ def __init__(self, plotly_name="pie", parent_name="", **kwargs): title :class:`plotly.graph_objects.pie.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use pie.title.font instead. - Sets the font used for `title`. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleposition - Deprecated: Please use pie.title.position - instead. Specifies the location of the `title`. - Note that the title's position used to be set - by the now deprecated `titleposition` - attribute. uid Assign an id to this trace, Use this to provide object constancy between traces during diff --git a/packages/python/plotly/plotly/validators/_pointcloud.py b/packages/python/plotly/plotly/validators/_pointcloud.py deleted file mode 100644 index 5c9d5297e27..00000000000 --- a/packages/python/plotly/plotly/validators/_pointcloud.py +++ /dev/null @@ -1,212 +0,0 @@ -import _plotly_utils.basevalidators - - -class PointcloudValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__(self, plotly_name="pointcloud", parent_name="", **kwargs): - super(PointcloudValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Pointcloud"), - data_docs=kwargs.pop( - "data_docs", - """ - customdata - Assigns extra data each datum. This may be - useful when listening to hover, click and - selection events. Note that, "scatter" traces - also appends customdata items in the markers - DOM elements - customdatasrc - Sets the source reference on Chart Studio Cloud - for `customdata`. - hoverinfo - Determines which trace information appear on - hover. If `none` or `skip` are set, no - information is displayed upon hovering. But, if - `none` is set, click and hover events are still - fired. - hoverinfosrc - Sets the source reference on Chart Studio Cloud - for `hoverinfo`. - hoverlabel - :class:`plotly.graph_objects.pointcloud.Hoverla - bel` instance or dict with compatible - properties - ids - Assigns id labels to each datum. These ids for - object constancy of data points during - animation. Should be an array of strings, not - numbers or any other type. - idssrc - Sets the source reference on Chart Studio Cloud - for `ids`. - indices - A sequential value, 0..n, supply it to avoid - creating this array inside plotting. If - specified, it must be a typed `Int32Array` - array. Its length must be equal to or greater - than the number of points. For the best - performance and memory use, create one large - `indices` typed array that is guaranteed to be - at least as long as the largest number of - points during use, and reuse it on each - `Plotly.restyle()` call. - indicessrc - Sets the source reference on Chart Studio Cloud - for `indices`. - legend - Sets the reference to a legend to show this - trace in. References to these legends are - "legend", "legend2", "legend3", etc. Settings - for these legends are set in the layout, under - `layout.legend`, `layout.legend2`, etc. - legendgroup - Sets the legend group for this trace. Traces - and shapes part of the same legend group - hide/show at the same time when toggling legend - items. - legendgrouptitle - :class:`plotly.graph_objects.pointcloud.Legendg - rouptitle` instance or dict with compatible - properties - legendrank - Sets the legend rank for this trace. Items and - groups with smaller ranks are presented on - top/left side while with "reversed" - `legend.traceorder` they are on bottom/right - side. The default legendrank is 1000, so that - you can use ranks less than 1000 to place - certain items before all unranked items, and - ranks greater than 1000 to go after all - unranked items. When having unranked or equal - rank items shapes would be displayed after - traces i.e. according to their order in data - and layout. - legendwidth - Sets the width (in px or fraction) of the - legend for this trace. - marker - :class:`plotly.graph_objects.pointcloud.Marker` - instance or dict with compatible properties - meta - Assigns extra meta information associated with - this trace that can be used in various text - attributes. Attributes such as trace `name`, - graph, axis and colorbar `title.text`, - annotation `text` `rangeselector`, - `updatemenues` and `sliders` `label` text all - support `meta`. To access the trace `meta` - values in an attribute in the same trace, - simply use `%{meta[i]}` where `i` is the index - or key of the `meta` item in question. To - access trace `meta` in layout attributes, use - `%{data[n[.meta[i]}` where `i` is the index or - key of the `meta` and `n` is the trace index. - metasrc - Sets the source reference on Chart Studio Cloud - for `meta`. - name - Sets the trace name. The trace name appears as - the legend item and on hover. - opacity - Sets the opacity of the trace. - showlegend - Determines whether or not an item corresponding - to this trace is shown in the legend. - stream - :class:`plotly.graph_objects.pointcloud.Stream` - instance or dict with compatible properties - text - Sets text elements associated with each (x,y) - pair. If a single string, the same string - appears over all the data points. If an array - of string, the items are mapped in order to the - this trace's (x,y) coordinates. If trace - `hoverinfo` contains a "text" flag and - "hovertext" is not set, these elements will be - seen in the hover labels. - textsrc - Sets the source reference on Chart Studio Cloud - for `text`. - uid - Assign an id to this trace, Use this to provide - object constancy between traces during - animations and transitions. - uirevision - Controls persistence of some user-driven - changes to the trace: `constraintrange` in - `parcoords` traces, as well as some `editable: - true` modifications such as `name` and - `colorbar.title`. Defaults to - `layout.uirevision`. Note that other user- - driven trace attribute changes are controlled - by `layout` attributes: `trace.visible` is - controlled by `layout.legend.uirevision`, - `selectedpoints` is controlled by - `layout.selectionrevision`, and - `colorbar.(x|y)` (accessible with `config: - {editable: true}`) is controlled by - `layout.editrevision`. Trace changes are - tracked by `uid`, which only falls back on - trace index if no `uid` is provided. So if your - app can add/remove traces before the end of the - `data` array, such that the same trace has a - different index, you can still preserve user- - driven changes if you give each trace a `uid` - that stays with it as it moves. - visible - Determines whether or not this trace is - visible. If "legendonly", the trace is not - drawn, but can appear as a legend item - (provided that the legend itself is visible). - x - Sets the x coordinates. - xaxis - Sets a reference between this trace's x - coordinates and a 2D cartesian x axis. If "x" - (the default value), the x coordinates refer to - `layout.xaxis`. If "x2", the x coordinates - refer to `layout.xaxis2`, and so on. - xbounds - Specify `xbounds` in the shape of `[xMin, xMax] - to avoid looping through the `xy` typed array. - Use it in conjunction with `xy` and `ybounds` - for the performance benefits. - xboundssrc - Sets the source reference on Chart Studio Cloud - for `xbounds`. - xsrc - Sets the source reference on Chart Studio Cloud - for `x`. - xy - Faster alternative to specifying `x` and `y` - separately. If supplied, it must be a typed - `Float32Array` array that represents points - such that `xy[i * 2] = x[i]` and `xy[i * 2 + 1] - = y[i]` - xysrc - Sets the source reference on Chart Studio Cloud - for `xy`. - y - Sets the y coordinates. - yaxis - Sets a reference between this trace's y - coordinates and a 2D cartesian y axis. If "y" - (the default value), the y coordinates refer to - `layout.yaxis`. If "y2", the y coordinates - refer to `layout.yaxis2`, and so on. - ybounds - Specify `ybounds` in the shape of `[yMin, yMax] - to avoid looping through the `xy` typed array. - Use it in conjunction with `xy` and `xbounds` - for the performance benefits. - yboundssrc - Sets the source reference on Chart Studio Cloud - for `ybounds`. - ysrc - Sets the source reference on Chart Studio Cloud - for `y`. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/bar/_error_x.py b/packages/python/plotly/plotly/validators/bar/_error_x.py index ec2148de941..04824c2effa 100644 --- a/packages/python/plotly/plotly/validators/bar/_error_x.py +++ b/packages/python/plotly/plotly/validators/bar/_error_x.py @@ -26,7 +26,7 @@ def __init__(self, plotly_name="error_x", parent_name="bar", **kwargs): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_ystyle symmetric diff --git a/packages/python/plotly/plotly/validators/bar/_error_y.py b/packages/python/plotly/plotly/validators/bar/_error_y.py index 3eb98da9a2f..0d27d95c631 100644 --- a/packages/python/plotly/plotly/validators/bar/_error_y.py +++ b/packages/python/plotly/plotly/validators/bar/_error_y.py @@ -26,7 +26,7 @@ def __init__(self, plotly_name="error_y", parent_name="bar", **kwargs): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom diff --git a/packages/python/plotly/plotly/validators/bar/marker/_colorbar.py b/packages/python/plotly/plotly/validators/bar/marker/_colorbar.py index c0541c19215..4155df55804 100644 --- a/packages/python/plotly/plotly/validators/bar/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/bar/marker/_colorbar.py @@ -227,21 +227,6 @@ def __init__(self, plotly_name="colorbar", parent_name="bar.marker", **kwargs): :class:`plotly.graph_objects.bar.marker.colorba r.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - bar.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - bar.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/bar/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/bar/marker/colorbar/_title.py index da6023fef49..cb47c32f1aa 100644 --- a/packages/python/plotly/plotly/validators/bar/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/bar/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/barpolar/marker/_colorbar.py b/packages/python/plotly/plotly/validators/barpolar/marker/_colorbar.py index 920dd280f82..5e232c63504 100644 --- a/packages/python/plotly/plotly/validators/barpolar/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/barpolar/marker/_colorbar.py @@ -228,21 +228,6 @@ def __init__(self, plotly_name="colorbar", parent_name="barpolar.marker", **kwar :class:`plotly.graph_objects.barpolar.marker.co lorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - barpolar.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - barpolar.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/barpolar/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/barpolar/marker/colorbar/_title.py index 35eadc7cbc9..d8e8416d879 100644 --- a/packages/python/plotly/plotly/validators/barpolar/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/barpolar/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/carpet/_aaxis.py b/packages/python/plotly/plotly/validators/carpet/_aaxis.py index c8417190788..f482fd8bba9 100644 --- a/packages/python/plotly/plotly/validators/carpet/_aaxis.py +++ b/packages/python/plotly/plotly/validators/carpet/_aaxis.py @@ -240,18 +240,6 @@ def __init__(self, plotly_name="aaxis", parent_name="carpet", **kwargs): title :class:`plotly.graph_objects.carpet.aaxis.Title ` instance or dict with compatible properties - titlefont - Deprecated: Please use carpet.aaxis.title.font - instead. Sets this axis' title font. Note that - the title's font used to be set by the now - deprecated `titlefont` attribute. - titleoffset - Deprecated: Please use - carpet.aaxis.title.offset instead. An - additional amount by which to offset the title - from the tick labels, given in pixels. Note - that this used to be set by the now deprecated - `titleoffset` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the diff --git a/packages/python/plotly/plotly/validators/carpet/_baxis.py b/packages/python/plotly/plotly/validators/carpet/_baxis.py index c44ca1d84c3..dbcc47c6320 100644 --- a/packages/python/plotly/plotly/validators/carpet/_baxis.py +++ b/packages/python/plotly/plotly/validators/carpet/_baxis.py @@ -240,18 +240,6 @@ def __init__(self, plotly_name="baxis", parent_name="carpet", **kwargs): title :class:`plotly.graph_objects.carpet.baxis.Title ` instance or dict with compatible properties - titlefont - Deprecated: Please use carpet.baxis.title.font - instead. Sets this axis' title font. Note that - the title's font used to be set by the now - deprecated `titlefont` attribute. - titleoffset - Deprecated: Please use - carpet.baxis.title.offset instead. An - additional amount by which to offset the title - from the tick labels, given in pixels. Note - that this used to be set by the now deprecated - `titleoffset` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the diff --git a/packages/python/plotly/plotly/validators/carpet/aaxis/_title.py b/packages/python/plotly/plotly/validators/carpet/aaxis/_title.py index 031aa52f319..c8675919df1 100644 --- a/packages/python/plotly/plotly/validators/carpet/aaxis/_title.py +++ b/packages/python/plotly/plotly/validators/carpet/aaxis/_title.py @@ -11,20 +11,12 @@ def __init__(self, plotly_name="title", parent_name="carpet.aaxis", **kwargs): "data_docs", """ font - Sets this axis' title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this axis' title font. offset An additional amount by which to offset the title from the tick labels, given in pixels. - Note that this used to be set by the now - deprecated `titleoffset` attribute. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/carpet/baxis/_title.py b/packages/python/plotly/plotly/validators/carpet/baxis/_title.py index da2136ca98d..6f31f8636a4 100644 --- a/packages/python/plotly/plotly/validators/carpet/baxis/_title.py +++ b/packages/python/plotly/plotly/validators/carpet/baxis/_title.py @@ -11,20 +11,12 @@ def __init__(self, plotly_name="title", parent_name="carpet.baxis", **kwargs): "data_docs", """ font - Sets this axis' title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this axis' title font. offset An additional amount by which to offset the title from the tick labels, given in pixels. - Note that this used to be set by the now - deprecated `titleoffset` attribute. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/choropleth/_colorbar.py b/packages/python/plotly/plotly/validators/choropleth/_colorbar.py index aeb230899b1..b696d78d6b7 100644 --- a/packages/python/plotly/plotly/validators/choropleth/_colorbar.py +++ b/packages/python/plotly/plotly/validators/choropleth/_colorbar.py @@ -227,21 +227,6 @@ def __init__(self, plotly_name="colorbar", parent_name="choropleth", **kwargs): :class:`plotly.graph_objects.choropleth.colorba r.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - choropleth.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - choropleth.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/choropleth/colorbar/_title.py b/packages/python/plotly/plotly/validators/choropleth/colorbar/_title.py index 123ed3f3dc3..ddefb781542 100644 --- a/packages/python/plotly/plotly/validators/choropleth/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/choropleth/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/choroplethmap/_colorbar.py b/packages/python/plotly/plotly/validators/choroplethmap/_colorbar.py index 5208d1baa71..8ca58b07935 100644 --- a/packages/python/plotly/plotly/validators/choroplethmap/_colorbar.py +++ b/packages/python/plotly/plotly/validators/choroplethmap/_colorbar.py @@ -228,21 +228,6 @@ def __init__(self, plotly_name="colorbar", parent_name="choroplethmap", **kwargs :class:`plotly.graph_objects.choroplethmap.colo rbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - choroplethmap.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - choroplethmap.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/choroplethmap/colorbar/_title.py b/packages/python/plotly/plotly/validators/choroplethmap/colorbar/_title.py index 67537672ee9..d8d7945bb47 100644 --- a/packages/python/plotly/plotly/validators/choroplethmap/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/choroplethmap/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/choroplethmapbox/_colorbar.py b/packages/python/plotly/plotly/validators/choroplethmapbox/_colorbar.py index 6e658b60d8e..00157f0f719 100644 --- a/packages/python/plotly/plotly/validators/choroplethmapbox/_colorbar.py +++ b/packages/python/plotly/plotly/validators/choroplethmapbox/_colorbar.py @@ -230,21 +230,6 @@ def __init__( :class:`plotly.graph_objects.choroplethmapbox.c olorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - choroplethmapbox.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - choroplethmapbox.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/choroplethmapbox/colorbar/_title.py b/packages/python/plotly/plotly/validators/choroplethmapbox/colorbar/_title.py index ecd8e17759a..ae0e94e9c9a 100644 --- a/packages/python/plotly/plotly/validators/choroplethmapbox/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/choroplethmapbox/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/cone/_colorbar.py b/packages/python/plotly/plotly/validators/cone/_colorbar.py index 84b2a4bbe38..4c962146aee 100644 --- a/packages/python/plotly/plotly/validators/cone/_colorbar.py +++ b/packages/python/plotly/plotly/validators/cone/_colorbar.py @@ -226,19 +226,6 @@ def __init__(self, plotly_name="colorbar", parent_name="cone", **kwargs): title :class:`plotly.graph_objects.cone.colorbar.Titl e` instance or dict with compatible properties - titlefont - Deprecated: Please use cone.colorbar.title.font - instead. Sets this color bar's title font. Note - that the title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use cone.colorbar.title.side - instead. Determines the location of color bar's - title with respect to the color bar. Defaults - to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". - Note that the title's location used to be set - by the now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/cone/colorbar/_title.py b/packages/python/plotly/plotly/validators/cone/colorbar/_title.py index b5c5ac041bc..4cd3a2d97fe 100644 --- a/packages/python/plotly/plotly/validators/cone/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/cone/colorbar/_title.py @@ -11,22 +11,14 @@ def __init__(self, plotly_name="title", parent_name="cone.colorbar", **kwargs): "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/contour/_colorbar.py b/packages/python/plotly/plotly/validators/contour/_colorbar.py index fb6ddf9ef02..cab84776324 100644 --- a/packages/python/plotly/plotly/validators/contour/_colorbar.py +++ b/packages/python/plotly/plotly/validators/contour/_colorbar.py @@ -227,21 +227,6 @@ def __init__(self, plotly_name="colorbar", parent_name="contour", **kwargs): :class:`plotly.graph_objects.contour.colorbar.T itle` instance or dict with compatible properties - titlefont - Deprecated: Please use - contour.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's - font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use - contour.colorbar.title.side instead. Determines - the location of color bar's title with respect - to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" - when `orientation` if "h". Note that the - title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/contour/colorbar/_title.py b/packages/python/plotly/plotly/validators/contour/colorbar/_title.py index 93c549d2abf..cae0cab743b 100644 --- a/packages/python/plotly/plotly/validators/contour/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/contour/colorbar/_title.py @@ -11,22 +11,14 @@ def __init__(self, plotly_name="title", parent_name="contour.colorbar", **kwargs "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/contourcarpet/_colorbar.py b/packages/python/plotly/plotly/validators/contourcarpet/_colorbar.py index 5bfc3e6aefe..998e5158568 100644 --- a/packages/python/plotly/plotly/validators/contourcarpet/_colorbar.py +++ b/packages/python/plotly/plotly/validators/contourcarpet/_colorbar.py @@ -228,21 +228,6 @@ def __init__(self, plotly_name="colorbar", parent_name="contourcarpet", **kwargs :class:`plotly.graph_objects.contourcarpet.colo rbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - contourcarpet.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - contourcarpet.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/contourcarpet/colorbar/_title.py b/packages/python/plotly/plotly/validators/contourcarpet/colorbar/_title.py index bd861844e1f..c7b29ac4eb3 100644 --- a/packages/python/plotly/plotly/validators/contourcarpet/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/contourcarpet/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/densitymap/_colorbar.py b/packages/python/plotly/plotly/validators/densitymap/_colorbar.py index 4eb81fe56e9..9ce1d184c0e 100644 --- a/packages/python/plotly/plotly/validators/densitymap/_colorbar.py +++ b/packages/python/plotly/plotly/validators/densitymap/_colorbar.py @@ -227,21 +227,6 @@ def __init__(self, plotly_name="colorbar", parent_name="densitymap", **kwargs): :class:`plotly.graph_objects.densitymap.colorba r.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - densitymap.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - densitymap.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/densitymap/colorbar/_title.py b/packages/python/plotly/plotly/validators/densitymap/colorbar/_title.py index 35bef9de729..eced743943f 100644 --- a/packages/python/plotly/plotly/validators/densitymap/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/densitymap/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/densitymapbox/_colorbar.py b/packages/python/plotly/plotly/validators/densitymapbox/_colorbar.py index 45b4212ba09..7bbd65717b7 100644 --- a/packages/python/plotly/plotly/validators/densitymapbox/_colorbar.py +++ b/packages/python/plotly/plotly/validators/densitymapbox/_colorbar.py @@ -228,21 +228,6 @@ def __init__(self, plotly_name="colorbar", parent_name="densitymapbox", **kwargs :class:`plotly.graph_objects.densitymapbox.colo rbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - densitymapbox.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - densitymapbox.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/densitymapbox/colorbar/_title.py b/packages/python/plotly/plotly/validators/densitymapbox/colorbar/_title.py index 01bffe944aa..f7b14ed2b4f 100644 --- a/packages/python/plotly/plotly/validators/densitymapbox/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/densitymapbox/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/funnel/marker/_colorbar.py b/packages/python/plotly/plotly/validators/funnel/marker/_colorbar.py index 32d02cb3bdc..7a865fe8740 100644 --- a/packages/python/plotly/plotly/validators/funnel/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/funnel/marker/_colorbar.py @@ -228,21 +228,6 @@ def __init__(self, plotly_name="colorbar", parent_name="funnel.marker", **kwargs :class:`plotly.graph_objects.funnel.marker.colo rbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - funnel.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - funnel.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/funnel/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/funnel/marker/colorbar/_title.py index ff01b9a4dc5..2ee3292cab1 100644 --- a/packages/python/plotly/plotly/validators/funnel/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/funnel/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/funnelarea/_title.py b/packages/python/plotly/plotly/validators/funnelarea/_title.py index 3eefaa5df8f..7e29f56d03c 100644 --- a/packages/python/plotly/plotly/validators/funnelarea/_title.py +++ b/packages/python/plotly/plotly/validators/funnelarea/_title.py @@ -11,19 +11,12 @@ def __init__(self, plotly_name="title", parent_name="funnelarea", **kwargs): "data_docs", """ font - Sets the font used for `title`. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets the font used for `title`. position - Specifies the location of the `title`. Note - that the title's position used to be set by the - now deprecated `titleposition` attribute. + Specifies the location of the `title`. text Sets the title of the chart. If it is empty, no - title is displayed. Note that before the - existence of `title.text`, the title's contents - used to be defined as the `title` attribute - itself. This behavior has been deprecated. + title is displayed. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/heatmap/_colorbar.py b/packages/python/plotly/plotly/validators/heatmap/_colorbar.py index 63e64c61a2e..e91fd0a6a0f 100644 --- a/packages/python/plotly/plotly/validators/heatmap/_colorbar.py +++ b/packages/python/plotly/plotly/validators/heatmap/_colorbar.py @@ -227,21 +227,6 @@ def __init__(self, plotly_name="colorbar", parent_name="heatmap", **kwargs): :class:`plotly.graph_objects.heatmap.colorbar.T itle` instance or dict with compatible properties - titlefont - Deprecated: Please use - heatmap.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's - font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use - heatmap.colorbar.title.side instead. Determines - the location of color bar's title with respect - to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" - when `orientation` if "h". Note that the - title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/heatmap/colorbar/_title.py b/packages/python/plotly/plotly/validators/heatmap/colorbar/_title.py index bd3863ee7f8..0b21692cb28 100644 --- a/packages/python/plotly/plotly/validators/heatmap/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/heatmap/colorbar/_title.py @@ -11,22 +11,14 @@ def __init__(self, plotly_name="title", parent_name="heatmap.colorbar", **kwargs "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/heatmapgl/__init__.py b/packages/python/plotly/plotly/validators/heatmapgl/__init__.py deleted file mode 100644 index b325dadbf02..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/__init__.py +++ /dev/null @@ -1,107 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._zsrc import ZsrcValidator - from ._zsmooth import ZsmoothValidator - from ._zmin import ZminValidator - from ._zmid import ZmidValidator - from ._zmax import ZmaxValidator - from ._zauto import ZautoValidator - from ._z import ZValidator - from ._ytype import YtypeValidator - from ._ysrc import YsrcValidator - from ._yaxis import YaxisValidator - from ._y0 import Y0Validator - from ._y import YValidator - from ._xtype import XtypeValidator - from ._xsrc import XsrcValidator - from ._xaxis import XaxisValidator - from ._x0 import X0Validator - from ._x import XValidator - from ._visible import VisibleValidator - from ._uirevision import UirevisionValidator - from ._uid import UidValidator - from ._transpose import TransposeValidator - from ._textsrc import TextsrcValidator - from ._text import TextValidator - from ._stream import StreamValidator - from ._showscale import ShowscaleValidator - from ._reversescale import ReversescaleValidator - from ._opacity import OpacityValidator - from ._name import NameValidator - from ._metasrc import MetasrcValidator - from ._meta import MetaValidator - from ._legendwidth import LegendwidthValidator - from ._legendrank import LegendrankValidator - from ._legendgrouptitle import LegendgrouptitleValidator - from ._legend import LegendValidator - from ._idssrc import IdssrcValidator - from ._ids import IdsValidator - from ._hoverlabel import HoverlabelValidator - from ._hoverinfosrc import HoverinfosrcValidator - from ._hoverinfo import HoverinfoValidator - from ._dy import DyValidator - from ._dx import DxValidator - from ._customdatasrc import CustomdatasrcValidator - from ._customdata import CustomdataValidator - from ._colorscale import ColorscaleValidator - from ._colorbar import ColorbarValidator - from ._coloraxis import ColoraxisValidator - from ._autocolorscale import AutocolorscaleValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [], - [ - "._zsrc.ZsrcValidator", - "._zsmooth.ZsmoothValidator", - "._zmin.ZminValidator", - "._zmid.ZmidValidator", - "._zmax.ZmaxValidator", - "._zauto.ZautoValidator", - "._z.ZValidator", - "._ytype.YtypeValidator", - "._ysrc.YsrcValidator", - "._yaxis.YaxisValidator", - "._y0.Y0Validator", - "._y.YValidator", - "._xtype.XtypeValidator", - "._xsrc.XsrcValidator", - "._xaxis.XaxisValidator", - "._x0.X0Validator", - "._x.XValidator", - "._visible.VisibleValidator", - "._uirevision.UirevisionValidator", - "._uid.UidValidator", - "._transpose.TransposeValidator", - "._textsrc.TextsrcValidator", - "._text.TextValidator", - "._stream.StreamValidator", - "._showscale.ShowscaleValidator", - "._reversescale.ReversescaleValidator", - "._opacity.OpacityValidator", - "._name.NameValidator", - "._metasrc.MetasrcValidator", - "._meta.MetaValidator", - "._legendwidth.LegendwidthValidator", - "._legendrank.LegendrankValidator", - "._legendgrouptitle.LegendgrouptitleValidator", - "._legend.LegendValidator", - "._idssrc.IdssrcValidator", - "._ids.IdsValidator", - "._hoverlabel.HoverlabelValidator", - "._hoverinfosrc.HoverinfosrcValidator", - "._hoverinfo.HoverinfoValidator", - "._dy.DyValidator", - "._dx.DxValidator", - "._customdatasrc.CustomdatasrcValidator", - "._customdata.CustomdataValidator", - "._colorscale.ColorscaleValidator", - "._colorbar.ColorbarValidator", - "._coloraxis.ColoraxisValidator", - "._autocolorscale.AutocolorscaleValidator", - ], - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_autocolorscale.py b/packages/python/plotly/plotly/validators/heatmapgl/_autocolorscale.py deleted file mode 100644 index c16af6e4fbc..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_autocolorscale.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class AutocolorscaleValidator(_plotly_utils.basevalidators.BooleanValidator): - def __init__(self, plotly_name="autocolorscale", parent_name="heatmapgl", **kwargs): - super(AutocolorscaleValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - implied_edits=kwargs.pop("implied_edits", {}), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_coloraxis.py b/packages/python/plotly/plotly/validators/heatmapgl/_coloraxis.py deleted file mode 100644 index 7fad7a00843..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_coloraxis.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class ColoraxisValidator(_plotly_utils.basevalidators.SubplotidValidator): - def __init__(self, plotly_name="coloraxis", parent_name="heatmapgl", **kwargs): - super(ColoraxisValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - dflt=kwargs.pop("dflt", None), - edit_type=kwargs.pop("edit_type", "calc"), - regex=kwargs.pop("regex", "/^coloraxis([2-9]|[1-9][0-9]+)?$/"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_colorbar.py b/packages/python/plotly/plotly/validators/heatmapgl/_colorbar.py deleted file mode 100644 index a3a396a12c9..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_colorbar.py +++ /dev/null @@ -1,294 +0,0 @@ -import _plotly_utils.basevalidators - - -class ColorbarValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__(self, plotly_name="colorbar", parent_name="heatmapgl", **kwargs): - super(ColorbarValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "ColorBar"), - data_docs=kwargs.pop( - "data_docs", - """ - bgcolor - Sets the color of padded area. - bordercolor - Sets the axis line color. - borderwidth - Sets the width (in px) or the border enclosing - this color bar. - dtick - Sets the step in-between ticks on this axis. - Use with `tick0`. Must be a positive number, or - special strings available to "log" and "date" - axes. If the axis `type` is "log", then ticks - are set every 10^(n*dtick) where n is the tick - number. For example, to set a tick mark at 1, - 10, 100, 1000, ... set dtick to 1. To set tick - marks at 1, 100, 10000, ... set dtick to 2. To - set tick marks at 1, 5, 25, 125, 625, 3125, ... - set dtick to log_10(5), or 0.69897000433. "log" - has several special values; "L", where `f` - is a positive number, gives ticks linearly - spaced in value (but not position). For example - `tick0` = 0.1, `dtick` = "L0.5" will put ticks - at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 - plus small digits between, use "D1" (all - digits) or "D2" (only 2 and 5). `tick0` is - ignored for "D1" and "D2". If the axis `type` - is "date", then you must convert the time to - milliseconds. For example, to set the interval - between ticks to one day, set `dtick` to - 86400000.0. "date" also has special values - "M" gives ticks spaced by a number of - months. `n` must be a positive integer. To set - ticks on the 15th of every third month, set - `tick0` to "2000-01-15" and `dtick` to "M3". To - set ticks every 4 years, set `dtick` to "M48" - exponentformat - Determines a formatting rule for the tick - exponents. For example, consider the number - 1,000,000,000. If "none", it appears as - 1,000,000,000. If "e", 1e+9. If "E", 1E+9. If - "power", 1x10^9 (with 9 in a super script). If - "SI", 1G. If "B", 1B. - labelalias - Replacement text for specific tick or hover - labels. For example using {US: 'USA', CA: - 'Canada'} changes US to USA and CA to Canada. - The labels we would have shown must match the - keys exactly, after adding any tickprefix or - ticksuffix. For negative numbers the minus sign - symbol used (U+2212) is wider than the regular - ascii dash. That means you need to use −1 - instead of -1. labelalias can be used with any - axis type, and both keys (if needed) and values - (if desired) can include html-like tags or - MathJax. - len - Sets the length of the color bar This measure - excludes the padding of both ends. That is, the - color bar length is this length minus the - padding on both ends. - lenmode - Determines whether this color bar's length - (i.e. the measure in the color variation - direction) is set in units of plot "fraction" - or in *pixels. Use `len` to set the value. - minexponent - Hide SI prefix for 10^n if |n| is below this - number. This only has an effect when - `tickformat` is "SI" or "B". - nticks - Specifies the maximum number of ticks for the - particular axis. The actual number of ticks - will be chosen automatically to be less than or - equal to `nticks`. Has an effect only if - `tickmode` is set to "auto". - orientation - Sets the orientation of the colorbar. - outlinecolor - Sets the axis line color. - outlinewidth - Sets the width (in px) of the axis line. - separatethousands - If "true", even 4-digit integers are separated - showexponent - If "all", all exponents are shown besides their - significands. If "first", only the exponent of - the first tick is shown. If "last", only the - exponent of the last tick is shown. If "none", - no exponents appear. - showticklabels - Determines whether or not the tick labels are - drawn. - showtickprefix - If "all", all tick labels are displayed with a - prefix. If "first", only the first tick is - displayed with a prefix. If "last", only the - last tick is displayed with a suffix. If - "none", tick prefixes are hidden. - showticksuffix - Same as `showtickprefix` but for tick suffixes. - thickness - Sets the thickness of the color bar This - measure excludes the size of the padding, ticks - and labels. - thicknessmode - Determines whether this color bar's thickness - (i.e. the measure in the constant color - direction) is set in units of plot "fraction" - or in "pixels". Use `thickness` to set the - value. - tick0 - Sets the placement of the first tick on this - axis. Use with `dtick`. If the axis `type` is - "log", then you must take the log of your - starting tick (e.g. to set the starting tick to - 100, set the `tick0` to 2) except when - `dtick`=*L* (see `dtick` for more info). If - the axis `type` is "date", it should be a date - string, like date data. If the axis `type` is - "category", it should be a number, using the - scale where each category is assigned a serial - number from zero in the order it appears. - tickangle - Sets the angle of the tick labels with respect - to the horizontal. For example, a `tickangle` - of -90 draws the tick labels vertically. - tickcolor - Sets the tick color. - tickfont - Sets the color bar's tick label font - tickformat - Sets the tick label formatting rule using d3 - formatting mini-languages which are very - similar to those in Python. For numbers, see: h - ttps://github.com/d3/d3-format/tree/v1.4.5#d3- - format. And for dates see: - https://github.com/d3/d3-time- - format/tree/v2.2.3#locale_format. We add two - items to d3's date formatter: "%h" for half of - the year as a decimal number as well as "%{n}f" - for fractional seconds with n digits. For - example, *2016-10-13 09:15:23.456* with - tickformat "%H~%M~%S.%2f" would display - "09~15~23.46" - tickformatstops - A tuple of :class:`plotly.graph_objects.heatmap - gl.colorbar.Tickformatstop` instances or dicts - with compatible properties - tickformatstopdefaults - When used in a template (as layout.template.dat - a.heatmapgl.colorbar.tickformatstopdefaults), - sets the default property values to use for - elements of heatmapgl.colorbar.tickformatstops - ticklabeloverflow - Determines how we handle tick labels that would - overflow either the graph div or the domain of - the axis. The default value for inside tick - labels is *hide past domain*. In other cases - the default is *hide past div*. - ticklabelposition - Determines where tick labels are drawn relative - to the ticks. Left and right options are used - when `orientation` is "h", top and bottom when - `orientation` is "v". - ticklabelstep - Sets the spacing between tick labels as - compared to the spacing between ticks. A value - of 1 (default) means each tick gets a label. A - value of 2 means shows every 2nd label. A - larger value n means only every nth tick is - labeled. `tick0` determines which labels are - shown. Not implemented for axes with `type` - "log" or "multicategory", or when `tickmode` is - "array". - ticklen - Sets the tick length (in px). - tickmode - Sets the tick mode for this axis. If "auto", - the number of ticks is set via `nticks`. If - "linear", the placement of the ticks is - determined by a starting position `tick0` and a - tick step `dtick` ("linear" is the default - value if `tick0` and `dtick` are provided). If - "array", the placement of the ticks is set via - `tickvals` and the tick text is `ticktext`. - ("array" is the default value if `tickvals` is - provided). - tickprefix - Sets a tick label prefix. - ticks - Determines whether ticks are drawn or not. If - "", this axis' ticks are not drawn. If - "outside" ("inside"), this axis' are drawn - outside (inside) the axis lines. - ticksuffix - Sets a tick label suffix. - ticktext - Sets the text displayed at the ticks position - via `tickvals`. Only has an effect if - `tickmode` is set to "array". Used with - `tickvals`. - ticktextsrc - Sets the source reference on Chart Studio Cloud - for `ticktext`. - tickvals - Sets the values at which ticks on this axis - appear. Only has an effect if `tickmode` is set - to "array". Used with `ticktext`. - tickvalssrc - Sets the source reference on Chart Studio Cloud - for `tickvals`. - tickwidth - Sets the tick width (in px). - title - :class:`plotly.graph_objects.heatmapgl.colorbar - .Title` instance or dict with compatible - properties - titlefont - Deprecated: Please use - heatmapgl.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - heatmapgl.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. - x - Sets the x position with respect to `xref` of - the color bar (in plot fraction). When `xref` - is "paper", defaults to 1.02 when `orientation` - is "v" and 0.5 when `orientation` is "h". When - `xref` is "container", defaults to 1 when - `orientation` is "v" and 0.5 when `orientation` - is "h". Must be between 0 and 1 if `xref` is - "container" and between "-2" and 3 if `xref` is - "paper". - xanchor - Sets this color bar's horizontal position - anchor. This anchor binds the `x` position to - the "left", "center" or "right" of the color - bar. Defaults to "left" when `orientation` is - "v" and "center" when `orientation` is "h". - xpad - Sets the amount of padding (in px) along the x - direction. - xref - Sets the container `x` refers to. "container" - spans the entire `width` of the plot. "paper" - refers to the width of the plotting area only. - y - Sets the y position with respect to `yref` of - the color bar (in plot fraction). When `yref` - is "paper", defaults to 0.5 when `orientation` - is "v" and 1.02 when `orientation` is "h". When - `yref` is "container", defaults to 0.5 when - `orientation` is "v" and 1 when `orientation` - is "h". Must be between 0 and 1 if `yref` is - "container" and between "-2" and 3 if `yref` is - "paper". - yanchor - Sets this color bar's vertical position anchor - This anchor binds the `y` position to the - "top", "middle" or "bottom" of the color bar. - Defaults to "middle" when `orientation` is "v" - and "bottom" when `orientation` is "h". - ypad - Sets the amount of padding (in px) along the y - direction. - yref - Sets the container `y` refers to. "container" - spans the entire `height` of the plot. "paper" - refers to the height of the plotting area only. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_colorscale.py b/packages/python/plotly/plotly/validators/heatmapgl/_colorscale.py deleted file mode 100644 index 3574f6667be..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_colorscale.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class ColorscaleValidator(_plotly_utils.basevalidators.ColorscaleValidator): - def __init__(self, plotly_name="colorscale", parent_name="heatmapgl", **kwargs): - super(ColorscaleValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - implied_edits=kwargs.pop("implied_edits", {"autocolorscale": False}), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_customdata.py b/packages/python/plotly/plotly/validators/heatmapgl/_customdata.py deleted file mode 100644 index 42985422a92..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_customdata.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class CustomdataValidator(_plotly_utils.basevalidators.DataArrayValidator): - def __init__(self, plotly_name="customdata", parent_name="heatmapgl", **kwargs): - super(CustomdataValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_customdatasrc.py b/packages/python/plotly/plotly/validators/heatmapgl/_customdatasrc.py deleted file mode 100644 index 16130f48def..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_customdatasrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class CustomdatasrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="customdatasrc", parent_name="heatmapgl", **kwargs): - super(CustomdatasrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_dx.py b/packages/python/plotly/plotly/validators/heatmapgl/_dx.py deleted file mode 100644 index c39f0872b7a..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_dx.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class DxValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__(self, plotly_name="dx", parent_name="heatmapgl", **kwargs): - super(DxValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - implied_edits=kwargs.pop("implied_edits", {"xtype": "scaled"}), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_dy.py b/packages/python/plotly/plotly/validators/heatmapgl/_dy.py deleted file mode 100644 index 3d62edf18a2..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_dy.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class DyValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__(self, plotly_name="dy", parent_name="heatmapgl", **kwargs): - super(DyValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - implied_edits=kwargs.pop("implied_edits", {"ytype": "scaled"}), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_hoverinfo.py b/packages/python/plotly/plotly/validators/heatmapgl/_hoverinfo.py deleted file mode 100644 index 2f757ba0718..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_hoverinfo.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class HoverinfoValidator(_plotly_utils.basevalidators.FlaglistValidator): - def __init__(self, plotly_name="hoverinfo", parent_name="heatmapgl", **kwargs): - super(HoverinfoValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - extras=kwargs.pop("extras", ["all", "none", "skip"]), - flags=kwargs.pop("flags", ["x", "y", "z", "text", "name"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_hoverinfosrc.py b/packages/python/plotly/plotly/validators/heatmapgl/_hoverinfosrc.py deleted file mode 100644 index d3d7fc7732c..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_hoverinfosrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class HoverinfosrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="hoverinfosrc", parent_name="heatmapgl", **kwargs): - super(HoverinfosrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_hoverlabel.py b/packages/python/plotly/plotly/validators/heatmapgl/_hoverlabel.py deleted file mode 100644 index b562f75ff37..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_hoverlabel.py +++ /dev/null @@ -1,51 +0,0 @@ -import _plotly_utils.basevalidators - - -class HoverlabelValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__(self, plotly_name="hoverlabel", parent_name="heatmapgl", **kwargs): - super(HoverlabelValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Hoverlabel"), - data_docs=kwargs.pop( - "data_docs", - """ - align - Sets the horizontal alignment of the text - content within hover label box. Has an effect - only if the hover label text spans more two or - more lines - alignsrc - Sets the source reference on Chart Studio Cloud - for `align`. - bgcolor - Sets the background color of the hover labels - for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud - for `bgcolor`. - bordercolor - Sets the border color of the hover labels for - this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud - for `bordercolor`. - font - Sets the font used in hover labels. - namelength - Sets the default length (in number of - characters) of the trace name in the hover - labels for all traces. -1 shows the whole name - regardless of length. 0-3 shows the first 0-3 - characters, and an integer >3 will show the - whole name if it is less than that many - characters, but if it is longer, will truncate - to `namelength - 3` characters and add an - ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud - for `namelength`. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_ids.py b/packages/python/plotly/plotly/validators/heatmapgl/_ids.py deleted file mode 100644 index a321eef6778..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_ids.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class IdsValidator(_plotly_utils.basevalidators.DataArrayValidator): - def __init__(self, plotly_name="ids", parent_name="heatmapgl", **kwargs): - super(IdsValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_idssrc.py b/packages/python/plotly/plotly/validators/heatmapgl/_idssrc.py deleted file mode 100644 index e776dfa12a4..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_idssrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class IdssrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="idssrc", parent_name="heatmapgl", **kwargs): - super(IdssrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_legend.py b/packages/python/plotly/plotly/validators/heatmapgl/_legend.py deleted file mode 100644 index c6d3574fb07..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_legend.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class LegendValidator(_plotly_utils.basevalidators.SubplotidValidator): - def __init__(self, plotly_name="legend", parent_name="heatmapgl", **kwargs): - super(LegendValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - dflt=kwargs.pop("dflt", "legend"), - edit_type=kwargs.pop("edit_type", "style"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_legendgrouptitle.py b/packages/python/plotly/plotly/validators/heatmapgl/_legendgrouptitle.py deleted file mode 100644 index 301d59b869d..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_legendgrouptitle.py +++ /dev/null @@ -1,22 +0,0 @@ -import _plotly_utils.basevalidators - - -class LegendgrouptitleValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__( - self, plotly_name="legendgrouptitle", parent_name="heatmapgl", **kwargs - ): - super(LegendgrouptitleValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Legendgrouptitle"), - data_docs=kwargs.pop( - "data_docs", - """ - font - Sets this legend group's title font. - text - Sets the title of the legend group. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_legendrank.py b/packages/python/plotly/plotly/validators/heatmapgl/_legendrank.py deleted file mode 100644 index 00280faf79a..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_legendrank.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class LegendrankValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__(self, plotly_name="legendrank", parent_name="heatmapgl", **kwargs): - super(LegendrankValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_legendwidth.py b/packages/python/plotly/plotly/validators/heatmapgl/_legendwidth.py deleted file mode 100644 index 9c4f1211526..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_legendwidth.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class LegendwidthValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__(self, plotly_name="legendwidth", parent_name="heatmapgl", **kwargs): - super(LegendwidthValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_meta.py b/packages/python/plotly/plotly/validators/heatmapgl/_meta.py deleted file mode 100644 index 007495d4e5b..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_meta.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class MetaValidator(_plotly_utils.basevalidators.AnyValidator): - def __init__(self, plotly_name="meta", parent_name="heatmapgl", **kwargs): - super(MetaValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "plot"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_metasrc.py b/packages/python/plotly/plotly/validators/heatmapgl/_metasrc.py deleted file mode 100644 index 93e2a64e207..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_metasrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class MetasrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="metasrc", parent_name="heatmapgl", **kwargs): - super(MetasrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_name.py b/packages/python/plotly/plotly/validators/heatmapgl/_name.py deleted file mode 100644 index 7c7b8f51287..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_name.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class NameValidator(_plotly_utils.basevalidators.StringValidator): - def __init__(self, plotly_name="name", parent_name="heatmapgl", **kwargs): - super(NameValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_opacity.py b/packages/python/plotly/plotly/validators/heatmapgl/_opacity.py deleted file mode 100644 index 7936715e715..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_opacity.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class OpacityValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__(self, plotly_name="opacity", parent_name="heatmapgl", **kwargs): - super(OpacityValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - max=kwargs.pop("max", 1), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_reversescale.py b/packages/python/plotly/plotly/validators/heatmapgl/_reversescale.py deleted file mode 100644 index d4f9127d539..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_reversescale.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class ReversescaleValidator(_plotly_utils.basevalidators.BooleanValidator): - def __init__(self, plotly_name="reversescale", parent_name="heatmapgl", **kwargs): - super(ReversescaleValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_showscale.py b/packages/python/plotly/plotly/validators/heatmapgl/_showscale.py deleted file mode 100644 index 5e2d1ffeb18..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_showscale.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class ShowscaleValidator(_plotly_utils.basevalidators.BooleanValidator): - def __init__(self, plotly_name="showscale", parent_name="heatmapgl", **kwargs): - super(ShowscaleValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_stream.py b/packages/python/plotly/plotly/validators/heatmapgl/_stream.py deleted file mode 100644 index c80a7fe0ee5..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_stream.py +++ /dev/null @@ -1,25 +0,0 @@ -import _plotly_utils.basevalidators - - -class StreamValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__(self, plotly_name="stream", parent_name="heatmapgl", **kwargs): - super(StreamValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Stream"), - data_docs=kwargs.pop( - "data_docs", - """ - maxpoints - Sets the maximum number of points to keep on - the plots from an incoming stream. If - `maxpoints` is set to 50, only the newest 50 - points will be displayed on the plot. - token - The stream id number links a data trace on a - plot with a stream. See https://chart- - studio.plotly.com/settings for more details. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_text.py b/packages/python/plotly/plotly/validators/heatmapgl/_text.py deleted file mode 100644 index 17fdcedbcfb..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_text.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class TextValidator(_plotly_utils.basevalidators.DataArrayValidator): - def __init__(self, plotly_name="text", parent_name="heatmapgl", **kwargs): - super(TextValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_textsrc.py b/packages/python/plotly/plotly/validators/heatmapgl/_textsrc.py deleted file mode 100644 index b28545a2119..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_textsrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class TextsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="textsrc", parent_name="heatmapgl", **kwargs): - super(TextsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_transpose.py b/packages/python/plotly/plotly/validators/heatmapgl/_transpose.py deleted file mode 100644 index 1ce9570ebc8..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_transpose.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class TransposeValidator(_plotly_utils.basevalidators.BooleanValidator): - def __init__(self, plotly_name="transpose", parent_name="heatmapgl", **kwargs): - super(TransposeValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_uid.py b/packages/python/plotly/plotly/validators/heatmapgl/_uid.py deleted file mode 100644 index 55830017f68..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_uid.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class UidValidator(_plotly_utils.basevalidators.StringValidator): - def __init__(self, plotly_name="uid", parent_name="heatmapgl", **kwargs): - super(UidValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "plot"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_uirevision.py b/packages/python/plotly/plotly/validators/heatmapgl/_uirevision.py deleted file mode 100644 index e98413fe3a6..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_uirevision.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class UirevisionValidator(_plotly_utils.basevalidators.AnyValidator): - def __init__(self, plotly_name="uirevision", parent_name="heatmapgl", **kwargs): - super(UirevisionValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_visible.py b/packages/python/plotly/plotly/validators/heatmapgl/_visible.py deleted file mode 100644 index d9db1b9c78e..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_visible.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class VisibleValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__(self, plotly_name="visible", parent_name="heatmapgl", **kwargs): - super(VisibleValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", [True, False, "legendonly"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_x.py b/packages/python/plotly/plotly/validators/heatmapgl/_x.py deleted file mode 100644 index 0a37ed7c268..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_x.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class XValidator(_plotly_utils.basevalidators.DataArrayValidator): - def __init__(self, plotly_name="x", parent_name="heatmapgl", **kwargs): - super(XValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - implied_edits=kwargs.pop("implied_edits", {"xtype": "array"}), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_x0.py b/packages/python/plotly/plotly/validators/heatmapgl/_x0.py deleted file mode 100644 index 6b1cff1d46e..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_x0.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class X0Validator(_plotly_utils.basevalidators.AnyValidator): - def __init__(self, plotly_name="x0", parent_name="heatmapgl", **kwargs): - super(X0Validator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - implied_edits=kwargs.pop("implied_edits", {"xtype": "scaled"}), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_xaxis.py b/packages/python/plotly/plotly/validators/heatmapgl/_xaxis.py deleted file mode 100644 index 9b9ff824462..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_xaxis.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class XaxisValidator(_plotly_utils.basevalidators.SubplotidValidator): - def __init__(self, plotly_name="xaxis", parent_name="heatmapgl", **kwargs): - super(XaxisValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - dflt=kwargs.pop("dflt", "x"), - edit_type=kwargs.pop("edit_type", "calc+clearAxisTypes"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_xsrc.py b/packages/python/plotly/plotly/validators/heatmapgl/_xsrc.py deleted file mode 100644 index ddfbaa5eef3..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_xsrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class XsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="xsrc", parent_name="heatmapgl", **kwargs): - super(XsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_xtype.py b/packages/python/plotly/plotly/validators/heatmapgl/_xtype.py deleted file mode 100644 index a6f4b552430..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_xtype.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class XtypeValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__(self, plotly_name="xtype", parent_name="heatmapgl", **kwargs): - super(XtypeValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["array", "scaled"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_y.py b/packages/python/plotly/plotly/validators/heatmapgl/_y.py deleted file mode 100644 index fc2f49a6640..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_y.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class YValidator(_plotly_utils.basevalidators.DataArrayValidator): - def __init__(self, plotly_name="y", parent_name="heatmapgl", **kwargs): - super(YValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - implied_edits=kwargs.pop("implied_edits", {"ytype": "array"}), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_y0.py b/packages/python/plotly/plotly/validators/heatmapgl/_y0.py deleted file mode 100644 index ff159ccf4a4..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_y0.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class Y0Validator(_plotly_utils.basevalidators.AnyValidator): - def __init__(self, plotly_name="y0", parent_name="heatmapgl", **kwargs): - super(Y0Validator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - implied_edits=kwargs.pop("implied_edits", {"ytype": "scaled"}), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_yaxis.py b/packages/python/plotly/plotly/validators/heatmapgl/_yaxis.py deleted file mode 100644 index 82650ab5d6d..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_yaxis.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class YaxisValidator(_plotly_utils.basevalidators.SubplotidValidator): - def __init__(self, plotly_name="yaxis", parent_name="heatmapgl", **kwargs): - super(YaxisValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - dflt=kwargs.pop("dflt", "y"), - edit_type=kwargs.pop("edit_type", "calc+clearAxisTypes"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_ysrc.py b/packages/python/plotly/plotly/validators/heatmapgl/_ysrc.py deleted file mode 100644 index b7f29399e1a..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_ysrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class YsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="ysrc", parent_name="heatmapgl", **kwargs): - super(YsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_ytype.py b/packages/python/plotly/plotly/validators/heatmapgl/_ytype.py deleted file mode 100644 index 56bd480dbed..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_ytype.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class YtypeValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__(self, plotly_name="ytype", parent_name="heatmapgl", **kwargs): - super(YtypeValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["array", "scaled"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_z.py b/packages/python/plotly/plotly/validators/heatmapgl/_z.py deleted file mode 100644 index 89752d493e7..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_z.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class ZValidator(_plotly_utils.basevalidators.DataArrayValidator): - def __init__(self, plotly_name="z", parent_name="heatmapgl", **kwargs): - super(ZValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_zauto.py b/packages/python/plotly/plotly/validators/heatmapgl/_zauto.py deleted file mode 100644 index 8f14872db2e..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_zauto.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class ZautoValidator(_plotly_utils.basevalidators.BooleanValidator): - def __init__(self, plotly_name="zauto", parent_name="heatmapgl", **kwargs): - super(ZautoValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - implied_edits=kwargs.pop("implied_edits", {}), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_zmax.py b/packages/python/plotly/plotly/validators/heatmapgl/_zmax.py deleted file mode 100644 index 5fcfbb75ef2..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_zmax.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class ZmaxValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__(self, plotly_name="zmax", parent_name="heatmapgl", **kwargs): - super(ZmaxValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - implied_edits=kwargs.pop("implied_edits", {"zauto": False}), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_zmid.py b/packages/python/plotly/plotly/validators/heatmapgl/_zmid.py deleted file mode 100644 index b158a8b07cf..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_zmid.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class ZmidValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__(self, plotly_name="zmid", parent_name="heatmapgl", **kwargs): - super(ZmidValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - implied_edits=kwargs.pop("implied_edits", {}), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_zmin.py b/packages/python/plotly/plotly/validators/heatmapgl/_zmin.py deleted file mode 100644 index 8b60a287843..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_zmin.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class ZminValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__(self, plotly_name="zmin", parent_name="heatmapgl", **kwargs): - super(ZminValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - implied_edits=kwargs.pop("implied_edits", {"zauto": False}), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_zsmooth.py b/packages/python/plotly/plotly/validators/heatmapgl/_zsmooth.py deleted file mode 100644 index 5f06e23549b..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_zsmooth.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class ZsmoothValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__(self, plotly_name="zsmooth", parent_name="heatmapgl", **kwargs): - super(ZsmoothValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["fast", False]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/_zsrc.py b/packages/python/plotly/plotly/validators/heatmapgl/_zsrc.py deleted file mode 100644 index b1b2694757a..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/_zsrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class ZsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="zsrc", parent_name="heatmapgl", **kwargs): - super(ZsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/__init__.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/__init__.py deleted file mode 100644 index 84963a2c1b3..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/__init__.py +++ /dev/null @@ -1,111 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._yref import YrefValidator - from ._ypad import YpadValidator - from ._yanchor import YanchorValidator - from ._y import YValidator - from ._xref import XrefValidator - from ._xpad import XpadValidator - from ._xanchor import XanchorValidator - from ._x import XValidator - from ._title import TitleValidator - from ._tickwidth import TickwidthValidator - from ._tickvalssrc import TickvalssrcValidator - from ._tickvals import TickvalsValidator - from ._ticktextsrc import TicktextsrcValidator - from ._ticktext import TicktextValidator - from ._ticksuffix import TicksuffixValidator - from ._ticks import TicksValidator - from ._tickprefix import TickprefixValidator - from ._tickmode import TickmodeValidator - from ._ticklen import TicklenValidator - from ._ticklabelstep import TicklabelstepValidator - from ._ticklabelposition import TicklabelpositionValidator - from ._ticklabeloverflow import TicklabeloverflowValidator - from ._tickformatstopdefaults import TickformatstopdefaultsValidator - from ._tickformatstops import TickformatstopsValidator - from ._tickformat import TickformatValidator - from ._tickfont import TickfontValidator - from ._tickcolor import TickcolorValidator - from ._tickangle import TickangleValidator - from ._tick0 import Tick0Validator - from ._thicknessmode import ThicknessmodeValidator - from ._thickness import ThicknessValidator - from ._showticksuffix import ShowticksuffixValidator - from ._showtickprefix import ShowtickprefixValidator - from ._showticklabels import ShowticklabelsValidator - from ._showexponent import ShowexponentValidator - from ._separatethousands import SeparatethousandsValidator - from ._outlinewidth import OutlinewidthValidator - from ._outlinecolor import OutlinecolorValidator - from ._orientation import OrientationValidator - from ._nticks import NticksValidator - from ._minexponent import MinexponentValidator - from ._lenmode import LenmodeValidator - from ._len import LenValidator - from ._labelalias import LabelaliasValidator - from ._exponentformat import ExponentformatValidator - from ._dtick import DtickValidator - from ._borderwidth import BorderwidthValidator - from ._bordercolor import BordercolorValidator - from ._bgcolor import BgcolorValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [], - [ - "._yref.YrefValidator", - "._ypad.YpadValidator", - "._yanchor.YanchorValidator", - "._y.YValidator", - "._xref.XrefValidator", - "._xpad.XpadValidator", - "._xanchor.XanchorValidator", - "._x.XValidator", - "._title.TitleValidator", - "._tickwidth.TickwidthValidator", - "._tickvalssrc.TickvalssrcValidator", - "._tickvals.TickvalsValidator", - "._ticktextsrc.TicktextsrcValidator", - "._ticktext.TicktextValidator", - "._ticksuffix.TicksuffixValidator", - "._ticks.TicksValidator", - "._tickprefix.TickprefixValidator", - "._tickmode.TickmodeValidator", - "._ticklen.TicklenValidator", - "._ticklabelstep.TicklabelstepValidator", - "._ticklabelposition.TicklabelpositionValidator", - "._ticklabeloverflow.TicklabeloverflowValidator", - "._tickformatstopdefaults.TickformatstopdefaultsValidator", - "._tickformatstops.TickformatstopsValidator", - "._tickformat.TickformatValidator", - "._tickfont.TickfontValidator", - "._tickcolor.TickcolorValidator", - "._tickangle.TickangleValidator", - "._tick0.Tick0Validator", - "._thicknessmode.ThicknessmodeValidator", - "._thickness.ThicknessValidator", - "._showticksuffix.ShowticksuffixValidator", - "._showtickprefix.ShowtickprefixValidator", - "._showticklabels.ShowticklabelsValidator", - "._showexponent.ShowexponentValidator", - "._separatethousands.SeparatethousandsValidator", - "._outlinewidth.OutlinewidthValidator", - "._outlinecolor.OutlinecolorValidator", - "._orientation.OrientationValidator", - "._nticks.NticksValidator", - "._minexponent.MinexponentValidator", - "._lenmode.LenmodeValidator", - "._len.LenValidator", - "._labelalias.LabelaliasValidator", - "._exponentformat.ExponentformatValidator", - "._dtick.DtickValidator", - "._borderwidth.BorderwidthValidator", - "._bordercolor.BordercolorValidator", - "._bgcolor.BgcolorValidator", - ], - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_bgcolor.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_bgcolor.py deleted file mode 100644 index 5f7e2c63b82..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_bgcolor.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class BgcolorValidator(_plotly_utils.basevalidators.ColorValidator): - def __init__( - self, plotly_name="bgcolor", parent_name="heatmapgl.colorbar", **kwargs - ): - super(BgcolorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_bordercolor.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_bordercolor.py deleted file mode 100644 index e45f3230709..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_bordercolor.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class BordercolorValidator(_plotly_utils.basevalidators.ColorValidator): - def __init__( - self, plotly_name="bordercolor", parent_name="heatmapgl.colorbar", **kwargs - ): - super(BordercolorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_borderwidth.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_borderwidth.py deleted file mode 100644 index 1fcfae7581e..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_borderwidth.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class BorderwidthValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, plotly_name="borderwidth", parent_name="heatmapgl.colorbar", **kwargs - ): - super(BorderwidthValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_dtick.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_dtick.py deleted file mode 100644 index e5682261c5e..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_dtick.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class DtickValidator(_plotly_utils.basevalidators.AnyValidator): - def __init__(self, plotly_name="dtick", parent_name="heatmapgl.colorbar", **kwargs): - super(DtickValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - implied_edits=kwargs.pop("implied_edits", {"tickmode": "linear"}), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_exponentformat.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_exponentformat.py deleted file mode 100644 index 8abc9bd96b5..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_exponentformat.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class ExponentformatValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="exponentformat", parent_name="heatmapgl.colorbar", **kwargs - ): - super(ExponentformatValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["none", "e", "E", "power", "SI", "B"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_labelalias.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_labelalias.py deleted file mode 100644 index 2b1976184d1..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_labelalias.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class LabelaliasValidator(_plotly_utils.basevalidators.AnyValidator): - def __init__( - self, plotly_name="labelalias", parent_name="heatmapgl.colorbar", **kwargs - ): - super(LabelaliasValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_len.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_len.py deleted file mode 100644 index d9bbc058442..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_len.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class LenValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__(self, plotly_name="len", parent_name="heatmapgl.colorbar", **kwargs): - super(LenValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_lenmode.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_lenmode.py deleted file mode 100644 index 9741947d5fe..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_lenmode.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class LenmodeValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="lenmode", parent_name="heatmapgl.colorbar", **kwargs - ): - super(LenmodeValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["fraction", "pixels"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_minexponent.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_minexponent.py deleted file mode 100644 index 8abb00a92a2..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_minexponent.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class MinexponentValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, plotly_name="minexponent", parent_name="heatmapgl.colorbar", **kwargs - ): - super(MinexponentValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_nticks.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_nticks.py deleted file mode 100644 index 1240a3a594a..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_nticks.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class NticksValidator(_plotly_utils.basevalidators.IntegerValidator): - def __init__( - self, plotly_name="nticks", parent_name="heatmapgl.colorbar", **kwargs - ): - super(NticksValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_orientation.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_orientation.py deleted file mode 100644 index 965f2365e06..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_orientation.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class OrientationValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="orientation", parent_name="heatmapgl.colorbar", **kwargs - ): - super(OrientationValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["h", "v"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_outlinecolor.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_outlinecolor.py deleted file mode 100644 index 6d0429d56d1..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_outlinecolor.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class OutlinecolorValidator(_plotly_utils.basevalidators.ColorValidator): - def __init__( - self, plotly_name="outlinecolor", parent_name="heatmapgl.colorbar", **kwargs - ): - super(OutlinecolorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_outlinewidth.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_outlinewidth.py deleted file mode 100644 index 4aca97460e8..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_outlinewidth.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class OutlinewidthValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, plotly_name="outlinewidth", parent_name="heatmapgl.colorbar", **kwargs - ): - super(OutlinewidthValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_separatethousands.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_separatethousands.py deleted file mode 100644 index 620799e67b3..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_separatethousands.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class SeparatethousandsValidator(_plotly_utils.basevalidators.BooleanValidator): - def __init__( - self, - plotly_name="separatethousands", - parent_name="heatmapgl.colorbar", - **kwargs, - ): - super(SeparatethousandsValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_showexponent.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_showexponent.py deleted file mode 100644 index e113e884a0d..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_showexponent.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class ShowexponentValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="showexponent", parent_name="heatmapgl.colorbar", **kwargs - ): - super(ShowexponentValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["all", "first", "last", "none"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_showticklabels.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_showticklabels.py deleted file mode 100644 index 16eb88ea8bb..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_showticklabels.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class ShowticklabelsValidator(_plotly_utils.basevalidators.BooleanValidator): - def __init__( - self, plotly_name="showticklabels", parent_name="heatmapgl.colorbar", **kwargs - ): - super(ShowticklabelsValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_showtickprefix.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_showtickprefix.py deleted file mode 100644 index 82f0a89cb1c..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_showtickprefix.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class ShowtickprefixValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="showtickprefix", parent_name="heatmapgl.colorbar", **kwargs - ): - super(ShowtickprefixValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["all", "first", "last", "none"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_showticksuffix.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_showticksuffix.py deleted file mode 100644 index cd160b8a63e..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_showticksuffix.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class ShowticksuffixValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="showticksuffix", parent_name="heatmapgl.colorbar", **kwargs - ): - super(ShowticksuffixValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["all", "first", "last", "none"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_thickness.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_thickness.py deleted file mode 100644 index 12b438d22f4..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_thickness.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class ThicknessValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, plotly_name="thickness", parent_name="heatmapgl.colorbar", **kwargs - ): - super(ThicknessValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_thicknessmode.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_thicknessmode.py deleted file mode 100644 index 3623f31d333..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_thicknessmode.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class ThicknessmodeValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="thicknessmode", parent_name="heatmapgl.colorbar", **kwargs - ): - super(ThicknessmodeValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["fraction", "pixels"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tick0.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tick0.py deleted file mode 100644 index f6d99a36003..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tick0.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class Tick0Validator(_plotly_utils.basevalidators.AnyValidator): - def __init__(self, plotly_name="tick0", parent_name="heatmapgl.colorbar", **kwargs): - super(Tick0Validator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - implied_edits=kwargs.pop("implied_edits", {"tickmode": "linear"}), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickangle.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickangle.py deleted file mode 100644 index fbfc0068297..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickangle.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class TickangleValidator(_plotly_utils.basevalidators.AngleValidator): - def __init__( - self, plotly_name="tickangle", parent_name="heatmapgl.colorbar", **kwargs - ): - super(TickangleValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickcolor.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickcolor.py deleted file mode 100644 index 2c0233dc658..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickcolor.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class TickcolorValidator(_plotly_utils.basevalidators.ColorValidator): - def __init__( - self, plotly_name="tickcolor", parent_name="heatmapgl.colorbar", **kwargs - ): - super(TickcolorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickfont.py deleted file mode 100644 index fa762677825..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickfont.py +++ /dev/null @@ -1,61 +0,0 @@ -import _plotly_utils.basevalidators - - -class TickfontValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__( - self, plotly_name="tickfont", parent_name="heatmapgl.colorbar", **kwargs - ): - super(TickfontValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Tickfont"), - data_docs=kwargs.pop( - "data_docs", - """ - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickformat.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickformat.py deleted file mode 100644 index db34171a0fc..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickformat.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class TickformatValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, plotly_name="tickformat", parent_name="heatmapgl.colorbar", **kwargs - ): - super(TickformatValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickformatstopdefaults.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickformatstopdefaults.py deleted file mode 100644 index 000d7aa8d60..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickformatstopdefaults.py +++ /dev/null @@ -1,21 +0,0 @@ -import _plotly_utils.basevalidators - - -class TickformatstopdefaultsValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__( - self, - plotly_name="tickformatstopdefaults", - parent_name="heatmapgl.colorbar", - **kwargs, - ): - super(TickformatstopdefaultsValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Tickformatstop"), - data_docs=kwargs.pop( - "data_docs", - """ -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickformatstops.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickformatstops.py deleted file mode 100644 index 8c157bbb2f3..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickformatstops.py +++ /dev/null @@ -1,51 +0,0 @@ -import _plotly_utils.basevalidators - - -class TickformatstopsValidator(_plotly_utils.basevalidators.CompoundArrayValidator): - def __init__( - self, plotly_name="tickformatstops", parent_name="heatmapgl.colorbar", **kwargs - ): - super(TickformatstopsValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Tickformatstop"), - data_docs=kwargs.pop( - "data_docs", - """ - dtickrange - range [*min*, *max*], where "min", "max" - - dtick values which describe some zoom level, it - is possible to omit "min" or "max" value by - passing "null" - enabled - Determines whether or not this stop is used. If - `false`, this stop is ignored even within its - `dtickrange`. - name - When used in a template, named items are - created in the output figure in addition to any - items the figure already has in this array. You - can modify these items in the output figure by - making your own item with `templateitemname` - matching this `name` alongside your - modifications (including `visible: false` or - `enabled: false` to hide it). Has no effect - outside of a template. - templateitemname - Used to refer to a named item in this array in - the template. Named items from the template - will be created even without a matching item in - the input figure, but you can modify one by - making an item with `templateitemname` matching - its `name`, alongside your modifications - (including `visible: false` or `enabled: false` - to hide it). If there is no template or no - matching item, this item will be hidden unless - you explicitly show it with `visible: true`. - value - string - dtickformat for described zoom level, - the same as "tickformat" -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticklabeloverflow.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticklabeloverflow.py deleted file mode 100644 index 502d67b7ff1..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticklabeloverflow.py +++ /dev/null @@ -1,17 +0,0 @@ -import _plotly_utils.basevalidators - - -class TicklabeloverflowValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, - plotly_name="ticklabeloverflow", - parent_name="heatmapgl.colorbar", - **kwargs, - ): - super(TicklabeloverflowValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["allow", "hide past div", "hide past domain"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticklabelposition.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticklabelposition.py deleted file mode 100644 index 0195bfa3238..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticklabelposition.py +++ /dev/null @@ -1,31 +0,0 @@ -import _plotly_utils.basevalidators - - -class TicklabelpositionValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, - plotly_name="ticklabelposition", - parent_name="heatmapgl.colorbar", - **kwargs, - ): - super(TicklabelpositionValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop( - "values", - [ - "outside", - "inside", - "outside top", - "inside top", - "outside left", - "inside left", - "outside right", - "inside right", - "outside bottom", - "inside bottom", - ], - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticklabelstep.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticklabelstep.py deleted file mode 100644 index 29dc5c0cbbb..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticklabelstep.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class TicklabelstepValidator(_plotly_utils.basevalidators.IntegerValidator): - def __init__( - self, plotly_name="ticklabelstep", parent_name="heatmapgl.colorbar", **kwargs - ): - super(TicklabelstepValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - min=kwargs.pop("min", 1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticklen.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticklen.py deleted file mode 100644 index 58f4958d8bb..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticklen.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class TicklenValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, plotly_name="ticklen", parent_name="heatmapgl.colorbar", **kwargs - ): - super(TicklenValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickmode.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickmode.py deleted file mode 100644 index 958c0eda37f..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickmode.py +++ /dev/null @@ -1,15 +0,0 @@ -import _plotly_utils.basevalidators - - -class TickmodeValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="tickmode", parent_name="heatmapgl.colorbar", **kwargs - ): - super(TickmodeValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - implied_edits=kwargs.pop("implied_edits", {}), - values=kwargs.pop("values", ["auto", "linear", "array"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickprefix.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickprefix.py deleted file mode 100644 index 764a66be9d7..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickprefix.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class TickprefixValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, plotly_name="tickprefix", parent_name="heatmapgl.colorbar", **kwargs - ): - super(TickprefixValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticks.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticks.py deleted file mode 100644 index 45008483cf8..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticks.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class TicksValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__(self, plotly_name="ticks", parent_name="heatmapgl.colorbar", **kwargs): - super(TicksValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["outside", "inside", ""]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticksuffix.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticksuffix.py deleted file mode 100644 index 69393cbaf73..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticksuffix.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class TicksuffixValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, plotly_name="ticksuffix", parent_name="heatmapgl.colorbar", **kwargs - ): - super(TicksuffixValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticktext.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticktext.py deleted file mode 100644 index 7ef52b861d6..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticktext.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class TicktextValidator(_plotly_utils.basevalidators.DataArrayValidator): - def __init__( - self, plotly_name="ticktext", parent_name="heatmapgl.colorbar", **kwargs - ): - super(TicktextValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticktextsrc.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticktextsrc.py deleted file mode 100644 index 2aa96de8631..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ticktextsrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class TicktextsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="ticktextsrc", parent_name="heatmapgl.colorbar", **kwargs - ): - super(TicktextsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickvals.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickvals.py deleted file mode 100644 index 20cf3b3d3ab..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickvals.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class TickvalsValidator(_plotly_utils.basevalidators.DataArrayValidator): - def __init__( - self, plotly_name="tickvals", parent_name="heatmapgl.colorbar", **kwargs - ): - super(TickvalsValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickvalssrc.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickvalssrc.py deleted file mode 100644 index 44fbcc6d73b..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickvalssrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class TickvalssrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="tickvalssrc", parent_name="heatmapgl.colorbar", **kwargs - ): - super(TickvalssrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickwidth.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickwidth.py deleted file mode 100644 index 1734084988f..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_tickwidth.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class TickwidthValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, plotly_name="tickwidth", parent_name="heatmapgl.colorbar", **kwargs - ): - super(TickwidthValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_title.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_title.py deleted file mode 100644 index 4bfed26246c..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_title.py +++ /dev/null @@ -1,33 +0,0 @@ -import _plotly_utils.basevalidators - - -class TitleValidator(_plotly_utils.basevalidators.TitleValidator): - def __init__(self, plotly_name="title", parent_name="heatmapgl.colorbar", **kwargs): - super(TitleValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Title"), - data_docs=kwargs.pop( - "data_docs", - """ - font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - side - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. - text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_x.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_x.py deleted file mode 100644 index f8e64ab708d..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_x.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class XValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__(self, plotly_name="x", parent_name="heatmapgl.colorbar", **kwargs): - super(XValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_xanchor.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_xanchor.py deleted file mode 100644 index 09caee93a1a..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_xanchor.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class XanchorValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="xanchor", parent_name="heatmapgl.colorbar", **kwargs - ): - super(XanchorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["left", "center", "right"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_xpad.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_xpad.py deleted file mode 100644 index e8138a2ba18..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_xpad.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class XpadValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__(self, plotly_name="xpad", parent_name="heatmapgl.colorbar", **kwargs): - super(XpadValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_xref.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_xref.py deleted file mode 100644 index dae73c2ff21..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_xref.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class XrefValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__(self, plotly_name="xref", parent_name="heatmapgl.colorbar", **kwargs): - super(XrefValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["container", "paper"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_y.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_y.py deleted file mode 100644 index 968c026004e..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_y.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class YValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__(self, plotly_name="y", parent_name="heatmapgl.colorbar", **kwargs): - super(YValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_yanchor.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_yanchor.py deleted file mode 100644 index e17042ed2d3..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_yanchor.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class YanchorValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="yanchor", parent_name="heatmapgl.colorbar", **kwargs - ): - super(YanchorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["top", "middle", "bottom"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ypad.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ypad.py deleted file mode 100644 index ccca0011d0f..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_ypad.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class YpadValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__(self, plotly_name="ypad", parent_name="heatmapgl.colorbar", **kwargs): - super(YpadValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_yref.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_yref.py deleted file mode 100644 index c20796f8f41..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/_yref.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class YrefValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__(self, plotly_name="yref", parent_name="heatmapgl.colorbar", **kwargs): - super(YrefValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["container", "paper"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/__init__.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/__init__.py deleted file mode 100644 index 983f9a04e58..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._weight import WeightValidator - from ._variant import VariantValidator - from ._textcase import TextcaseValidator - from ._style import StyleValidator - from ._size import SizeValidator - from ._shadow import ShadowValidator - from ._lineposition import LinepositionValidator - from ._family import FamilyValidator - from ._color import ColorValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [], - [ - "._weight.WeightValidator", - "._variant.VariantValidator", - "._textcase.TextcaseValidator", - "._style.StyleValidator", - "._size.SizeValidator", - "._shadow.ShadowValidator", - "._lineposition.LinepositionValidator", - "._family.FamilyValidator", - "._color.ColorValidator", - ], - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_color.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_color.py deleted file mode 100644 index 7b4b6e132ba..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_color.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class ColorValidator(_plotly_utils.basevalidators.ColorValidator): - def __init__( - self, plotly_name="color", parent_name="heatmapgl.colorbar.tickfont", **kwargs - ): - super(ColorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_family.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_family.py deleted file mode 100644 index a1bc1c52c10..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_family.py +++ /dev/null @@ -1,15 +0,0 @@ -import _plotly_utils.basevalidators - - -class FamilyValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, plotly_name="family", parent_name="heatmapgl.colorbar.tickfont", **kwargs - ): - super(FamilyValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - no_blank=kwargs.pop("no_blank", True), - strict=kwargs.pop("strict", True), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_lineposition.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_lineposition.py deleted file mode 100644 index d717a169db1..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_lineposition.py +++ /dev/null @@ -1,18 +0,0 @@ -import _plotly_utils.basevalidators - - -class LinepositionValidator(_plotly_utils.basevalidators.FlaglistValidator): - def __init__( - self, - plotly_name="lineposition", - parent_name="heatmapgl.colorbar.tickfont", - **kwargs, - ): - super(LinepositionValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - extras=kwargs.pop("extras", ["none"]), - flags=kwargs.pop("flags", ["under", "over", "through"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_shadow.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_shadow.py deleted file mode 100644 index 1ce2b71449e..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_shadow.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class ShadowValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, plotly_name="shadow", parent_name="heatmapgl.colorbar.tickfont", **kwargs - ): - super(ShadowValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_size.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_size.py deleted file mode 100644 index 0e1e9b2de9e..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_size.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class SizeValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, plotly_name="size", parent_name="heatmapgl.colorbar.tickfont", **kwargs - ): - super(SizeValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - min=kwargs.pop("min", 1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_style.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_style.py deleted file mode 100644 index d3f389e5940..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_style.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class StyleValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="style", parent_name="heatmapgl.colorbar.tickfont", **kwargs - ): - super(StyleValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["normal", "italic"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_textcase.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_textcase.py deleted file mode 100644 index 24e5483bfb5..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_textcase.py +++ /dev/null @@ -1,17 +0,0 @@ -import _plotly_utils.basevalidators - - -class TextcaseValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, - plotly_name="textcase", - parent_name="heatmapgl.colorbar.tickfont", - **kwargs, - ): - super(TextcaseValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["normal", "word caps", "upper", "lower"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_variant.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_variant.py deleted file mode 100644 index e62eb8e0bc4..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_variant.py +++ /dev/null @@ -1,24 +0,0 @@ -import _plotly_utils.basevalidators - - -class VariantValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="variant", parent_name="heatmapgl.colorbar.tickfont", **kwargs - ): - super(VariantValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop( - "values", - [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase", - ], - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_weight.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_weight.py deleted file mode 100644 index cf1007014b9..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_weight.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class WeightValidator(_plotly_utils.basevalidators.IntegerValidator): - def __init__( - self, plotly_name="weight", parent_name="heatmapgl.colorbar.tickfont", **kwargs - ): - super(WeightValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - extras=kwargs.pop("extras", ["normal", "bold"]), - max=kwargs.pop("max", 1000), - min=kwargs.pop("min", 1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/__init__.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/__init__.py deleted file mode 100644 index 559090a1dec..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._value import ValueValidator - from ._templateitemname import TemplateitemnameValidator - from ._name import NameValidator - from ._enabled import EnabledValidator - from ._dtickrange import DtickrangeValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [], - [ - "._value.ValueValidator", - "._templateitemname.TemplateitemnameValidator", - "._name.NameValidator", - "._enabled.EnabledValidator", - "._dtickrange.DtickrangeValidator", - ], - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/_dtickrange.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/_dtickrange.py deleted file mode 100644 index 818261e9846..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/_dtickrange.py +++ /dev/null @@ -1,23 +0,0 @@ -import _plotly_utils.basevalidators - - -class DtickrangeValidator(_plotly_utils.basevalidators.InfoArrayValidator): - def __init__( - self, - plotly_name="dtickrange", - parent_name="heatmapgl.colorbar.tickformatstop", - **kwargs, - ): - super(DtickrangeValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - items=kwargs.pop( - "items", - [ - {"editType": "calc", "valType": "any"}, - {"editType": "calc", "valType": "any"}, - ], - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/_enabled.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/_enabled.py deleted file mode 100644 index d832580933c..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/_enabled.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class EnabledValidator(_plotly_utils.basevalidators.BooleanValidator): - def __init__( - self, - plotly_name="enabled", - parent_name="heatmapgl.colorbar.tickformatstop", - **kwargs, - ): - super(EnabledValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/_name.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/_name.py deleted file mode 100644 index a78ed00ae5e..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/_name.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class NameValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, - plotly_name="name", - parent_name="heatmapgl.colorbar.tickformatstop", - **kwargs, - ): - super(NameValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/_templateitemname.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/_templateitemname.py deleted file mode 100644 index 58f244d4cc5..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/_templateitemname.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class TemplateitemnameValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, - plotly_name="templateitemname", - parent_name="heatmapgl.colorbar.tickformatstop", - **kwargs, - ): - super(TemplateitemnameValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/_value.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/_value.py deleted file mode 100644 index b13b669e145..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickformatstop/_value.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class ValueValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, - plotly_name="value", - parent_name="heatmapgl.colorbar.tickformatstop", - **kwargs, - ): - super(ValueValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/__init__.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/__init__.py deleted file mode 100644 index 1aae6a91aa5..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/__init__.py +++ /dev/null @@ -1,15 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._text import TextValidator - from ._side import SideValidator - from ._font import FontValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [], - ["._text.TextValidator", "._side.SideValidator", "._font.FontValidator"], - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/_font.py deleted file mode 100644 index 59495c8293b..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/_font.py +++ /dev/null @@ -1,61 +0,0 @@ -import _plotly_utils.basevalidators - - -class FontValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__( - self, plotly_name="font", parent_name="heatmapgl.colorbar.title", **kwargs - ): - super(FontValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Font"), - data_docs=kwargs.pop( - "data_docs", - """ - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/_side.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/_side.py deleted file mode 100644 index a0e6ba8d0b1..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/_side.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class SideValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="side", parent_name="heatmapgl.colorbar.title", **kwargs - ): - super(SideValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["right", "top", "bottom"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/_text.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/_text.py deleted file mode 100644 index a3115570e7b..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/_text.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class TextValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, plotly_name="text", parent_name="heatmapgl.colorbar.title", **kwargs - ): - super(TextValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/__init__.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/__init__.py deleted file mode 100644 index 983f9a04e58..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._weight import WeightValidator - from ._variant import VariantValidator - from ._textcase import TextcaseValidator - from ._style import StyleValidator - from ._size import SizeValidator - from ._shadow import ShadowValidator - from ._lineposition import LinepositionValidator - from ._family import FamilyValidator - from ._color import ColorValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [], - [ - "._weight.WeightValidator", - "._variant.VariantValidator", - "._textcase.TextcaseValidator", - "._style.StyleValidator", - "._size.SizeValidator", - "._shadow.ShadowValidator", - "._lineposition.LinepositionValidator", - "._family.FamilyValidator", - "._color.ColorValidator", - ], - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_color.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_color.py deleted file mode 100644 index 10cef94735b..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_color.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class ColorValidator(_plotly_utils.basevalidators.ColorValidator): - def __init__( - self, plotly_name="color", parent_name="heatmapgl.colorbar.title.font", **kwargs - ): - super(ColorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_family.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_family.py deleted file mode 100644 index 71ae5d9c71c..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_family.py +++ /dev/null @@ -1,18 +0,0 @@ -import _plotly_utils.basevalidators - - -class FamilyValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, - plotly_name="family", - parent_name="heatmapgl.colorbar.title.font", - **kwargs, - ): - super(FamilyValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - no_blank=kwargs.pop("no_blank", True), - strict=kwargs.pop("strict", True), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_lineposition.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_lineposition.py deleted file mode 100644 index 0b4b8b0c6ad..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_lineposition.py +++ /dev/null @@ -1,18 +0,0 @@ -import _plotly_utils.basevalidators - - -class LinepositionValidator(_plotly_utils.basevalidators.FlaglistValidator): - def __init__( - self, - plotly_name="lineposition", - parent_name="heatmapgl.colorbar.title.font", - **kwargs, - ): - super(LinepositionValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - extras=kwargs.pop("extras", ["none"]), - flags=kwargs.pop("flags", ["under", "over", "through"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_shadow.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_shadow.py deleted file mode 100644 index 11242c3c320..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_shadow.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class ShadowValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, - plotly_name="shadow", - parent_name="heatmapgl.colorbar.title.font", - **kwargs, - ): - super(ShadowValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_size.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_size.py deleted file mode 100644 index 0e37416f3f4..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_size.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class SizeValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, plotly_name="size", parent_name="heatmapgl.colorbar.title.font", **kwargs - ): - super(SizeValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - min=kwargs.pop("min", 1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_style.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_style.py deleted file mode 100644 index a466e30315c..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_style.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class StyleValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="style", parent_name="heatmapgl.colorbar.title.font", **kwargs - ): - super(StyleValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["normal", "italic"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_textcase.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_textcase.py deleted file mode 100644 index 0aacaca6a2e..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_textcase.py +++ /dev/null @@ -1,17 +0,0 @@ -import _plotly_utils.basevalidators - - -class TextcaseValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, - plotly_name="textcase", - parent_name="heatmapgl.colorbar.title.font", - **kwargs, - ): - super(TextcaseValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", ["normal", "word caps", "upper", "lower"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_variant.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_variant.py deleted file mode 100644 index 150f9cab67d..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_variant.py +++ /dev/null @@ -1,27 +0,0 @@ -import _plotly_utils.basevalidators - - -class VariantValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, - plotly_name="variant", - parent_name="heatmapgl.colorbar.title.font", - **kwargs, - ): - super(VariantValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop( - "values", - [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase", - ], - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_weight.py b/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_weight.py deleted file mode 100644 index de0192ccc48..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_weight.py +++ /dev/null @@ -1,19 +0,0 @@ -import _plotly_utils.basevalidators - - -class WeightValidator(_plotly_utils.basevalidators.IntegerValidator): - def __init__( - self, - plotly_name="weight", - parent_name="heatmapgl.colorbar.title.font", - **kwargs, - ): - super(WeightValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - extras=kwargs.pop("extras", ["normal", "bold"]), - max=kwargs.pop("max", 1000), - min=kwargs.pop("min", 1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/__init__.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/__init__.py deleted file mode 100644 index c6ee8b59679..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._namelengthsrc import NamelengthsrcValidator - from ._namelength import NamelengthValidator - from ._font import FontValidator - from ._bordercolorsrc import BordercolorsrcValidator - from ._bordercolor import BordercolorValidator - from ._bgcolorsrc import BgcolorsrcValidator - from ._bgcolor import BgcolorValidator - from ._alignsrc import AlignsrcValidator - from ._align import AlignValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [], - [ - "._namelengthsrc.NamelengthsrcValidator", - "._namelength.NamelengthValidator", - "._font.FontValidator", - "._bordercolorsrc.BordercolorsrcValidator", - "._bordercolor.BordercolorValidator", - "._bgcolorsrc.BgcolorsrcValidator", - "._bgcolor.BgcolorValidator", - "._alignsrc.AlignsrcValidator", - "._align.AlignValidator", - ], - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_align.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_align.py deleted file mode 100644 index 4ad8555efe6..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_align.py +++ /dev/null @@ -1,15 +0,0 @@ -import _plotly_utils.basevalidators - - -class AlignValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="align", parent_name="heatmapgl.hoverlabel", **kwargs - ): - super(AlignValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - values=kwargs.pop("values", ["left", "right", "auto"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_alignsrc.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_alignsrc.py deleted file mode 100644 index f7331a32a72..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_alignsrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class AlignsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="alignsrc", parent_name="heatmapgl.hoverlabel", **kwargs - ): - super(AlignsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_bgcolor.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_bgcolor.py deleted file mode 100644 index c2b72a62b8a..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_bgcolor.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class BgcolorValidator(_plotly_utils.basevalidators.ColorValidator): - def __init__( - self, plotly_name="bgcolor", parent_name="heatmapgl.hoverlabel", **kwargs - ): - super(BgcolorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_bgcolorsrc.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_bgcolorsrc.py deleted file mode 100644 index 05326d10492..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_bgcolorsrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class BgcolorsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="bgcolorsrc", parent_name="heatmapgl.hoverlabel", **kwargs - ): - super(BgcolorsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_bordercolor.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_bordercolor.py deleted file mode 100644 index 5960dcfe3b9..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_bordercolor.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class BordercolorValidator(_plotly_utils.basevalidators.ColorValidator): - def __init__( - self, plotly_name="bordercolor", parent_name="heatmapgl.hoverlabel", **kwargs - ): - super(BordercolorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_bordercolorsrc.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_bordercolorsrc.py deleted file mode 100644 index cbf5a1e6b0f..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_bordercolorsrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class BordercolorsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="bordercolorsrc", parent_name="heatmapgl.hoverlabel", **kwargs - ): - super(BordercolorsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_font.py deleted file mode 100644 index 9f8efdab033..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_font.py +++ /dev/null @@ -1,88 +0,0 @@ -import _plotly_utils.basevalidators - - -class FontValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__( - self, plotly_name="font", parent_name="heatmapgl.hoverlabel", **kwargs - ): - super(FontValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Font"), - data_docs=kwargs.pop( - "data_docs", - """ - color - - colorsrc - Sets the source reference on Chart Studio Cloud - for `color`. - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - familysrc - Sets the source reference on Chart Studio Cloud - for `family`. - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud - for `lineposition`. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - shadowsrc - Sets the source reference on Chart Studio Cloud - for `shadow`. - size - - sizesrc - Sets the source reference on Chart Studio Cloud - for `size`. - style - Sets whether a font should be styled with a - normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud - for `style`. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud - for `textcase`. - variant - Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud - for `variant`. - weight - Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud - for `weight`. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_namelength.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_namelength.py deleted file mode 100644 index a5226002601..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_namelength.py +++ /dev/null @@ -1,15 +0,0 @@ -import _plotly_utils.basevalidators - - -class NamelengthValidator(_plotly_utils.basevalidators.IntegerValidator): - def __init__( - self, plotly_name="namelength", parent_name="heatmapgl.hoverlabel", **kwargs - ): - super(NamelengthValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - min=kwargs.pop("min", -1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_namelengthsrc.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_namelengthsrc.py deleted file mode 100644 index d94871c105c..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/_namelengthsrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class NamelengthsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="namelengthsrc", parent_name="heatmapgl.hoverlabel", **kwargs - ): - super(NamelengthsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/__init__.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/__init__.py deleted file mode 100644 index 487c2f8676e..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/__init__.py +++ /dev/null @@ -1,49 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._weightsrc import WeightsrcValidator - from ._weight import WeightValidator - from ._variantsrc import VariantsrcValidator - from ._variant import VariantValidator - from ._textcasesrc import TextcasesrcValidator - from ._textcase import TextcaseValidator - from ._stylesrc import StylesrcValidator - from ._style import StyleValidator - from ._sizesrc import SizesrcValidator - from ._size import SizeValidator - from ._shadowsrc import ShadowsrcValidator - from ._shadow import ShadowValidator - from ._linepositionsrc import LinepositionsrcValidator - from ._lineposition import LinepositionValidator - from ._familysrc import FamilysrcValidator - from ._family import FamilyValidator - from ._colorsrc import ColorsrcValidator - from ._color import ColorValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [], - [ - "._weightsrc.WeightsrcValidator", - "._weight.WeightValidator", - "._variantsrc.VariantsrcValidator", - "._variant.VariantValidator", - "._textcasesrc.TextcasesrcValidator", - "._textcase.TextcaseValidator", - "._stylesrc.StylesrcValidator", - "._style.StyleValidator", - "._sizesrc.SizesrcValidator", - "._size.SizeValidator", - "._shadowsrc.ShadowsrcValidator", - "._shadow.ShadowValidator", - "._linepositionsrc.LinepositionsrcValidator", - "._lineposition.LinepositionValidator", - "._familysrc.FamilysrcValidator", - "._family.FamilyValidator", - "._colorsrc.ColorsrcValidator", - "._color.ColorValidator", - ], - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_color.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_color.py deleted file mode 100644 index bd94c4b3662..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_color.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class ColorValidator(_plotly_utils.basevalidators.ColorValidator): - def __init__( - self, plotly_name="color", parent_name="heatmapgl.hoverlabel.font", **kwargs - ): - super(ColorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_colorsrc.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_colorsrc.py deleted file mode 100644 index 1bf7797a2e7..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_colorsrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class ColorsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="colorsrc", parent_name="heatmapgl.hoverlabel.font", **kwargs - ): - super(ColorsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_family.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_family.py deleted file mode 100644 index a76fcc746e6..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_family.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class FamilyValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, plotly_name="family", parent_name="heatmapgl.hoverlabel.font", **kwargs - ): - super(FamilyValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - no_blank=kwargs.pop("no_blank", True), - strict=kwargs.pop("strict", True), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_familysrc.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_familysrc.py deleted file mode 100644 index 29336bc0a16..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_familysrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class FamilysrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="familysrc", parent_name="heatmapgl.hoverlabel.font", **kwargs - ): - super(FamilysrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_lineposition.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_lineposition.py deleted file mode 100644 index c33c2c502b3..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_lineposition.py +++ /dev/null @@ -1,19 +0,0 @@ -import _plotly_utils.basevalidators - - -class LinepositionValidator(_plotly_utils.basevalidators.FlaglistValidator): - def __init__( - self, - plotly_name="lineposition", - parent_name="heatmapgl.hoverlabel.font", - **kwargs, - ): - super(LinepositionValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - extras=kwargs.pop("extras", ["none"]), - flags=kwargs.pop("flags", ["under", "over", "through"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_linepositionsrc.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_linepositionsrc.py deleted file mode 100644 index 5582b608ba2..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_linepositionsrc.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class LinepositionsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, - plotly_name="linepositionsrc", - parent_name="heatmapgl.hoverlabel.font", - **kwargs, - ): - super(LinepositionsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_shadow.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_shadow.py deleted file mode 100644 index 26c580b48ae..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_shadow.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class ShadowValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, plotly_name="shadow", parent_name="heatmapgl.hoverlabel.font", **kwargs - ): - super(ShadowValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_shadowsrc.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_shadowsrc.py deleted file mode 100644 index cf98deb1684..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_shadowsrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class ShadowsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="shadowsrc", parent_name="heatmapgl.hoverlabel.font", **kwargs - ): - super(ShadowsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_size.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_size.py deleted file mode 100644 index ac2ecb55add..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_size.py +++ /dev/null @@ -1,15 +0,0 @@ -import _plotly_utils.basevalidators - - -class SizeValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, plotly_name="size", parent_name="heatmapgl.hoverlabel.font", **kwargs - ): - super(SizeValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - min=kwargs.pop("min", 1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_sizesrc.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_sizesrc.py deleted file mode 100644 index 032b73c4694..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_sizesrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class SizesrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="sizesrc", parent_name="heatmapgl.hoverlabel.font", **kwargs - ): - super(SizesrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_style.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_style.py deleted file mode 100644 index db6c82a0215..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_style.py +++ /dev/null @@ -1,15 +0,0 @@ -import _plotly_utils.basevalidators - - -class StyleValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="style", parent_name="heatmapgl.hoverlabel.font", **kwargs - ): - super(StyleValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - values=kwargs.pop("values", ["normal", "italic"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_stylesrc.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_stylesrc.py deleted file mode 100644 index afde24e08c8..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_stylesrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class StylesrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="stylesrc", parent_name="heatmapgl.hoverlabel.font", **kwargs - ): - super(StylesrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_textcase.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_textcase.py deleted file mode 100644 index 59ad5d4473d..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_textcase.py +++ /dev/null @@ -1,15 +0,0 @@ -import _plotly_utils.basevalidators - - -class TextcaseValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="textcase", parent_name="heatmapgl.hoverlabel.font", **kwargs - ): - super(TextcaseValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - values=kwargs.pop("values", ["normal", "word caps", "upper", "lower"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_textcasesrc.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_textcasesrc.py deleted file mode 100644 index 07b7004d801..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_textcasesrc.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class TextcasesrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, - plotly_name="textcasesrc", - parent_name="heatmapgl.hoverlabel.font", - **kwargs, - ): - super(TextcasesrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_variant.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_variant.py deleted file mode 100644 index b1f415e90d4..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_variant.py +++ /dev/null @@ -1,25 +0,0 @@ -import _plotly_utils.basevalidators - - -class VariantValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="variant", parent_name="heatmapgl.hoverlabel.font", **kwargs - ): - super(VariantValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - values=kwargs.pop( - "values", - [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase", - ], - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_variantsrc.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_variantsrc.py deleted file mode 100644 index 763a3a672e3..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_variantsrc.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class VariantsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, - plotly_name="variantsrc", - parent_name="heatmapgl.hoverlabel.font", - **kwargs, - ): - super(VariantsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_weight.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_weight.py deleted file mode 100644 index 463b3bf9117..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_weight.py +++ /dev/null @@ -1,17 +0,0 @@ -import _plotly_utils.basevalidators - - -class WeightValidator(_plotly_utils.basevalidators.IntegerValidator): - def __init__( - self, plotly_name="weight", parent_name="heatmapgl.hoverlabel.font", **kwargs - ): - super(WeightValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - extras=kwargs.pop("extras", ["normal", "bold"]), - max=kwargs.pop("max", 1000), - min=kwargs.pop("min", 1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_weightsrc.py b/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_weightsrc.py deleted file mode 100644 index 9274ad3e636..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_weightsrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class WeightsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="weightsrc", parent_name="heatmapgl.hoverlabel.font", **kwargs - ): - super(WeightsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/__init__.py b/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/__init__.py deleted file mode 100644 index ad27d3ad3e2..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/__init__.py +++ /dev/null @@ -1,12 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._text import TextValidator - from ._font import FontValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, [], ["._text.TextValidator", "._font.FontValidator"] - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/_font.py deleted file mode 100644 index d0d8e4b5c8a..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/_font.py +++ /dev/null @@ -1,61 +0,0 @@ -import _plotly_utils.basevalidators - - -class FontValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__( - self, plotly_name="font", parent_name="heatmapgl.legendgrouptitle", **kwargs - ): - super(FontValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Font"), - data_docs=kwargs.pop( - "data_docs", - """ - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/_text.py b/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/_text.py deleted file mode 100644 index 2b26a604a4f..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/_text.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class TextValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, plotly_name="text", parent_name="heatmapgl.legendgrouptitle", **kwargs - ): - super(TextValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/__init__.py b/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/__init__.py deleted file mode 100644 index 983f9a04e58..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._weight import WeightValidator - from ._variant import VariantValidator - from ._textcase import TextcaseValidator - from ._style import StyleValidator - from ._size import SizeValidator - from ._shadow import ShadowValidator - from ._lineposition import LinepositionValidator - from ._family import FamilyValidator - from ._color import ColorValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [], - [ - "._weight.WeightValidator", - "._variant.VariantValidator", - "._textcase.TextcaseValidator", - "._style.StyleValidator", - "._size.SizeValidator", - "._shadow.ShadowValidator", - "._lineposition.LinepositionValidator", - "._family.FamilyValidator", - "._color.ColorValidator", - ], - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_color.py b/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_color.py deleted file mode 100644 index f7df7fd537b..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_color.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class ColorValidator(_plotly_utils.basevalidators.ColorValidator): - def __init__( - self, - plotly_name="color", - parent_name="heatmapgl.legendgrouptitle.font", - **kwargs, - ): - super(ColorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_family.py b/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_family.py deleted file mode 100644 index 5adf49e33dc..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_family.py +++ /dev/null @@ -1,18 +0,0 @@ -import _plotly_utils.basevalidators - - -class FamilyValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, - plotly_name="family", - parent_name="heatmapgl.legendgrouptitle.font", - **kwargs, - ): - super(FamilyValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - no_blank=kwargs.pop("no_blank", True), - strict=kwargs.pop("strict", True), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_lineposition.py b/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_lineposition.py deleted file mode 100644 index c6bd9c0f97d..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_lineposition.py +++ /dev/null @@ -1,18 +0,0 @@ -import _plotly_utils.basevalidators - - -class LinepositionValidator(_plotly_utils.basevalidators.FlaglistValidator): - def __init__( - self, - plotly_name="lineposition", - parent_name="heatmapgl.legendgrouptitle.font", - **kwargs, - ): - super(LinepositionValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - extras=kwargs.pop("extras", ["none"]), - flags=kwargs.pop("flags", ["under", "over", "through"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_shadow.py b/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_shadow.py deleted file mode 100644 index ecd37214149..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_shadow.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class ShadowValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, - plotly_name="shadow", - parent_name="heatmapgl.legendgrouptitle.font", - **kwargs, - ): - super(ShadowValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_size.py b/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_size.py deleted file mode 100644 index f2e3f5d79fe..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_size.py +++ /dev/null @@ -1,17 +0,0 @@ -import _plotly_utils.basevalidators - - -class SizeValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, - plotly_name="size", - parent_name="heatmapgl.legendgrouptitle.font", - **kwargs, - ): - super(SizeValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - min=kwargs.pop("min", 1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_style.py b/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_style.py deleted file mode 100644 index 7f6ffbc6b6c..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_style.py +++ /dev/null @@ -1,17 +0,0 @@ -import _plotly_utils.basevalidators - - -class StyleValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, - plotly_name="style", - parent_name="heatmapgl.legendgrouptitle.font", - **kwargs, - ): - super(StyleValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - values=kwargs.pop("values", ["normal", "italic"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_textcase.py b/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_textcase.py deleted file mode 100644 index 4fc24e16fab..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_textcase.py +++ /dev/null @@ -1,17 +0,0 @@ -import _plotly_utils.basevalidators - - -class TextcaseValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, - plotly_name="textcase", - parent_name="heatmapgl.legendgrouptitle.font", - **kwargs, - ): - super(TextcaseValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - values=kwargs.pop("values", ["normal", "word caps", "upper", "lower"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_variant.py b/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_variant.py deleted file mode 100644 index 347275d1160..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_variant.py +++ /dev/null @@ -1,27 +0,0 @@ -import _plotly_utils.basevalidators - - -class VariantValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, - plotly_name="variant", - parent_name="heatmapgl.legendgrouptitle.font", - **kwargs, - ): - super(VariantValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - values=kwargs.pop( - "values", - [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase", - ], - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_weight.py b/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_weight.py deleted file mode 100644 index e7a34a32fbf..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_weight.py +++ /dev/null @@ -1,19 +0,0 @@ -import _plotly_utils.basevalidators - - -class WeightValidator(_plotly_utils.basevalidators.IntegerValidator): - def __init__( - self, - plotly_name="weight", - parent_name="heatmapgl.legendgrouptitle.font", - **kwargs, - ): - super(WeightValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - extras=kwargs.pop("extras", ["normal", "bold"]), - max=kwargs.pop("max", 1000), - min=kwargs.pop("min", 1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/stream/__init__.py b/packages/python/plotly/plotly/validators/heatmapgl/stream/__init__.py deleted file mode 100644 index a6c0eed7630..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/stream/__init__.py +++ /dev/null @@ -1,12 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._token import TokenValidator - from ._maxpoints import MaxpointsValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, [], ["._token.TokenValidator", "._maxpoints.MaxpointsValidator"] - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/stream/_maxpoints.py b/packages/python/plotly/plotly/validators/heatmapgl/stream/_maxpoints.py deleted file mode 100644 index e830b992cbd..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/stream/_maxpoints.py +++ /dev/null @@ -1,15 +0,0 @@ -import _plotly_utils.basevalidators - - -class MaxpointsValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, plotly_name="maxpoints", parent_name="heatmapgl.stream", **kwargs - ): - super(MaxpointsValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - max=kwargs.pop("max", 10000), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/heatmapgl/stream/_token.py b/packages/python/plotly/plotly/validators/heatmapgl/stream/_token.py deleted file mode 100644 index 6633a270749..00000000000 --- a/packages/python/plotly/plotly/validators/heatmapgl/stream/_token.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class TokenValidator(_plotly_utils.basevalidators.StringValidator): - def __init__(self, plotly_name="token", parent_name="heatmapgl.stream", **kwargs): - super(TokenValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - no_blank=kwargs.pop("no_blank", True), - strict=kwargs.pop("strict", True), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/histogram/_error_x.py b/packages/python/plotly/plotly/validators/histogram/_error_x.py index a1dfe66132f..d5644cc252e 100644 --- a/packages/python/plotly/plotly/validators/histogram/_error_x.py +++ b/packages/python/plotly/plotly/validators/histogram/_error_x.py @@ -26,7 +26,7 @@ def __init__(self, plotly_name="error_x", parent_name="histogram", **kwargs): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_ystyle symmetric diff --git a/packages/python/plotly/plotly/validators/histogram/_error_y.py b/packages/python/plotly/plotly/validators/histogram/_error_y.py index edf46333c44..2d9da02b400 100644 --- a/packages/python/plotly/plotly/validators/histogram/_error_y.py +++ b/packages/python/plotly/plotly/validators/histogram/_error_y.py @@ -26,7 +26,7 @@ def __init__(self, plotly_name="error_y", parent_name="histogram", **kwargs): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom diff --git a/packages/python/plotly/plotly/validators/histogram/marker/_colorbar.py b/packages/python/plotly/plotly/validators/histogram/marker/_colorbar.py index e1ede529bb4..a577dbd09a0 100644 --- a/packages/python/plotly/plotly/validators/histogram/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/histogram/marker/_colorbar.py @@ -230,21 +230,6 @@ def __init__( :class:`plotly.graph_objects.histogram.marker.c olorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - histogram.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - histogram.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/histogram/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/histogram/marker/colorbar/_title.py index dff855d3b25..ff4d90bb884 100644 --- a/packages/python/plotly/plotly/validators/histogram/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/histogram/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/histogram2d/_colorbar.py b/packages/python/plotly/plotly/validators/histogram2d/_colorbar.py index 7dfe26d05f4..34a60159293 100644 --- a/packages/python/plotly/plotly/validators/histogram2d/_colorbar.py +++ b/packages/python/plotly/plotly/validators/histogram2d/_colorbar.py @@ -228,21 +228,6 @@ def __init__(self, plotly_name="colorbar", parent_name="histogram2d", **kwargs): :class:`plotly.graph_objects.histogram2d.colorb ar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - histogram2d.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - histogram2d.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/histogram2d/colorbar/_title.py b/packages/python/plotly/plotly/validators/histogram2d/colorbar/_title.py index 47b3eb04fa9..60b9de3668e 100644 --- a/packages/python/plotly/plotly/validators/histogram2d/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/histogram2d/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/histogram2dcontour/_colorbar.py b/packages/python/plotly/plotly/validators/histogram2dcontour/_colorbar.py index e218ccc788d..06cb9d61f0a 100644 --- a/packages/python/plotly/plotly/validators/histogram2dcontour/_colorbar.py +++ b/packages/python/plotly/plotly/validators/histogram2dcontour/_colorbar.py @@ -230,21 +230,6 @@ def __init__( :class:`plotly.graph_objects.histogram2dcontour .colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - histogram2dcontour.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - histogram2dcontour.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/histogram2dcontour/colorbar/_title.py b/packages/python/plotly/plotly/validators/histogram2dcontour/colorbar/_title.py index 5c872adcf9f..949901c43d1 100644 --- a/packages/python/plotly/plotly/validators/histogram2dcontour/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/histogram2dcontour/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/icicle/marker/_colorbar.py b/packages/python/plotly/plotly/validators/icicle/marker/_colorbar.py index 9af0ad3aefd..d2eb2afe7c4 100644 --- a/packages/python/plotly/plotly/validators/icicle/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/icicle/marker/_colorbar.py @@ -228,21 +228,6 @@ def __init__(self, plotly_name="colorbar", parent_name="icicle.marker", **kwargs :class:`plotly.graph_objects.icicle.marker.colo rbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - icicle.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - icicle.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/icicle/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/icicle/marker/colorbar/_title.py index 1d78ad492e3..7c843601add 100644 --- a/packages/python/plotly/plotly/validators/icicle/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/icicle/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/isosurface/_colorbar.py b/packages/python/plotly/plotly/validators/isosurface/_colorbar.py index 1ecd736056e..308bc26626a 100644 --- a/packages/python/plotly/plotly/validators/isosurface/_colorbar.py +++ b/packages/python/plotly/plotly/validators/isosurface/_colorbar.py @@ -227,21 +227,6 @@ def __init__(self, plotly_name="colorbar", parent_name="isosurface", **kwargs): :class:`plotly.graph_objects.isosurface.colorba r.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - isosurface.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - isosurface.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/isosurface/colorbar/_title.py b/packages/python/plotly/plotly/validators/isosurface/colorbar/_title.py index 6f7a76f5e76..5bfe607ada2 100644 --- a/packages/python/plotly/plotly/validators/isosurface/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/isosurface/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/layout/_geo.py b/packages/python/plotly/plotly/validators/layout/_geo.py index c9e6a3f55d7..fe0e3cbbf68 100644 --- a/packages/python/plotly/plotly/validators/layout/_geo.py +++ b/packages/python/plotly/plotly/validators/layout/_geo.py @@ -40,7 +40,7 @@ def __init__(self, plotly_name="geo", parent_name="layout", **kwargs): `center.lon`, `center.lat`, `projection.rotation.lon`, `projection.rotation.lat`, `lonaxis.range` and - `lonaxis.range` getting auto-filled. If + `lataxis.range` getting auto-filled. If "locations", only the trace's visible locations are considered in the `fitbounds` computations. If "geojson", the entire trace input `geojson` diff --git a/packages/python/plotly/plotly/validators/layout/_title.py b/packages/python/plotly/plotly/validators/layout/_title.py index 30e888bfa2b..6dc1b258d34 100644 --- a/packages/python/plotly/plotly/validators/layout/_title.py +++ b/packages/python/plotly/plotly/validators/layout/_title.py @@ -27,9 +27,7 @@ def __init__(self, plotly_name="title", parent_name="layout", **kwargs): values. Invalid values will be reset to the default 1. font - Sets the title font. Note that the title's font - used to be customized by the now deprecated - `titlefont` attribute. + Sets the title font. pad Sets the padding of the title. Each padding value only applies when the corresponding @@ -44,10 +42,7 @@ def __init__(self, plotly_name="title", parent_name="layout", **kwargs): tle` instance or dict with compatible properties text - Sets the plot's title. Note that before the - existence of `title.text`, the title's contents - used to be defined as the `title` attribute - itself. This behavior has been deprecated. + Sets the plot's title. x Sets the x position with respect to `xref` in normalized coordinates from 0 (left) to 1 diff --git a/packages/python/plotly/plotly/validators/layout/_xaxis.py b/packages/python/plotly/plotly/validators/layout/_xaxis.py index 35c61886e8a..23e776bf0ab 100644 --- a/packages/python/plotly/plotly/validators/layout/_xaxis.py +++ b/packages/python/plotly/plotly/validators/layout/_xaxis.py @@ -556,11 +556,6 @@ def __init__(self, plotly_name="xaxis", parent_name="layout", **kwargs): title :class:`plotly.graph_objects.layout.xaxis.Title ` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.xaxis.title.font - instead. Sets this axis' title font. Note that - the title's font used to be customized by the - now deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the diff --git a/packages/python/plotly/plotly/validators/layout/_yaxis.py b/packages/python/plotly/plotly/validators/layout/_yaxis.py index f11868bc0f1..6715092795d 100644 --- a/packages/python/plotly/plotly/validators/layout/_yaxis.py +++ b/packages/python/plotly/plotly/validators/layout/_yaxis.py @@ -567,11 +567,6 @@ def __init__(self, plotly_name="yaxis", parent_name="layout", **kwargs): title :class:`plotly.graph_objects.layout.yaxis.Title ` instance or dict with compatible properties - titlefont - Deprecated: Please use layout.yaxis.title.font - instead. Sets this axis' title font. Note that - the title's font used to be customized by the - now deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the diff --git a/packages/python/plotly/plotly/validators/layout/coloraxis/_colorbar.py b/packages/python/plotly/plotly/validators/layout/coloraxis/_colorbar.py index bc5a08d89e2..c28a1b46e5c 100644 --- a/packages/python/plotly/plotly/validators/layout/coloraxis/_colorbar.py +++ b/packages/python/plotly/plotly/validators/layout/coloraxis/_colorbar.py @@ -230,21 +230,6 @@ def __init__( :class:`plotly.graph_objects.layout.coloraxis.c olorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.coloraxis.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - layout.coloraxis.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/_title.py b/packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/_title.py index 6ec3168c342..3ca73b4fda3 100644 --- a/packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/layout/hoverlabel/__init__.py b/packages/python/plotly/plotly/validators/layout/hoverlabel/__init__.py index 1d84805b7fd..8ce2ef0564d 100644 --- a/packages/python/plotly/plotly/validators/layout/hoverlabel/__init__.py +++ b/packages/python/plotly/plotly/validators/layout/hoverlabel/__init__.py @@ -3,7 +3,7 @@ if sys.version_info < (3, 7) or TYPE_CHECKING: from ._namelength import NamelengthValidator - from ._grouptitlefont import GrouptitlefontValidator + from ._grouptitlefont import Grouptitle_fontValidator from ._font import FontValidator from ._bordercolor import BordercolorValidator from ._bgcolor import BgcolorValidator @@ -16,7 +16,7 @@ [], [ "._namelength.NamelengthValidator", - "._grouptitlefont.GrouptitlefontValidator", + "._grouptitlefont.Grouptitle_fontValidator", "._font.FontValidator", "._bordercolor.BordercolorValidator", "._bgcolor.BgcolorValidator", diff --git a/packages/python/plotly/plotly/validators/layout/hoverlabel/_grouptitlefont.py b/packages/python/plotly/plotly/validators/layout/hoverlabel/_grouptitlefont.py index bc9cf9f8671..2b3776deea6 100644 --- a/packages/python/plotly/plotly/validators/layout/hoverlabel/_grouptitlefont.py +++ b/packages/python/plotly/plotly/validators/layout/hoverlabel/_grouptitlefont.py @@ -1,14 +1,14 @@ import _plotly_utils.basevalidators -class GrouptitlefontValidator(_plotly_utils.basevalidators.CompoundValidator): +class Grouptitle_fontValidator(_plotly_utils.basevalidators.CompoundValidator): def __init__( self, plotly_name="grouptitlefont", parent_name="layout.hoverlabel", **kwargs ): - super(GrouptitlefontValidator, self).__init__( + super(Grouptitle_fontValidator, self).__init__( plotly_name=plotly_name, parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Grouptitlefont"), + data_class_str=kwargs.pop("data_class_str", "Grouptitle_font"), data_docs=kwargs.pop( "data_docs", """ diff --git a/packages/python/plotly/plotly/validators/layout/legend/__init__.py b/packages/python/plotly/plotly/validators/layout/legend/__init__.py index 64c39fe4948..22eeeb60e06 100644 --- a/packages/python/plotly/plotly/validators/layout/legend/__init__.py +++ b/packages/python/plotly/plotly/validators/layout/legend/__init__.py @@ -20,7 +20,7 @@ from ._itemdoubleclick import ItemdoubleclickValidator from ._itemclick import ItemclickValidator from ._indentation import IndentationValidator - from ._grouptitlefont import GrouptitlefontValidator + from ._grouptitlefont import Grouptitle_fontValidator from ._groupclick import GroupclickValidator from ._font import FontValidator from ._entrywidthmode import EntrywidthmodeValidator @@ -53,7 +53,7 @@ "._itemdoubleclick.ItemdoubleclickValidator", "._itemclick.ItemclickValidator", "._indentation.IndentationValidator", - "._grouptitlefont.GrouptitlefontValidator", + "._grouptitlefont.Grouptitle_fontValidator", "._groupclick.GroupclickValidator", "._font.FontValidator", "._entrywidthmode.EntrywidthmodeValidator", diff --git a/packages/python/plotly/plotly/validators/layout/legend/_grouptitlefont.py b/packages/python/plotly/plotly/validators/layout/legend/_grouptitlefont.py index 6cfee9e7ac3..e9c2b88ad19 100644 --- a/packages/python/plotly/plotly/validators/layout/legend/_grouptitlefont.py +++ b/packages/python/plotly/plotly/validators/layout/legend/_grouptitlefont.py @@ -1,14 +1,14 @@ import _plotly_utils.basevalidators -class GrouptitlefontValidator(_plotly_utils.basevalidators.CompoundValidator): +class Grouptitle_fontValidator(_plotly_utils.basevalidators.CompoundValidator): def __init__( self, plotly_name="grouptitlefont", parent_name="layout.legend", **kwargs ): - super(GrouptitlefontValidator, self).__init__( + super(Grouptitle_fontValidator, self).__init__( plotly_name=plotly_name, parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Grouptitlefont"), + data_class_str=kwargs.pop("data_class_str", "Grouptitle_font"), data_docs=kwargs.pop( "data_docs", """ diff --git a/packages/python/plotly/plotly/validators/layout/polar/_radialaxis.py b/packages/python/plotly/plotly/validators/layout/polar/_radialaxis.py index 31bc5e1819b..fa199d8d577 100644 --- a/packages/python/plotly/plotly/validators/layout/polar/_radialaxis.py +++ b/packages/python/plotly/plotly/validators/layout/polar/_radialaxis.py @@ -331,12 +331,6 @@ def __init__(self, plotly_name="radialaxis", parent_name="layout.polar", **kwarg :class:`plotly.graph_objects.layout.polar.radia laxis.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.polar.radialaxis.title.font instead. - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the diff --git a/packages/python/plotly/plotly/validators/layout/polar/radialaxis/_title.py b/packages/python/plotly/plotly/validators/layout/polar/radialaxis/_title.py index 98c11f67942..bc4cd9a8742 100644 --- a/packages/python/plotly/plotly/validators/layout/polar/radialaxis/_title.py +++ b/packages/python/plotly/plotly/validators/layout/polar/radialaxis/_title.py @@ -13,15 +13,9 @@ def __init__( "data_docs", """ font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/layout/scene/_xaxis.py b/packages/python/plotly/plotly/validators/layout/scene/_xaxis.py index 026fc7c1d5c..88d2f7ead71 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/_xaxis.py +++ b/packages/python/plotly/plotly/validators/layout/scene/_xaxis.py @@ -319,12 +319,6 @@ def __init__(self, plotly_name="xaxis", parent_name="layout.scene", **kwargs): :class:`plotly.graph_objects.layout.scene.xaxis .Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.scene.xaxis.title.font instead. Sets - this axis' title font. Note that the title's - font used to be customized by the now - deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the diff --git a/packages/python/plotly/plotly/validators/layout/scene/_yaxis.py b/packages/python/plotly/plotly/validators/layout/scene/_yaxis.py index 62952eae7c1..161a1ef8366 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/_yaxis.py +++ b/packages/python/plotly/plotly/validators/layout/scene/_yaxis.py @@ -319,12 +319,6 @@ def __init__(self, plotly_name="yaxis", parent_name="layout.scene", **kwargs): :class:`plotly.graph_objects.layout.scene.yaxis .Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.scene.yaxis.title.font instead. Sets - this axis' title font. Note that the title's - font used to be customized by the now - deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the diff --git a/packages/python/plotly/plotly/validators/layout/scene/_zaxis.py b/packages/python/plotly/plotly/validators/layout/scene/_zaxis.py index 00a5d35c391..93640da1c07 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/_zaxis.py +++ b/packages/python/plotly/plotly/validators/layout/scene/_zaxis.py @@ -319,12 +319,6 @@ def __init__(self, plotly_name="zaxis", parent_name="layout.scene", **kwargs): :class:`plotly.graph_objects.layout.scene.zaxis .Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.scene.zaxis.title.font instead. Sets - this axis' title font. Note that the title's - font used to be customized by the now - deprecated `titlefont` attribute. type Sets the axis type. By default, plotly attempts to determined the axis type by looking into the diff --git a/packages/python/plotly/plotly/validators/layout/scene/xaxis/_title.py b/packages/python/plotly/plotly/validators/layout/scene/xaxis/_title.py index 364fb6e8f44..643bdc8875b 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/xaxis/_title.py +++ b/packages/python/plotly/plotly/validators/layout/scene/xaxis/_title.py @@ -11,15 +11,9 @@ def __init__(self, plotly_name="title", parent_name="layout.scene.xaxis", **kwar "data_docs", """ font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/layout/scene/yaxis/_title.py b/packages/python/plotly/plotly/validators/layout/scene/yaxis/_title.py index 0aafc368b88..c8558802c51 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/yaxis/_title.py +++ b/packages/python/plotly/plotly/validators/layout/scene/yaxis/_title.py @@ -11,15 +11,9 @@ def __init__(self, plotly_name="title", parent_name="layout.scene.yaxis", **kwar "data_docs", """ font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/layout/scene/zaxis/_title.py b/packages/python/plotly/plotly/validators/layout/scene/zaxis/_title.py index 9c9b996c31a..79d137210b2 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/zaxis/_title.py +++ b/packages/python/plotly/plotly/validators/layout/scene/zaxis/_title.py @@ -11,15 +11,9 @@ def __init__(self, plotly_name="title", parent_name="layout.scene.zaxis", **kwar "data_docs", """ font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/layout/template/_data.py b/packages/python/plotly/plotly/validators/layout/template/_data.py index 8d321c52d4a..a18bd8de060 100644 --- a/packages/python/plotly/plotly/validators/layout/template/_data.py +++ b/packages/python/plotly/plotly/validators/layout/template/_data.py @@ -65,10 +65,6 @@ def __init__(self, plotly_name="data", parent_name="layout.template", **kwargs): funnel A tuple of :class:`plotly.graph_objects.Funnel` instances or dicts with compatible properties - heatmapgl - A tuple of - :class:`plotly.graph_objects.Heatmapgl` - instances or dicts with compatible properties heatmap A tuple of :class:`plotly.graph_objects.Heatmap` instances @@ -116,10 +112,6 @@ def __init__(self, plotly_name="data", parent_name="layout.template", **kwargs): pie A tuple of :class:`plotly.graph_objects.Pie` instances or dicts with compatible properties - pointcloud - A tuple of - :class:`plotly.graph_objects.Pointcloud` - instances or dicts with compatible properties sankey A tuple of :class:`plotly.graph_objects.Sankey` instances or dicts with compatible properties diff --git a/packages/python/plotly/plotly/validators/layout/template/data/__init__.py b/packages/python/plotly/plotly/validators/layout/template/data/__init__.py index b22eefae232..da0ae909741 100644 --- a/packages/python/plotly/plotly/validators/layout/template/data/__init__.py +++ b/packages/python/plotly/plotly/validators/layout/template/data/__init__.py @@ -23,7 +23,6 @@ from ._scattercarpet import ScattercarpetValidator from ._scatter3d import Scatter3DValidator from ._sankey import SankeyValidator - from ._pointcloud import PointcloudValidator from ._pie import PieValidator from ._parcoords import ParcoordsValidator from ._parcats import ParcatsValidator @@ -37,7 +36,6 @@ from ._histogram2d import Histogram2DValidator from ._histogram2dcontour import Histogram2DcontourValidator from ._heatmap import HeatmapValidator - from ._heatmapgl import HeatmapglValidator from ._funnel import FunnelValidator from ._funnelarea import FunnelareaValidator from ._densitymap import DensitymapValidator @@ -81,7 +79,6 @@ "._scattercarpet.ScattercarpetValidator", "._scatter3d.Scatter3DValidator", "._sankey.SankeyValidator", - "._pointcloud.PointcloudValidator", "._pie.PieValidator", "._parcoords.ParcoordsValidator", "._parcats.ParcatsValidator", @@ -95,7 +92,6 @@ "._histogram2d.Histogram2DValidator", "._histogram2dcontour.Histogram2DcontourValidator", "._heatmap.HeatmapValidator", - "._heatmapgl.HeatmapglValidator", "._funnel.FunnelValidator", "._funnelarea.FunnelareaValidator", "._densitymap.DensitymapValidator", diff --git a/packages/python/plotly/plotly/validators/layout/template/data/_heatmapgl.py b/packages/python/plotly/plotly/validators/layout/template/data/_heatmapgl.py deleted file mode 100644 index a43be4c506e..00000000000 --- a/packages/python/plotly/plotly/validators/layout/template/data/_heatmapgl.py +++ /dev/null @@ -1,18 +0,0 @@ -import _plotly_utils.basevalidators - - -class HeatmapglValidator(_plotly_utils.basevalidators.CompoundArrayValidator): - def __init__( - self, plotly_name="heatmapgl", parent_name="layout.template.data", **kwargs - ): - super(HeatmapglValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Heatmapgl"), - data_docs=kwargs.pop( - "data_docs", - """ -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/layout/template/data/_pointcloud.py b/packages/python/plotly/plotly/validators/layout/template/data/_pointcloud.py deleted file mode 100644 index 4be2363b012..00000000000 --- a/packages/python/plotly/plotly/validators/layout/template/data/_pointcloud.py +++ /dev/null @@ -1,18 +0,0 @@ -import _plotly_utils.basevalidators - - -class PointcloudValidator(_plotly_utils.basevalidators.CompoundArrayValidator): - def __init__( - self, plotly_name="pointcloud", parent_name="layout.template.data", **kwargs - ): - super(PointcloudValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Pointcloud"), - data_docs=kwargs.pop( - "data_docs", - """ -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/layout/ternary/_aaxis.py b/packages/python/plotly/plotly/validators/layout/ternary/_aaxis.py index ce95c5ffd5d..bcae070c7ec 100644 --- a/packages/python/plotly/plotly/validators/layout/ternary/_aaxis.py +++ b/packages/python/plotly/plotly/validators/layout/ternary/_aaxis.py @@ -237,12 +237,6 @@ def __init__(self, plotly_name="aaxis", parent_name="layout.ternary", **kwargs): :class:`plotly.graph_objects.layout.ternary.aax is.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.ternary.aaxis.title.font instead. Sets - this axis' title font. Note that the title's - font used to be customized by the now - deprecated `titlefont` attribute. uirevision Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` diff --git a/packages/python/plotly/plotly/validators/layout/ternary/_baxis.py b/packages/python/plotly/plotly/validators/layout/ternary/_baxis.py index ec7248afe9c..622aa8704c2 100644 --- a/packages/python/plotly/plotly/validators/layout/ternary/_baxis.py +++ b/packages/python/plotly/plotly/validators/layout/ternary/_baxis.py @@ -237,12 +237,6 @@ def __init__(self, plotly_name="baxis", parent_name="layout.ternary", **kwargs): :class:`plotly.graph_objects.layout.ternary.bax is.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.ternary.baxis.title.font instead. Sets - this axis' title font. Note that the title's - font used to be customized by the now - deprecated `titlefont` attribute. uirevision Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` diff --git a/packages/python/plotly/plotly/validators/layout/ternary/_caxis.py b/packages/python/plotly/plotly/validators/layout/ternary/_caxis.py index 44bbfaf409b..f44ac4681cd 100644 --- a/packages/python/plotly/plotly/validators/layout/ternary/_caxis.py +++ b/packages/python/plotly/plotly/validators/layout/ternary/_caxis.py @@ -237,12 +237,6 @@ def __init__(self, plotly_name="caxis", parent_name="layout.ternary", **kwargs): :class:`plotly.graph_objects.layout.ternary.cax is.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - layout.ternary.caxis.title.font instead. Sets - this axis' title font. Note that the title's - font used to be customized by the now - deprecated `titlefont` attribute. uirevision Controls persistence of user-driven changes in axis `min`, and `title` if in `editable: true` diff --git a/packages/python/plotly/plotly/validators/layout/ternary/aaxis/_title.py b/packages/python/plotly/plotly/validators/layout/ternary/aaxis/_title.py index f6928e7e4ed..0024dfcd5f9 100644 --- a/packages/python/plotly/plotly/validators/layout/ternary/aaxis/_title.py +++ b/packages/python/plotly/plotly/validators/layout/ternary/aaxis/_title.py @@ -13,15 +13,9 @@ def __init__( "data_docs", """ font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/layout/ternary/baxis/_title.py b/packages/python/plotly/plotly/validators/layout/ternary/baxis/_title.py index ddb94dfffe5..aa188ea51cc 100644 --- a/packages/python/plotly/plotly/validators/layout/ternary/baxis/_title.py +++ b/packages/python/plotly/plotly/validators/layout/ternary/baxis/_title.py @@ -13,15 +13,9 @@ def __init__( "data_docs", """ font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/layout/ternary/caxis/_title.py b/packages/python/plotly/plotly/validators/layout/ternary/caxis/_title.py index e5076242948..ce6321ecf13 100644 --- a/packages/python/plotly/plotly/validators/layout/ternary/caxis/_title.py +++ b/packages/python/plotly/plotly/validators/layout/ternary/caxis/_title.py @@ -13,15 +13,9 @@ def __init__( "data_docs", """ font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/layout/xaxis/_title.py b/packages/python/plotly/plotly/validators/layout/xaxis/_title.py index e5c3132f75b..ffa67b3dd81 100644 --- a/packages/python/plotly/plotly/validators/layout/xaxis/_title.py +++ b/packages/python/plotly/plotly/validators/layout/xaxis/_title.py @@ -11,9 +11,7 @@ def __init__(self, plotly_name="title", parent_name="layout.xaxis", **kwargs): "data_docs", """ font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. standoff Sets the standoff distance (in px) between the axis labels and the title text The default @@ -27,11 +25,7 @@ def __init__(self, plotly_name="title", parent_name="layout.xaxis", **kwargs): the margins to fit the axis title at given standoff distance. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/layout/yaxis/_title.py b/packages/python/plotly/plotly/validators/layout/yaxis/_title.py index 4dd44e7b1ec..ef6734d219c 100644 --- a/packages/python/plotly/plotly/validators/layout/yaxis/_title.py +++ b/packages/python/plotly/plotly/validators/layout/yaxis/_title.py @@ -11,9 +11,7 @@ def __init__(self, plotly_name="title", parent_name="layout.yaxis", **kwargs): "data_docs", """ font - Sets this axis' title font. Note that the - title's font used to be customized by the now - deprecated `titlefont` attribute. + Sets this axis' title font. standoff Sets the standoff distance (in px) between the axis labels and the title text The default @@ -27,11 +25,7 @@ def __init__(self, plotly_name="title", parent_name="layout.yaxis", **kwargs): the margins to fit the axis title at given standoff distance. text - Sets the title of this axis. Note that before - the existence of `title.text`, the title's - contents used to be defined as the `title` - attribute itself. This behavior has been - deprecated. + Sets the title of this axis. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/mesh3d/_colorbar.py b/packages/python/plotly/plotly/validators/mesh3d/_colorbar.py index eefcaf66d21..1d305d725eb 100644 --- a/packages/python/plotly/plotly/validators/mesh3d/_colorbar.py +++ b/packages/python/plotly/plotly/validators/mesh3d/_colorbar.py @@ -227,21 +227,6 @@ def __init__(self, plotly_name="colorbar", parent_name="mesh3d", **kwargs): :class:`plotly.graph_objects.mesh3d.colorbar.Ti tle` instance or dict with compatible properties - titlefont - Deprecated: Please use - mesh3d.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's - font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use - mesh3d.colorbar.title.side instead. Determines - the location of color bar's title with respect - to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" - when `orientation` if "h". Note that the - title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/mesh3d/colorbar/_title.py b/packages/python/plotly/plotly/validators/mesh3d/colorbar/_title.py index 9acd45185d2..fe7375c376c 100644 --- a/packages/python/plotly/plotly/validators/mesh3d/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/mesh3d/colorbar/_title.py @@ -11,22 +11,14 @@ def __init__(self, plotly_name="title", parent_name="mesh3d.colorbar", **kwargs) "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/parcats/line/_colorbar.py b/packages/python/plotly/plotly/validators/parcats/line/_colorbar.py index f002ebe9ed6..4a9a1d0d2d3 100644 --- a/packages/python/plotly/plotly/validators/parcats/line/_colorbar.py +++ b/packages/python/plotly/plotly/validators/parcats/line/_colorbar.py @@ -228,21 +228,6 @@ def __init__(self, plotly_name="colorbar", parent_name="parcats.line", **kwargs) :class:`plotly.graph_objects.parcats.line.color bar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - parcats.line.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - parcats.line.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/parcats/line/colorbar/_title.py b/packages/python/plotly/plotly/validators/parcats/line/colorbar/_title.py index 43481504651..c90e94e47c2 100644 --- a/packages/python/plotly/plotly/validators/parcats/line/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/parcats/line/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/parcoords/line/_colorbar.py b/packages/python/plotly/plotly/validators/parcoords/line/_colorbar.py index 56210260fcd..fa178b76b5d 100644 --- a/packages/python/plotly/plotly/validators/parcoords/line/_colorbar.py +++ b/packages/python/plotly/plotly/validators/parcoords/line/_colorbar.py @@ -228,21 +228,6 @@ def __init__(self, plotly_name="colorbar", parent_name="parcoords.line", **kwarg :class:`plotly.graph_objects.parcoords.line.col orbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - parcoords.line.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - parcoords.line.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/parcoords/line/colorbar/_title.py b/packages/python/plotly/plotly/validators/parcoords/line/colorbar/_title.py index db07ccacac7..12eca3ff07b 100644 --- a/packages/python/plotly/plotly/validators/parcoords/line/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/parcoords/line/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/pie/_title.py b/packages/python/plotly/plotly/validators/pie/_title.py index c9dbafea0fd..4fe46334aea 100644 --- a/packages/python/plotly/plotly/validators/pie/_title.py +++ b/packages/python/plotly/plotly/validators/pie/_title.py @@ -11,19 +11,12 @@ def __init__(self, plotly_name="title", parent_name="pie", **kwargs): "data_docs", """ font - Sets the font used for `title`. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets the font used for `title`. position - Specifies the location of the `title`. Note - that the title's position used to be set by the - now deprecated `titleposition` attribute. + Specifies the location of the `title`. text Sets the title of the chart. If it is empty, no - title is displayed. Note that before the - existence of `title.text`, the title's contents - used to be defined as the `title` attribute - itself. This behavior has been deprecated. + title is displayed. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/pointcloud/__init__.py b/packages/python/plotly/plotly/validators/pointcloud/__init__.py deleted file mode 100644 index 5c53c0a9d91..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/__init__.py +++ /dev/null @@ -1,89 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._ysrc import YsrcValidator - from ._yboundssrc import YboundssrcValidator - from ._ybounds import YboundsValidator - from ._yaxis import YaxisValidator - from ._y import YValidator - from ._xysrc import XysrcValidator - from ._xy import XyValidator - from ._xsrc import XsrcValidator - from ._xboundssrc import XboundssrcValidator - from ._xbounds import XboundsValidator - from ._xaxis import XaxisValidator - from ._x import XValidator - from ._visible import VisibleValidator - from ._uirevision import UirevisionValidator - from ._uid import UidValidator - from ._textsrc import TextsrcValidator - from ._text import TextValidator - from ._stream import StreamValidator - from ._showlegend import ShowlegendValidator - from ._opacity import OpacityValidator - from ._name import NameValidator - from ._metasrc import MetasrcValidator - from ._meta import MetaValidator - from ._marker import MarkerValidator - from ._legendwidth import LegendwidthValidator - from ._legendrank import LegendrankValidator - from ._legendgrouptitle import LegendgrouptitleValidator - from ._legendgroup import LegendgroupValidator - from ._legend import LegendValidator - from ._indicessrc import IndicessrcValidator - from ._indices import IndicesValidator - from ._idssrc import IdssrcValidator - from ._ids import IdsValidator - from ._hoverlabel import HoverlabelValidator - from ._hoverinfosrc import HoverinfosrcValidator - from ._hoverinfo import HoverinfoValidator - from ._customdatasrc import CustomdatasrcValidator - from ._customdata import CustomdataValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [], - [ - "._ysrc.YsrcValidator", - "._yboundssrc.YboundssrcValidator", - "._ybounds.YboundsValidator", - "._yaxis.YaxisValidator", - "._y.YValidator", - "._xysrc.XysrcValidator", - "._xy.XyValidator", - "._xsrc.XsrcValidator", - "._xboundssrc.XboundssrcValidator", - "._xbounds.XboundsValidator", - "._xaxis.XaxisValidator", - "._x.XValidator", - "._visible.VisibleValidator", - "._uirevision.UirevisionValidator", - "._uid.UidValidator", - "._textsrc.TextsrcValidator", - "._text.TextValidator", - "._stream.StreamValidator", - "._showlegend.ShowlegendValidator", - "._opacity.OpacityValidator", - "._name.NameValidator", - "._metasrc.MetasrcValidator", - "._meta.MetaValidator", - "._marker.MarkerValidator", - "._legendwidth.LegendwidthValidator", - "._legendrank.LegendrankValidator", - "._legendgrouptitle.LegendgrouptitleValidator", - "._legendgroup.LegendgroupValidator", - "._legend.LegendValidator", - "._indicessrc.IndicessrcValidator", - "._indices.IndicesValidator", - "._idssrc.IdssrcValidator", - "._ids.IdsValidator", - "._hoverlabel.HoverlabelValidator", - "._hoverinfosrc.HoverinfosrcValidator", - "._hoverinfo.HoverinfoValidator", - "._customdatasrc.CustomdatasrcValidator", - "._customdata.CustomdataValidator", - ], - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_customdata.py b/packages/python/plotly/plotly/validators/pointcloud/_customdata.py deleted file mode 100644 index 10aade06545..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_customdata.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class CustomdataValidator(_plotly_utils.basevalidators.DataArrayValidator): - def __init__(self, plotly_name="customdata", parent_name="pointcloud", **kwargs): - super(CustomdataValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_customdatasrc.py b/packages/python/plotly/plotly/validators/pointcloud/_customdatasrc.py deleted file mode 100644 index 4db30466e19..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_customdatasrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class CustomdatasrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="customdatasrc", parent_name="pointcloud", **kwargs): - super(CustomdatasrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_hoverinfo.py b/packages/python/plotly/plotly/validators/pointcloud/_hoverinfo.py deleted file mode 100644 index 836c0d3c8b5..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_hoverinfo.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class HoverinfoValidator(_plotly_utils.basevalidators.FlaglistValidator): - def __init__(self, plotly_name="hoverinfo", parent_name="pointcloud", **kwargs): - super(HoverinfoValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - extras=kwargs.pop("extras", ["all", "none", "skip"]), - flags=kwargs.pop("flags", ["x", "y", "z", "text", "name"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_hoverinfosrc.py b/packages/python/plotly/plotly/validators/pointcloud/_hoverinfosrc.py deleted file mode 100644 index 5085112f4aa..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_hoverinfosrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class HoverinfosrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="hoverinfosrc", parent_name="pointcloud", **kwargs): - super(HoverinfosrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_hoverlabel.py b/packages/python/plotly/plotly/validators/pointcloud/_hoverlabel.py deleted file mode 100644 index 39abb53fdb6..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_hoverlabel.py +++ /dev/null @@ -1,51 +0,0 @@ -import _plotly_utils.basevalidators - - -class HoverlabelValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__(self, plotly_name="hoverlabel", parent_name="pointcloud", **kwargs): - super(HoverlabelValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Hoverlabel"), - data_docs=kwargs.pop( - "data_docs", - """ - align - Sets the horizontal alignment of the text - content within hover label box. Has an effect - only if the hover label text spans more two or - more lines - alignsrc - Sets the source reference on Chart Studio Cloud - for `align`. - bgcolor - Sets the background color of the hover labels - for this trace - bgcolorsrc - Sets the source reference on Chart Studio Cloud - for `bgcolor`. - bordercolor - Sets the border color of the hover labels for - this trace. - bordercolorsrc - Sets the source reference on Chart Studio Cloud - for `bordercolor`. - font - Sets the font used in hover labels. - namelength - Sets the default length (in number of - characters) of the trace name in the hover - labels for all traces. -1 shows the whole name - regardless of length. 0-3 shows the first 0-3 - characters, and an integer >3 will show the - whole name if it is less than that many - characters, but if it is longer, will truncate - to `namelength - 3` characters and add an - ellipsis. - namelengthsrc - Sets the source reference on Chart Studio Cloud - for `namelength`. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_ids.py b/packages/python/plotly/plotly/validators/pointcloud/_ids.py deleted file mode 100644 index 60dabb51ceb..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_ids.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class IdsValidator(_plotly_utils.basevalidators.DataArrayValidator): - def __init__(self, plotly_name="ids", parent_name="pointcloud", **kwargs): - super(IdsValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_idssrc.py b/packages/python/plotly/plotly/validators/pointcloud/_idssrc.py deleted file mode 100644 index 172e33f1807..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_idssrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class IdssrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="idssrc", parent_name="pointcloud", **kwargs): - super(IdssrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_indices.py b/packages/python/plotly/plotly/validators/pointcloud/_indices.py deleted file mode 100644 index f83a5a49cf3..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_indices.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class IndicesValidator(_plotly_utils.basevalidators.DataArrayValidator): - def __init__(self, plotly_name="indices", parent_name="pointcloud", **kwargs): - super(IndicesValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_indicessrc.py b/packages/python/plotly/plotly/validators/pointcloud/_indicessrc.py deleted file mode 100644 index 3fd08458eaa..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_indicessrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class IndicessrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="indicessrc", parent_name="pointcloud", **kwargs): - super(IndicessrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_legend.py b/packages/python/plotly/plotly/validators/pointcloud/_legend.py deleted file mode 100644 index 2fa5b393dc3..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_legend.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class LegendValidator(_plotly_utils.basevalidators.SubplotidValidator): - def __init__(self, plotly_name="legend", parent_name="pointcloud", **kwargs): - super(LegendValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - dflt=kwargs.pop("dflt", "legend"), - edit_type=kwargs.pop("edit_type", "style"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_legendgroup.py b/packages/python/plotly/plotly/validators/pointcloud/_legendgroup.py deleted file mode 100644 index 2dfd57f6bef..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_legendgroup.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class LegendgroupValidator(_plotly_utils.basevalidators.StringValidator): - def __init__(self, plotly_name="legendgroup", parent_name="pointcloud", **kwargs): - super(LegendgroupValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_legendgrouptitle.py b/packages/python/plotly/plotly/validators/pointcloud/_legendgrouptitle.py deleted file mode 100644 index e00b4cefbbc..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_legendgrouptitle.py +++ /dev/null @@ -1,22 +0,0 @@ -import _plotly_utils.basevalidators - - -class LegendgrouptitleValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__( - self, plotly_name="legendgrouptitle", parent_name="pointcloud", **kwargs - ): - super(LegendgrouptitleValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Legendgrouptitle"), - data_docs=kwargs.pop( - "data_docs", - """ - font - Sets this legend group's title font. - text - Sets the title of the legend group. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_legendrank.py b/packages/python/plotly/plotly/validators/pointcloud/_legendrank.py deleted file mode 100644 index 506822d6003..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_legendrank.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class LegendrankValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__(self, plotly_name="legendrank", parent_name="pointcloud", **kwargs): - super(LegendrankValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_legendwidth.py b/packages/python/plotly/plotly/validators/pointcloud/_legendwidth.py deleted file mode 100644 index 49c7add8527..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_legendwidth.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class LegendwidthValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__(self, plotly_name="legendwidth", parent_name="pointcloud", **kwargs): - super(LegendwidthValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_marker.py b/packages/python/plotly/plotly/validators/pointcloud/_marker.py deleted file mode 100644 index 258f8ce9201..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_marker.py +++ /dev/null @@ -1,48 +0,0 @@ -import _plotly_utils.basevalidators - - -class MarkerValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__(self, plotly_name="marker", parent_name="pointcloud", **kwargs): - super(MarkerValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Marker"), - data_docs=kwargs.pop( - "data_docs", - """ - blend - Determines if colors are blended together for a - translucency effect in case `opacity` is - specified as a value less then `1`. Setting - `blend` to `true` reduces zoom/pan speed if - used with large numbers of points. - border - :class:`plotly.graph_objects.pointcloud.marker. - Border` instance or dict with compatible - properties - color - Sets the marker fill color. It accepts a - specific color. If the color is not fully - opaque and there are hundreds of thousands of - points, it may cause slower zooming and - panning. - opacity - Sets the marker opacity. The default value is - `1` (fully opaque). If the markers are not - fully opaque and there are hundreds of - thousands of points, it may cause slower - zooming and panning. Opacity fades the color - even if `blend` is left on `false` even if - there is no translucency effect in that case. - sizemax - Sets the maximum size (in px) of the rendered - marker points. Effective when the `pointcloud` - shows only few points. - sizemin - Sets the minimum size (in px) of the rendered - marker points, effective when the `pointcloud` - shows a million or more points. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_meta.py b/packages/python/plotly/plotly/validators/pointcloud/_meta.py deleted file mode 100644 index bb14fbad076..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_meta.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class MetaValidator(_plotly_utils.basevalidators.AnyValidator): - def __init__(self, plotly_name="meta", parent_name="pointcloud", **kwargs): - super(MetaValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "plot"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_metasrc.py b/packages/python/plotly/plotly/validators/pointcloud/_metasrc.py deleted file mode 100644 index 94cb8d92749..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_metasrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class MetasrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="metasrc", parent_name="pointcloud", **kwargs): - super(MetasrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_name.py b/packages/python/plotly/plotly/validators/pointcloud/_name.py deleted file mode 100644 index 9852e5ea868..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_name.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class NameValidator(_plotly_utils.basevalidators.StringValidator): - def __init__(self, plotly_name="name", parent_name="pointcloud", **kwargs): - super(NameValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_opacity.py b/packages/python/plotly/plotly/validators/pointcloud/_opacity.py deleted file mode 100644 index 80ce979f88b..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_opacity.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class OpacityValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__(self, plotly_name="opacity", parent_name="pointcloud", **kwargs): - super(OpacityValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - max=kwargs.pop("max", 1), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_showlegend.py b/packages/python/plotly/plotly/validators/pointcloud/_showlegend.py deleted file mode 100644 index 7c70781752a..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_showlegend.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class ShowlegendValidator(_plotly_utils.basevalidators.BooleanValidator): - def __init__(self, plotly_name="showlegend", parent_name="pointcloud", **kwargs): - super(ShowlegendValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_stream.py b/packages/python/plotly/plotly/validators/pointcloud/_stream.py deleted file mode 100644 index f52e9293ad4..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_stream.py +++ /dev/null @@ -1,25 +0,0 @@ -import _plotly_utils.basevalidators - - -class StreamValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__(self, plotly_name="stream", parent_name="pointcloud", **kwargs): - super(StreamValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Stream"), - data_docs=kwargs.pop( - "data_docs", - """ - maxpoints - Sets the maximum number of points to keep on - the plots from an incoming stream. If - `maxpoints` is set to 50, only the newest 50 - points will be displayed on the plot. - token - The stream id number links a data trace on a - plot with a stream. See https://chart- - studio.plotly.com/settings for more details. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_text.py b/packages/python/plotly/plotly/validators/pointcloud/_text.py deleted file mode 100644 index 7a5cf88a7c8..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_text.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class TextValidator(_plotly_utils.basevalidators.StringValidator): - def __init__(self, plotly_name="text", parent_name="pointcloud", **kwargs): - super(TextValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_textsrc.py b/packages/python/plotly/plotly/validators/pointcloud/_textsrc.py deleted file mode 100644 index 1f75b1912d5..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_textsrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class TextsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="textsrc", parent_name="pointcloud", **kwargs): - super(TextsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_uid.py b/packages/python/plotly/plotly/validators/pointcloud/_uid.py deleted file mode 100644 index b97e1065ecb..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_uid.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class UidValidator(_plotly_utils.basevalidators.StringValidator): - def __init__(self, plotly_name="uid", parent_name="pointcloud", **kwargs): - super(UidValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "plot"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_uirevision.py b/packages/python/plotly/plotly/validators/pointcloud/_uirevision.py deleted file mode 100644 index 6b3c48cf743..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_uirevision.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class UirevisionValidator(_plotly_utils.basevalidators.AnyValidator): - def __init__(self, plotly_name="uirevision", parent_name="pointcloud", **kwargs): - super(UirevisionValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_visible.py b/packages/python/plotly/plotly/validators/pointcloud/_visible.py deleted file mode 100644 index d7c1a02c182..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_visible.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class VisibleValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__(self, plotly_name="visible", parent_name="pointcloud", **kwargs): - super(VisibleValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - values=kwargs.pop("values", [True, False, "legendonly"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_x.py b/packages/python/plotly/plotly/validators/pointcloud/_x.py deleted file mode 100644 index b458a8ed4de..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_x.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class XValidator(_plotly_utils.basevalidators.DataArrayValidator): - def __init__(self, plotly_name="x", parent_name="pointcloud", **kwargs): - super(XValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc+clearAxisTypes"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_xaxis.py b/packages/python/plotly/plotly/validators/pointcloud/_xaxis.py deleted file mode 100644 index a17168af73a..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_xaxis.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class XaxisValidator(_plotly_utils.basevalidators.SubplotidValidator): - def __init__(self, plotly_name="xaxis", parent_name="pointcloud", **kwargs): - super(XaxisValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - dflt=kwargs.pop("dflt", "x"), - edit_type=kwargs.pop("edit_type", "calc+clearAxisTypes"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_xbounds.py b/packages/python/plotly/plotly/validators/pointcloud/_xbounds.py deleted file mode 100644 index 1ff72f34874..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_xbounds.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class XboundsValidator(_plotly_utils.basevalidators.DataArrayValidator): - def __init__(self, plotly_name="xbounds", parent_name="pointcloud", **kwargs): - super(XboundsValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_xboundssrc.py b/packages/python/plotly/plotly/validators/pointcloud/_xboundssrc.py deleted file mode 100644 index 6559f96d7a7..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_xboundssrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class XboundssrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="xboundssrc", parent_name="pointcloud", **kwargs): - super(XboundssrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_xsrc.py b/packages/python/plotly/plotly/validators/pointcloud/_xsrc.py deleted file mode 100644 index 19488dc4d3d..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_xsrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class XsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="xsrc", parent_name="pointcloud", **kwargs): - super(XsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_xy.py b/packages/python/plotly/plotly/validators/pointcloud/_xy.py deleted file mode 100644 index d0ad0e8e7e8..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_xy.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class XyValidator(_plotly_utils.basevalidators.DataArrayValidator): - def __init__(self, plotly_name="xy", parent_name="pointcloud", **kwargs): - super(XyValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_xysrc.py b/packages/python/plotly/plotly/validators/pointcloud/_xysrc.py deleted file mode 100644 index 25120de6022..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_xysrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class XysrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="xysrc", parent_name="pointcloud", **kwargs): - super(XysrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_y.py b/packages/python/plotly/plotly/validators/pointcloud/_y.py deleted file mode 100644 index f3034272aaa..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_y.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class YValidator(_plotly_utils.basevalidators.DataArrayValidator): - def __init__(self, plotly_name="y", parent_name="pointcloud", **kwargs): - super(YValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc+clearAxisTypes"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_yaxis.py b/packages/python/plotly/plotly/validators/pointcloud/_yaxis.py deleted file mode 100644 index e7774d93a13..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_yaxis.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class YaxisValidator(_plotly_utils.basevalidators.SubplotidValidator): - def __init__(self, plotly_name="yaxis", parent_name="pointcloud", **kwargs): - super(YaxisValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - dflt=kwargs.pop("dflt", "y"), - edit_type=kwargs.pop("edit_type", "calc+clearAxisTypes"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_ybounds.py b/packages/python/plotly/plotly/validators/pointcloud/_ybounds.py deleted file mode 100644 index b11c44f4f20..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_ybounds.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class YboundsValidator(_plotly_utils.basevalidators.DataArrayValidator): - def __init__(self, plotly_name="ybounds", parent_name="pointcloud", **kwargs): - super(YboundsValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_yboundssrc.py b/packages/python/plotly/plotly/validators/pointcloud/_yboundssrc.py deleted file mode 100644 index 7a695d5fc6a..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_yboundssrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class YboundssrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="yboundssrc", parent_name="pointcloud", **kwargs): - super(YboundssrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/_ysrc.py b/packages/python/plotly/plotly/validators/pointcloud/_ysrc.py deleted file mode 100644 index 9ba81924555..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/_ysrc.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class YsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__(self, plotly_name="ysrc", parent_name="pointcloud", **kwargs): - super(YsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/__init__.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/__init__.py deleted file mode 100644 index c6ee8b59679..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._namelengthsrc import NamelengthsrcValidator - from ._namelength import NamelengthValidator - from ._font import FontValidator - from ._bordercolorsrc import BordercolorsrcValidator - from ._bordercolor import BordercolorValidator - from ._bgcolorsrc import BgcolorsrcValidator - from ._bgcolor import BgcolorValidator - from ._alignsrc import AlignsrcValidator - from ._align import AlignValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [], - [ - "._namelengthsrc.NamelengthsrcValidator", - "._namelength.NamelengthValidator", - "._font.FontValidator", - "._bordercolorsrc.BordercolorsrcValidator", - "._bordercolor.BordercolorValidator", - "._bgcolorsrc.BgcolorsrcValidator", - "._bgcolor.BgcolorValidator", - "._alignsrc.AlignsrcValidator", - "._align.AlignValidator", - ], - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_align.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_align.py deleted file mode 100644 index 958dd3978d2..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_align.py +++ /dev/null @@ -1,15 +0,0 @@ -import _plotly_utils.basevalidators - - -class AlignValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="align", parent_name="pointcloud.hoverlabel", **kwargs - ): - super(AlignValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - values=kwargs.pop("values", ["left", "right", "auto"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_alignsrc.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_alignsrc.py deleted file mode 100644 index 0c12a469dbe..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_alignsrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class AlignsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="alignsrc", parent_name="pointcloud.hoverlabel", **kwargs - ): - super(AlignsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_bgcolor.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_bgcolor.py deleted file mode 100644 index 6988c729aec..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_bgcolor.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class BgcolorValidator(_plotly_utils.basevalidators.ColorValidator): - def __init__( - self, plotly_name="bgcolor", parent_name="pointcloud.hoverlabel", **kwargs - ): - super(BgcolorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_bgcolorsrc.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_bgcolorsrc.py deleted file mode 100644 index d1d63a74e8f..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_bgcolorsrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class BgcolorsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="bgcolorsrc", parent_name="pointcloud.hoverlabel", **kwargs - ): - super(BgcolorsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_bordercolor.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_bordercolor.py deleted file mode 100644 index 480daa2ad3b..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_bordercolor.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class BordercolorValidator(_plotly_utils.basevalidators.ColorValidator): - def __init__( - self, plotly_name="bordercolor", parent_name="pointcloud.hoverlabel", **kwargs - ): - super(BordercolorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_bordercolorsrc.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_bordercolorsrc.py deleted file mode 100644 index ee78cc04595..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_bordercolorsrc.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class BordercolorsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, - plotly_name="bordercolorsrc", - parent_name="pointcloud.hoverlabel", - **kwargs, - ): - super(BordercolorsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_font.py deleted file mode 100644 index 27612ccde9b..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_font.py +++ /dev/null @@ -1,88 +0,0 @@ -import _plotly_utils.basevalidators - - -class FontValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__( - self, plotly_name="font", parent_name="pointcloud.hoverlabel", **kwargs - ): - super(FontValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Font"), - data_docs=kwargs.pop( - "data_docs", - """ - color - - colorsrc - Sets the source reference on Chart Studio Cloud - for `color`. - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - familysrc - Sets the source reference on Chart Studio Cloud - for `family`. - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - linepositionsrc - Sets the source reference on Chart Studio Cloud - for `lineposition`. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - shadowsrc - Sets the source reference on Chart Studio Cloud - for `shadow`. - size - - sizesrc - Sets the source reference on Chart Studio Cloud - for `size`. - style - Sets whether a font should be styled with a - normal or italic face from its family. - stylesrc - Sets the source reference on Chart Studio Cloud - for `style`. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - textcasesrc - Sets the source reference on Chart Studio Cloud - for `textcase`. - variant - Sets the variant of the font. - variantsrc - Sets the source reference on Chart Studio Cloud - for `variant`. - weight - Sets the weight (or boldness) of the font. - weightsrc - Sets the source reference on Chart Studio Cloud - for `weight`. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_namelength.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_namelength.py deleted file mode 100644 index 666a4f35b98..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_namelength.py +++ /dev/null @@ -1,15 +0,0 @@ -import _plotly_utils.basevalidators - - -class NamelengthValidator(_plotly_utils.basevalidators.IntegerValidator): - def __init__( - self, plotly_name="namelength", parent_name="pointcloud.hoverlabel", **kwargs - ): - super(NamelengthValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - min=kwargs.pop("min", -1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_namelengthsrc.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_namelengthsrc.py deleted file mode 100644 index a5c17cb35f5..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_namelengthsrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class NamelengthsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="namelengthsrc", parent_name="pointcloud.hoverlabel", **kwargs - ): - super(NamelengthsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/__init__.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/__init__.py deleted file mode 100644 index 487c2f8676e..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/__init__.py +++ /dev/null @@ -1,49 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._weightsrc import WeightsrcValidator - from ._weight import WeightValidator - from ._variantsrc import VariantsrcValidator - from ._variant import VariantValidator - from ._textcasesrc import TextcasesrcValidator - from ._textcase import TextcaseValidator - from ._stylesrc import StylesrcValidator - from ._style import StyleValidator - from ._sizesrc import SizesrcValidator - from ._size import SizeValidator - from ._shadowsrc import ShadowsrcValidator - from ._shadow import ShadowValidator - from ._linepositionsrc import LinepositionsrcValidator - from ._lineposition import LinepositionValidator - from ._familysrc import FamilysrcValidator - from ._family import FamilyValidator - from ._colorsrc import ColorsrcValidator - from ._color import ColorValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [], - [ - "._weightsrc.WeightsrcValidator", - "._weight.WeightValidator", - "._variantsrc.VariantsrcValidator", - "._variant.VariantValidator", - "._textcasesrc.TextcasesrcValidator", - "._textcase.TextcaseValidator", - "._stylesrc.StylesrcValidator", - "._style.StyleValidator", - "._sizesrc.SizesrcValidator", - "._size.SizeValidator", - "._shadowsrc.ShadowsrcValidator", - "._shadow.ShadowValidator", - "._linepositionsrc.LinepositionsrcValidator", - "._lineposition.LinepositionValidator", - "._familysrc.FamilysrcValidator", - "._family.FamilyValidator", - "._colorsrc.ColorsrcValidator", - "._color.ColorValidator", - ], - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_color.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_color.py deleted file mode 100644 index 0fcaa9b9aa6..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_color.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class ColorValidator(_plotly_utils.basevalidators.ColorValidator): - def __init__( - self, plotly_name="color", parent_name="pointcloud.hoverlabel.font", **kwargs - ): - super(ColorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_colorsrc.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_colorsrc.py deleted file mode 100644 index 593edeed624..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_colorsrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class ColorsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="colorsrc", parent_name="pointcloud.hoverlabel.font", **kwargs - ): - super(ColorsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_family.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_family.py deleted file mode 100644 index b277620fa8f..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_family.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class FamilyValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, plotly_name="family", parent_name="pointcloud.hoverlabel.font", **kwargs - ): - super(FamilyValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - no_blank=kwargs.pop("no_blank", True), - strict=kwargs.pop("strict", True), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_familysrc.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_familysrc.py deleted file mode 100644 index 4acdf27461e..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_familysrc.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class FamilysrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, - plotly_name="familysrc", - parent_name="pointcloud.hoverlabel.font", - **kwargs, - ): - super(FamilysrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_lineposition.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_lineposition.py deleted file mode 100644 index 5087af08476..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_lineposition.py +++ /dev/null @@ -1,19 +0,0 @@ -import _plotly_utils.basevalidators - - -class LinepositionValidator(_plotly_utils.basevalidators.FlaglistValidator): - def __init__( - self, - plotly_name="lineposition", - parent_name="pointcloud.hoverlabel.font", - **kwargs, - ): - super(LinepositionValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - extras=kwargs.pop("extras", ["none"]), - flags=kwargs.pop("flags", ["under", "over", "through"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_linepositionsrc.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_linepositionsrc.py deleted file mode 100644 index f221e3d9a4f..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_linepositionsrc.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class LinepositionsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, - plotly_name="linepositionsrc", - parent_name="pointcloud.hoverlabel.font", - **kwargs, - ): - super(LinepositionsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_shadow.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_shadow.py deleted file mode 100644 index f3544873b30..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_shadow.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class ShadowValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, plotly_name="shadow", parent_name="pointcloud.hoverlabel.font", **kwargs - ): - super(ShadowValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_shadowsrc.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_shadowsrc.py deleted file mode 100644 index c75b4b426cd..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_shadowsrc.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class ShadowsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, - plotly_name="shadowsrc", - parent_name="pointcloud.hoverlabel.font", - **kwargs, - ): - super(ShadowsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_size.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_size.py deleted file mode 100644 index 3fc5005413a..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_size.py +++ /dev/null @@ -1,15 +0,0 @@ -import _plotly_utils.basevalidators - - -class SizeValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, plotly_name="size", parent_name="pointcloud.hoverlabel.font", **kwargs - ): - super(SizeValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - min=kwargs.pop("min", 1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_sizesrc.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_sizesrc.py deleted file mode 100644 index 602650dbf7f..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_sizesrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class SizesrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="sizesrc", parent_name="pointcloud.hoverlabel.font", **kwargs - ): - super(SizesrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_style.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_style.py deleted file mode 100644 index 9032cc0192a..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_style.py +++ /dev/null @@ -1,15 +0,0 @@ -import _plotly_utils.basevalidators - - -class StyleValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="style", parent_name="pointcloud.hoverlabel.font", **kwargs - ): - super(StyleValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - values=kwargs.pop("values", ["normal", "italic"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_stylesrc.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_stylesrc.py deleted file mode 100644 index 29a0d2b3462..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_stylesrc.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class StylesrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, plotly_name="stylesrc", parent_name="pointcloud.hoverlabel.font", **kwargs - ): - super(StylesrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_textcase.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_textcase.py deleted file mode 100644 index c996606b0fc..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_textcase.py +++ /dev/null @@ -1,15 +0,0 @@ -import _plotly_utils.basevalidators - - -class TextcaseValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="textcase", parent_name="pointcloud.hoverlabel.font", **kwargs - ): - super(TextcaseValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - values=kwargs.pop("values", ["normal", "word caps", "upper", "lower"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_textcasesrc.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_textcasesrc.py deleted file mode 100644 index 93f888770d1..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_textcasesrc.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class TextcasesrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, - plotly_name="textcasesrc", - parent_name="pointcloud.hoverlabel.font", - **kwargs, - ): - super(TextcasesrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_variant.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_variant.py deleted file mode 100644 index b5ccc38a773..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_variant.py +++ /dev/null @@ -1,25 +0,0 @@ -import _plotly_utils.basevalidators - - -class VariantValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, plotly_name="variant", parent_name="pointcloud.hoverlabel.font", **kwargs - ): - super(VariantValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - values=kwargs.pop( - "values", - [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase", - ], - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_variantsrc.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_variantsrc.py deleted file mode 100644 index 8363247179b..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_variantsrc.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class VariantsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, - plotly_name="variantsrc", - parent_name="pointcloud.hoverlabel.font", - **kwargs, - ): - super(VariantsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_weight.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_weight.py deleted file mode 100644 index 9a3a77af217..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_weight.py +++ /dev/null @@ -1,17 +0,0 @@ -import _plotly_utils.basevalidators - - -class WeightValidator(_plotly_utils.basevalidators.IntegerValidator): - def __init__( - self, plotly_name="weight", parent_name="pointcloud.hoverlabel.font", **kwargs - ): - super(WeightValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", True), - edit_type=kwargs.pop("edit_type", "none"), - extras=kwargs.pop("extras", ["normal", "bold"]), - max=kwargs.pop("max", 1000), - min=kwargs.pop("min", 1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_weightsrc.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_weightsrc.py deleted file mode 100644 index c430214b896..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_weightsrc.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class WeightsrcValidator(_plotly_utils.basevalidators.SrcValidator): - def __init__( - self, - plotly_name="weightsrc", - parent_name="pointcloud.hoverlabel.font", - **kwargs, - ): - super(WeightsrcValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "none"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/__init__.py b/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/__init__.py deleted file mode 100644 index ad27d3ad3e2..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/__init__.py +++ /dev/null @@ -1,12 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._text import TextValidator - from ._font import FontValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, [], ["._text.TextValidator", "._font.FontValidator"] - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/_font.py deleted file mode 100644 index 5bff80c62b3..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/_font.py +++ /dev/null @@ -1,61 +0,0 @@ -import _plotly_utils.basevalidators - - -class FontValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__( - self, plotly_name="font", parent_name="pointcloud.legendgrouptitle", **kwargs - ): - super(FontValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Font"), - data_docs=kwargs.pop( - "data_docs", - """ - color - - family - HTML font family - the typeface that will be - applied by the web browser. The web browser - will only be able to apply a font if it is - available on the system which it operates. - Provide multiple font families, separated by - commas, to indicate the preference in which to - apply fonts if they aren't available on the - system. The Chart Studio Cloud (at - https://chart-studio.plotly.com or on-premise) - generates images on a server, where only a - select number of fonts are installed and - supported. These include "Arial", "Balto", - "Courier New", "Droid Sans", "Droid Serif", - "Droid Sans Mono", "Gravitas One", "Old - Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". - lineposition - Sets the kind of decoration line(s) with text, - such as an "under", "over" or "through" as well - as combinations e.g. "under+over", etc. - shadow - Sets the shape and color of the shadow behind - text. "auto" places minimal shadow and applies - contrast text font color. See - https://developer.mozilla.org/en- - US/docs/Web/CSS/text-shadow for additional - options. - size - - style - Sets whether a font should be styled with a - normal or italic face from its family. - textcase - Sets capitalization of text. It can be used to - make text appear in all-uppercase or all- - lowercase, or with each word capitalized. - variant - Sets the variant of the font. - weight - Sets the weight (or boldness) of the font. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/_text.py b/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/_text.py deleted file mode 100644 index 9292e4cc134..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/_text.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class TextValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, plotly_name="text", parent_name="pointcloud.legendgrouptitle", **kwargs - ): - super(TextValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/__init__.py b/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/__init__.py deleted file mode 100644 index 983f9a04e58..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._weight import WeightValidator - from ._variant import VariantValidator - from ._textcase import TextcaseValidator - from ._style import StyleValidator - from ._size import SizeValidator - from ._shadow import ShadowValidator - from ._lineposition import LinepositionValidator - from ._family import FamilyValidator - from ._color import ColorValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [], - [ - "._weight.WeightValidator", - "._variant.VariantValidator", - "._textcase.TextcaseValidator", - "._style.StyleValidator", - "._size.SizeValidator", - "._shadow.ShadowValidator", - "._lineposition.LinepositionValidator", - "._family.FamilyValidator", - "._color.ColorValidator", - ], - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_color.py b/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_color.py deleted file mode 100644 index 70d096cbb23..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_color.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class ColorValidator(_plotly_utils.basevalidators.ColorValidator): - def __init__( - self, - plotly_name="color", - parent_name="pointcloud.legendgrouptitle.font", - **kwargs, - ): - super(ColorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_family.py b/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_family.py deleted file mode 100644 index f87147a0bdc..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_family.py +++ /dev/null @@ -1,18 +0,0 @@ -import _plotly_utils.basevalidators - - -class FamilyValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, - plotly_name="family", - parent_name="pointcloud.legendgrouptitle.font", - **kwargs, - ): - super(FamilyValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - no_blank=kwargs.pop("no_blank", True), - strict=kwargs.pop("strict", True), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_lineposition.py b/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_lineposition.py deleted file mode 100644 index 03eaf6dd64e..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_lineposition.py +++ /dev/null @@ -1,18 +0,0 @@ -import _plotly_utils.basevalidators - - -class LinepositionValidator(_plotly_utils.basevalidators.FlaglistValidator): - def __init__( - self, - plotly_name="lineposition", - parent_name="pointcloud.legendgrouptitle.font", - **kwargs, - ): - super(LinepositionValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - extras=kwargs.pop("extras", ["none"]), - flags=kwargs.pop("flags", ["under", "over", "through"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_shadow.py b/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_shadow.py deleted file mode 100644 index e6e693853c6..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_shadow.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class ShadowValidator(_plotly_utils.basevalidators.StringValidator): - def __init__( - self, - plotly_name="shadow", - parent_name="pointcloud.legendgrouptitle.font", - **kwargs, - ): - super(ShadowValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_size.py b/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_size.py deleted file mode 100644 index 65d5caa4226..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_size.py +++ /dev/null @@ -1,17 +0,0 @@ -import _plotly_utils.basevalidators - - -class SizeValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, - plotly_name="size", - parent_name="pointcloud.legendgrouptitle.font", - **kwargs, - ): - super(SizeValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - min=kwargs.pop("min", 1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_style.py b/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_style.py deleted file mode 100644 index 4a328f281e8..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_style.py +++ /dev/null @@ -1,17 +0,0 @@ -import _plotly_utils.basevalidators - - -class StyleValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, - plotly_name="style", - parent_name="pointcloud.legendgrouptitle.font", - **kwargs, - ): - super(StyleValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - values=kwargs.pop("values", ["normal", "italic"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_textcase.py b/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_textcase.py deleted file mode 100644 index 521031082f7..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_textcase.py +++ /dev/null @@ -1,17 +0,0 @@ -import _plotly_utils.basevalidators - - -class TextcaseValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, - plotly_name="textcase", - parent_name="pointcloud.legendgrouptitle.font", - **kwargs, - ): - super(TextcaseValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - values=kwargs.pop("values", ["normal", "word caps", "upper", "lower"]), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_variant.py b/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_variant.py deleted file mode 100644 index fa1f6eed8e4..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_variant.py +++ /dev/null @@ -1,27 +0,0 @@ -import _plotly_utils.basevalidators - - -class VariantValidator(_plotly_utils.basevalidators.EnumeratedValidator): - def __init__( - self, - plotly_name="variant", - parent_name="pointcloud.legendgrouptitle.font", - **kwargs, - ): - super(VariantValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - values=kwargs.pop( - "values", - [ - "normal", - "small-caps", - "all-small-caps", - "all-petite-caps", - "petite-caps", - "unicase", - ], - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_weight.py b/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_weight.py deleted file mode 100644 index 0c0f6fdb843..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_weight.py +++ /dev/null @@ -1,19 +0,0 @@ -import _plotly_utils.basevalidators - - -class WeightValidator(_plotly_utils.basevalidators.IntegerValidator): - def __init__( - self, - plotly_name="weight", - parent_name="pointcloud.legendgrouptitle.font", - **kwargs, - ): - super(WeightValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "style"), - extras=kwargs.pop("extras", ["normal", "bold"]), - max=kwargs.pop("max", 1000), - min=kwargs.pop("min", 1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/marker/__init__.py b/packages/python/plotly/plotly/validators/pointcloud/marker/__init__.py deleted file mode 100644 index 87554386aba..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/marker/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._sizemin import SizeminValidator - from ._sizemax import SizemaxValidator - from ._opacity import OpacityValidator - from ._color import ColorValidator - from ._border import BorderValidator - from ._blend import BlendValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, - [], - [ - "._sizemin.SizeminValidator", - "._sizemax.SizemaxValidator", - "._opacity.OpacityValidator", - "._color.ColorValidator", - "._border.BorderValidator", - "._blend.BlendValidator", - ], - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/marker/_blend.py b/packages/python/plotly/plotly/validators/pointcloud/marker/_blend.py deleted file mode 100644 index 007179d358c..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/marker/_blend.py +++ /dev/null @@ -1,11 +0,0 @@ -import _plotly_utils.basevalidators - - -class BlendValidator(_plotly_utils.basevalidators.BooleanValidator): - def __init__(self, plotly_name="blend", parent_name="pointcloud.marker", **kwargs): - super(BlendValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/marker/_border.py b/packages/python/plotly/plotly/validators/pointcloud/marker/_border.py deleted file mode 100644 index 15ed02c63be..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/marker/_border.py +++ /dev/null @@ -1,24 +0,0 @@ -import _plotly_utils.basevalidators - - -class BorderValidator(_plotly_utils.basevalidators.CompoundValidator): - def __init__(self, plotly_name="border", parent_name="pointcloud.marker", **kwargs): - super(BorderValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - data_class_str=kwargs.pop("data_class_str", "Border"), - data_docs=kwargs.pop( - "data_docs", - """ - arearatio - Specifies what fraction of the marker area is - covered with the border. - color - Sets the stroke color. It accepts a specific - color. If the color is not fully opaque and - there are hundreds of thousands of points, it - may cause slower zooming and panning. -""", - ), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/marker/_color.py b/packages/python/plotly/plotly/validators/pointcloud/marker/_color.py deleted file mode 100644 index 787d0cdc562..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/marker/_color.py +++ /dev/null @@ -1,12 +0,0 @@ -import _plotly_utils.basevalidators - - -class ColorValidator(_plotly_utils.basevalidators.ColorValidator): - def __init__(self, plotly_name="color", parent_name="pointcloud.marker", **kwargs): - super(ColorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", False), - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/marker/_opacity.py b/packages/python/plotly/plotly/validators/pointcloud/marker/_opacity.py deleted file mode 100644 index f829968fef0..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/marker/_opacity.py +++ /dev/null @@ -1,16 +0,0 @@ -import _plotly_utils.basevalidators - - -class OpacityValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, plotly_name="opacity", parent_name="pointcloud.marker", **kwargs - ): - super(OpacityValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", False), - edit_type=kwargs.pop("edit_type", "calc"), - max=kwargs.pop("max", 1), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/marker/_sizemax.py b/packages/python/plotly/plotly/validators/pointcloud/marker/_sizemax.py deleted file mode 100644 index 0634f26b87c..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/marker/_sizemax.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class SizemaxValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, plotly_name="sizemax", parent_name="pointcloud.marker", **kwargs - ): - super(SizemaxValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - min=kwargs.pop("min", 0.1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/marker/_sizemin.py b/packages/python/plotly/plotly/validators/pointcloud/marker/_sizemin.py deleted file mode 100644 index afcae512465..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/marker/_sizemin.py +++ /dev/null @@ -1,15 +0,0 @@ -import _plotly_utils.basevalidators - - -class SizeminValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, plotly_name="sizemin", parent_name="pointcloud.marker", **kwargs - ): - super(SizeminValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - max=kwargs.pop("max", 2), - min=kwargs.pop("min", 0.1), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/marker/border/__init__.py b/packages/python/plotly/plotly/validators/pointcloud/marker/border/__init__.py deleted file mode 100644 index 6c98d9be6ec..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/marker/border/__init__.py +++ /dev/null @@ -1,12 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._color import ColorValidator - from ._arearatio import ArearatioValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, [], ["._color.ColorValidator", "._arearatio.ArearatioValidator"] - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/marker/border/_arearatio.py b/packages/python/plotly/plotly/validators/pointcloud/marker/border/_arearatio.py deleted file mode 100644 index c8b4956da02..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/marker/border/_arearatio.py +++ /dev/null @@ -1,15 +0,0 @@ -import _plotly_utils.basevalidators - - -class ArearatioValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, plotly_name="arearatio", parent_name="pointcloud.marker.border", **kwargs - ): - super(ArearatioValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - max=kwargs.pop("max", 1), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/marker/border/_color.py b/packages/python/plotly/plotly/validators/pointcloud/marker/border/_color.py deleted file mode 100644 index 82330e7fba0..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/marker/border/_color.py +++ /dev/null @@ -1,14 +0,0 @@ -import _plotly_utils.basevalidators - - -class ColorValidator(_plotly_utils.basevalidators.ColorValidator): - def __init__( - self, plotly_name="color", parent_name="pointcloud.marker.border", **kwargs - ): - super(ColorValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - array_ok=kwargs.pop("array_ok", False), - edit_type=kwargs.pop("edit_type", "calc"), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/stream/__init__.py b/packages/python/plotly/plotly/validators/pointcloud/stream/__init__.py deleted file mode 100644 index a6c0eed7630..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/stream/__init__.py +++ /dev/null @@ -1,12 +0,0 @@ -import sys -from typing import TYPE_CHECKING - -if sys.version_info < (3, 7) or TYPE_CHECKING: - from ._token import TokenValidator - from ._maxpoints import MaxpointsValidator -else: - from _plotly_utils.importers import relative_import - - __all__, __getattr__, __dir__ = relative_import( - __name__, [], ["._token.TokenValidator", "._maxpoints.MaxpointsValidator"] - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/stream/_maxpoints.py b/packages/python/plotly/plotly/validators/pointcloud/stream/_maxpoints.py deleted file mode 100644 index 69835225c8e..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/stream/_maxpoints.py +++ /dev/null @@ -1,15 +0,0 @@ -import _plotly_utils.basevalidators - - -class MaxpointsValidator(_plotly_utils.basevalidators.NumberValidator): - def __init__( - self, plotly_name="maxpoints", parent_name="pointcloud.stream", **kwargs - ): - super(MaxpointsValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - max=kwargs.pop("max", 10000), - min=kwargs.pop("min", 0), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/pointcloud/stream/_token.py b/packages/python/plotly/plotly/validators/pointcloud/stream/_token.py deleted file mode 100644 index acc4da64f50..00000000000 --- a/packages/python/plotly/plotly/validators/pointcloud/stream/_token.py +++ /dev/null @@ -1,13 +0,0 @@ -import _plotly_utils.basevalidators - - -class TokenValidator(_plotly_utils.basevalidators.StringValidator): - def __init__(self, plotly_name="token", parent_name="pointcloud.stream", **kwargs): - super(TokenValidator, self).__init__( - plotly_name=plotly_name, - parent_name=parent_name, - edit_type=kwargs.pop("edit_type", "calc"), - no_blank=kwargs.pop("no_blank", True), - strict=kwargs.pop("strict", True), - **kwargs, - ) diff --git a/packages/python/plotly/plotly/validators/scatter/_error_x.py b/packages/python/plotly/plotly/validators/scatter/_error_x.py index 6943d82ccbd..e5346b58da0 100644 --- a/packages/python/plotly/plotly/validators/scatter/_error_x.py +++ b/packages/python/plotly/plotly/validators/scatter/_error_x.py @@ -26,7 +26,7 @@ def __init__(self, plotly_name="error_x", parent_name="scatter", **kwargs): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_ystyle symmetric diff --git a/packages/python/plotly/plotly/validators/scatter/_error_y.py b/packages/python/plotly/plotly/validators/scatter/_error_y.py index e7ff677fcfc..e07a28ac018 100644 --- a/packages/python/plotly/plotly/validators/scatter/_error_y.py +++ b/packages/python/plotly/plotly/validators/scatter/_error_y.py @@ -26,7 +26,7 @@ def __init__(self, plotly_name="error_y", parent_name="scatter", **kwargs): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom diff --git a/packages/python/plotly/plotly/validators/scatter/marker/_colorbar.py b/packages/python/plotly/plotly/validators/scatter/marker/_colorbar.py index e1057758134..fdbcf0aac8d 100644 --- a/packages/python/plotly/plotly/validators/scatter/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/scatter/marker/_colorbar.py @@ -228,21 +228,6 @@ def __init__(self, plotly_name="colorbar", parent_name="scatter.marker", **kwarg :class:`plotly.graph_objects.scatter.marker.col orbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatter.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatter.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/scatter/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/scatter/marker/colorbar/_title.py index acdbe3d338e..9b1439b3a96 100644 --- a/packages/python/plotly/plotly/validators/scatter/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/scatter/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/scatter3d/_error_x.py b/packages/python/plotly/plotly/validators/scatter3d/_error_x.py index 17d8639f6dc..414c3808778 100644 --- a/packages/python/plotly/plotly/validators/scatter3d/_error_x.py +++ b/packages/python/plotly/plotly/validators/scatter3d/_error_x.py @@ -26,7 +26,7 @@ def __init__(self, plotly_name="error_x", parent_name="scatter3d", **kwargs): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_zstyle symmetric diff --git a/packages/python/plotly/plotly/validators/scatter3d/_error_y.py b/packages/python/plotly/plotly/validators/scatter3d/_error_y.py index a32afd0466b..dc2b70655a2 100644 --- a/packages/python/plotly/plotly/validators/scatter3d/_error_y.py +++ b/packages/python/plotly/plotly/validators/scatter3d/_error_y.py @@ -26,7 +26,7 @@ def __init__(self, plotly_name="error_y", parent_name="scatter3d", **kwargs): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_zstyle symmetric diff --git a/packages/python/plotly/plotly/validators/scatter3d/_error_z.py b/packages/python/plotly/plotly/validators/scatter3d/_error_z.py index 5bb7e7d13a0..35d4c03dd91 100644 --- a/packages/python/plotly/plotly/validators/scatter3d/_error_z.py +++ b/packages/python/plotly/plotly/validators/scatter3d/_error_z.py @@ -26,7 +26,7 @@ def __init__(self, plotly_name="error_z", parent_name="scatter3d", **kwargs): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom diff --git a/packages/python/plotly/plotly/validators/scatter3d/line/_colorbar.py b/packages/python/plotly/plotly/validators/scatter3d/line/_colorbar.py index 126a85af439..cdfe435f69f 100644 --- a/packages/python/plotly/plotly/validators/scatter3d/line/_colorbar.py +++ b/packages/python/plotly/plotly/validators/scatter3d/line/_colorbar.py @@ -228,21 +228,6 @@ def __init__(self, plotly_name="colorbar", parent_name="scatter3d.line", **kwarg :class:`plotly.graph_objects.scatter3d.line.col orbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatter3d.line.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatter3d.line.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/scatter3d/line/colorbar/_title.py b/packages/python/plotly/plotly/validators/scatter3d/line/colorbar/_title.py index f8531378194..f7d4a7d374a 100644 --- a/packages/python/plotly/plotly/validators/scatter3d/line/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/scatter3d/line/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/scatter3d/marker/_colorbar.py b/packages/python/plotly/plotly/validators/scatter3d/marker/_colorbar.py index ee958588b18..9a1043503d4 100644 --- a/packages/python/plotly/plotly/validators/scatter3d/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/scatter3d/marker/_colorbar.py @@ -230,21 +230,6 @@ def __init__( :class:`plotly.graph_objects.scatter3d.marker.c olorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatter3d.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatter3d.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/_title.py index 544a4cbc81d..01c69afbebd 100644 --- a/packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/scattercarpet/marker/_colorbar.py b/packages/python/plotly/plotly/validators/scattercarpet/marker/_colorbar.py index 195ebb4693f..8d2226095eb 100644 --- a/packages/python/plotly/plotly/validators/scattercarpet/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/scattercarpet/marker/_colorbar.py @@ -230,21 +230,6 @@ def __init__( :class:`plotly.graph_objects.scattercarpet.mark er.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattercarpet.marker.colorbar.title.font - instead. Sets this color bar's title font. Note - that the title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scattercarpet.marker.colorbar.title.side - instead. Determines the location of color bar's - title with respect to the color bar. Defaults - to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". - Note that the title's location used to be set - by the now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/_title.py index 090e205529f..ff2d5ac949d 100644 --- a/packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/scattergeo/marker/_colorbar.py b/packages/python/plotly/plotly/validators/scattergeo/marker/_colorbar.py index c482132fc0b..2911383b4ea 100644 --- a/packages/python/plotly/plotly/validators/scattergeo/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/scattergeo/marker/_colorbar.py @@ -230,21 +230,6 @@ def __init__( :class:`plotly.graph_objects.scattergeo.marker. colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattergeo.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scattergeo.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/_title.py index 512d4be9c7b..c0c8aa79305 100644 --- a/packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/scattergl/_error_x.py b/packages/python/plotly/plotly/validators/scattergl/_error_x.py index aa275e02b13..ee8d67b439a 100644 --- a/packages/python/plotly/plotly/validators/scattergl/_error_x.py +++ b/packages/python/plotly/plotly/validators/scattergl/_error_x.py @@ -26,7 +26,7 @@ def __init__(self, plotly_name="error_x", parent_name="scattergl", **kwargs): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. copy_ystyle symmetric diff --git a/packages/python/plotly/plotly/validators/scattergl/_error_y.py b/packages/python/plotly/plotly/validators/scattergl/_error_y.py index 8b0a912f17c..d81c7c0ab20 100644 --- a/packages/python/plotly/plotly/validators/scattergl/_error_y.py +++ b/packages/python/plotly/plotly/validators/scattergl/_error_y.py @@ -26,7 +26,7 @@ def __init__(self, plotly_name="error_y", parent_name="scattergl", **kwargs): Sets the source reference on Chart Studio Cloud for `array`. color - Sets the stoke color of the error bars. + Sets the stroke color of the error bars. symmetric Determines whether or not the error bars have the same length in both direction (top/bottom diff --git a/packages/python/plotly/plotly/validators/scattergl/marker/_colorbar.py b/packages/python/plotly/plotly/validators/scattergl/marker/_colorbar.py index 29bcfd5c915..00e1faab3a2 100644 --- a/packages/python/plotly/plotly/validators/scattergl/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/scattergl/marker/_colorbar.py @@ -230,21 +230,6 @@ def __init__( :class:`plotly.graph_objects.scattergl.marker.c olorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattergl.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scattergl.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/scattergl/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/scattergl/marker/colorbar/_title.py index 81f943ce6aa..30f10067d5a 100644 --- a/packages/python/plotly/plotly/validators/scattergl/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/scattergl/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/scattermap/marker/_colorbar.py b/packages/python/plotly/plotly/validators/scattermap/marker/_colorbar.py index ebf678155d2..fc17b1b5114 100644 --- a/packages/python/plotly/plotly/validators/scattermap/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/scattermap/marker/_colorbar.py @@ -230,21 +230,6 @@ def __init__( :class:`plotly.graph_objects.scattermap.marker. colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattermap.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scattermap.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/scattermap/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/scattermap/marker/colorbar/_title.py index 7d47feba65f..fe3523b7fbe 100644 --- a/packages/python/plotly/plotly/validators/scattermap/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/scattermap/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/scattermapbox/marker/_colorbar.py b/packages/python/plotly/plotly/validators/scattermapbox/marker/_colorbar.py index 2ade3aa3a16..02a6f4a53b7 100644 --- a/packages/python/plotly/plotly/validators/scattermapbox/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/scattermapbox/marker/_colorbar.py @@ -230,21 +230,6 @@ def __init__( :class:`plotly.graph_objects.scattermapbox.mark er.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattermapbox.marker.colorbar.title.font - instead. Sets this color bar's title font. Note - that the title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scattermapbox.marker.colorbar.title.side - instead. Determines the location of color bar's - title with respect to the color bar. Defaults - to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". - Note that the title's location used to be set - by the now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/_title.py index 4fc9728d674..49a801e77d9 100644 --- a/packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/scatterpolar/marker/_colorbar.py b/packages/python/plotly/plotly/validators/scatterpolar/marker/_colorbar.py index b752e717422..c66e9bdbc8e 100644 --- a/packages/python/plotly/plotly/validators/scatterpolar/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/scatterpolar/marker/_colorbar.py @@ -230,21 +230,6 @@ def __init__( :class:`plotly.graph_objects.scatterpolar.marke r.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatterpolar.marker.colorbar.title.font - instead. Sets this color bar's title font. Note - that the title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatterpolar.marker.colorbar.title.side - instead. Determines the location of color bar's - title with respect to the color bar. Defaults - to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". - Note that the title's location used to be set - by the now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/_title.py index 43fa75e3db9..6dbf31d3f3d 100644 --- a/packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/scatterpolargl/marker/_colorbar.py b/packages/python/plotly/plotly/validators/scatterpolargl/marker/_colorbar.py index 6b5e76b286b..10157a4e50a 100644 --- a/packages/python/plotly/plotly/validators/scatterpolargl/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/scatterpolargl/marker/_colorbar.py @@ -230,21 +230,6 @@ def __init__( :class:`plotly.graph_objects.scatterpolargl.mar ker.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatterpolargl.marker.colorbar.title.font - instead. Sets this color bar's title font. Note - that the title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatterpolargl.marker.colorbar.title.side - instead. Determines the location of color bar's - title with respect to the color bar. Defaults - to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". - Note that the title's location used to be set - by the now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/_title.py index bff3c06bc48..405019d1db8 100644 --- a/packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/_title.py @@ -16,22 +16,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/scattersmith/marker/_colorbar.py b/packages/python/plotly/plotly/validators/scattersmith/marker/_colorbar.py index cc6010b4564..39b75606ac1 100644 --- a/packages/python/plotly/plotly/validators/scattersmith/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/scattersmith/marker/_colorbar.py @@ -230,21 +230,6 @@ def __init__( :class:`plotly.graph_objects.scattersmith.marke r.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scattersmith.marker.colorbar.title.font - instead. Sets this color bar's title font. Note - that the title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scattersmith.marker.colorbar.title.side - instead. Determines the location of color bar's - title with respect to the color bar. Defaults - to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". - Note that the title's location used to be set - by the now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/_title.py index e8a7d520427..aed71e1281f 100644 --- a/packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/scatterternary/marker/_colorbar.py b/packages/python/plotly/plotly/validators/scatterternary/marker/_colorbar.py index fbab7d89527..ca8259e2ac5 100644 --- a/packages/python/plotly/plotly/validators/scatterternary/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/scatterternary/marker/_colorbar.py @@ -230,21 +230,6 @@ def __init__( :class:`plotly.graph_objects.scatterternary.mar ker.colorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - scatterternary.marker.colorbar.title.font - instead. Sets this color bar's title font. Note - that the title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - scatterternary.marker.colorbar.title.side - instead. Determines the location of color bar's - title with respect to the color bar. Defaults - to "top" when `orientation` if "v" and - defaults to "right" when `orientation` if "h". - Note that the title's location used to be set - by the now deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/_title.py index 1d7a974b6e7..e544abbc319 100644 --- a/packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/_title.py @@ -16,22 +16,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/splom/marker/_colorbar.py b/packages/python/plotly/plotly/validators/splom/marker/_colorbar.py index 17444930f0e..460b64e8b2d 100644 --- a/packages/python/plotly/plotly/validators/splom/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/splom/marker/_colorbar.py @@ -228,21 +228,6 @@ def __init__(self, plotly_name="colorbar", parent_name="splom.marker", **kwargs) :class:`plotly.graph_objects.splom.marker.color bar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - splom.marker.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - splom.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/splom/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/splom/marker/colorbar/_title.py index 93e93117567..009b868098d 100644 --- a/packages/python/plotly/plotly/validators/splom/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/splom/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/streamtube/_colorbar.py b/packages/python/plotly/plotly/validators/streamtube/_colorbar.py index 6532ae6523b..bc5426a7d3f 100644 --- a/packages/python/plotly/plotly/validators/streamtube/_colorbar.py +++ b/packages/python/plotly/plotly/validators/streamtube/_colorbar.py @@ -227,21 +227,6 @@ def __init__(self, plotly_name="colorbar", parent_name="streamtube", **kwargs): :class:`plotly.graph_objects.streamtube.colorba r.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - streamtube.colorbar.title.font instead. Sets - this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - streamtube.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/streamtube/colorbar/_title.py b/packages/python/plotly/plotly/validators/streamtube/colorbar/_title.py index e24e7fbaafe..38ba2860eca 100644 --- a/packages/python/plotly/plotly/validators/streamtube/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/streamtube/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/sunburst/marker/_colorbar.py b/packages/python/plotly/plotly/validators/sunburst/marker/_colorbar.py index 0db7655a8f0..b1eef13139e 100644 --- a/packages/python/plotly/plotly/validators/sunburst/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/sunburst/marker/_colorbar.py @@ -228,21 +228,6 @@ def __init__(self, plotly_name="colorbar", parent_name="sunburst.marker", **kwar :class:`plotly.graph_objects.sunburst.marker.co lorbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - sunburst.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - sunburst.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/sunburst/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/sunburst/marker/colorbar/_title.py index cd48fd424ee..99929b91468 100644 --- a/packages/python/plotly/plotly/validators/sunburst/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/sunburst/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/surface/_colorbar.py b/packages/python/plotly/plotly/validators/surface/_colorbar.py index 474fa34f142..3c44f0d95ae 100644 --- a/packages/python/plotly/plotly/validators/surface/_colorbar.py +++ b/packages/python/plotly/plotly/validators/surface/_colorbar.py @@ -227,21 +227,6 @@ def __init__(self, plotly_name="colorbar", parent_name="surface", **kwargs): :class:`plotly.graph_objects.surface.colorbar.T itle` instance or dict with compatible properties - titlefont - Deprecated: Please use - surface.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's - font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use - surface.colorbar.title.side instead. Determines - the location of color bar's title with respect - to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" - when `orientation` if "h". Note that the - title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/surface/colorbar/_title.py b/packages/python/plotly/plotly/validators/surface/colorbar/_title.py index 6784ee2de2f..c2a8477966b 100644 --- a/packages/python/plotly/plotly/validators/surface/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/surface/colorbar/_title.py @@ -11,22 +11,14 @@ def __init__(self, plotly_name="title", parent_name="surface.colorbar", **kwargs "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/treemap/marker/_colorbar.py b/packages/python/plotly/plotly/validators/treemap/marker/_colorbar.py index 855871abd76..f021987e8cd 100644 --- a/packages/python/plotly/plotly/validators/treemap/marker/_colorbar.py +++ b/packages/python/plotly/plotly/validators/treemap/marker/_colorbar.py @@ -228,21 +228,6 @@ def __init__(self, plotly_name="colorbar", parent_name="treemap.marker", **kwarg :class:`plotly.graph_objects.treemap.marker.col orbar.Title` instance or dict with compatible properties - titlefont - Deprecated: Please use - treemap.marker.colorbar.title.font instead. - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. - titleside - Deprecated: Please use - treemap.marker.colorbar.title.side instead. - Determines the location of color bar's title - with respect to the color bar. Defaults to - "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/treemap/marker/colorbar/_title.py b/packages/python/plotly/plotly/validators/treemap/marker/colorbar/_title.py index c0fee5f3980..9bec545dbb9 100644 --- a/packages/python/plotly/plotly/validators/treemap/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/treemap/marker/colorbar/_title.py @@ -13,22 +13,14 @@ def __init__( "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/plotly/validators/volume/_colorbar.py b/packages/python/plotly/plotly/validators/volume/_colorbar.py index 50d4869463d..868ee3aa4f3 100644 --- a/packages/python/plotly/plotly/validators/volume/_colorbar.py +++ b/packages/python/plotly/plotly/validators/volume/_colorbar.py @@ -227,21 +227,6 @@ def __init__(self, plotly_name="colorbar", parent_name="volume", **kwargs): :class:`plotly.graph_objects.volume.colorbar.Ti tle` instance or dict with compatible properties - titlefont - Deprecated: Please use - volume.colorbar.title.font instead. Sets this - color bar's title font. Note that the title's - font used to be set by the now deprecated - `titlefont` attribute. - titleside - Deprecated: Please use - volume.colorbar.title.side instead. Determines - the location of color bar's title with respect - to the color bar. Defaults to "top" when - `orientation` if "v" and defaults to "right" - when `orientation` if "h". Note that the - title's location used to be set by the now - deprecated `titleside` attribute. x Sets the x position with respect to `xref` of the color bar (in plot fraction). When `xref` diff --git a/packages/python/plotly/plotly/validators/volume/colorbar/_title.py b/packages/python/plotly/plotly/validators/volume/colorbar/_title.py index 4e51a4fecac..f53559f69d7 100644 --- a/packages/python/plotly/plotly/validators/volume/colorbar/_title.py +++ b/packages/python/plotly/plotly/validators/volume/colorbar/_title.py @@ -11,22 +11,14 @@ def __init__(self, plotly_name="title", parent_name="volume.colorbar", **kwargs) "data_docs", """ font - Sets this color bar's title font. Note that the - title's font used to be set by the now - deprecated `titlefont` attribute. + Sets this color bar's title font. side Determines the location of color bar's title with respect to the color bar. Defaults to "top" when `orientation` if "v" and defaults - to "right" when `orientation` if "h". Note that - the title's location used to be set by the now - deprecated `titleside` attribute. + to "right" when `orientation` if "h". text - Sets the title of the color bar. Note that - before the existence of `title.text`, the - title's contents used to be defined as the - `title` attribute itself. This behavior has - been deprecated. + Sets the title of the color bar. """, ), **kwargs, diff --git a/packages/python/plotly/templategen/utils/__init__.py b/packages/python/plotly/templategen/utils/__init__.py index 812e5652925..c61e224511c 100644 --- a/packages/python/plotly/templategen/utils/__init__.py +++ b/packages/python/plotly/templategen/utils/__init__.py @@ -5,7 +5,6 @@ ("choropleth",), ("histogram2d",), ("heatmap",), - ("heatmapgl",), ("contourcarpet",), ("contour",), ("surface",),